diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 5afca13486..28486dc43f 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -653,7 +653,32 @@ public enum Varbits */ BUILDING_MODE(2176), - WINTERTODT_TIMER(7980); + WINTERTODT_TIMER(7980), + + /** + * 1 if in game, 0 if not + */ + LMS_IN_GAME(5314), + + /** + * Amount of pvp kills in current game + */ + LMS_KILLS(5315), + + /** + * The x coordinate of the final safespace (world coord) + */ + LMS_SAFE_X(5316), + + /** + * Starts at 100, counts down every 10 ticks (6 seconds) + */ + LMS_POISON_PROGRESS(5317), + + /** + * The y coordinate of the final safespace (world coord) + */ + LMS_SAFE_Y(5320); /** * The raw varbit ID. diff --git a/runelite-api/src/main/java/net/runelite/api/geometry/Geometry.java b/runelite-api/src/main/java/net/runelite/api/geometry/Geometry.java index 39efa74afa..6882be7d35 100644 --- a/runelite-api/src/main/java/net/runelite/api/geometry/Geometry.java +++ b/runelite-api/src/main/java/net/runelite/api/geometry/Geometry.java @@ -33,6 +33,9 @@ import java.util.LinkedList; import java.util.List; import java.util.function.BiPredicate; import java.util.function.Consumer; +import net.runelite.api.Client; +import net.runelite.api.Perspective; +import net.runelite.api.coords.LocalPoint; public class Geometry { @@ -451,4 +454,14 @@ public class Geometry { return clipPath(path.getPathIterator(new AffineTransform()), shape); } + + public static void transformWorldToLocal(final Client client, final float[] coords) + { + LocalPoint lp = LocalPoint.fromWorld(client, (int) coords[0], (int) coords[1]); + if (lp != null) + { + coords[0] = lp.getX() - Perspective.LOCAL_TILE_SIZE / 2; + coords[1] = lp.getY() - Perspective.LOCAL_TILE_SIZE / 2; + } + } } diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 510c19532d..9be2f2d854 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -970,6 +970,7 @@ public class WidgetID static class Pvp { + static final int FOG_OVERLAY = 1; static final int PVP_WIDGET_CONTAINER = 54; // OUTDATED? static final int SKULL = 56; // OUTDATED? static final int ATTACK_RANGE = 59; // OUTDATED? diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 755b710d57..754b1ed76f 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -503,6 +503,7 @@ public enum WidgetInfo MINIGAME_TELEPORT_BUTTON(WidgetID.MINIGAME_TAB_ID, WidgetID.Minigames.TELEPORT_BUTTON), + PVP_FOG_OVERLAY(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.FOG_OVERLAY), PVP_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.PVP_WIDGET_CONTAINER), PVP_SKULL_CONTAINER(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL_CONTAINER), PVP_SKULL(WidgetID.PVP_GROUP_ID, WidgetID.Pvp.SKULL), diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSBuffer.java b/runescape-api/src/main/java/net/runelite/rs/api/RSBuffer.java index 93fdebb463..b43e772f62 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSBuffer.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSBuffer.java @@ -7,6 +7,6 @@ public interface RSBuffer extends RSNode @Import("array") byte[] getPayload(); - @Import("index") + @Import("offset") int getOffset(); } \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 9c4e6d8055..cc663d03c6 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -187,7 +187,7 @@ public interface RSClient extends RSGameShell, Client @Override void setDraggedOnWidget(Widget widget); - @Import("interfaceComponents") + @Import("Widget_interfaceComponents") RSWidget[][] getWidgets(); /** @@ -395,52 +395,52 @@ public interface RSClient extends RSGameShell, Client @Import("tempMenuAction") RSMenuAction getTempMenuAction(); - @Import("decodeSprite") + @Import("SpriteBuffer_decode") void decodeSprite(byte[] data); - @Import("indexedSpriteCount") + @Import("SpriteBuffer_spriteCount") int getIndexedSpriteCount(); - @Import("indexedSpriteWidth") + @Import("SpriteBuffer_spriteWidth") int getIndexedSpriteWidth(); - @Import("indexedSpriteHeight") + @Import("SpriteBuffer_spriteHeight") int getIndexedSpriteHeight(); - @Import("indexedSpriteOffsetXs") + @Import("SpriteBuffer_xOffsets") int[] getIndexedSpriteOffsetXs(); - @Import("indexedSpriteOffsetXs") + @Import("SpriteBuffer_xOffsets") void setIndexedSpriteOffsetXs(int[] indexedSpriteOffsetXs); - @Import("indexedSpriteOffsetYs") + @Import("SpriteBuffer_yOffsets") int[] getIndexedSpriteOffsetYs(); - @Import("indexedSpriteOffsetYs") + @Import("SpriteBuffer_yOffsets") void setIndexedSpriteOffsetYs(int[] indexedSpriteOffsetYs); - @Import("indexedSpriteWidths") + @Import("SpriteBuffer_spriteWidths") int[] getIndexedSpriteWidths(); - @Import("indexedSpriteWidths") + @Import("SpriteBuffer_spriteWidths") void setIndexedSpriteWidths(int[] indexedSpriteWidths); - @Import("indexedSpriteHeights") + @Import("SpriteBuffer_spriteHeights") int[] getIndexedSpriteHeights(); - @Import("indexedSpriteHeights") + @Import("SpriteBuffer_spriteHeights") void setIndexedSpriteHeights(int[] indexedSpriteHeights); - @Import("spritePixels") + @Import("SpriteBuffer_pixels") byte[][] getSpritePixels(); - @Import("spritePixels") + @Import("SpriteBuffer_pixels") void setSpritePixels(byte[][] spritePixels); - @Import("indexedSpritePalette") + @Import("SpriteBuffer_spritePalette") int[] getIndexedSpritePalette(); - @Import("indexedSpritePalette") + @Import("SpriteBuffer_spritePalette") void setIndexedSpritePalette(int[] indexedSpritePalette); @Import("archive8") @@ -748,7 +748,7 @@ public interface RSClient extends RSGameShell, Client @Construct RSScriptEvent createScriptEvent(); - @Import("runScript0") + @Import("runScript") void runScript(RSScriptEvent ev, int ex); @Import("hintArrowType") @@ -804,7 +804,7 @@ public interface RSClient extends RSGameShell, Client @Import("compass") void setCompass(Sprite spritePixels); - @Import("widgetSpriteCache") + @Import("Widget_cachedSprites") @Override RSEvictingDualNodeHashTable getWidgetSpriteCache(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBarDefinition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBarDefinition.java index 110ce49826..21c35b7c87 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBarDefinition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBarDefinition.java @@ -8,14 +8,14 @@ public interface RSHealthBarDefinition extends RSDualNode, HealthBar @Import("width") int getHealthScale(); - @Import("spriteId1") + @Import("frontSpriteID") @Override int getHealthBarFrontSpriteId(); - @Import("getSprite1") + @Import("getFrontSprite") RSSprite getHealthBarFrontSprite(); - @Import("getSprite2") + @Import("getBackSprite") RSSprite getHealthBarBackSprite(); @Import("widthPadding") diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSRasterProvider.java b/runescape-api/src/main/java/net/runelite/rs/api/RSRasterProvider.java index 5ef9913681..d5d8bb6f44 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSRasterProvider.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSRasterProvider.java @@ -42,6 +42,6 @@ public interface RSRasterProvider extends RSAbstractRasterProvider, MainBufferPr @Import("image") void setImage(Image image); - @Import("component0") + @Import("component") Component getCanvas(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSScriptEvent.java b/runescape-api/src/main/java/net/runelite/rs/api/RSScriptEvent.java index 68fab899fc..06a79327fa 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSScriptEvent.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSScriptEvent.java @@ -6,10 +6,10 @@ import net.runelite.mapping.Import; public interface RSScriptEvent extends ScriptEvent { - @Import("args0") + @Import("args") Object[] getArguments(); - @Import("args0") + @Import("args") void setArguments(Object[] args); @Import("widget") diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java b/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java index f39ac5085d..ecab7cef6b 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSTextureProvider.java @@ -5,7 +5,7 @@ import net.runelite.mapping.Import; public interface RSTextureProvider extends TextureProvider { - @Import("brightness0") + @Import("brightness") @Override double getBrightness(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSUserList.java b/runescape-api/src/main/java/net/runelite/rs/api/RSUserList.java index b530f68019..6a0edde6ab 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSUserList.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSUserList.java @@ -4,7 +4,7 @@ import net.runelite.mapping.Import; public interface RSUserList { - @Import("size0") + @Import("getSize") int getCount(); @Import("array") diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java index 286eae5ce9..dee4a51382 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java @@ -107,11 +107,11 @@ public interface RSWidget extends Widget @Override void setTextColor(int textColor); - @Import("transparency") + @Import("transparencyTop") @Override int getOpacity(); - @Import("transparency") + @Import("transparencyTop") @Override void setOpacity(int opacity); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMap.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMap.java index c13e58d668..d5ed516c95 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMap.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMap.java @@ -6,10 +6,10 @@ import net.runelite.mapping.Import; public interface RSWorldMap extends RenderOverview { - @Import("worldMapX") + @Import("centerTileX") int getWorldMapX(); - @Import("worldMapY") + @Import("centerTileY") int getWorldMapY(); @Import("zoom") diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMapManager.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMapManager.java index ec78157ef3..72f365d7b2 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMapManager.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWorldMapManager.java @@ -9,10 +9,10 @@ public interface RSWorldMapManager extends WorldMapManager @Override boolean isLoaded(); - @Import("surfaceOffsetX") + @Import("tileX") int getSurfaceOffsetX(); - @Import("surfaceOffsetY") + @Import("tileY") int getSurfaceOffsetY(); @Import("getPixelsPerTile") diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index 62dc2bc435..5cf438c5d2 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -1,779 +1,758 @@ -import java.lang.management.GarbageCollectorMXBean; import 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("ir") +@ObfuscatedName("hp") @Implements("AbstractArchive") public abstract class AbstractArchive { - @ObfuscatedName("qb") - @ObfuscatedSignature( - signature = "Lco;" - ) - @Export("pcmPlayer1") - static PcmPlayer pcmPlayer1; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lgo;" - ) - @Export("gzipDecompressor") - static GzipDecompressor gzipDecompressor; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -244224193 - ) - static int field1; - @ObfuscatedName("au") - @Export("garbageCollector") - static GarbageCollectorMXBean garbageCollector; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 334735939 - ) - static int field2; - @ObfuscatedName("di") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive0") - static Archive archive0; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1694798923 - ) - @Export("groupCount") - int groupCount; - @ObfuscatedName("q") - @Export("groupIds") - int[] groupIds; - @ObfuscatedName("w") - @Export("groupNameHashes") - int[] groupNameHashes; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Llv;" - ) - @Export("groupNameHashTable") - IntHashTable groupNameHashTable; - @ObfuscatedName("u") - @Export("groupCrcs") - int[] groupCrcs; - @ObfuscatedName("g") - @Export("groupVersions") - int[] groupVersions; - @ObfuscatedName("l") - @Export("fileCounts") - int[] fileCounts; - @ObfuscatedName("e") - @Export("fileIds") - int[][] fileIds; - @ObfuscatedName("x") - @Export("fileNameHashes") - int[][] fileNameHashes; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "[Llv;" - ) - @Export("fileNameHashTables") - IntHashTable[] fileNameHashTables; - @ObfuscatedName("k") - @Export("groups") - Object[] groups; - @ObfuscatedName("n") - @Export("files") - Object[][] files; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -530370811 - ) - @Export("hash") - public int hash; - @ObfuscatedName("z") - @Export("releaseGroups") - boolean releaseGroups; - @ObfuscatedName("j") - @Export("shallowFiles") - boolean shallowFiles; - - AbstractArchive(boolean releaseGroups, boolean shallowFiles) { - this.releaseGroups = releaseGroups; - this.shallowFiles = shallowFiles; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BB)V", - garbageValue = "0" - ) - @Export("decodeIndex") - void decodeIndex(byte[] var1) { - this.hash = WallDecoration.method3257(var1, var1.length); - Buffer var2 = new Buffer(Strings.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.method50(); - } 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.method50(); - 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.method50(); - 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("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2102142648" - ) - void vmethod129(int var1) { - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)[B", - garbageValue = "1945577069" - ) - @Export("takeFile") - public byte[] takeFile(int group, int file) { - return this.takeFileEncrypted(group, file, (int[])null); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II[II)[B", - garbageValue = "-1363136655" - ) - @Export("takeFileEncrypted") - public byte[] takeFileEncrypted(int group, int file, int[] xteaKey) { - if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) { - if (this.files[group][file] == null) { - boolean var4 = this.buildFiles(group, xteaKey); - if (!var4) { - this.loadGroup(group); - var4 = this.buildFiles(group, xteaKey); - if (!var4) { - return null; - } - } - } - - byte[] var5 = TextureProvider.byteArrayFromObject(this.files[group][file], false); - if (this.shallowFiles) { - this.files[group][file] = null; - } - - return var5; - } else { - return null; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "-1822260214" - ) - @Export("tryLoadFile") - public boolean tryLoadFile(int group, int file) { - if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) { - if (this.files[group][file] != null) { - return true; - } else if (this.groups[group] != null) { - return true; - } else { - this.loadGroup(group); - return this.groups[group] != null; - } - } else { - return false; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1923759754" - ) - public boolean method1(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("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-374594123" - ) - @Export("tryLoadGroup") - public boolean tryLoadGroup(int group) { - if (this.groups[group] != null) { - return true; - } else { - this.loadGroup(group); - return this.groups[group] != null; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1694975256" - ) - @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("e") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1809769865" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - return this.groups[var1] != null ? 100 : 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IS)[B", - garbageValue = "-10015" - ) - @Export("takeFileFlat") - public byte[] takeFileFlat(int groupOrFile) { - if (this.files.length == 1) { - return this.takeFile(0, groupOrFile); - } else if (this.files[groupOrFile].length == 1) { - return this.takeFile(groupOrFile, 0); - } else { - throw new RuntimeException(); - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(III)[B", - garbageValue = "-755739011" - ) - @Export("getFile") - public byte[] getFile(int group, int file) { - if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) { - if (this.files[group][file] == null) { - boolean var3 = this.buildFiles(group, (int[])null); - if (!var3) { - this.loadGroup(group); - var3 = this.buildFiles(group, (int[])null); - if (!var3) { - return null; - } - } - } - - byte[] var4 = TextureProvider.byteArrayFromObject(this.files[group][file], false); - return var4; - } else { - return null; - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IB)[B", - garbageValue = "68" - ) - @Export("getFileFlat") - public byte[] getFileFlat(int groupOrFile) { - if (this.files.length == 1) { - return this.getFile(0, groupOrFile); - } else if (this.files[groupOrFile].length == 1) { - return this.getFile(groupOrFile, 0); - } else { - throw new RuntimeException(); - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1829145107" - ) - @Export("loadGroup") - void loadGroup(int group) { - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IB)[I", - garbageValue = "28" - ) - @Export("getGroupFileIds") - public int[] getGroupFileIds(int var1) { - return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1178362496" - ) - @Export("getGroupFileCount") - public int getGroupFileCount(int group) { - return this.files[group].length; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1702434573" - ) - @Export("getGroupCount") - public int getGroupCount() { - return this.files.length; - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "38" - ) - @Export("clearGroups") - public void clearGroups() { - for (int var1 = 0; var1 < this.groups.length; ++var1) { - this.groups[var1] = null; - } - - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "330258899" - ) - @Export("clearFilesGroup") - public void clearFilesGroup(int group) { - for (int var2 = 0; var2 < this.files[group].length; ++var2) { - this.files[group][var2] = null; - } - - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-709581639" - ) - @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("c") - @ObfuscatedSignature( - signature = "(I[II)Z", - garbageValue = "-1835696874" - ) - @Export("buildFiles") - boolean buildFiles(int group, int[] xteaKey) { - if (this.groups[group] == null) { - return false; - } else { - int var3 = this.fileCounts[group]; - int[] var4 = this.fileIds[group]; - Object[] var5 = this.files[group]; - 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 (xteaKey == null || xteaKey[0] == 0 && xteaKey[1] == 0 && xteaKey[2] == 0 && xteaKey[3] == 0) { - var18 = TextureProvider.byteArrayFromObject(this.groups[group], false); - } else { - var18 = TextureProvider.byteArrayFromObject(this.groups[group], true); - Buffer var8 = new Buffer(var18); - var8.xteaDecrypt(xteaKey, 5, var8.array.length); - } - - byte[] var19 = Strings.decompressBytes(var18); - if (this.releaseGroups) { - this.groups[group] = null; - } - - if (var3 > 1) { - int var9 = var19.length; - --var9; - int var10 = var19[var9] & 255; - var9 -= var10 * var3 * 4; - Buffer var11 = new Buffer(var19); - int[] var12 = new int[var3]; - var11.index = var9; - - int var13; - int var14; - for (int var15 = 0; var15 < var10; ++var15) { - var13 = 0; - - for (var14 = 0; var14 < var3; ++var14) { - var13 += var11.readInt(); - var12[var14] += var13; - } - } - - byte[][] var20 = new byte[var3][]; - - for (var13 = 0; var13 < var3; ++var13) { - var20[var13] = new byte[var12[var13]]; - var12[var13] = 0; - } - - var11.index = var9; - var13 = 0; - - for (var14 = 0; var14 < var10; ++var14) { - int var16 = 0; - - for (int var17 = 0; var17 < var3; ++var17) { - var16 += var11.readInt(); - System.arraycopy(var19, var13, var20[var17], var12[var17], var16); - var12[var17] += var16; - var13 += var16; - } - } - - for (var14 = 0; var14 < var3; ++var14) { - if (!this.shallowFiles) { - var5[var4[var14]] = Projectile.byteArrayToObject(var20[var14], false); - } else { - var5[var4[var14]] = var20[var14]; - } - } - } else if (!this.shallowFiles) { - var5[var4[0]] = Projectile.byteArrayToObject(var19, false); - } else { - var5[var4[0]] = var19; - } - - return true; - } - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "-224510300" - ) - @Export("getGroupId") - public int getGroupId(String groupName) { - groupName = groupName.toLowerCase(); - return this.groupNameHashTable.get(Client.hashString(groupName)); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)I", - garbageValue = "-443631072" - ) - @Export("getFileId") - public int getFileId(int group, String fileName) { - fileName = fileName.toLowerCase(); - return this.fileNameHashTables[group].get(Client.hashString(fileName)); - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;B)Z", - garbageValue = "68" - ) - @Export("isValidFileName") - public boolean isValidFileName(String groupName, String fileName) { - groupName = groupName.toLowerCase(); - fileName = fileName.toLowerCase(); - int var3 = this.groupNameHashTable.get(Client.hashString(groupName)); - if (var3 < 0) { - return false; - } else { - int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName)); - return var4 >= 0; - } - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;S)[B", - garbageValue = "-22726" - ) - @Export("takeFileByNames") - public byte[] takeFileByNames(String groupName, String fileName) { - groupName = groupName.toLowerCase(); - fileName = fileName.toLowerCase(); - int var3 = this.groupNameHashTable.get(Client.hashString(groupName)); - int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName)); - return this.takeFile(var3, var4); - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "2140743930" - ) - @Export("tryLoadFileByNames") - public boolean tryLoadFileByNames(String groupName, String fileName) { - groupName = groupName.toLowerCase(); - fileName = fileName.toLowerCase(); - int var3 = this.groupNameHashTable.get(Client.hashString(groupName)); - int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName)); - return this.tryLoadFile(var3, var4); - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Z", - garbageValue = "-1282569336" - ) - @Export("tryLoadGroupByName") - public boolean tryLoadGroupByName(String groupName) { - groupName = groupName.toLowerCase(); - int var2 = this.groupNameHashTable.get(Client.hashString(groupName)); - return this.tryLoadGroup(var2); - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "40" - ) - public void method10(String var1) { - var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(Client.hashString(var1)); - if (var2 >= 0) { - this.vmethod129(var2); - } - - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "-1645224643" - ) - @Export("groupLoadPercentByName") - public int groupLoadPercentByName(String groupName) { - groupName = groupName.toLowerCase(); - int var2 = this.groupNameHashTable.get(Client.hashString(groupName)); - return this.groupLoadPercent(var2); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;Llh;I)Llh;", - garbageValue = "15597880" - ) - @Export("readStringIntParameters") - static final IterableNodeHashTable readStringIntParameters(Buffer buffer, IterableNodeHashTable hashTable) { - int var2 = buffer.readUnsignedByte(); - int var3; - if (hashTable == null) { - var3 = World.method1759(var2); - hashTable = new IterableNodeHashTable(var3); - } - - for (var3 = 0; var3 < var2; ++var3) { - boolean var4 = buffer.readUnsignedByte() == 1; - int var5 = buffer.readMedium(); - Object var6; - if (var4) { - var6 = new ObjectNode(buffer.readStringCp1252NullTerminated()); - } else { - var6 = new IntegerNode(buffer.readInt()); - } - - hashTable.put((Node)var6, (long)var5); - } - - return hashTable; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lby;S)V", - garbageValue = "-4702" - ) - @Export("runScript") - public static void runScript(ScriptEvent scriptEvent) { - GrandExchangeEvent.runScript0(scriptEvent, 500000); - } - - @ObfuscatedName("eg") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "308670894" - ) - static boolean method4585() { - if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); - if (!var0.isLoaded()) { - return false; - } - - ++Client.archiveLoaderArchive; - } - - return true; - } else { - return true; - } - } - - static { - gzipDecompressor = new GzipDecompressor(); - field1 = 0; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lld;" + ) + @Export("gzipDecompressor") + static GZipDecompressor gzipDecompressor; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 420916507 + ) + static int field3143; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1329598587 + ) + @Export("groupCount") + int groupCount; + @ObfuscatedName("e") + @Export("groupIds") + int[] groupIds; + @ObfuscatedName("p") + @Export("groupNameHashes") + int[] groupNameHashes; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Llj;" + ) + @Export("groupNameHashTable") + IntHashTable groupNameHashTable; + @ObfuscatedName("l") + @Export("groupCrcs") + int[] groupCrcs; + @ObfuscatedName("b") + @Export("groupVersions") + int[] groupVersions; + @ObfuscatedName("i") + @Export("fileCounts") + int[] fileCounts; + @ObfuscatedName("c") + @Export("fileIds") + int[][] fileIds; + @ObfuscatedName("f") + @Export("fileNameHashes") + int[][] fileNameHashes; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "[Llj;" + ) + @Export("fileNameHashTables") + IntHashTable[] fileNameHashTables; + @ObfuscatedName("u") + @Export("groups") + Object[] groups; + @ObfuscatedName("x") + @Export("files") + Object[][] files; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2113214337 + ) + @Export("hash") + public int hash; + @ObfuscatedName("y") + @Export("releaseGroups") + boolean releaseGroups; + @ObfuscatedName("g") + @Export("shallowFiles") + boolean shallowFiles; + + static { + gzipDecompressor = new GZipDecompressor(); + field3143 = 0; + } + + AbstractArchive(boolean var1, boolean var2) { + this.releaseGroups = var1; + this.shallowFiles = var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "1973415514" + ) + @Export("decodeIndex") + void decodeIndex(byte[] var1) { + int var3 = var1.length; + int var2 = class2.method18(var1, 0, var3); + this.hash = var2; + Buffer var4 = new Buffer(HealthBarUpdate.decompressBytes(var1)); + int var5 = var4.readUnsignedByte(); + if (var5 >= 5 && var5 <= 7) { + if (var5 >= 6) { + var4.readInt(); + } + + int var6 = var4.readUnsignedByte(); + if (var5 >= 7) { + this.groupCount = var4.method5685(); + } else { + this.groupCount = var4.readUnsignedShort(); + } + + int var7 = 0; + int var8 = -1; + this.groupIds = new int[this.groupCount]; + int var9; + if (var5 >= 7) { + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupIds[var9] = var7 += var4.method5685(); + if (this.groupIds[var9] > var8) { + var8 = this.groupIds[var9]; + } + } + } else { + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupIds[var9] = var7 += var4.readUnsignedShort(); + if (this.groupIds[var9] > var8) { + var8 = this.groupIds[var9]; + } + } + } + + this.groupCrcs = new int[var8 + 1]; + this.groupVersions = new int[var8 + 1]; + this.fileCounts = new int[var8 + 1]; + this.fileIds = new int[var8 + 1][]; + this.groups = new Object[var8 + 1]; + this.files = new Object[var8 + 1][]; + if (var6 != 0) { + this.groupNameHashes = new int[var8 + 1]; + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupNameHashes[this.groupIds[var9]] = var4.readInt(); + } + + this.groupNameHashTable = new IntHashTable(this.groupNameHashes); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupCrcs[this.groupIds[var9]] = var4.readInt(); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.groupVersions[this.groupIds[var9]] = var4.readInt(); + } + + for (var9 = 0; var9 < this.groupCount; ++var9) { + this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort(); + } + + int var10; + int var11; + int var12; + int var13; + int var14; + if (var5 >= 7) { + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + var7 = 0; + var12 = -1; + this.fileIds[var10] = new int[var11]; + + for (var13 = 0; var13 < var11; ++var13) { + var14 = this.fileIds[var10][var13] = var7 += var4.method5685(); + if (var14 > var12) { + var12 = var14; + } + } + + this.files[var10] = new Object[var12 + 1]; + } + } else { + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + var7 = 0; + var12 = -1; + this.fileIds[var10] = new int[var11]; + + for (var13 = 0; var13 < var11; ++var13) { + var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort(); + if (var14 > var12) { + var12 = var14; + } + } + + this.files[var10] = new Object[var12 + 1]; + } + } + + if (var6 != 0) { + this.fileNameHashes = new int[var8 + 1][]; + this.fileNameHashTables = new IntHashTable[var8 + 1]; + + for (var9 = 0; var9 < this.groupCount; ++var9) { + var10 = this.groupIds[var9]; + var11 = this.fileCounts[var10]; + this.fileNameHashes[var10] = new int[this.files[var10].length]; + + for (var12 = 0; var12 < var11; ++var12) { + this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt(); + } + + this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]); + } + } + + } else { + throw new RuntimeException(""); + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2144523901" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(III)[B", + garbageValue = "-1152099404" + ) + @Export("takeFile") + public byte[] takeFile(int var1, int var2) { + return this.takeFileEncrypted(var1, var2, (int[])null); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II[II)[B", + garbageValue = "-2126995235" + ) + @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 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false); + if (this.shallowFiles) { + this.files[var1][var2] = null; + } + + return var5; + } else { + return null; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-416813220" + ) + @Export("tryLoadFile") + public boolean tryLoadFile(int var1, int var2) { + if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) { + if (this.files[var1][var2] != null) { + return true; + } else if (this.groups[var1] != null) { + return true; + } else { + this.loadGroup(var1); + return this.groups[var1] != null; + } + } else { + return false; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1060538444" + ) + public boolean method4147(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("b") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-43766791" + ) + @Export("tryLoadGroup") + public boolean tryLoadGroup(int var1) { + if (this.groups[var1] != null) { + return true; + } else { + this.loadGroup(var1); + return this.groups[var1] != null; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "741322871" + ) + @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("c") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "0" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + return this.groups[var1] != null ? 100 : 0; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "1034279223" + ) + @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("x") + @ObfuscatedSignature( + signature = "(III)[B", + garbageValue = "-377229485" + ) + @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 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false); + return var4; + } else { + return null; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "-1915975799" + ) + @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("v") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "3211" + ) + @Export("loadGroup") + void loadGroup(int var1) { + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(II)[I", + garbageValue = "1269467416" + ) + @Export("getGroupFileIds") + public int[] getGroupFileIds(int var1) { + return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1116420622" + ) + @Export("getGroupFileCount") + public int getGroupFileCount(int var1) { + return this.files[var1].length; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-953283657" + ) + @Export("getGroupCount") + public int getGroupCount() { + return this.files.length; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1731367566" + ) + @Export("clearGroups") + public void clearGroups() { + for (int var1 = 0; var1 < this.groups.length; ++var1) { + this.groups[var1] = null; + } + + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "513084306" + ) + @Export("clearFilesGroup") + public void clearFilesGroup(int var1) { + for (int var2 = 0; var2 < this.files[var1].length; ++var2) { + this.files[var1][var2] = null; + } + + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1559971076" + ) + @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("s") + @ObfuscatedSignature( + signature = "(I[II)Z", + garbageValue = "-1546414650" + ) + @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[] var21; + if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) { + var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], false); + } else { + var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], true); + Buffer var8 = new Buffer(var21); + var8.xteaDecrypt(var2, 5, var8.array.length); + } + + byte[] var25 = HealthBarUpdate.decompressBytes(var21); + if (this.releaseGroups) { + this.groups[var1] = null; + } + + int var10; + if (var3 > 1) { + int var9 = var25.length; + --var9; + var10 = var25[var9] & 255; + var9 -= var10 * var3 * 4; + Buffer var11 = new Buffer(var25); + 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[][] var23 = new byte[var3][]; + + for (var14 = 0; var14 < var3; ++var14) { + var23[var14] = new byte[var12[var14]]; + var12[var14] = 0; + } + + var11.offset = var9; + var14 = 0; + + int var17; + for (var15 = 0; var15 < var10; ++var15) { + int var16 = 0; + + for (var17 = 0; var17 < var3; ++var17) { + var16 += var11.readInt(); + System.arraycopy(var25, var14, var23[var17], var12[var17], var16); + var12[var17] += var16; + var14 += var16; + } + } + + for (var15 = 0; var15 < var3; ++var15) { + if (!this.shallowFiles) { + var17 = var4[var15]; + byte[] var19 = var23[var15]; + Object var18; + if (var19 == null) { + var18 = null; + } else if (var19.length > 136) { + DirectByteArrayCopier var20 = new DirectByteArrayCopier(); + var20.set(var19); + var18 = var20; + } else { + var18 = var19; + } + + var5[var17] = var18; + } else { + var5[var4[var15]] = var23[var15]; + } + } + } else if (!this.shallowFiles) { + var10 = var4[0]; + Object var26; + if (var25 == null) { + var26 = null; + } else if (var25.length > 136) { + DirectByteArrayCopier var27 = new DirectByteArrayCopier(); + var27.set(var25); + var26 = var27; + } else { + var26 = var25; + } + + var5[var10] = var26; + } else { + var5[var4[0]] = var25; + } + + return true; + } + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "1993215311" + ) + @Export("getGroupId") + public int getGroupId(String var1) { + var1 = var1.toLowerCase(); + return this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;B)I", + garbageValue = "35" + ) + @Export("getFileId") + public int getFileId(int var1, String var2) { + var2 = var2.toLowerCase(); + return this.fileNameHashTables[var1].get(GrandExchangeOfferAgeComparator.hashString(var2)); + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;B)Z", + garbageValue = "14" + ) + @Export("isValidFileName") + public boolean isValidFileName(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + if (var3 < 0) { + return false; + } else { + int var4 = this.fileNameHashTables[var3].get(GrandExchangeOfferAgeComparator.hashString(var2)); + return var4 >= 0; + } + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;I)[B", + garbageValue = "-722893265" + ) + @Export("takeFileByNames") + public byte[] takeFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(GrandExchangeOfferAgeComparator.hashString(var2)); + return this.takeFile(var3, var4); + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", + garbageValue = "-1918711245" + ) + @Export("tryLoadFileByNames") + public boolean tryLoadFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(GrandExchangeOfferAgeComparator.hashString(var2)); + return this.tryLoadFile(var3, var4); + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Z", + garbageValue = "-928538356" + ) + @Export("tryLoadGroupByName") + public boolean tryLoadGroupByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + return this.tryLoadGroup(var2); + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "62" + ) + @Export("loadRegionFromName") + public void loadRegionFromName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + if (var2 >= 0) { + this.loadRegionFromGroup(var2); + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)I", + garbageValue = "-19" + ) + @Export("groupLoadPercentByName") + public int groupLoadPercentByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(GrandExchangeOfferAgeComparator.hashString(var1)); + return this.groupLoadPercent(var2); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)[Lct;", + garbageValue = "-27" + ) + static AttackOption[] method4141() { + return new AttackOption[]{AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_leftClickWhereAvailable}; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-74440934" + ) + static int method4172(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.SOUND_SYNTH) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + class81.queueSoundEffect(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_SONG) { + GrandExchangeOfferTotalQuantityComparator.method93(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + WorldMapLabelSize.method188(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/AbstractByteArrayCopier.java b/runescape-client/src/main/java/AbstractByteArrayCopier.java index c253e368a5..ebffc10c0d 100644 --- a/runescape-client/src/main/java/AbstractByteArrayCopier.java +++ b/runescape-client/src/main/java/AbstractByteArrayCopier.java @@ -3,103 +3,74 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gu") +@ObfuscatedName("gz") @Implements("AbstractByteArrayCopier") public abstract class AbstractByteArrayCopier { - @ObfuscatedName("f") - @Export("directBufferUnavailable") - static boolean directBufferUnavailable; - @ObfuscatedName("et") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive20") - static Archive archive20; + AbstractByteArrayCopier() { + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[B", - garbageValue = "-1219910462" - ) - @Export("get") - abstract byte[] get(); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)[B", + garbageValue = "1071129091" + ) + @Export("get") + abstract byte[] get(); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "-2034091753" - ) - @Export("set") - abstract void set(byte[] array); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "594076777" + ) + public abstract void set(byte[] var1); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Liw;", - garbageValue = "1102198559" - ) - @Export("getVarcInt") - public static VarcInt getVarcInt(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.method354(new Buffer(var2)); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "([BIILer;[Lfv;I)V", + garbageValue = "95070993" + ) + static final void method3933(byte[] var0, int var1, int var2, Scene var3, CollisionMap[] var4) { + Buffer var5 = new Buffer(var0); + int var6 = -1; - VarcInt.VarcInt_cached.put(var1, (long)var0); - return var1; - } - } + while (true) { + int var7 = var5.method5509(); + if (var7 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1941491045" - ) - @Export("unloadInterface") - public static void unloadInterface(int var0) { - if (var0 != -1 && Widget.loadedInterfaces[var0]) { - Widget.Widget_archive.clearFilesGroup(var0); - if (Widget.interfaceComponents[var0] != null) { - boolean var1 = true; + var6 += var7; + int var8 = 0; - for (int var2 = 0; var2 < Widget.interfaceComponents[var0].length; ++var2) { - if (Widget.interfaceComponents[var0][var2] != null) { - if (Widget.interfaceComponents[var0][var2].type != 2) { - Widget.interfaceComponents[var0][var2] = null; - } else { - var1 = false; - } - } - } + while (true) { + int var9 = var5.readUShortSmart(); + if (var9 == 0) { + break; + } - if (var1) { - Widget.interfaceComponents[var0] = null; - } + var8 += var9 - 1; + int var10 = var8 & 63; + int var11 = var8 >> 6 & 63; + int var12 = var8 >> 12; + int var13 = var5.readUnsignedByte(); + int var14 = var13 >> 2; + int var15 = var13 & 3; + int var16 = var11 + var1; + int var17 = var10 + var2; + if (var16 > 0 && var17 > 0 && var16 < 103 && var17 < 103) { + int var18 = var12; + if ((Tiles.Tiles_renderFlags[1][var16][var17] & 2) == 2) { + var18 = var12 - 1; + } - Widget.loadedInterfaces[var0] = false; - } - } + CollisionMap var19 = null; + if (var18 >= 0) { + var19 = var4[var18]; + } - } - - @ObfuscatedName("gb") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1256278627" - ) - static void method4024() { - PacketBufferNode var0 = Interpreter.method1915(ClientPacket.field257, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(SpotAnimationDefinition.getWindowedMode()); - var0.packetBuffer.writeShort(SoundCache.canvasWidth); - var0.packetBuffer.writeShort(Huffman.canvasHeight); - Client.packetWriter.method241(var0); - } - - static { - directBufferUnavailable = false; - } + GrandExchangeOfferOwnWorldComparator.method1236(var12, var16, var17, var6, var15, var14, var3, var19); + } + } + } + } } diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 6df5991563..8dd0229682 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -4,1074 +4,1064 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kt") +@ObfuscatedName("kn") @Implements("AbstractFont") public abstract class AbstractFont extends Rasterizer2D { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("AbstractFont_modIconSprites") - public static IndexedSprite[] AbstractFont_modIconSprites; - @ObfuscatedName("k") - @Export("AbstractFont_strike") - static int AbstractFont_strike; - @ObfuscatedName("n") - @Export("AbstractFont_underline") - static int AbstractFont_underline; - @ObfuscatedName("i") - @Export("AbstractFont_previousShadow") - static int AbstractFont_previousShadow; - @ObfuscatedName("a") - @Export("AbstractFont_shadow") - static int AbstractFont_shadow; - @ObfuscatedName("z") - @Export("AbstractFont_previousColor") - static int AbstractFont_previousColor; - @ObfuscatedName("j") - @Export("AbstractFont_color") - static int AbstractFont_color; - @ObfuscatedName("s") - @Export("AbstractFont_alpha") - static int AbstractFont_alpha; - @ObfuscatedName("t") - @Export("AbstractFont_justificationTotal") - static int AbstractFont_justificationTotal; - @ObfuscatedName("y") - @Export("AbstractFont_justificationCurrent") - static int AbstractFont_justificationCurrent; - @ObfuscatedName("h") - @Export("AbstractFont_random") - static Random AbstractFont_random; - @ObfuscatedName("b") - @Export("AbstractFont_lines") - static String[] AbstractFont_lines; - @ObfuscatedName("m") - @Export("pixels") - byte[][] pixels; - @ObfuscatedName("f") - @Export("advances") - int[] advances; - @ObfuscatedName("q") - @Export("widths") - int[] widths; - @ObfuscatedName("w") - @Export("heights") - int[] heights; - @ObfuscatedName("o") - @Export("leftBearings") - int[] leftBearings; - @ObfuscatedName("u") - @Export("topBearings") - int[] topBearings; - @ObfuscatedName("g") - @Export("ascent") - public int ascent; - @ObfuscatedName("l") - @Export("maxAscent") - public int maxAscent; - @ObfuscatedName("e") - @Export("maxDescent") - public int maxDescent; - @ObfuscatedName("d") - @Export("kerning") - byte[] kerning; - - AbstractFont(byte[] data, int[] leftBearings, int[] topBearings, int[] widths, int[] heights, int[] var6, byte[][] pixels) { - this.pixels = new byte[256][]; - this.ascent = 0; - this.leftBearings = leftBearings; - this.topBearings = topBearings; - this.widths = widths; - this.heights = heights; - this.readMetrics(data); - this.pixels = pixels; - 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("m") - @Export("drawGlyph") - abstract void drawGlyph(byte[] pixels, int x, int y, int width, int height, int color); - - @ObfuscatedName("f") - @Export("drawGlyphAlpha") - abstract void drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha); - - @ObfuscatedName("l") - @Export("readMetrics") - void readMetrics(byte[] bytes) { - this.advances = new int[256]; - int var2; - if (bytes.length == 257) { - for (var2 = 0; var2 < this.advances.length; ++var2) { - this.advances[var2] = bytes[var2] & 255; - } - - this.ascent = bytes[256] & 255; - } else { - var2 = 0; - - for (int var3 = 0; var3 < 256; ++var3) { - this.advances[var3] = bytes[var2++] & 255; - } - - int[] var12 = new int[256]; - int[] var4 = new int[256]; - - int var5; - for (var5 = 0; var5 < 256; ++var5) { - var12[var5] = bytes[var2++] & 255; - } - - for (var5 = 0; var5 < 256; ++var5) { - var4[var5] = bytes[var2++] & 255; - } - - byte[][] var6 = new byte[256][]; - - int var7; - for (int var8 = 0; var8 < 256; ++var8) { - var6[var8] = new byte[var12[var8]]; - byte var9 = 0; - - for (var7 = 0; var7 < var6[var8].length; ++var7) { - var9 += bytes[var2++]; - var6[var8][var7] = var9; - } - } - - byte[][] var13 = new byte[256][]; - - int var14; - for (var14 = 0; var14 < 256; ++var14) { - var13[var14] = new byte[var12[var14]]; - byte var10 = 0; - - for (int var11 = 0; var11 < var13[var14].length; ++var11) { - var10 += bytes[var2++]; - var13[var14][var11] = var10; - } - } - - this.kerning = new byte[65536]; - - for (var14 = 0; var14 < 256; ++var14) { - if (var14 != 32 && var14 != 160) { - for (var7 = 0; var7 < 256; ++var7) { - if (var7 != 32 && var7 != 160) { - this.kerning[var7 + (var14 << 8)] = (byte)method5658(var6, var13, var4, this.advances, var12, var14, var7); - } - } - } - } - - this.ascent = var4[32] + var12[32]; - } - - } - - @ObfuscatedName("x") - @Export("charWidth") - int charWidth(char var1) { - if (var1 == 160) { - var1 = ' '; - } - - return this.advances[HealthBar.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 = MouseHandler.parseInt(var7.substring(4)); - var4 += AbstractFont_modIconSprites[var8].width; - var3 = -1; - } catch (Exception var9) { - } - } - continue; - } - - var6 = '>'; - } - } - - if (var6 == 160) { - var6 = ' '; - } - - if (var2 == -1) { - var4 += this.advances[(char)(HealthBar.charToByteCp1252(var6) & 255)]; - if (this.kerning != null && var3 != -1) { - var4 += this.kerning[var6 + (var3 << 8)]; - } - - var3 = var6; - } - } - } - - return var4; - } - } - - @ObfuscatedName("a") - @Export("breakLines") - public int breakLines(String var1, int[] lineWidths, String[] linesDst) { - 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")) { - linesDst[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 = MouseHandler.parseInt(var16.substring(4)); - var4 += AbstractFont_modIconSprites[var17].width; - var11 = 0; - } catch (Exception var18) { - } - } - - 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 (lineWidths != null && var4 > lineWidths[var12 < lineWidths.length ? var12 : lineWidths.length - 1] && var7 >= 0) { - linesDst[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) { - linesDst[var12++] = var19.substring(var5, var19.length()); - } - - return var12; - } - } - - @ObfuscatedName("z") - @Export("lineWidth") - public int lineWidth(String var1, int lineWidth) { - int var3 = this.breakLines(var1, new int[]{lineWidth}, 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("j") - @Export("lineCount") - public int lineCount(String var1, int lineWidth) { - return this.breakLines(var1, new int[]{lineWidth}, AbstractFont_lines); - } - - @ObfuscatedName("t") - @Export("draw") - public void draw(String var1, int x, int y, int color, int shadow) { - if (var1 != null) { - this.reset(color, shadow); - this.draw0(var1, x, y); - } - - } - - @ObfuscatedName("y") - @Export("drawAlpha") - public void drawAlpha(String var1, int x, int y, int color, int shadow, int alpha) { - if (var1 != null) { - this.reset(color, shadow); - AbstractFont_alpha = alpha; - this.draw0(var1, x, y); - } - - } - - @ObfuscatedName("h") - @Export("drawRightAligned") - public void drawRightAligned(String var1, int x, int y, int color, int shadow) { - if (var1 != null) { - this.reset(color, shadow); - this.draw0(var1, x - this.stringWidth(var1), y); - } - - } - - @ObfuscatedName("b") - @Export("drawCentered") - public void drawCentered(String var1, int x, int y, int color, int shadow) { - if (var1 != null) { - this.reset(color, shadow); - this.draw0(var1, x - this.stringWidth(var1) / 2, y); - } - - } - - @ObfuscatedName("c") - @Export("drawLines") - public int drawLines(String var1, int x, int y, int width, int height, int color, int shadow, int xAlignment, int yAlignment, int lineHeight) { - if (var1 == null) { - return 0; - } else { - this.reset(color, shadow); - if (lineHeight == 0) { - lineHeight = this.ascent; - } - - int[] var11 = new int[]{width}; - if (height < lineHeight + this.maxAscent + this.maxDescent && height < lineHeight + lineHeight) { - var11 = null; - } - - int var12 = this.breakLines(var1, var11, AbstractFont_lines); - if (yAlignment == 3 && var12 == 1) { - yAlignment = 1; - } - - int var13; - int var14; - if (yAlignment == 0) { - var13 = y + this.maxAscent; - } else if (yAlignment == 1) { - var13 = y + (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / 2 + this.maxAscent; - } else if (yAlignment == 2) { - var13 = y + height - this.maxDescent - lineHeight * (var12 - 1); - } else { - var14 = (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / (var12 + 1); - if (var14 < 0) { - var14 = 0; - } - - var13 = y + var14 + this.maxAscent; - lineHeight += var14; - } - - for (var14 = 0; var14 < var12; ++var14) { - if (xAlignment == 0) { - this.draw0(AbstractFont_lines[var14], x, var13); - } else if (xAlignment == 1) { - this.draw0(AbstractFont_lines[var14], x + (width - this.stringWidth(AbstractFont_lines[var14])) / 2, var13); - } else if (xAlignment == 2) { - this.draw0(AbstractFont_lines[var14], x + width - this.stringWidth(AbstractFont_lines[var14]), var13); - } else if (var14 == var12 - 1) { - this.draw0(AbstractFont_lines[var14], x, var13); - } else { - this.calculateLineJustification(AbstractFont_lines[var14], width); - this.draw0(AbstractFont_lines[var14], x, var13); - AbstractFont_justificationTotal = 0; - } - - var13 += lineHeight; - } - - return var12; - } - } - - @ObfuscatedName("p") - @Export("drawCenteredWave") - public void drawCenteredWave(String var1, int x, int y, int color, int shadow, int seed) { - if (var1 != null) { - this.reset(color, shadow); - int[] var7 = new int[var1.length()]; - - for (int var8 = 0; var8 < var1.length(); ++var8) { - var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)seed / 5.0D) * 5.0D); - } - - this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var7); - } - - } - - @ObfuscatedName("v") - @Export("drawCenteredWave2") - public void drawCenteredWave2(String var1, int x, int y, int color, int shadow, int seed) { - if (var1 != null) { - this.reset(color, shadow); - 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)seed / 5.0D) * 5.0D); - var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)seed / 5.0D) * 5.0D); - } - - this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, var7, var8); - } - - } - - @ObfuscatedName("ag") - @Export("drawCenteredShake") - public void drawCenteredShake(String var1, int x, int y, int color, int shadow, int seed, int seed2) { - if (var1 != null) { - this.reset(color, shadow); - double var8 = 7.0D - (double)seed2 / 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)seed / 1.0D) * var8); - } - - this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var10); - } - - } - - @ObfuscatedName("aq") - @Export("drawRandomAlphaAndSpacing") - public void drawRandomAlphaAndSpacing(String var1, int x, int y, int color, int shadow, int seed) { - if (var1 != null) { - this.reset(color, shadow); - AbstractFont_random.setSeed((long)seed); - 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, x, y, var7, (int[])null); - } - - } - - @ObfuscatedName("aj") - @Export("reset") - void reset(int color, int shadow) { - AbstractFont_strike = -1; - AbstractFont_underline = -1; - AbstractFont_previousShadow = shadow; - AbstractFont_shadow = shadow; - AbstractFont_previousColor = color; - AbstractFont_color = color; - AbstractFont_alpha = 256; - AbstractFont_justificationTotal = 0; - AbstractFont_justificationCurrent = 0; - } - - @ObfuscatedName("av") - @Export("decodeTag") - void decodeTag(String var1) { - try { - if (var1.startsWith("col=")) { - AbstractFont_color = class214.parseIntCustomRadix(var1.substring(4), 16); - } else if (var1.equals("/col")) { - AbstractFont_color = AbstractFont_previousColor; - } else if (var1.startsWith("str=")) { - AbstractFont_strike = class214.parseIntCustomRadix(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 = class214.parseIntCustomRadix(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 = class214.parseIntCustomRadix(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("ar") - @Export("calculateLineJustification") - void calculateLineJustification(String var1, int lineWidth) { - 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 = (lineWidth - this.stringWidth(var1) << 8) / var3; - } - - } - - @ObfuscatedName("ac") - @Export("draw0") - void draw0(String var1, int x, int y) { - y -= this.ascent; - int var4 = -1; - int var5 = -1; - - for (int var6 = 0; var6 < var1.length(); ++var6) { - if (var1.charAt(var6) != 0) { - char var7 = (char)(HealthBar.charToByteCp1252(var1.charAt(var6)) & 255); - if (var7 == '<') { - var4 = var6; - } else { - int var8; - if (var7 == '>' && var4 != -1) { - String var9 = var1.substring(var4 + 1, var6); - var4 = -1; - if (var9.equals("lt")) { - var7 = '<'; - } else { - if (!var9.equals("gt")) { - if (var9.startsWith("img=")) { - try { - var8 = MouseHandler.parseInt(var9.substring(4)); - IndexedSprite var13 = AbstractFont_modIconSprites[var8]; - var13.drawAt(x, y + this.ascent - var13.height); - x += var13.width; - var5 = -1; - } catch (Exception var11) { - } - } else { - this.decodeTag(var9); - } - continue; - } - - var7 = '>'; - } - } - - if (var7 == 160) { - var7 = ' '; - } - - if (var4 == -1) { - if (this.kerning != null && var5 != -1) { - x += this.kerning[var7 + (var5 << 8)]; - } - - int var12 = this.widths[var7]; - var8 = this.heights[var7]; - if (var7 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - x += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var10 = this.advances[var7]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var10, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent + 1, var10, AbstractFont_underline); - } - - x += var10; - var5 = var7; - } - } - } - } - - } - - @ObfuscatedName("ay") - @Export("drawWithOffsets0") - void drawWithOffsets0(String var1, int x, int y, int[] xs, int[] ys) { - y -= 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)(HealthBar.charToByteCp1252(var1.charAt(var9)) & 255); - if (var10 == '<') { - var6 = var9; - } else { - int var11; - int var12; - int var13; - if (var10 == '>' && var6 != -1) { - String var14 = var1.substring(var6 + 1, var9); - var6 = -1; - if (var14.equals("lt")) { - var10 = '<'; - } else { - if (!var14.equals("gt")) { - if (var14.startsWith("img=")) { - try { - if (xs != null) { - var11 = xs[var8]; - } else { - var11 = 0; - } - - if (ys != null) { - var12 = ys[var8]; - } else { - var12 = 0; - } - - ++var8; - var13 = MouseHandler.parseInt(var14.substring(4)); - IndexedSprite var18 = AbstractFont_modIconSprites[var13]; - var18.drawAt(var11 + x, var12 + (y + this.ascent - var18.height)); - x += var18.width; - var7 = -1; - } catch (Exception var16) { - } - } else { - this.decodeTag(var14); - } - continue; - } - - var10 = '>'; - } - } - - if (var10 == 160) { - var10 = ' '; - } - - if (var6 == -1) { - if (this.kerning != null && var7 != -1) { - x += this.kerning[var10 + (var7 << 8)]; - } - - int var17 = this.widths[var10]; - var11 = this.heights[var10]; - if (xs != null) { - var12 = xs[var8]; - } else { - var12 = 0; - } - - if (ys != null) { - var13 = ys[var8]; - } else { - var13 = 0; - } - - ++var8; - if (var10 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - x += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var15 = this.advances[var10]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var15, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent, var15, AbstractFont_underline); - } - - x += var15; - var7 = var10; - } - } - } - } - - } - - @ObfuscatedName("e") - static int method5658(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("s") - @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("ah") - @Export("AbstractFont_drawGlyph") - static void AbstractFont_drawGlyph(byte[] pixels, int x, int y, int width, int height, int color) { - int var6 = x + y * Rasterizer2D.Rasterizer2D_width; - int var7 = Rasterizer2D.Rasterizer2D_width - width; - int var8 = 0; - int var9 = 0; - int var10; - if (y < Rasterizer2D.Rasterizer2D_yClipStart) { - var10 = Rasterizer2D.Rasterizer2D_yClipStart - y; - height -= var10; - y = Rasterizer2D.Rasterizer2D_yClipStart; - var9 += width * var10; - var6 += var10 * Rasterizer2D.Rasterizer2D_width; - } - - if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) { - height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (x < Rasterizer2D.Rasterizer2D_xClipStart) { - var10 = Rasterizer2D.Rasterizer2D_xClipStart - x; - width -= var10; - x = Rasterizer2D.Rasterizer2D_xClipStart; - var9 += var10; - var6 += var10; - var8 += var10; - var7 += var10; - } - - if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) { - var10 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd; - width -= var10; - var8 += var10; - var7 += var10; - } - - if (width > 0 && height > 0) { - AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var9, var6, width, height, var7, var8); - } - - } - - @ObfuscatedName("ak") - @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("aw") - @Export("AbstractFont_drawGlyphAlpha") - static void AbstractFont_drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha) { - int var7 = x + y * Rasterizer2D.Rasterizer2D_width; - int var8 = Rasterizer2D.Rasterizer2D_width - width; - int var9 = 0; - int var10 = 0; - int var11; - if (y < Rasterizer2D.Rasterizer2D_yClipStart) { - var11 = Rasterizer2D.Rasterizer2D_yClipStart - y; - height -= var11; - y = Rasterizer2D.Rasterizer2D_yClipStart; - var10 += width * var11; - var7 += var11 * Rasterizer2D.Rasterizer2D_width; - } - - if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) { - height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (x < Rasterizer2D.Rasterizer2D_xClipStart) { - var11 = Rasterizer2D.Rasterizer2D_xClipStart - x; - width -= var11; - x = Rasterizer2D.Rasterizer2D_xClipStart; - var10 += var11; - var7 += var11; - var9 += var11; - var8 += var11; - } - - if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) { - var11 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd; - width -= var11; - var9 += var11; - var8 += var11; - } - - if (width > 0 && height > 0) { - AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var10, var7, width, height, var8, var9, alpha); - } - - } - - @ObfuscatedName("al") - @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; - } - - } - - 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]; - } + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("AbstractFont_modIconSprites") + public static IndexedSprite[] AbstractFont_modIconSprites; + @ObfuscatedName("u") + @Export("AbstractFont_strike") + static int AbstractFont_strike; + @ObfuscatedName("x") + @Export("AbstractFont_underline") + static int AbstractFont_underline; + @ObfuscatedName("r") + @Export("AbstractFont_previousShadow") + static int AbstractFont_previousShadow; + @ObfuscatedName("v") + @Export("AbstractFont_shadow") + static int AbstractFont_shadow; + @ObfuscatedName("y") + @Export("AbstractFont_previousColor") + static int AbstractFont_previousColor; + @ObfuscatedName("g") + @Export("AbstractFont_color") + static int AbstractFont_color; + @ObfuscatedName("a") + @Export("AbstractFont_alpha") + static int AbstractFont_alpha; + @ObfuscatedName("j") + @Export("AbstractFont_justificationTotal") + static int AbstractFont_justificationTotal; + @ObfuscatedName("t") + @Export("AbstractFont_justificationCurrent") + static int AbstractFont_justificationCurrent; + @ObfuscatedName("h") + @Export("AbstractFont_random") + static Random AbstractFont_random; + @ObfuscatedName("o") + @Export("AbstractFont_lines") + static String[] AbstractFont_lines; + @ObfuscatedName("q") + @Export("pixels") + byte[][] pixels; + @ObfuscatedName("w") + @Export("advances") + int[] advances; + @ObfuscatedName("e") + @Export("widths") + int[] widths; + @ObfuscatedName("p") + @Export("heights") + int[] heights; + @ObfuscatedName("k") + @Export("leftBearings") + int[] leftBearings; + @ObfuscatedName("l") + @Export("topBearings") + int[] topBearings; + @ObfuscatedName("b") + @Export("ascent") + public int ascent; + @ObfuscatedName("i") + @Export("maxAscent") + public int maxAscent; + @ObfuscatedName("c") + @Export("maxDescent") + public int maxDescent; + @ObfuscatedName("m") + @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("q") + @Export("drawGlyph") + abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); + + @ObfuscatedName("w") + @Export("drawGlyphAlpha") + abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); + + @ObfuscatedName("c") + @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)method5339(var11, var12, var4, this.advances, var10, var13, var8); + } + } + } + } + + this.ascent = var4[32] + var10[32]; + } + + } + + @ObfuscatedName("x") + @Export("charWidth") + int charWidth(char var1) { + if (var1 == 160) { + var1 = ' '; + } + + return this.advances[ItemDefinition.charToByteCp1252(var1) & 255]; + } + + @ObfuscatedName("r") + @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 = class3.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)(ItemDefinition.charToByteCp1252(var6) & 255)]; + if (this.kerning != null && var3 != -1) { + var4 += this.kerning[var6 + (var3 << 8)]; + } + + var3 = var6; + } + } + } + + return var4; + } + } + + @ObfuscatedName("v") + @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 = class3.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("y") + @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("g") + @Export("lineCount") + public int lineCount(String var1, int var2) { + return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); + } + + @ObfuscatedName("j") + @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("o") + @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("d") + @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("s") + @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("z") + @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("al") + @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("av") + @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("as") + @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("aw") + @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("ad") + @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("ag") + @Export("decodeTag") + void decodeTag(String var1) { + try { + if (var1.startsWith("col=")) { + AbstractFont_color = VarbitDefinition.parseIntCustomRadix(var1.substring(4), 16); + } else if (var1.equals("/col")) { + AbstractFont_color = AbstractFont_previousColor; + } else if (var1.startsWith("str=")) { + AbstractFont_strike = VarbitDefinition.parseIntCustomRadix(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 = VarbitDefinition.parseIntCustomRadix(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 = VarbitDefinition.parseIntCustomRadix(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("ar") + @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)(ItemDefinition.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 = class3.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("az") + @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)(ItemDefinition.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 = class3.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("u") + static int method5339(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("a") + @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("ae") + @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("ao") + @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("aj") + @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("at") + @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 d218bd3f3a..eae5569f90 100644 --- a/runescape-client/src/main/java/AbstractRasterProvider.java +++ b/runescape-client/src/main/java/AbstractRasterProvider.java @@ -4,51 +4,57 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lp") +@ObfuscatedName("lt") @Implements("AbstractRasterProvider") public abstract class AbstractRasterProvider { - @ObfuscatedName("ca") - @Export("mouseCam") - static boolean mouseCam; - @ObfuscatedName("q") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -560298363 - ) - @Export("width") - public int width; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -239960145 - ) - @Export("height") - public int height; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("NetCache_reference") + static Buffer NetCache_reference; + @ObfuscatedName("e") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1276568955 + ) + @Export("width") + public int width; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1637041543 + ) + @Export("height") + public int height; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-430495007" - ) - @Export("drawFull") - public abstract void drawFull(int x, int y); + protected AbstractRasterProvider() { + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "18" - ) - @Export("draw") - public abstract void draw(int x, int y, int width, int height); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1942972544" + ) + @Export("drawFull") + public abstract void drawFull(int var1, int var2); - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "152864133" - ) - @Export("apply") - public final void apply() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.width, this.height); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1902391505" + ) + @Export("draw") + public abstract void draw(int var1, int var2, int var3, int var4); + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "106" + ) + @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 fa4ff7741f..f43d5fe6a5 100644 --- a/runescape-client/src/main/java/AbstractSocket.java +++ b/runescape-client/src/main/java/AbstractSocket.java @@ -4,69 +4,57 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fu") +@ObfuscatedName("ky") @Implements("AbstractSocket") public abstract class AbstractSocket { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1765046516" - ) - @Export("isAvailable") - public abstract boolean isAvailable(int length) throws IOException; + protected AbstractSocket() { + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1078471130" - ) - @Export("available") - public abstract int available() throws IOException; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1144636612" + ) + @Export("close") + public abstract void close(); - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "516705222" - ) - @Export("readUnsignedByte") - public abstract int readUnsignedByte() throws IOException; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "2" + ) + @Export("readUnsignedByte") + public abstract int readUnsignedByte() throws IOException; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "-1089665746" - ) - @Export("read") - public abstract int read(byte[] dst, int dstIndex, int length) throws IOException; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "55" + ) + @Export("available") + public abstract int available() throws IOException; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-86" - ) - @Export("write") - public abstract void write(byte[] src, int srcIndex, int length) throws IOException; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1948150862" + ) + @Export("isAvailable") + public abstract boolean isAvailable(int var1) throws IOException; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1252618448" - ) - @Export("close") - public abstract void close(); + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "([BIIB)I", + garbageValue = "26" + ) + @Export("read") + public abstract int read(byte[] var1, int var2, int var3) throws IOException; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-15" - ) - public static void method3488(int var0) { - class214.field1129 = 1; - class214.musicTrackArchive = null; - class30.musicTrackGroupId = -1; - GrandExchangeOffer.musicTrackFileId = -1; - WorldMapLabel.field1039 = 0; - RectangleMode.musicTrackBoolean = false; - FaceNormal.field344 = var0; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-1696227994" + ) + @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 472f294011..89e92dca3a 100644 --- a/runescape-client/src/main/java/AbstractSound.java +++ b/runescape-client/src/main/java/AbstractSound.java @@ -2,10 +2,13 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dd") +@ObfuscatedName("du") @Implements("AbstractSound") public abstract class AbstractSound extends Node { - @ObfuscatedName("u") - @Export("position") - int position; + @ObfuscatedName("l") + @Export("position") + int position; + + AbstractSound() { + } } diff --git a/runescape-client/src/main/java/AbstractUserComparator.java b/runescape-client/src/main/java/AbstractUserComparator.java index 7d2ef34569..6e7e059e4d 100644 --- a/runescape-client/src/main/java/AbstractUserComparator.java +++ b/runescape-client/src/main/java/AbstractUserComparator.java @@ -4,64 +4,42 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kf") +@ObfuscatedName("ja") @Implements("AbstractUserComparator") public abstract class AbstractUserComparator implements Comparator { - @ObfuscatedName("f") - @Export("nextComparator") - Comparator nextComparator; + @ObfuscatedName("w") + @Export("nextComparator") + Comparator nextComparator; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;B)V", - garbageValue = "-2" - ) - @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); - } + protected AbstractUserComparator() { + } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;I)V", + garbageValue = "-6206068" + ) + @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("x") - @ObfuscatedSignature( - signature = "(Ljs;Ljs;I)I", - garbageValue = "-962181316" - ) - @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("u") + @ObfuscatedSignature( + signature = "(Ljd;Ljd;I)I", + garbageValue = "191415789" + ) + @Export("compareUser") + protected final int compareUser(User var1, User var2) { + return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); + } - @ObfuscatedName("fu") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2048322935" - ) - static void method5437(int var0) { - if (var0 == -1 && !Client.field107) { - class214.midiPcmStream.clear(); - class214.field1129 = 1; - class214.musicTrackArchive = null; - } else if (var0 != -1 && var0 != Client.field112 && Client.field128 != 0 && !Client.field107) { - Archive var1 = UserComparator3.archive6; - int var2 = Client.field128; - class214.field1129 = 1; - class214.musicTrackArchive = var1; - class30.musicTrackGroupId = var0; - GrandExchangeOffer.musicTrackFileId = 0; - WorldMapLabel.field1039 = var2; - RectangleMode.musicTrackBoolean = false; - FaceNormal.field344 = 2; - } - - Client.field112 = var0; - } + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index 1c881a4b02..14fe40941b 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -4,171 +4,185 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ak") +@ObfuscatedName("az") @Implements("AbstractWorldMapIcon") public abstract class AbstractWorldMapIcon { - @ObfuscatedName("qj") - @ObfuscatedGetter( - intValue = -1942470229 - ) - static int field4; - @ObfuscatedName("ka") - @ObfuscatedGetter( - intValue = -1734004743 - ) - @Export("menuHeight") - static int menuHeight; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("coord2") - public final Coord coord2; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("coord1") - public final Coord coord1; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -521086143 - ) - @Export("screenX") - int screenX; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1065362217 - ) - @Export("screenY") - int screenY; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("coord2") + public final Coord coord2; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("coord1") + public final Coord coord1; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1277861537 + ) + @Export("screenX") + int screenX; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -946812135 + ) + @Export("screenY") + int screenY; - @ObfuscatedSignature( - signature = "(Lhu;Lhu;)V" - ) - AbstractWorldMapIcon(Coord var1, Coord var2) { - this.coord1 = var1; - this.coord2 = var2; - } + @ObfuscatedSignature( + signature = "(Lhv;Lhv;)V" + ) + AbstractWorldMapIcon(Coord var1, Coord var2) { + this.coord1 = var1; + this.coord2 = var2; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1990181988" - ) - @Export("getElement") - public abstract int getElement(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-229566020" + ) + @Export("getElement") + public abstract int getElement(); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Laj;", - garbageValue = "1159446036" - ) - @Export("getLabel") - abstract WorldMapLabel getLabel(); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Las;", + garbageValue = "1426074195" + ) + @Export("getLabel") + abstract WorldMapLabel getLabel(); - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "75" - ) - abstract int vmethod397(); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "14" + ) + @Export("getSubWidth") + abstract int getSubWidth(); - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1558233611" - ) - abstract int vmethod398(); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "1" + ) + @Export("getSubHeight") + abstract int getSubHeight(); - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "-63" - ) - boolean method18(int var1, int var2) { - return this.method20(var1, var2) ? true : this.method21(var1, var2); - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "-101" + ) + @Export("fitsScreen") + boolean fitsScreen(int var1, int var2) { + if (this.elementFitsScreen(var1, var2)) { + return true; + } else { + return this.labelFitsScreen(var1, var2); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1150380891" - ) - boolean method19() { - return this.getElement() >= 0; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1274004046" + ) + @Export("hasValidElement") + boolean hasValidElement() { + return this.getElement() >= 0; + } - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "484201257" - ) - boolean method20(int var1, int var2) { - if (!this.method19()) { - return false; - } else { - WorldMapElement var3 = ViewportMouse.getWorldMapElement(this.getElement()); - int var4 = this.vmethod397(); - int var5 = this.vmethod398(); - switch(var3.horizontalAlignment.value) { - case 0: - if (var1 >= this.screenX - var4 / 2 && var1 <= var4 / 2 + this.screenX) { - break; - } + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "406020312" + ) + @Export("elementFitsScreen") + boolean elementFitsScreen(int var1, int var2) { + if (!this.hasValidElement()) { + return false; + } else { + WorldMapElement var3 = class222.getWorldMapElement(this.getElement()); + int var4 = this.getSubWidth(); + int var5 = this.getSubHeight(); + switch(var3.horizontalAlignment.value) { + case 0: + if (var1 <= this.screenX - var4 || var1 > this.screenX) { + return false; + } + break; + case 1: + if (var1 >= this.screenX && var1 < var4 + this.screenX) { + break; + } - return false; - case 1: - if (var1 >= this.screenX && var1 < var4 + this.screenX) { - break; - } + return false; + case 2: + if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { + return false; + } + } - return false; - case 2: - if (var1 <= this.screenX - var4 || var1 > this.screenX) { - return false; - } - } + switch(var3.verticalAlignment.value) { + case 0: + if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { + return false; + } + break; + case 1: + if (var2 <= this.screenY - var5 || var2 > this.screenY) { + return false; + } + break; + case 2: + if (var2 < this.screenY || var2 >= var5 + this.screenY) { + 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 - var5 / 2 || var2 > var5 / 2 + this.screenY) { - return false; - } - break; - case 2: - if (var2 < this.screenY || var2 >= var5 + this.screenY) { - return false; - } - } + return true; + } + } - return true; - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1252480817" + ) + @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 = "(III)Z", - garbageValue = "1201712205" - ) - boolean method21(int var1, int var2) { - WorldMapLabel var3 = this.getLabel(); - return var3 == null ? false : (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX ? var2 >= this.screenY && var2 <= var3.height + this.screenY : false); - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1908697951" + ) + @Export("NpcDefinition_clearCached") + public static void NpcDefinition_clearCached() { + NPCDefinition.NpcDefinition_cached.clear(); + NPCDefinition.NpcDefinition_cachedModels.clear(); + } - @ObfuscatedName("es") - @ObfuscatedSignature( - signature = "(Lit;Ljava/lang/String;I)V", - garbageValue = "-1018878027" - ) - static void method625(Archive var0, String var1) { - ArchiveLoader var2 = new ArchiveLoader(var0, var1); - Client.archiveLoaders.add(var2); - Client.field140 += var2.groupCount; - } + @ObfuscatedName("fb") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-108" + ) + @Export("getWindowedMode") + static int getWindowedMode() { + return Client.isResizable ? 2 : 1; + } } diff --git a/runescape-client/src/main/java/AccessFile.java b/runescape-client/src/main/java/AccessFile.java index 2e0c79dac6..0b56f927e9 100644 --- a/runescape-client/src/main/java/AccessFile.java +++ b/runescape-client/src/main/java/AccessFile.java @@ -9,176 +9,131 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dk") +@ObfuscatedName("ma") @Implements("AccessFile") public final class AccessFile { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1762891465 - ) - static int field7; - @ObfuscatedName("lm") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field8; - @ObfuscatedName("m") - @Export("file") - RandomAccessFile file; - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = -5849841282281477349L - ) - @Export("capacity") - long capacity; - @ObfuscatedName("q") - @ObfuscatedGetter( - longValue = 7465414039279036117L - ) - @Export("index") - long index; + @ObfuscatedName("q") + @Export("file") + RandomAccessFile file; + @ObfuscatedName("w") + @ObfuscatedGetter( + longValue = -4859377869140643535L + ) + @Export("maxSize") + final long maxSize; + @ObfuscatedName("e") + @ObfuscatedGetter( + longValue = -5982883315607554345L + ) + @Export("offset") + long offset; - public AccessFile(File var1, String var2, long var3) throws IOException { - if (var3 == -1L) { - var3 = Long.MAX_VALUE; - } + public AccessFile(File var1, String var2, long var3) throws IOException { + if (var3 == -1L) { + var3 = Long.MAX_VALUE; + } - if (var1.length() >= var3) { - var1.delete(); - } + if (var1.length() > var3) { + var1.delete(); + } - this.file = new RandomAccessFile(var1, var2); - this.capacity = var3; - this.index = 0L; - int var5 = this.file.read(); - if (var5 != -1 && !var2.equals("r")) { - this.file.seek(0L); - this.file.write(var5); - } + 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); - } + this.file.seek(0L); + } - @ObfuscatedName("m") - @Export("seek") - final void seek(long index) throws IOException { - this.file.seek(index); - this.index = index; - } + @ObfuscatedName("q") + @Export("seek") + final void seek(long var1) throws IOException { + this.file.seek(var1); + this.offset = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-86" - ) - @Export("write") - public final void write(byte[] src, int srcIndex, int length) throws IOException { - if ((long)length + this.index > this.capacity) { - this.file.seek(this.capacity + 1L); - this.file.write(1); - throw new EOFException(); - } else { - this.file.write(src, srcIndex, length); - this.index += (long)length; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "793801547" + ) + @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("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-189309573" - ) - @Export("close") - public final void close() throws IOException { - this.closeSync(false); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1602757440" + ) + @Export("close") + public final void close() throws IOException { + this.closeSync(false); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "166642884" - ) - @Export("closeSync") - public final void closeSync(boolean sync) throws IOException { - if (this.file != null) { - if (sync) { - try { - this.file.getFD().sync(); - } catch (SyncFailedException var3) { - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "978888846" + ) + @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; - } + this.file.close(); + this.file = null; + } - } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)J", - garbageValue = "-1069832112" - ) - @Export("length") - public final long length() throws IOException { - return this.file.length(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)J", + garbageValue = "1189798798" + ) + @Export("length") + public final long length() throws IOException { + return this.file.length(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "971670468" - ) - @Export("read") - public final int read(byte[] dst, int dstIndex, int length) throws IOException { - int var4 = this.file.read(dst, dstIndex, length); - if (var4 > 0) { - this.index += (long)var4; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "701557643" + ) + @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; - } + return var4; + } - protected void finalize() throws Throwable { - if (this.file != null) { - System.out.println(""); - this.close(); - } + protected void finalize() throws Throwable { + if (this.file != null) { + System.out.println(""); + this.close(); + } - } - - @ObfuscatedName("ig") - @ObfuscatedSignature( - signature = "(Lho;Ljv;IIZI)V", - garbageValue = "-728558316" - ) - @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) { - class16.insertMenuItem(var7, BufferedFile.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); - } - - } + } } diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 4bb68dc948..2158956546 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -4,1339 +4,538 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bz") +@ObfuscatedName("bq") @Implements("Actor") public abstract class Actor extends Entity { - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1573449469 - ) - @Export("x") - int x; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = 676600595 - ) - @Export("y") - int y; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = 1439711403 - ) - int field9; - @ObfuscatedName("ay") - boolean field10; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -1357622739 - ) - @Export("size") - int size; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 141226463 - ) - @Export("playerCycle") - int playerCycle; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -299122235 - ) - @Export("readySequence") - int readySequence; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -831787909 - ) - @Export("turnLeftSequence") - int turnLeftSequence; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 1788714977 - ) - @Export("turnRightSequence") - int turnRightSequence; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -2075997699 - ) - @Export("walkSequence") - int walkSequence; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -1598871111 - ) - @Export("walkBackSequence") - int walkBackSequence; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -568830521 - ) - @Export("walkLeftSequence") - int walkLeftSequence; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -257240117 - ) - @Export("walkRightSequence") - int walkRightSequence; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1708570917 - ) - @Export("runSequence") - int runSequence; - @ObfuscatedName("am") - @Export("overheadText") - String overheadText; - @ObfuscatedName("an") - @Export("isAutoChatting") - boolean isAutoChatting; - @ObfuscatedName("az") - boolean field11; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 137508815 - ) - @Export("overheadTextCyclesRemaining") - int overheadTextCyclesRemaining; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -1905191799 - ) - @Export("overheadTextColor") - int overheadTextColor; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 541000549 - ) - @Export("overheadTextEffect") - int overheadTextEffect; - @ObfuscatedName("af") - @Export("hitSplatCount") - byte hitSplatCount; - @ObfuscatedName("ai") - @Export("hitSplatTypes") - int[] hitSplatTypes; - @ObfuscatedName("ba") - @Export("hitSplatValues") - int[] hitSplatValues; - @ObfuscatedName("bb") - @Export("hitSplatCycles") - int[] hitSplatCycles; - @ObfuscatedName("bs") - @Export("hitSplatTypes2") - int[] hitSplatTypes2; - @ObfuscatedName("bq") - @Export("hitSplatValues2") - int[] hitSplatValues2; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lja;" - ) - @Export("healthBars") - IterableNodeDeque healthBars; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = -1387109107 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("bd") - @Export("false0") - boolean false0; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 139384875 - ) - int field12; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = 1614854211 - ) - @Export("movementSequence") - int movementSequence; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = -1119758739 - ) - @Export("movementFrame") - int movementFrame; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = -1646413227 - ) - @Export("movementFrameCycle") - int movementFrameCycle; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 323216015 - ) - @Export("sequence") - int sequence; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 1425662251 - ) - @Export("sequenceFrame") - int sequenceFrame; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = -1753867715 - ) - @Export("sequenceFrameCycle") - int sequenceFrameCycle; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = -134491649 - ) - @Export("sequenceDelay") - int sequenceDelay; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -1523249259 - ) - int field13; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = -220610999 - ) - @Export("spotAnimation") - int spotAnimation; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = -2125404733 - ) - @Export("spotAnimationFrame") - int spotAnimationFrame; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = 330334599 - ) - @Export("spotAnimationFrameCycle") - int spotAnimationFrameCycle; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = 886371765 - ) - int field14; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = -779457309 - ) - @Export("heightOffset") - int heightOffset; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = 2121599561 - ) - int field15; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 280591281 - ) - int field16; - @ObfuscatedName("be") - @ObfuscatedGetter( - intValue = 837989037 - ) - int field17; - @ObfuscatedName("bv") - @ObfuscatedGetter( - intValue = -1857513783 - ) - int field18; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = -1630403001 - ) - int field19; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 1367256299 - ) - int field20; - @ObfuscatedName("cv") - @ObfuscatedGetter( - intValue = -1723834619 - ) - int field21; - @ObfuscatedName("ce") - @ObfuscatedGetter( - intValue = 2051334073 - ) - @Export("npcCycle") - int npcCycle; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = 1003085333 - ) - @Export("defaultHeight") - int defaultHeight; - @ObfuscatedName("cs") - @ObfuscatedGetter( - intValue = -1189634367 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = 1252341007 - ) - int field22; - @ObfuscatedName("cj") - @ObfuscatedGetter( - intValue = -336931157 - ) - int field23; - @ObfuscatedName("cu") - @ObfuscatedGetter( - intValue = -2033082375 - ) - @Export("pathLength") - int pathLength; - @ObfuscatedName("cb") - @Export("pathX") - int[] pathX; - @ObfuscatedName("ck") - @Export("pathY") - int[] pathY; - @ObfuscatedName("cn") - @Export("pathTraversed") - byte[] pathTraversed; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = -1583514013 - ) - int field24; - @ObfuscatedName("ch") - @ObfuscatedGetter( - intValue = 1584102533 - ) - int field25; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 1528091447 + ) + @Export("x") + int x; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -390280385 + ) + @Export("y") + int y; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 1236559867 + ) + int field950; + @ObfuscatedName("ar") + boolean field967; + @ObfuscatedName("ax") + @Export("size") + int size; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 990710297 + ) + @Export("playerCycle") + int playerCycle; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 2081393933 + ) + @Export("readySequence") + int readySequence; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 1431486431 + ) + @Export("turnLeftSequence") + int turnLeftSequence; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 2143634015 + ) + @Export("turnRightSequence") + int turnRightSequence; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1300778473 + ) + @Export("walkSequence") + int walkSequence; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 415761655 + ) + @Export("walkBackSequence") + int walkBackSequence; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -1586227603 + ) + @Export("walkLeftSequence") + int walkLeftSequence; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -510900587 + ) + @Export("walkRightSequence") + int walkRightSequence; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 1475013463 + ) + @Export("runSequence") + int runSequence; + @ObfuscatedName("an") + @Export("overheadText") + String overheadText; + @ObfuscatedName("au") + @Export("isAutoChatting") + boolean isAutoChatting; + @ObfuscatedName("ai") + boolean field998; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = 1272238473 + ) + @Export("overheadTextCyclesRemaining") + int overheadTextCyclesRemaining; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 22112303 + ) + @Export("overheadTextColor") + int overheadTextColor; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 1107006481 + ) + @Export("overheadTextEffect") + int overheadTextEffect; + @ObfuscatedName("af") + @Export("hitSplatCount") + byte hitSplatCount; + @ObfuscatedName("ab") + @Export("hitSplatTypes") + int[] hitSplatTypes; + @ObfuscatedName("bp") + @Export("hitSplatValues") + int[] hitSplatValues; + @ObfuscatedName("bz") + @Export("hitSplatCycles") + int[] hitSplatCycles; + @ObfuscatedName("bi") + @Export("hitSplatTypes2") + int[] hitSplatTypes2; + @ObfuscatedName("bg") + @Export("hitSplatValues2") + int[] hitSplatValues2; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lju;" + ) + @Export("healthBars") + IterableNodeDeque healthBars; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = 1587933085 + ) + @Export("targetIndex") + int targetIndex; + @ObfuscatedName("bn") + @Export("false0") + boolean false0; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = -2012515929 + ) + int field976; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 1552753251 + ) + @Export("movementSequence") + int movementSequence; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 1656230573 + ) + @Export("movementFrame") + int movementFrame; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = 789237355 + ) + @Export("movementFrameCycle") + int movementFrameCycle; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = -1029202699 + ) + @Export("sequence") + int sequence; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = 1698363493 + ) + @Export("sequenceFrame") + int sequenceFrame; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = -1057767495 + ) + @Export("sequenceFrameCycle") + int sequenceFrameCycle; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -1679741685 + ) + @Export("sequenceDelay") + int sequenceDelay; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = 1192767673 + ) + int field985; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = 606261849 + ) + @Export("spotAnimation") + int spotAnimation; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = 47256047 + ) + @Export("spotAnimationFrame") + int spotAnimationFrame; + @ObfuscatedName("bu") + @ObfuscatedGetter( + intValue = -50887377 + ) + @Export("spotAnimationFrameCycle") + int spotAnimationFrameCycle; + @ObfuscatedName("bw") + @ObfuscatedGetter( + intValue = -2008312019 + ) + int field989; + @ObfuscatedName("br") + @ObfuscatedGetter( + intValue = -21231063 + ) + @Export("heightOffset") + int heightOffset; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = 67427601 + ) + int field991; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = 1057554273 + ) + int field992; + @ObfuscatedName("bv") + @ObfuscatedGetter( + intValue = 1321176455 + ) + int field993; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -1276485965 + ) + int field983; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = -851079763 + ) + int field995; + @ObfuscatedName("cr") + @ObfuscatedGetter( + intValue = -352767789 + ) + int field996; + @ObfuscatedName("cf") + @ObfuscatedGetter( + intValue = -342620369 + ) + int field997; + @ObfuscatedName("cj") + @ObfuscatedGetter( + intValue = 1247160827 + ) + @Export("npcCycle") + int npcCycle; + @ObfuscatedName("cl") + @ObfuscatedGetter( + intValue = 1753110543 + ) + @Export("defaultHeight") + int defaultHeight; + @ObfuscatedName("cn") + @ObfuscatedGetter( + intValue = 1217852897 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("cy") + @ObfuscatedGetter( + intValue = -146454839 + ) + int field1009; + @ObfuscatedName("ct") + @ObfuscatedGetter( + intValue = 1670871863 + ) + int field948; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = 1967067825 + ) + @Export("pathLength") + int pathLength; + @ObfuscatedName("cp") + @Export("pathX") + int[] pathX; + @ObfuscatedName("ch") + @Export("pathY") + int[] pathY; + @ObfuscatedName("co") + @Export("pathTraversed") + byte[] pathTraversed; + @ObfuscatedName("cw") + @ObfuscatedGetter( + intValue = -615012941 + ) + int field1007; + @ObfuscatedName("ca") + @ObfuscatedGetter( + intValue = 829354671 + ) + int field1008; - Actor() { - this.field10 = 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.field11 = 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.field12 = -1; - this.movementSequence = -1; - this.movementFrame = 0; - this.movementFrameCycle = 0; - this.sequence = -1; - this.sequenceFrame = 0; - this.sequenceFrameCycle = 0; - this.sequenceDelay = 0; - this.field13 = 0; - this.spotAnimation = -1; - this.spotAnimationFrame = 0; - this.spotAnimationFrameCycle = 0; - this.npcCycle = 0; - this.defaultHeight = 200; - this.field22 = 0; - this.field23 = 32; - this.pathLength = 0; - this.pathX = new int[10]; - this.pathY = new int[10]; - this.pathTraversed = new byte[10]; - this.field24 = 0; - this.field25 = 0; - } + Actor() { + this.field967 = false; + this.size = 78073455; + 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.field998 = 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.field976 = -1; + this.movementSequence = -1; + this.movementFrame = 0; + this.movementFrameCycle = 0; + this.sequence = -1; + this.sequenceFrame = 0; + this.sequenceFrameCycle = 0; + this.sequenceDelay = 0; + this.field985 = 0; + this.spotAnimation = -1; + this.spotAnimationFrame = 0; + this.spotAnimationFrameCycle = 0; + this.npcCycle = 0; + this.defaultHeight = 200; + this.field1009 = 0; + this.field948 = 32; + this.pathLength = 0; + this.pathX = new int[10]; + this.pathY = new int[10]; + this.pathTraversed = new byte[10]; + this.field1007 = 0; + this.field1008 = 0; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "1" - ) - @Export("isVisible") - boolean isVisible() { - return false; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1461786701" + ) + @Export("isVisible") + boolean isVisible() { + return false; + } - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1415393262" - ) - final void method23() { - this.pathLength = 0; - this.field25 = 0; - } + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1575805976" + ) + final void method1658() { + this.pathLength = 0; + this.field1008 = 0; + } - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(IIIIIII)V", - garbageValue = "-1925126781" - ) - @Export("addHitSplat") - final void addHitSplat(int type, int value, int type2, int value2, int cycle, int cycle2) { - boolean var7 = true; - boolean var8 = true; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(IIIIIII)V", + garbageValue = "295125263" + ) + @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] > cycle) { - var7 = false; - } else { - var8 = false; - } - } + 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 (type >= 0) { - HitSplatDefinition var12 = LoginScreenAnimation.getHitSplatDefinition(type); - var10 = var12.field396; - var11 = var12.field387; - } + var9 = -1; + int var10 = -1; + int var11 = 0; + if (var1 >= 0) { + HitSplatDefinition var12 = Projectile.getHitSplatDefinition(var1); + var10 = var12.field3348; + var11 = var12.field3344; + } - int var14; - if (var8) { - if (var10 == -1) { - return; - } + 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]; - } + 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]; - } - } + 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 >= value) { - return; - } - } else { - if (var7) { - this.hitSplatCount = 0; - } + 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] <= cycle) { - var9 = var15; - break; - } - } - } + 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] = type; - this.hitSplatValues[var9] = value; - this.hitSplatTypes2[var9] = type2; - this.hitSplatValues2[var9] = value2; - this.hitSplatCycles[var9] = cycle + var11 + cycle2; - } + 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("bi") + @ObfuscatedSignature( + signature = "(IIIIIIB)V", + garbageValue = "15" + ) + @Export("addHealthBar") + final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { + HealthBarDefinition var7 = class51.method854(var1); + HealthBar var8 = null; + HealthBar var9 = null; + int var10 = var7.int2; + int var11 = 0; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "(IIIIIIB)V", - garbageValue = "27" - ) - @Export("addHealthBar") - final void addHealthBar(int healthBarDefinition, int cycle, int var3, int var4, int var5, int var6) { - HealthBarDefinition var7 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)healthBarDefinition); - HealthBarDefinition var8; - if (var7 != null) { - var8 = var7; - } else { - byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, healthBarDefinition); - var7 = new HealthBarDefinition(); - if (var9 != null) { - var7.decode(new Buffer(var9)); - } + HealthBar var12; + for (var12 = (HealthBar)this.healthBars.last(); var12 != null; var12 = (HealthBar)this.healthBars.previous()) { + ++var11; + if (var12.definition.field3279 == var7.field3279) { + var12.put(var2 + var4, var5, var6, var3); + return; + } - HealthBarDefinition.HealthBarDefinition_cached.put(var7, (long)healthBarDefinition); - var8 = var7; - } + if (var12.definition.int1 <= var7.int1) { + var8 = var12; + } - var7 = var8; - HealthBar var14 = null; - HealthBar var10 = null; - int var11 = var8.int2; - int var12 = 0; + if (var12.definition.int2 > var10) { + var9 = var12; + var10 = var12.definition.int2; + } + } - HealthBar var13; - for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) { - ++var12; - if (var13.definition.field381 == var7.field381) { - var13.put(cycle + var4, var5, var6, var3); - return; - } + if (var9 != null || var11 < 4) { + var12 = new HealthBar(var7); + if (var8 == null) { + this.healthBars.addLast(var12); + } else { + IterableNodeDeque.IterableNodeDeque_addBefore(var12, var8); + } - if (var13.definition.int1 <= var7.int1) { - var14 = var13; - } + var12.put(var2 + var4, var5, var6, var3); + if (var11 >= 4) { + var9.remove(); + } - if (var13.definition.int2 > var11) { - var10 = var13; - var11 = var13.definition.int2; - } - } + } + } - if (var10 != null || var12 < 4) { - var13 = new HealthBar(var7); - if (var14 == null) { - this.healthBars.addLast(var13); - } else { - IterableNodeDeque.IterableNodeDeque_addBefore(var13, var14); - } + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1541896355" + ) + @Export("removeHealthBar") + final void removeHealthBar(int var1) { + HealthBarDefinition var2 = class51.method854(var1); - var13.put(cycle + var4, var5, var6, var3); - if (var12 >= 4) { - var10.remove(); - } - } + for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) { + if (var2 == var3.definition) { + var3.remove(); + return; + } + } - } + } - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "-31198" - ) - @Export("removeHealthBar") - final void removeHealthBar(int healthBarDefinition) { - HealthBarDefinition var2 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)healthBarDefinition); - HealthBarDefinition var3; - if (var2 != null) { - var3 = var2; - } else { - byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, healthBarDefinition); - var2 = new HealthBarDefinition(); - if (var4 != null) { - var2.decode(new Buffer(var4)); - } + @ObfuscatedName("kh") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-105" + ) + static void method1670() { + if (Client.oculusOrbState == 1) { + Client.field736 = true; + } - HealthBarDefinition.HealthBarDefinition_cached.put(var2, (long)healthBarDefinition); - var3 = var2; - } - - var2 = var3; - - for (HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) { - if (var2 == var5.definition) { - var5.remove(); - return; - } - } - - } - - @ObfuscatedName("hb") - @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;Ljava/lang/String;III)V", - garbageValue = "493234011" - ) - @Export("menuAction") - static final void menuAction(int argument1, int argument2, int opcode, int argument0, String action, String targetName, int mouseX, int mouseY) { - if (opcode >= 2000) { - opcode -= 2000; - } - - PacketBufferNode var8; - if (opcode == 1) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field266, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeShortLE(HealthBarDefinition.selectedItemSlot); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeIntLE(ServerPacket.selectedItemWidget); - var8.packetBuffer.method64(argument1 + class50.baseX); - var8.packetBuffer.writeShort(argument0); - var8.packetBuffer.writeShortLE(MenuAction.selectedItemId); - Client.packetWriter.method241(var8); - } else if (opcode == 2) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field314, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShort(argument1 + class50.baseX); - var8.packetBuffer.method63(argument0); - var8.packetBuffer.writeIntLE16(ServerBuild.field788); - var8.packetBuffer.writeShort(Client.field220); - var8.packetBuffer.writeShortLE(GraphicsObject.baseY + argument2); - Client.packetWriter.method241(var8); - } else if (opcode == 3) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field232, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(GraphicsObject.baseY + argument2); - var8.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method63(argument0); - var8.packetBuffer.method64(argument1 + class50.baseX); - Client.packetWriter.method241(var8); - } else if (opcode == 4) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field301, Client.packetWriter.isaacCipher); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShort(argument0); - var8.packetBuffer.writeShort(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeShort(argument1 + class50.baseX); - Client.packetWriter.method241(var8); - } else if (opcode == 5) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field311, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(argument1 + class50.baseX); - var8.packetBuffer.method63(argument0); - var8.packetBuffer.method64(GraphicsObject.baseY + argument2); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var8); - } else if (opcode == 6) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field225, Client.packetWriter.isaacCipher); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method63(GraphicsObject.baseY + argument2); - var8.packetBuffer.method63(argument1 + class50.baseX); - var8.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var8); - } else { - PacketBufferNode var9; - NPC var10; - if (opcode == 7) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field245, Client.packetWriter.isaacCipher); - var9.packetBuffer.method64(MenuAction.selectedItemId); - var9.packetBuffer.writeShort(HealthBarDefinition.selectedItemSlot); - var9.packetBuffer.method64(argument0); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeInt(ServerPacket.selectedItemWidget); - Client.packetWriter.method241(var9); - } - } else if (opcode == 8) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field308, Client.packetWriter.isaacCipher); - var9.packetBuffer.method64(argument0); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntLE(ServerBuild.field788); - var9.packetBuffer.method63(Client.field220); - Client.packetWriter.method241(var9); - } - } else if (opcode == 9) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field293, Client.packetWriter.isaacCipher); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 10) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field223, Client.packetWriter.isaacCipher); - var9.packetBuffer.method63(argument0); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 11) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field255, Client.packetWriter.isaacCipher); - var9.packetBuffer.method64(argument0); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 12) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field281, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(argument0); - var9.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 13) { - var10 = Client.npcs[argument0]; - if (var10 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field253, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method63(argument0); - Client.packetWriter.method241(var9); - } - } else { - Player var11; - if (opcode == 14) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field303, Client.packetWriter.isaacCipher); - var9.packetBuffer.method64(HealthBarDefinition.selectedItemSlot); - var9.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntME(ServerPacket.selectedItemWidget); - var9.packetBuffer.writeShort(argument0); - var9.packetBuffer.writeShort(MenuAction.selectedItemId); - Client.packetWriter.method241(var9); - } - } else if (opcode == 15) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field277, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeIntLE16(ServerBuild.field788); - var9.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method63(Client.field220); - var9.packetBuffer.writeShort(argument0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 16) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field240, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ServerPacket.selectedItemWidget); - var8.packetBuffer.method64(MenuAction.selectedItemId); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(HealthBarDefinition.selectedItemSlot); - var8.packetBuffer.method64(argument0); - var8.packetBuffer.method64(argument1 + class50.baseX); - var8.packetBuffer.writeShortLE(GraphicsObject.baseY + argument2); - Client.packetWriter.method241(var8); - } else if (opcode == 17) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field275, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ServerBuild.field788); - var8.packetBuffer.writeShort(Client.field220); - var8.packetBuffer.method63(GraphicsObject.baseY + argument2); - var8.packetBuffer.method63(argument1 + class50.baseX); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var8); - } else if (opcode == 18) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field227, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeShortLE(argument0); - var8.packetBuffer.writeShortLE(argument1 + class50.baseX); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var8); - } else if (opcode == 19) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field296, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(argument0); - var8.packetBuffer.method63(argument1 + class50.baseX); - var8.packetBuffer.writeShort(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var8); - } else if (opcode == 20) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field228, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(GraphicsObject.baseY + argument2); - var8.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShortLE(argument1 + class50.baseX); - var8.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var8); - } else if (opcode == 21) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field251, Client.packetWriter.isaacCipher); - var8.packetBuffer.method63(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeShortLE(argument0); - var8.packetBuffer.writeShort(argument1 + class50.baseX); - var8.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var8); - } else if (opcode == 22) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field273, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method64(argument0); - var8.packetBuffer.method63(GraphicsObject.baseY + argument2); - var8.packetBuffer.writeShort(argument1 + class50.baseX); - Client.packetWriter.method241(var8); - } else if (opcode == 23) { - if (Client.isMenuOpen) { - class65.scene.method296(); - } else { - class65.scene.menuOpen(SoundSystem.plane, argument1, argument2, true); - } - } else { - PacketBufferNode var12; - Widget var13; - if (opcode == 24) { - var13 = Huffman.getWidget(argument2); - boolean var14 = true; - if (var13.contentType > 0) { - var14 = ViewportMouse.method2957(var13); - } - - if (var14) { - var12 = Interpreter.method1915(ClientPacket.field291, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeInt(argument2); - Client.packetWriter.method241(var12); - } - } else { - if (opcode == 25) { - var13 = class204.getWidgetChild(argument2, argument1); - if (var13 != null) { - Player.method1281(); - WorldMapDecoration.method350(argument2, argument1, Calendar.method4107(class1.getWidgetClickMask(var13)), var13.itemId); - Client.isItemSelected = 0; - Client.selectedSpellActionName = class198.method3745(var13); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - if (var13.isIf3) { - Client.selectedSpellName = var13.dataText + BufferedFile.colorStartTag(16777215); - } else { - Client.selectedSpellName = BufferedFile.colorStartTag(65280) + var13.spellName + BufferedFile.colorStartTag(16777215); - } - } - - return; - } - - if (opcode == 26) { - WorldMapLabelSize.method198(); - } else { - int var15; - Widget var17; - if (opcode == 28) { - var8 = Interpreter.method1915(ClientPacket.field291, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(argument2); - Client.packetWriter.method241(var8); - var17 = Huffman.getWidget(argument2); - if (var17.cs1Instructions != null && var17.cs1Instructions[0][0] == 5) { - var15 = var17.cs1Instructions[0][1]; - Varps.Varps_main[var15] = 1 - Varps.Varps_main[var15]; - Archive.method4703(var15); - } - } else if (opcode == 29) { - var8 = Interpreter.method1915(ClientPacket.field291, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(argument2); - Client.packetWriter.method241(var8); - var17 = Huffman.getWidget(argument2); - if (var17.cs1Instructions != null && var17.cs1Instructions[0][0] == 5) { - var15 = var17.cs1Instructions[0][1]; - if (Varps.Varps_main[var15] != var17.cs1ComparisonValues[0]) { - Varps.Varps_main[var15] = var17.cs1ComparisonValues[0]; - Archive.method4703(var15); - } - } - } else if (opcode == 30) { - if (Client.field127 == null) { - TilePaint.method3060(argument2, argument1); - Client.field127 = class204.getWidgetChild(argument2, argument1); - WorldMapRectangle.method295(Client.field127); - } - } else if (opcode == 31) { - var8 = Interpreter.method1915(ClientPacket.field285, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(argument2); - var8.packetBuffer.writeIntLE16(ServerPacket.selectedItemWidget); - var8.packetBuffer.method64(HealthBarDefinition.selectedItemSlot); - var8.packetBuffer.writeShortLE(MenuAction.selectedItemId); - var8.packetBuffer.writeShortLE(argument1); - var8.packetBuffer.method64(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 32) { - var8 = Interpreter.method1915(ClientPacket.field224, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ServerBuild.field788); - var8.packetBuffer.writeInt(argument2); - var8.packetBuffer.writeShort(argument1); - var8.packetBuffer.writeShortLE(argument0); - var8.packetBuffer.writeShortLE(Client.field220); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 33) { - var8 = Interpreter.method1915(ClientPacket.field309, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(argument0); - var8.packetBuffer.writeIntME(argument2); - var8.packetBuffer.writeShort(argument1); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 34) { - var8 = Interpreter.method1915(ClientPacket.field320, Client.packetWriter.isaacCipher); - var8.packetBuffer.method63(argument0); - var8.packetBuffer.writeIntLE16(argument2); - var8.packetBuffer.method64(argument1); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 35) { - var8 = Interpreter.method1915(ClientPacket.field294, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(argument2); - var8.packetBuffer.method64(argument1); - var8.packetBuffer.method64(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 36) { - var8 = Interpreter.method1915(ClientPacket.field229, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(argument0); - var8.packetBuffer.writeInt(argument2); - var8.packetBuffer.method64(argument1); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 37) { - var8 = Interpreter.method1915(ClientPacket.field280, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(argument2); - var8.packetBuffer.writeShort(argument1); - var8.packetBuffer.writeShort(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else { - if (opcode == 38) { - Player.method1281(); - var13 = Huffman.getWidget(argument2); - Client.isItemSelected = 1; - HealthBarDefinition.selectedItemSlot = argument1; - ServerPacket.selectedItemWidget = argument2; - MenuAction.selectedItemId = argument0; - WorldMapRectangle.method295(var13); - Client.selectedItemName = BufferedFile.colorStartTag(16748608) + Skills.getItemDefinition(argument0).name + BufferedFile.colorStartTag(16777215); - if (Client.selectedItemName == null) { - Client.selectedItemName = "null"; - } - - return; - } - - if (opcode == 39) { - var8 = Interpreter.method1915(ClientPacket.field268, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(argument0); - var8.packetBuffer.writeIntLE16(argument2); - var8.packetBuffer.writeShortLE(argument1); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 40) { - var8 = Interpreter.method1915(ClientPacket.field248, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE16(argument2); - var8.packetBuffer.writeShortLE(argument1); - var8.packetBuffer.method63(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 41) { - var8 = Interpreter.method1915(ClientPacket.field287, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(argument2); - var8.packetBuffer.method63(argument1); - var8.packetBuffer.writeShort(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 42) { - var8 = Interpreter.method1915(ClientPacket.field286, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(argument2); - var8.packetBuffer.method63(argument1); - var8.packetBuffer.writeShort(argument0); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 43) { - var8 = Interpreter.method1915(ClientPacket.field254, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(argument0); - var8.packetBuffer.writeIntME(argument2); - var8.packetBuffer.writeShort(argument1); - Client.packetWriter.method241(var8); - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - } else if (opcode == 44) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field269, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(argument0); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 45) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field278, Client.packetWriter.isaacCipher); - var9.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method63(argument0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 46) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field284, Client.packetWriter.isaacCipher); - var9.packetBuffer.method63(argument0); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 47) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field249, Client.packetWriter.isaacCipher); - var9.packetBuffer.method64(argument0); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 48) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field305, Client.packetWriter.isaacCipher); - var9.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method63(argument0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 49) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field315, Client.packetWriter.isaacCipher); - var9.packetBuffer.method63(argument0); - var9.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 50) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field297, Client.packetWriter.isaacCipher); - var9.packetBuffer.method57(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var9); - } - } else if (opcode == 51) { - var11 = Client.players[argument0]; - if (var11 != null) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var9 = Interpreter.method1915(ClientPacket.field272, Client.packetWriter.isaacCipher); - var9.packetBuffer.method56(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method64(argument0); - Client.packetWriter.method241(var9); - } - } else { - label415: { - if (opcode != 57) { - if (opcode == 58) { - var13 = class204.getWidgetChild(argument2, argument1); - if (var13 != null) { - var9 = Interpreter.method1915(ClientPacket.field304, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShortLE(Client.field220); - var9.packetBuffer.writeIntLE16(argument2); - var9.packetBuffer.writeShortLE(Client.field157); - var9.packetBuffer.method64(argument1); - var9.packetBuffer.writeInt(ServerBuild.field788); - var9.packetBuffer.method64(var13.itemId); - Client.packetWriter.method241(var9); - } - break label415; - } - - if (opcode == 1001) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = argument1; - Client.destinationY = argument2; - var8 = Interpreter.method1915(ClientPacket.field316, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(argument0); - var8.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method63(argument1 + class50.baseX); - var8.packetBuffer.method64(GraphicsObject.baseY + argument2); - Client.packetWriter.method241(var8); - break label415; - } - - if (opcode == 1002) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = Interpreter.method1915(ClientPacket.field258, Client.packetWriter.isaacCipher); - var8.packetBuffer.method63(argument0); - Client.packetWriter.method241(var8); - break label415; - } - - if (opcode == 1003) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var10 = Client.npcs[argument0]; - if (var10 != null) { - NPCDefinition var16 = var10.definition; - if (var16.transforms != null) { - var16 = var16.transform(); - } - - if (var16 != null) { - var12 = Interpreter.method1915(ClientPacket.field252, Client.packetWriter.isaacCipher); - var12.packetBuffer.method63(var16.id); - Client.packetWriter.method241(var12); - } - } - break label415; - } - - if (opcode == 1004) { - Client.mouseCrossX = mouseX; - Client.mouseCrossY = mouseY; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = Interpreter.method1915(ClientPacket.field246, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var8); - break label415; - } - - if (opcode == 1005) { - var13 = Huffman.getWidget(argument2); - if (var13 != null && var13.itemQuantities[argument1] >= 100000) { - WorldMapIcon1.addGameMessage(27, "", var13.itemQuantities[argument1] + " x " + Skills.getItemDefinition(argument0).name); - } else { - var9 = Interpreter.method1915(ClientPacket.field246, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShortLE(argument0); - Client.packetWriter.method241(var9); - } - - Client.field203 = 0; - BoundaryObject.field40 = Huffman.getWidget(argument2); - Client.field204 = argument1; - break label415; - } - - if (opcode != 1007) { - if (opcode == 1008 || opcode == 1011 || opcode == 1010 || opcode == 1009 || opcode == 1012) { - class60.worldMap.menuAction(opcode, argument0, new Coord(argument1), new Coord(argument2)); - } - break label415; - } - } - - var13 = class204.getWidgetChild(argument2, argument1); - if (var13 != null) { - class171.method3494(argument0, argument2, argument1, var13.itemId, targetName); - } - } - } - } - } - } - } - } - } - - if (Client.isItemSelected != 0) { - Client.isItemSelected = 0; - WorldMapRectangle.method295(Huffman.getWidget(ServerPacket.selectedItemWidget)); - } - - if (Client.isSpellSelected) { - Player.method1281(); - } - - if (BoundaryObject.field40 != null && Client.field203 == 0) { - WorldMapRectangle.method295(BoundaryObject.field40); - } - - } + } } diff --git a/runescape-client/src/main/java/Animation.java b/runescape-client/src/main/java/Animation.java index ee445af99c..f9b4f38eab 100644 --- a/runescape-client/src/main/java/Animation.java +++ b/runescape-client/src/main/java/Animation.java @@ -3,130 +3,130 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dz") +@ObfuscatedName("da") @Implements("Animation") public class Animation { - @ObfuscatedName("m") - static int[] field26; - @ObfuscatedName("f") - static int[] field27; - @ObfuscatedName("q") - static int[] field28; - @ObfuscatedName("w") - static int[] field29; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lek;" - ) - @Export("skeleton") - Skeleton skeleton; - @ObfuscatedName("u") - @Export("transformCount") - int transformCount; - @ObfuscatedName("g") - @Export("transformSkeletonLabels") - int[] transformSkeletonLabels; - @ObfuscatedName("l") - @Export("transformXs") - int[] transformXs; - @ObfuscatedName("e") - @Export("transformYs") - int[] transformYs; - @ObfuscatedName("x") - @Export("transformZs") - int[] transformZs; - @ObfuscatedName("d") - @Export("hasAlphaTransform") - boolean hasAlphaTransform; + @ObfuscatedName("q") + static int[] field1638; + @ObfuscatedName("w") + static int[] field1639; + @ObfuscatedName("e") + static int[] field1636; + @ObfuscatedName("p") + static int[] field1635; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lej;" + ) + @Export("skeleton") + Skeleton skeleton; + @ObfuscatedName("l") + @Export("transformCount") + int transformCount; + @ObfuscatedName("b") + @Export("transformSkeletonLabels") + int[] transformSkeletonLabels; + @ObfuscatedName("i") + @Export("transformXs") + int[] transformXs; + @ObfuscatedName("c") + @Export("transformYs") + int[] transformYs; + @ObfuscatedName("f") + @Export("transformZs") + int[] transformZs; + @ObfuscatedName("m") + @Export("hasAlphaTransform") + boolean hasAlphaTransform; - @ObfuscatedSignature( - signature = "([BLek;)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.index = 2; - int var5 = var3.readUnsignedByte(); - int var6 = -1; - int var7 = 0; - var4.index = var5 + var3.index; + static { + field1638 = new int[500]; + field1639 = new int[500]; + field1636 = new int[500]; + field1635 = new int[500]; + } - 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) { - field26[var7] = var10; - field27[var7] = 0; - field28[var7] = 0; - field29[var7] = 0; - ++var7; - break; - } - } - } + @ObfuscatedSignature( + signature = "([BLej;)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; - field26[var7] = var8; - short var11 = 0; - if (this.skeleton.transformTypes[var8] == 3) { - var11 = 128; - } + 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) { + field1638[var7] = var10; + field1639[var7] = 0; + field1636[var7] = 0; + field1635[var7] = 0; + ++var7; + break; + } + } + } - if ((var9 & 1) != 0) { - field27[var7] = var4.readShortSmart(); - } else { - field27[var7] = var11; - } + field1638[var7] = var8; + short var11 = 0; + if (this.skeleton.transformTypes[var8] == 3) { + var11 = 128; + } - if ((var9 & 2) != 0) { - field28[var7] = var4.readShortSmart(); - } else { - field28[var7] = var11; - } + if ((var9 & 1) != 0) { + field1639[var7] = var4.readShortSmart(); + } else { + field1639[var7] = var11; + } - if ((var9 & 4) != 0) { - field29[var7] = var4.readShortSmart(); - } else { - field29[var7] = var11; - } + if ((var9 & 2) != 0) { + field1636[var7] = var4.readShortSmart(); + } else { + field1636[var7] = var11; + } - var6 = var8; - ++var7; - if (this.skeleton.transformTypes[var8] == 5) { - this.hasAlphaTransform = true; - } - } - } + if ((var9 & 4) != 0) { + field1635[var7] = var4.readShortSmart(); + } else { + field1635[var7] = var11; + } - if (var1.length != var4.index) { - 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]; + var6 = var8; + ++var7; + if (this.skeleton.transformTypes[var8] == 5) { + this.hasAlphaTransform = true; + } + } + } - for (var8 = 0; var8 < var7; ++var8) { - this.transformSkeletonLabels[var8] = field26[var8]; - this.transformXs[var8] = field27[var8]; - this.transformYs[var8] = field28[var8]; - this.transformZs[var8] = field29[var8]; - } + 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] = field1638[var8]; + this.transformXs[var8] = field1639[var8]; + this.transformYs[var8] = field1636[var8]; + this.transformZs[var8] = field1635[var8]; + } - static { - field26 = new int[500]; - field27 = new int[500]; - field28 = new int[500]; - field29 = new int[500]; - } + } + } } diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index 96ffa03217..3d2943c1a8 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -5,550 +5,444 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("it") +@ObfuscatedName("iu") @Implements("Archive") public class Archive extends AbstractArchive { - @ObfuscatedName("aj") - @Export("Archive_crc") - static CRC32 Archive_crc; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lff;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lff;" - ) - @Export("masterDisk") - ArchiveDisk masterDisk; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1579549759 - ) - @Export("index") - int index; - @ObfuscatedName("v") - volatile boolean field403; - @ObfuscatedName("ag") - boolean field404; - @ObfuscatedName("aq") - @Export("validGroups") - volatile boolean[] validGroups; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1472870917 - ) - @Export("indexCrc") - int indexCrc; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -785528219 - ) - @Export("indexVersion") - int indexVersion; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -1884661133 - ) - int field405; - - @ObfuscatedSignature( - signature = "(Lff;Lff;IZZZ)V" - ) - public Archive(ArchiveDisk archiveDisk, ArchiveDisk masterDisk, int index, boolean releaseGroups, boolean shallowFiles, boolean var6) { - super(releaseGroups, shallowFiles); - this.field403 = false; - this.field404 = false; - this.field405 = -1; - this.archiveDisk = archiveDisk; - this.masterDisk = masterDisk; - this.index = index; - this.field404 = var6; - int var7 = this.index; - if (Players.NetCache_reference != null) { - Players.NetCache_reference.index = var7 * 8 + 5; - int var8 = Players.NetCache_reference.readInt(); - int var9 = Players.NetCache_reference.readInt(); - this.loadIndex(var8, var9); - } else { - PacketBuffer.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); - NetCache.NetCache_archives[var7] = this; - } - - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2102142648" - ) - void vmethod129(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("e") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1809769865" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - return super.groups[var1] != null ? 100 : (this.validGroups[var1] ? 100 : class54.method1086(this.index, var1)); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1829145107" - ) - @Export("loadGroup") - void loadGroup(int group) { - if (this.archiveDisk != null && this.validGroups != null && this.validGroups[group]) { - ArchiveDisk var2 = this.archiveDisk; - byte[] var3 = null; - NodeDeque var4 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - for (ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { - if (var6.key == (long)group && var2 == var6.archiveDisk && var6.type == 0) { - var3 = var6.data; - break; - } - } - } - - if (var3 != null) { - this.load(var2, group, var3, true); - } else { - byte[] var5 = var2.read(group); - this.load(var2, group, var5, true); - } - } else { - PacketBuffer.requestNetFile(this, this.index, group, super.groupCrcs[group], (byte)2, true); - } - - } - - @ObfuscatedName("cx") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1750279412" - ) - public boolean method130() { - return this.field403; - } - - @ObfuscatedName("ca") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1671499504" - ) - @Export("percentage") - public int percentage() { - if (this.field403) { - return 100; - } else if (super.groups != null) { - return 99; - } else { - int var1 = class54.method1086(255, this.index); - if (var1 >= 100) { - var1 = 99; - } - - return var1; - } - } - - @ObfuscatedName("co") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1621053520" - ) - @Export("loadIndex") - public void loadIndex(int var1, int var2) { - this.indexCrc = var1; - this.indexVersion = var2; - if (this.masterDisk != null) { - int var3 = this.index; - ArchiveDisk var4 = this.masterDisk; - byte[] var5 = null; - NodeDeque var6 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - for (ArchiveDiskAction var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var8 != null; var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { - if (var8.key == (long)var3 && var4 == var8.archiveDisk && var8.type == 0) { - var5 = var8.data; - break; - } - } - } - - if (var5 != null) { - this.load(var4, var3, var5, true); - } else { - byte[] var7 = var4.read(var3); - this.load(var4, var3, var7, true); - } - } else { - PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } - - } - - @ObfuscatedName("de") - @ObfuscatedSignature( - signature = "(I[BZZB)V", - garbageValue = "24" - ) - @Export("write") - public void write(int var1, byte[] var2, boolean var3, boolean var4) { - if (var3) { - if (this.field403) { - throw new RuntimeException(); - } - - if (this.masterDisk != null) { - Widget.method4499(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) { - Widget.method4499(var1, var2, this.archiveDisk); - this.validGroups[var1] = true; - } - - if (var4) { - super.groups[var1] = Projectile.byteArrayToObject(var2, false); - } - } - - } - - @ObfuscatedName("dx") - @ObfuscatedSignature( - signature = "(Lff;I[BZI)V", - garbageValue = "-2045340856" - ) - @Export("load") - void load(ArchiveDisk var1, int group, byte[] data, boolean var4) { - int var5; - if (var1 == this.masterDisk) { - if (this.field403) { - throw new RuntimeException(); - } - - if (data == null) { - PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - Archive_crc.reset(); - Archive_crc.update(data, 0, data.length); - var5 = (int)Archive_crc.getValue(); - if (var5 != this.indexCrc) { - PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - Buffer var6 = new Buffer(Strings.decompressBytes(data)); - int var7 = var6.readUnsignedByte(); - if (var7 != 5 && var7 != 6) { - throw new RuntimeException(var7 + "," + this.index + "," + group); - } - - int var8 = 0; - if (var7 >= 6) { - var8 = var6.readInt(); - } - - if (var8 != this.indexVersion) { - PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - this.decodeIndex(data); - this.loadAllLocal(); - } - } - } - } else { - if (!var4 && group == this.field405) { - this.field403 = true; - } - - if (data != null && data.length > 2) { - Archive_crc.reset(); - Archive_crc.update(data, 0, data.length - 2); - var5 = (int)Archive_crc.getValue(); - int var9 = ((data[data.length - 2] & 255) << 8) + (data[data.length - 1] & 255); - if (var5 == super.groupCrcs[group] && var9 == super.groupVersions[group]) { - this.validGroups[group] = true; - if (var4) { - super.groups[group] = Projectile.byteArrayToObject(data, false); - } - } else { - this.validGroups[group] = false; - if (this.field404 || var4) { - PacketBuffer.requestNetFile(this, this.index, group, super.groupCrcs[group], (byte)2, var4); - } - } - } else { - this.validGroups[group] = false; - if (this.field404 || var4) { - PacketBuffer.requestNetFile(this, this.index, group, super.groupCrcs[group], (byte)2, var4); - } - } - } - - } - - @ObfuscatedName("dt") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1357733042" - ) - @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.field403 = true; - } else { - this.field405 = -1; - - for (var1 = 0; var1 < this.validGroups.length; ++var1) { - if (super.fileCounts[var1] > 0) { - NPC.method2009(var1, this.archiveDisk, this); - this.field405 = var1; - } - } - - if (this.field405 == -1) { - this.field403 = true; - } - } - - } - - @ObfuscatedName("dn") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "0" - ) - public boolean method132(int var1) { - return this.validGroups[var1]; - } - - @ObfuscatedName("df") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1419648188" - ) - public boolean method133(int var1) { - return this.getGroupFileIds(var1) != null; - } - - @ObfuscatedName("da") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1809381772" - ) - @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("jc") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-34" - ) - static final void method4703(int var0) { - GrandExchangeOfferAgeComparator.method159(); - - for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var1.obj != null) { - var1.set(); - } - } - - int var4 = SecureRandomCallable.method1140(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); - } - - ObjectDefinition.method5041(); - } - - 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.field128) { - if (Client.field128 == 0 && Client.field112 != -1) { - Login.method2076(UserComparator3.archive6, Client.field112, 0, var3, false); - Client.field107 = false; - } else if (var3 == 0) { - class214.midiPcmStream.clear(); - class214.field1129 = 1; - class214.musicTrackArchive = null; - Client.field107 = false; - } else { - class203.method4008(var3); - } - - Client.field128 = 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.field215 = var2; - } - - if (var4 == 6) { - Client.chatEffects = var2; - } - - if (var4 == 9) { - Client.field136 = var2; - } - - if (var4 == 10) { - if (var2 == 0) { - Client.field115 = 127; - } - - if (var2 == 1) { - Client.field115 = 96; - } - - if (var2 == 2) { - Client.field115 = 64; - } - - if (var2 == 3) { - Client.field115 = 32; - } - - if (var2 == 4) { - Client.field115 = 0; - } - } - - if (var4 == 17) { - Client.followerIndex = var2 & 65535; - } - - if (var4 == 18) { - Client.playerAttackOption = (AttackOption)ScriptFrame.findEnumerated(ClientPacket.method3665(), 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)ScriptFrame.findEnumerated(ClientPacket.method3665(), var2); - if (Client.npcAttackOption == null) { - Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - } - - } - - static { - Archive_crc = new CRC32(); - } + @ObfuscatedName("as") + @Export("Archive_crc") + static CRC32 Archive_crc; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lkm;" + ) + @Export("archiveDisk") + ArchiveDisk archiveDisk; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lkm;" + ) + @Export("masterDisk") + ArchiveDisk masterDisk; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1121640995 + ) + @Export("index") + int index; + @ObfuscatedName("z") + volatile boolean field3155; + @ObfuscatedName("al") + boolean field3157; + @ObfuscatedName("av") + @Export("validGroups") + volatile boolean[] validGroups; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -150911311 + ) + @Export("indexCrc") + int indexCrc; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 196530351 + ) + @Export("indexVersion") + int indexVersion; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -1519910241 + ) + int field3152; + + static { + Archive_crc = new CRC32(); + } + + @ObfuscatedSignature( + signature = "(Lkm;Lkm;IZZZ)V" + ) + public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { + super(var4, var5); + this.field3155 = false; + this.field3157 = false; + this.field3152 = -1; + this.archiveDisk = var1; + this.masterDisk = var2; + this.index = var3; + this.field3157 = var6; + int var8 = this.index; + if (AbstractRasterProvider.NetCache_reference != null) { + AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5; + int var9 = AbstractRasterProvider.NetCache_reference.readInt(); + int var10 = AbstractRasterProvider.NetCache_reference.readInt(); + this.loadIndex(var9, var10); + } else { + ViewportMouse.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); + NetCache.NetCache_archives[var8] = this; + } + + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2144523901" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + PendingSpawn.method1653(this.index, var1); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "0" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + if (super.groups[var1] != null) { + return 100; + } else { + return this.validGroups[var1] ? 100 : Huffman.method3948(this.index, var1); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "3211" + ) + @Export("loadGroup") + void loadGroup(int var1) { + if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { + SecureRandomFuture.method2056(var1, this.archiveDisk, this); + } else { + ViewportMouse.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); + } + + } + + @ObfuscatedName("dg") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "44" + ) + public boolean method4258() { + return this.field3155; + } + + @ObfuscatedName("df") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-249697380" + ) + @Export("percentage") + public int percentage() { + if (this.field3155) { + return 100; + } else if (super.groups != null) { + return 99; + } else { + int var1 = Huffman.method3948(255, this.index); + if (var1 >= 100) { + var1 = 99; + } + + return var1; + } + } + + @ObfuscatedName("dt") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1381214916" + ) + @Export("loadIndex") + void loadIndex(int var1, int var2) { + this.indexCrc = var1; + this.indexVersion = var2; + if (this.masterDisk != null) { + SecureRandomFuture.method2056(this.index, this.masterDisk, this); + } else { + ViewportMouse.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + } + + } + + @ObfuscatedName("dj") + @ObfuscatedSignature( + signature = "(I[BZZB)V", + garbageValue = "-36" + ) + @Export("write") + void write(int var1, byte[] var2, boolean var3, boolean var4) { + if (var3) { + if (this.field3155) { + throw new RuntimeException(); + } + + if (this.masterDisk != null) { + class294.method5328(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) { + class294.method5328(var1, var2, this.archiveDisk); + this.validGroups[var1] = true; + } + + if (var4) { + Object[] var5 = super.groups; + Object var7; + if (var2 == null) { + var7 = null; + } else if (var2.length > 136) { + DirectByteArrayCopier var8 = new DirectByteArrayCopier(); + var8.set(var2); + var7 = var8; + } else { + var7 = var2; + } + + var5[var1] = var7; + } + } + + } + + @ObfuscatedName("dl") + @ObfuscatedSignature( + signature = "(Lkm;I[BZI)V", + garbageValue = "-1554685282" + ) + @Export("load") + public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { + int var5; + if (var1 == this.masterDisk) { + if (this.field3155) { + throw new RuntimeException(); + } + + if (var3 == null) { + ViewportMouse.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) { + ViewportMouse.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } + + Buffer var11 = new Buffer(HealthBarUpdate.decompressBytes(var3)); + int var12 = var11.readUnsignedByte(); + if (var12 != 5 && var12 != 6) { + throw new RuntimeException(var12 + "," + this.index + "," + var2); + } + + int var8 = 0; + if (var12 >= 6) { + var8 = var11.readInt(); + } + + if (var8 != this.indexVersion) { + ViewportMouse.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } + + this.decodeIndex(var3); + this.loadAllLocal(); + } else { + if (!var4 && var2 == this.field3152) { + this.field3155 = true; + } + + if (var3 == null || var3.length <= 2) { + this.validGroups[var2] = false; + if (this.field3157 || var4) { + ViewportMouse.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.field3157 || var4) { + ViewportMouse.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + } + + return; + } + + this.validGroups[var2] = true; + if (var4) { + Object[] var7 = super.groups; + Object var9; + if (var3 == null) { + var9 = null; + } else if (var3.length > 136) { + DirectByteArrayCopier var10 = new DirectByteArrayCopier(); + var10.set(var3); + var9 = var10; + } else { + var9 = var3; + } + + var7[var2] = var9; + } + } + + } + + @ObfuscatedName("dz") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-72081442" + ) + @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.field3155 = true; + } else { + this.field3152 = -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.field3144 == 0) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); + } + + ArchiveDiskActionHandler.field3144 = 600; + } + + this.field3152 = var1; + } + } + + if (this.field3152 == -1) { + this.field3155 = true; + } + + } + } + + @ObfuscatedName("dh") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "2032179519" + ) + public boolean method4267(int var1) { + return this.validGroups[var1]; + } + + @ObfuscatedName("dy") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "0" + ) + public boolean method4268(int var1) { + return this.getGroupFileIds(var1) != null; + } + + @ObfuscatedName("dx") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "889991726" + ) + @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("q") + @ObfuscatedSignature( + signature = "(Lgx;Llv;I)Lgb;", + garbageValue = "1775123545" + ) + public static PacketBufferNode method4265(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("jn") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "35" + ) + static final void method4269(int var0) { + if (class162.loadInterface(var0)) { + class225.method4122(Widget.Widget_interfaceComponents[var0], -1); + } + } } diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index 19489b851f..d5121aca35 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -6,502 +6,358 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ff") +@ObfuscatedName("km") @Implements("ArchiveDisk") public final class ArchiveDisk { - @ObfuscatedName("m") - @Export("ArchiveDisk_buffer") - static byte[] ArchiveDisk_buffer; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("datFile") - BufferedFile datFile; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("idxFile") - BufferedFile idxFile; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1982523283 - ) - @Export("archive") - int archive; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -748616567 - ) - @Export("maxEntrySize") - int maxEntrySize; + @ObfuscatedName("q") + @Export("ArchiveDisk_buffer") + static byte[] ArchiveDisk_buffer; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lmn;" + ) + @Export("datFile") + BufferedFile datFile; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lmn;" + ) + @Export("idxFile") + BufferedFile idxFile; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -2081269841 + ) + @Export("archive") + int archive; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -609307423 + ) + @Export("maxEntrySize") + int maxEntrySize; - @ObfuscatedSignature( - signature = "(ILdy;Ldy;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; - } + static { + ArchiveDisk_buffer = new byte[520]; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "-294587791" - ) - @Export("read") - public byte[] read(int entry) { - BufferedFile var2 = this.datFile; - synchronized(this.datFile) { - try { - byte[] var4; - Object var5; - byte[] var10000; - if (this.idxFile.length() < (long)(entry * 6 + 6)) { - var5 = null; - var4 = ((byte[])var5); - var10000 = var4; - return var10000; - } else { - this.idxFile.seek((long)(entry * 6)); - this.idxFile.read(ArchiveDisk_buffer, 0, 6); - int var6 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8); - int var7 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); - if (var6 < 0 || var6 > this.maxEntrySize) { - var5 = null; - var4 = ((byte[])var5); - var10000 = var4; - return var10000; - } else if (var7 <= 0 || (long)var7 > this.datFile.length() / 520L) { - var5 = null; - var4 = ((byte[])var5); - return var4; - } else { - byte[] var8 = new byte[var6]; - int var9 = 0; - int var10 = 0; + @ObfuscatedSignature( + signature = "(ILmn;Lmn;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; + } - while (var9 < var6) { - if (var7 == 0) { - var5 = null; - var4 = ((byte[])var5); - var10000 = var4; - return var10000; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "-8739933" + ) + @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; - this.datFile.seek((long)(var7 * 520)); - int var11 = var6 - var9; - if (var11 > 512) { - var11 = 512; - } + for (int var7 = 0; var6 < var3; ++var7) { + if (var4 == 0) { + var10000 = null; + return (byte[])var10000; + } - this.datFile.read(ArchiveDisk_buffer, 0, var11 + 8); - int var12 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); - int var13 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - int var14 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); - int var15 = ArchiveDisk_buffer[7] & 255; - if (var12 == entry && var10 == var13 && var15 == this.archive) { - if (var14 >= 0 && (long)var14 <= this.datFile.length() / 520L) { - for (int var16 = 0; var16 < var11; ++var16) { - var8[var9++] = ArchiveDisk_buffer[var16 + 8]; - } + this.datFile.seek(520L * (long)var4); + int var8 = var3 - var6; + int var9; + int var10; + int var11; + int var12; + byte var13; + if (var1 > 65535) { + if (var8 > 510) { + var8 = 510; + } - var7 = var14; - ++var10; - continue; - } + 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; + } - var5 = null; - var4 = ((byte[])var5); - var10000 = var4; - return var10000; - } + var13 = 8; + this.datFile.read(ArchiveDisk_buffer, 0, var13 + var8); + 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; + } - var5 = null; - var4 = ((byte[])var5); - var10000 = var4; - return var10000; - } + if (var9 != var1 || var7 != var10 || var12 != this.archive) { + var10000 = null; + return (byte[])var10000; + } - var10000 = var8; - return var10000; - } - } - } catch (IOException var18) { - return null; - } - } - } + if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { + var10000 = null; + return (byte[])var10000; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I[BII)Z", - garbageValue = "-1750864122" - ) - @Export("write") - public boolean write(int var1, byte[] var2, int var3) { - BufferedFile var4 = this.datFile; - synchronized(this.datFile) { - if (var3 >= 0 && var3 <= this.maxEntrySize) { - boolean var6 = this.write0(var1, var2, var3, true); - if (!var6) { - var6 = this.write0(var1, var2, var3, false); - } + int var14 = var8 + var13; - return var6; - } else { - throw new IllegalArgumentException(); - } - } - } + for (int var15 = var13; var15 < var14; ++var15) { + var5[var6++] = ArchiveDisk_buffer[var15]; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I[BIZI)Z", - garbageValue = "-944588642" - ) - @Export("write0") - boolean write0(int var1, byte[] var2, int var3, boolean var4) { - BufferedFile var5 = this.datFile; - synchronized(this.datFile) { - try { - int var7; - boolean var8; - boolean var10000; - if (var4) { - if (this.idxFile.length() < (long)(var1 * 6 + 6)) { - var8 = false; - var10000 = var8; - return var10000; - } + var4 = var11; + } - this.idxFile.seek((long)(var1 * 6)); - this.idxFile.read(ArchiveDisk_buffer, 0, 6); - var7 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); - if (var7 <= 0 || (long)var7 > this.datFile.length() / 520L) { - var8 = false; - var10000 = var8; - return var10000; - } - } else { - var7 = (int)((this.datFile.length() + 519L) / 520L); - if (var7 == 0) { - var7 = 1; - } - } + byte[] var20 = var5; + return var20; + } + } + } catch (IOException var18) { + return null; + } + } + } - ArchiveDisk_buffer[0] = (byte)(var3 >> 16); - ArchiveDisk_buffer[1] = (byte)(var3 >> 8); - ArchiveDisk_buffer[2] = (byte)var3; - ArchiveDisk_buffer[3] = (byte)(var7 >> 16); - ArchiveDisk_buffer[4] = (byte)(var7 >> 8); - ArchiveDisk_buffer[5] = (byte)var7; - this.idxFile.seek((long)(var1 * 6)); - this.idxFile.write(ArchiveDisk_buffer, 0, 6); - int var10 = 0; - int var11 = 0; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I[BII)Z", + garbageValue = "-1155409189" + ) + @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); + } - while (true) { - if (var10 < var3) { - label129: { - int var12 = 0; - int var13; - if (var4) { - this.datFile.seek((long)(var7 * 520)); + return var5; + } else { + throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); + } + } + } - try { - this.datFile.read(ArchiveDisk_buffer, 0, 8); - } catch (EOFException var17) { - break label129; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I[BIZB)Z", + garbageValue = "64" + ) + @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; + } - var13 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); - int var14 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - var12 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); - int var15 = ArchiveDisk_buffer[7] & 255; - if (var13 != var1 || var14 != var11 || var15 != this.archive) { - var8 = false; - var10000 = var8; - 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; + } + } - if (var12 < 0 || (long)var12 > this.datFile.length() / 520L) { - var8 = false; - var10000 = var8; - return var10000; - } - } + 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; - if (var12 == 0) { - var4 = false; - var12 = (int)((this.datFile.length() + 519L) / 520L); - if (var12 == 0) { - ++var12; - } + while (true) { + if (var7 < var3) { + label171: { + 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 label171; + } - if (var7 == var12) { - ++var12; - } - } + 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; + } - if (var3 - var10 <= 512) { - var12 = 0; - } + 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; + } - ArchiveDisk_buffer[0] = (byte)(var1 >> 8); - ArchiveDisk_buffer[1] = (byte)var1; - ArchiveDisk_buffer[2] = (byte)(var11 >> 8); - ArchiveDisk_buffer[3] = (byte)var11; - ArchiveDisk_buffer[4] = (byte)(var12 >> 16); - ArchiveDisk_buffer[5] = (byte)(var12 >> 8); - ArchiveDisk_buffer[6] = (byte)var12; - ArchiveDisk_buffer[7] = (byte)this.archive; - this.datFile.seek((long)(var7 * 520)); - this.datFile.write(ArchiveDisk_buffer, 0, 8); - var13 = var3 - var10; - if (var13 > 512) { - var13 = 512; - } + if (var10 != var1 || var8 != var11 || var12 != this.archive) { + var10000 = false; + return var10000; + } - this.datFile.write(var2, var10, var13); - var10 += var13; - var7 = var12; - ++var11; - continue; - } - } + if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { + var10000 = false; + return var10000; + } + } - var8 = true; - var10000 = var8; - return var10000; - } - } catch (IOException var18) { - return false; - } - } - } + if (var9 == 0) { + var4 = false; + var9 = (int)((this.datFile.length() + 519L) / 520L); + if (var9 == 0) { + ++var9; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIILfe;Lfy;B)Z", - garbageValue = "1" - ) - static final boolean method3585(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; - class178.directions[var7][var8] = 99; - class178.distances[var7][var8] = 0; - byte var11 = 0; - int var12 = 0; - class178.bufferX[var11] = var0; - int var13 = var11 + 1; - class178.bufferY[var11] = var1; - int[][] var14 = var4.flags; + if (var6 == var9) { + ++var9; + } + } - while (true) { - label241: - while (true) { - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - do { - do { - do { - label218: - do { - if (var13 == var12) { - InterfaceParent.field986 = var5; - UrlRequester.field929 = var6; - return false; - } + if (var1 > 65535) { + if (var3 - var7 <= 510) { + var9 = 0; + } - var5 = class178.bufferX[var12]; - var6 = class178.bufferY[var12]; - var12 = var12 + 1 & 4095; - var15 = var5 - var9; - var16 = var6 - var10; - var17 = var5 - var4.xInset; - var18 = var6 - var4.yInset; - if (var3.vmethod3644(var2, var5, var6, var4)) { - InterfaceParent.field986 = var5; - UrlRequester.field929 = var6; - return true; - } + 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; + } - var19 = class178.distances[var15][var16] + 1; - if (var15 > 0 && class178.directions[var15 - 1][var16] == 0 && (var14[var17 - 1][var18] & 19136782) == 0 && (var14[var17 - 1][var18 + var2 - 1] & 19136824) == 0) { - var20 = 1; + this.datFile.write(var2, var7, var10); + var7 += var10; + } else { + if (var3 - var7 <= 512) { + var9 = 0; + } - while (true) { - if (var20 >= var2 - 1) { - class178.bufferX[var13] = var5 - 1; - class178.bufferY[var13] = var6; - var13 = var13 + 1 & 4095; - class178.directions[var15 - 1][var16] = 2; - class178.distances[var15 - 1][var16] = var19; - break; - } + 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(520L * (long)var6); + this.datFile.write(ArchiveDisk_buffer, 0, 8); + var10 = var3 - var7; + if (var10 > 512) { + var10 = 512; + } - if ((var14[var17 - 1][var20 + var18] & 19136830) != 0) { - break; - } + this.datFile.write(var2, var7, var10); + var7 += var10; + } - ++var20; - } - } + var6 = var9; + ++var8; + continue; + } + } - if (var15 < 128 - var2 && class178.directions[var15 + 1][var16] == 0 && (var14[var17 + var2][var18] & 19136899) == 0 && (var14[var17 + var2][var18 + var2 - 1] & 19136992) == 0) { - var20 = 1; + var10000 = true; + return var10000; + } + } catch (IOException var18) { + return false; + } + } + } - while (true) { - if (var20 >= var2 - 1) { - class178.bufferX[var13] = var5 + 1; - class178.bufferY[var13] = var6; - var13 = var13 + 1 & 4095; - class178.directions[var15 + 1][var16] = 8; - class178.distances[var15 + 1][var16] = var19; - break; - } + public String toString() { + return "" + this.archive; + } - if ((var14[var17 + var2][var18 + var20] & 19136995) != 0) { - break; - } - - ++var20; - } - } - - if (var16 > 0 && class178.directions[var15][var16 - 1] == 0 && (var14[var17][var18 - 1] & 19136782) == 0 && (var14[var17 + var2 - 1][var18 - 1] & 19136899) == 0) { - var20 = 1; - - while (true) { - if (var20 >= var2 - 1) { - class178.bufferX[var13] = var5; - class178.bufferY[var13] = var6 - 1; - var13 = var13 + 1 & 4095; - class178.directions[var15][var16 - 1] = 1; - class178.distances[var15][var16 - 1] = var19; - break; - } - - if ((var14[var20 + var17][var18 - 1] & 19136911) != 0) { - break; - } - - ++var20; - } - } - - if (var16 < 128 - var2 && class178.directions[var15][var16 + 1] == 0 && (var14[var17][var18 + var2] & 19136824) == 0 && (var14[var17 + var2 - 1][var18 + var2] & 19136992) == 0) { - var20 = 1; - - while (true) { - if (var20 >= var2 - 1) { - class178.bufferX[var13] = var5; - class178.bufferY[var13] = var6 + 1; - var13 = var13 + 1 & 4095; - class178.directions[var15][var16 + 1] = 4; - class178.distances[var15][var16 + 1] = var19; - break; - } - - if ((var14[var20 + var17][var18 + var2] & 19137016) != 0) { - break; - } - - ++var20; - } - } - - if (var15 > 0 && var16 > 0 && class178.directions[var15 - 1][var16 - 1] == 0 && (var14[var17 - 1][var18 - 1] & 19136782) == 0) { - var20 = 1; - - while (true) { - if (var20 >= var2) { - class178.bufferX[var13] = var5 - 1; - class178.bufferY[var13] = var6 - 1; - var13 = var13 + 1 & 4095; - class178.directions[var15 - 1][var16 - 1] = 3; - class178.distances[var15 - 1][var16 - 1] = var19; - break; - } - - if ((var14[var17 - 1][var20 + (var18 - 1)] & 19136830) != 0 || (var14[var20 + (var17 - 1)][var18 - 1] & 19136911) != 0) { - break; - } - - ++var20; - } - } - - if (var15 < 128 - var2 && var16 > 0 && class178.directions[var15 + 1][var16 - 1] == 0 && (var14[var17 + var2][var18 - 1] & 19136899) == 0) { - var20 = 1; - - while (true) { - if (var20 >= var2) { - class178.bufferX[var13] = var5 + 1; - class178.bufferY[var13] = var6 - 1; - var13 = var13 + 1 & 4095; - class178.directions[var15 + 1][var16 - 1] = 9; - class178.distances[var15 + 1][var16 - 1] = var19; - break; - } - - if ((var14[var17 + var2][var20 + (var18 - 1)] & 19136995) != 0 || (var14[var20 + var17][var18 - 1] & 19136911) != 0) { - break; - } - - ++var20; - } - } - - if (var15 > 0 && var16 < 128 - var2 && class178.directions[var15 - 1][var16 + 1] == 0 && (var14[var17 - 1][var18 + var2] & 19136824) == 0) { - for (var20 = 1; var20 < var2; ++var20) { - if ((var14[var17 - 1][var18 + var20] & 19136830) != 0 || (var14[var20 + (var17 - 1)][var18 + var2] & 19137016) != 0) { - continue label218; - } - } - - class178.bufferX[var13] = var5 - 1; - class178.bufferY[var13] = var6 + 1; - var13 = var13 + 1 & 4095; - class178.directions[var15 - 1][var16 + 1] = 6; - class178.distances[var15 - 1][var16 + 1] = var19; - } - } while(var15 >= 128 - var2); - } while(var16 >= 128 - var2); - } while(class178.directions[var15 + 1][var16 + 1] != 0); - } while((var14[var17 + var2][var18 + var2] & 19136992) != 0); - - for (var20 = 1; var20 < var2; ++var20) { - if ((var14[var17 + var20][var18 + var2] & 19137016) != 0 || (var14[var17 + var2][var20 + var18] & 19136995) != 0) { - continue label241; - } - } - - class178.bufferX[var13] = var5 + 1; - class178.bufferY[var13] = var6 + 1; - var13 = var13 + 1 & 4095; - class178.directions[var15 + 1][var16 + 1] = 12; - class178.distances[var15 + 1][var16 + 1] = var19; - } - } - } - - static { - ArchiveDisk_buffer = new byte[520]; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;ZI)[B", + garbageValue = "991854443" + ) + @Export("byteArrayFromObject") + public static byte[] byteArrayFromObject(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(); + } + } } diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index ab50457c36..e505e2f11e 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -4,125 +4,53 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ik") +@ObfuscatedName("hc") @Implements("ArchiveDiskAction") public class ArchiveDiskAction extends Node { - @ObfuscatedName("rt") - @ObfuscatedGetter( - intValue = -1086790653 - ) - static int field410; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "[Ldy;" - ) - @Export("idxFiles") - public static BufferedFile[] idxFiles; - @ObfuscatedName("cn") - @ObfuscatedGetter( - intValue = -1753937079 - ) - public static int field411; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1942326733 - ) - @Export("type") - int type; - @ObfuscatedName("f") - @Export("data") - byte[] data; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lff;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive") - Archive archive; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -907427363 + ) + @Export("type") + int type; + @ObfuscatedName("w") + @Export("data") + public byte[] data; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkm;" + ) + @Export("archiveDisk") + public ArchiveDisk archiveDisk; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive") + public Archive archive; - @ObfuscatedName("fn") - @ObfuscatedSignature( - signature = "(Lbz;I)V", - garbageValue = "483387730" - ) - static final void method4553(Actor var0) { - if (var0.field23 != 0) { - if (var0.targetIndex != -1) { - Object var1 = null; - if (var0.targetIndex < 32768) { - var1 = Client.npcs[var0.targetIndex]; - } else if (var0.targetIndex >= 32768) { - var1 = Client.players[var0.targetIndex - 32768]; - } + ArchiveDiskAction() { + } - if (var1 != null) { - int var2 = var0.x - ((Actor)var1).x; - int var3 = var0.y - ((Actor)var1).y; - if (var2 != 0 || var3 != 0) { - var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047; - } - } else if (var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lim;", + garbageValue = "-738252140" + ) + @Export("getKitDefinition") + public static KitDefinition getKitDefinition(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)); + } - if (var0.field12 != -1 && (var0.pathLength == 0 || var0.field24 > 0)) { - var0.orientation = var0.field12; - var0.field12 = -1; - } - - int var4 = var0.orientation - var0.field9 & 2047; - if (var4 == 0 && var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - - if (var4 != 0) { - ++var0.field22; - boolean var5; - if (var4 > 1024) { - var0.field9 -= var0.field23; - var5 = true; - if (var4 < var0.field23 || var4 > 2048 - var0.field23) { - var0.field9 = var0.orientation; - var5 = false; - } - - if (var0.movementSequence == var0.readySequence && (var0.field22 > 25 || var5)) { - if (var0.turnLeftSequence != -1) { - var0.movementSequence = var0.turnLeftSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } else { - var0.field9 += var0.field23; - var5 = true; - if (var4 < var0.field23 || var4 > 2048 - var0.field23) { - var0.field9 = var0.orientation; - var5 = false; - } - - if (var0.movementSequence == var0.readySequence && (var0.field22 > 25 || var5)) { - if (var0.turnRightSequence != -1) { - var0.movementSequence = var0.turnRightSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } - - var0.field9 &= 2047; - } else { - var0.field22 = 0; - } - } - - } + KitDefinition.KitDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index d9899dacb7..a1685b2890 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -1,107 +1,140 @@ +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("iv") +@ObfuscatedName("ir") @Implements("ArchiveDiskActionHandler") public class ArchiveDiskActionHandler implements Runnable { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("ArchiveDiskActionHandler_requestQueue") - static NodeDeque ArchiveDiskActionHandler_requestQueue; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("ArchiveDiskActionHandler_responseQueue") - static NodeDeque ArchiveDiskActionHandler_responseQueue; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1282224505 - ) - static int field412; - @ObfuscatedName("w") - @Export("ArchiveDiskActionHandler_lock") - static Object ArchiveDiskActionHandler_lock; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("ArchiveDiskActionHandler_requestQueue") + public static NodeDeque ArchiveDiskActionHandler_requestQueue; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("ArchiveDiskActionHandler_responseQueue") + public static NodeDeque ArchiveDiskActionHandler_responseQueue; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1331634311 + ) + static int field3144; + @ObfuscatedName("p") + @Export("ArchiveDiskActionHandler_lock") + static Object ArchiveDiskActionHandler_lock; + @ObfuscatedName("k") + @Export("ArchiveDiskActionHandler_thread") + static Thread ArchiveDiskActionHandler_thread; - public void run() { - try { - while (true) { - NodeDeque var1 = ArchiveDiskActionHandler_requestQueue; - ArchiveDiskAction var2; - synchronized(ArchiveDiskActionHandler_requestQueue) { - var2 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); - } + static { + ArchiveDiskActionHandler_requestQueue = new NodeDeque(); + ArchiveDiskActionHandler_responseQueue = new NodeDeque(); + field3144 = 0; + ArchiveDiskActionHandler_lock = new Object(); + } - Object var3; - if (var2 != null) { - if (var2.type == 0) { - var2.archiveDisk.write((int)var2.key, var2.data, var2.data.length); - var1 = ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler_requestQueue) { - var2.remove(); - } - } else if (var2.type == 1) { - var2.data = var2.archiveDisk.read((int)var2.key); - var1 = ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler_responseQueue.addFirst(var2); - } - } + ArchiveDiskActionHandler() { + } - var3 = ArchiveDiskActionHandler_lock; - synchronized(ArchiveDiskActionHandler_lock) { - if (field412 <= 1) { - field412 = 0; - ArchiveDiskActionHandler_lock.notifyAll(); - return; - } + public void run() { + try { + while (true) { + ArchiveDiskAction var1; + synchronized(ArchiveDiskActionHandler_requestQueue) { + var1 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); + } - field412 = 600; - } - } else { - class203.method4010(100L); - var3 = ArchiveDiskActionHandler_lock; - synchronized(ArchiveDiskActionHandler_lock) { - if (field412 <= 1) { - field412 = 0; - ArchiveDiskActionHandler_lock.notifyAll(); - return; - } + 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); + } + } - --field412; - } - } - } - } catch (Exception var14) { - NPCDefinition.sendStackTrace((String)null, var14); - } - } + synchronized(ArchiveDiskActionHandler_lock) { + if (field3144 <= 1) { + field3144 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } - @ObfuscatedName("ky") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "67" - ) - @Export("clanKickUser") - static final void clanKickUser(String var0) { - if (PacketWriter.clanChat != null) { - PacketBufferNode var1 = Interpreter.method1915(ClientPacket.field235, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method241(var1); - } + field3144 = 600; + } + } else { + EnumDefinition.method4550(100L); + synchronized(ArchiveDiskActionHandler_lock) { + if (field3144 <= 1) { + field3144 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } - } + --field3144; + } + } + } + } catch (Exception var13) { + HitSplatDefinition.sendStackTrace((String)null, var13); + } + } - static { - ArchiveDiskActionHandler_requestQueue = new NodeDeque(); - ArchiveDiskActionHandler_responseQueue = new NodeDeque(); - field412 = 0; - ArchiveDiskActionHandler_lock = new Object(); - } + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(Lfs;III)Ldn;", + garbageValue = "2015059645" + ) + public static final PcmPlayer method4256(TaskHandler var0, int var1, int var2) { + if (CollisionMap.PcmPlayer_sampleRate == 0) { + throw new IllegalStateException(); + } else if (var1 >= 0 && var1 < 2) { + if (var2 < 256) { + var2 = 256; + } + + try { + PcmPlayer var3 = class32.pcmPlayerProvider.player(); + var3.samples = new int[256 * (class169.isStereo ? 2 : 1)]; + var3.field1414 = var2; + var3.init(); + var3.capacity = (var2 & -1024) + 1024; + if (var3.capacity > 16384) { + var3.capacity = 16384; + } + + var3.open(var3.capacity); + if (PcmPlayer.pcmPlayerCount > 0 && SecureRandomFuture.soundSystem == null) { + SecureRandomFuture.soundSystem = new SoundSystem(); + class14.soundSystemExecutor = Executors.newScheduledThreadPool(1); + class14.soundSystemExecutor.scheduleAtFixedRate(SecureRandomFuture.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); + } + + if (SecureRandomFuture.soundSystem != null) { + if (SecureRandomFuture.soundSystem.players[var1] != null) { + throw new IllegalArgumentException(); + } + + SecureRandomFuture.soundSystem.players[var1] = var3; + } + + return var3; + } catch (Throwable var4) { + return new PcmPlayer(); + } + } else { + throw new IllegalArgumentException(); + } + } } diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index 6459f155c2..feb947d56e 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -3,710 +3,267 @@ 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("bd") +@ObfuscatedName("bn") @Implements("ArchiveLoader") public class ArchiveLoader { - @ObfuscatedName("pf") - @ObfuscatedSignature( - signature = "Lko;" - ) - static class310 field512; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("titlebuttonSprite") - static IndexedSprite titlebuttonSprite; - @ObfuscatedName("x") - public static short[][] field406; - @ObfuscatedName("er") - @ObfuscatedGetter( - intValue = 636454135 - ) - static int field407; - @ObfuscatedName("gw") - @Export("regionMapArchiveIds") - static int[] regionMapArchiveIds; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive") - final Archive archive; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1459455501 - ) - @Export("groupCount") - final int groupCount; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 782003089 - ) - @Export("loadedCount") - int loadedCount; + @ObfuscatedName("rz") + @ObfuscatedSignature( + signature = "Lbf;" + ) + @Export("friendSystem") + public static FriendSystem friendSystem; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive") + final Archive archive; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -637612403 + ) + @Export("groupCount") + final int groupCount; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1413706037 + ) + @Export("loadedCount") + int loadedCount; - @ObfuscatedSignature( - signature = "(Lit;Ljava/lang/String;)V" - ) - ArchiveLoader(Archive archive, String name) { - this.loadedCount = 0; - this.archive = archive; - this.groupCount = archive.getGroupCount(); - } + @ObfuscatedSignature( + signature = "(Liu;Ljava/lang/String;)V" + ) + ArchiveLoader(Archive var1, String var2) { + this.loadedCount = 0; + this.archive = var1; + this.groupCount = var1.getGroupCount(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1352221725" - ) - @Export("isLoaded") - boolean isLoaded() { - this.loadedCount = 0; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-30" + ) + @Export("isLoaded") + boolean isLoaded() { + this.loadedCount = 0; - for (int var1 = 0; var1 < this.groupCount; ++var1) { - if (!this.archive.method133(var1) || this.archive.method132(var1)) { - ++this.loadedCount; - } - } + for (int var1 = 0; var1 < this.groupCount; ++var1) { + if (!this.archive.method4268(var1) || this.archive.method4267(var1)) { + ++this.loadedCount; + } + } - return this.loadedCount >= this.groupCount; - } + return this.loadedCount >= this.groupCount; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkk;Lkk;Lkk;I)V", - garbageValue = "839403460" - ) - @Export("drawTitle") - static void drawTitle(Font var0, Font var1, Font var2) { - Login.xPadding = (SoundCache.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - Varps.loginBoxCenter = Login.loginBoxX + 180; - int var3; - int var4; - int var5; - byte var6; - int var7; - int var8; - int var9; - int var10; - boolean var11; - if (Login.worldSelectOpen) { - if (class30.worldSelectBackSprites == null) { - class30.worldSelectBackSprites = class2.method20(WorldMapSection1.archive8, "sl_back", ""); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;Lga;B)Z", + garbageValue = "14" + ) + @Export("setAudioArchives") + public static boolean setAudioArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) { + class197.musicPatchesArchive = var0; + class197.musicSamplesArchive = var1; + class197.soundEffectsArchive = var2; + Interpreter.midiPcmStream = var3; + return true; + } - Archive var12; - int var13; - int var14; - IndexedSprite[] var15; - if (Frames.worldSelectFlagSprites == null) { - var12 = WorldMapSection1.archive8; - var14 = var12.getGroupId("sl_flags"); - var13 = var12.getFileId(var14, ""); - if (!SpriteMask.loadSprite(var12, var14, var13)) { - var15 = null; - } else { - var15 = WorldMapLabel.createIndexedSpriteArray(); - } + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "65" + ) + static int method1100(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } else { + var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + } - Frames.worldSelectFlagSprites = var15; - } + if (var0 == ScriptOpcodes.CC_CALLONRESIZE) { + if (Interpreter.field1106 >= 10) { + throw new RuntimeException(); + } else if (var3.onResize == null) { + return 0; + } else { + ScriptEvent var4 = new ScriptEvent(); + var4.widget = var3; + var4.args = var3.onResize; + var4.field583 = Interpreter.field1106 + 1; + Client.scriptEvents.addFirst(var4); + return 1; + } + } else { + return 2; + } + } - if (AttackOption.worldSelectArrows == null) { - var12 = WorldMapSection1.archive8; - var14 = var12.getGroupId("sl_arrows"); - var13 = var12.getFileId(var14, ""); - if (!SpriteMask.loadSprite(var12, var14, var13)) { - var15 = null; - } else { - var15 = WorldMapLabel.createIndexedSpriteArray(); - } + @ObfuscatedName("jk") + @ObfuscatedSignature( + signature = "(Lhj;I)Lhj;", + garbageValue = "1227786783" + ) + static Widget method1099(Widget var0) { + Widget var2 = var0; + int var3 = class32.method545(class268.getWidgetClickMask(var0)); + Widget var1; + if (var3 == 0) { + var1 = null; + } else { + int var4 = 0; - AttackOption.worldSelectArrows = var15; - } + while (true) { + if (var4 >= var3) { + var1 = var2; + break; + } - if (UrlRequest.worldSelectStars == null) { - var12 = WorldMapSection1.archive8; - var14 = var12.getGroupId("sl_stars"); - var13 = var12.getFileId(var14, ""); - if (!SpriteMask.loadSprite(var12, var14, var13)) { - var15 = null; - } else { - var15 = WorldMapLabel.createIndexedSpriteArray(); - } + var2 = class80.getWidget(var2.parentId); + if (var2 == null) { + var1 = null; + break; + } - UrlRequest.worldSelectStars = var15; - } + ++var4; + } + } - if (SecureRandomFuture.worldSelectLeftSprite == null) { - SecureRandomFuture.worldSelectLeftSprite = MenuAction.loadIndexedSpriteByName(WorldMapSection1.archive8, "leftarrow", ""); - } + Widget var5 = var1; + if (var1 == null) { + var5 = var0.parent; + } - if (NetSocket.worldSelectRightSprite == null) { - NetSocket.worldSelectRightSprite = MenuAction.loadIndexedSpriteByName(WorldMapSection1.archive8, "rightarrow", ""); - } + return var5; + } - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 0xbd9839, 0x8b6608); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 0x4f4f4f, 0x292929); - var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); - if (UrlRequest.worldSelectStars != null) { - UrlRequest.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); - var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); - UrlRequest.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); - var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); - } + @ObfuscatedName("ja") + @ObfuscatedSignature( + signature = "(Lhj;IIIB)V", + garbageValue = "94" + ) + @Export("drawMinimap") + static final void drawMinimap(Widget var0, int var1, int var2, int var3) { + class186.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 = Client.localPlayer.x / 32 + 48; + int var7 = 464 - Client.localPlayer.y / 32; + RouteStrategy.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); - if (AttackOption.worldSelectArrows != null) { - var10 = Login.xPadding + 280; - if (World.sortOption1[0] == 0 && World.sortOption2[0] == 0) { - AttackOption.worldSelectArrows[2].drawAt(var10, 4); - } else { - AttackOption.worldSelectArrows[0].drawAt(var10, 4); - } + int var8; + int var9; + int var10; + for (var8 = 0; var8 < Client.mapIconCount; ++var8) { + var9 = Client.mapIconXs[var8] * 4 + 2 - Client.localPlayer.x / 32; + var10 = Client.mapIconYs[var8] * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4); + } - if (World.sortOption1[0] == 0 && World.sortOption2[0] == 1) { - AttackOption.worldSelectArrows[3].drawAt(var10 + 15, 4); - } else { - AttackOption.worldSelectArrows[1].drawAt(var10 + 15, 4); - } + int var11; + int var12; + for (var8 = 0; var8 < 104; ++var8) { + for (var9 = 0; var9 < 104; ++var9) { + NodeDeque var15 = Client.groundItems[class42.plane][var8][var9]; + if (var15 != null) { + var11 = var8 * 4 + 2 - Client.localPlayer.x / 32; + var12 = var9 * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[0], var4); + } + } + } - var0.draw("World", var10 + 32, 17, 16777215, -1); - var7 = Login.xPadding + 390; - if (World.sortOption1[0] == 1 && World.sortOption2[0] == 0) { - AttackOption.worldSelectArrows[2].drawAt(var7, 4); - } else { - AttackOption.worldSelectArrows[0].drawAt(var7, 4); - } + 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 (World.sortOption1[0] == 1 && World.sortOption2[0] == 1) { - AttackOption.worldSelectArrows[3].drawAt(var7 + 15, 4); - } else { - AttackOption.worldSelectArrows[1].drawAt(var7 + 15, 4); - } + if (var18 != null && var18.drawMapDot && var18.isInteractable) { + var11 = var16.x / 32 - Client.localPlayer.x / 32; + var12 = var16.y / 32 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[1], var4); + } + } + } - var0.draw("Players", var7 + 32, 17, 16777215, -1); - var14 = Login.xPadding + 500; - if (World.sortOption1[0] == 2 && World.sortOption2[0] == 0) { - AttackOption.worldSelectArrows[2].drawAt(var14, 4); - } else { - AttackOption.worldSelectArrows[0].drawAt(var14, 4); - } + var8 = Players.Players_count; + int[] var19 = Players.Players_indices; - if (World.sortOption1[0] == 2 && World.sortOption2[0] == 1) { - AttackOption.worldSelectArrows[3].drawAt(var14 + 15, 4); - } else { - AttackOption.worldSelectArrows[1].drawAt(var14 + 15, 4); - } + for (var10 = 0; var10 < var8; ++var10) { + Player var17 = Client.players[var19[var10]]; + if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != Client.localPlayer) { + var12 = var17.x / 32 - Client.localPlayer.x / 32; + int var13 = var17.y / 32 - Client.localPlayer.y / 32; + boolean var14 = false; + if (Client.localPlayer.team != 0 && var17.team != 0 && var17.team == Client.localPlayer.team) { + var14 = true; + } - var0.draw("Location", var14 + 32, 17, 16777215, -1); - var13 = Login.xPadding + 610; - if (World.sortOption1[0] == 3 && World.sortOption2[0] == 0) { - AttackOption.worldSelectArrows[2].drawAt(var13, 4); - } else { - AttackOption.worldSelectArrows[0].drawAt(var13, 4); - } + if (var17.isFriend()) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[3], var4); + } else if (var14) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[4], var4); + } else if (var17.isClanMember()) { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[5], var4); + } else { + Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[2], var4); + } + } + } - if (World.sortOption1[0] == 3 && World.sortOption2[0] == 1) { - AttackOption.worldSelectArrows[3].drawAt(var13 + 15, 4); - } else { - AttackOption.worldSelectArrows[1].drawAt(var13 + 15, 4); - } + 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 - Client.localPlayer.x / 32; + var12 = var20.y / 32 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); + } + } - var0.draw("Type", var13 + 32, 17, 16777215, -1); - } + if (Client.hintArrowType == 2) { + var10 = Client.hintArrowX * 4 - MusicPatchNode2.baseX * 256 + 2 - Client.localPlayer.x / 32; + var11 = Client.hintArrowY * 4 - class1.baseY * 256 + 2 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[1], var4); + } - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); - var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); - Login.hoveredWorldIndex = -1; - if (class30.worldSelectBackSprites != null) { - var6 = 88; - byte var16 = 19; - var14 = 765 / (var6 + 1) - 1; - var13 = 480 / (var16 + 1); + 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 - Client.localPlayer.x / 32; + var12 = var21.y / 32 - Client.localPlayer.y / 32; + Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4); + } + } + } - while (true) { - var8 = var13; - var9 = var14; - if (var13 * (var14 - 1) >= World.worldsCount) { - --var14; - } + if (Client.destinationX != 0) { + var10 = Client.destinationX * 4 + 2 - Client.localPlayer.x / 32; + var11 = Client.destinationY * 4 + 2 - Client.localPlayer.y / 32; + Interpreter.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[0], var4); + } - if (var14 * (var13 - 1) >= World.worldsCount) { - --var13; - } + if (!Client.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); + } - if (var14 * (var13 - 1) >= World.worldsCount) { - --var13; - } - - if (var13 == var8 && var14 == var9) { - var8 = (765 - var6 * var14) / (var14 + 1); - if (var8 > 5) { - var8 = 5; - } - - var9 = (480 - var16 * var13) / (var13 + 1); - if (var9 > 5) { - var9 = 5; - } - - var3 = (765 - var14 * var6 - var8 * (var14 - 1)) / 2; - int var17 = (480 - var13 * var16 - var9 * (var13 - 1)) / 2; - var4 = (var13 + World.worldsCount - 1) / var13; - Login.worldSelectPagesCount = var4 - var14; - if (SecureRandomFuture.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { - SecureRandomFuture.worldSelectLeftSprite.drawAt(8, Huffman.canvasHeight / 2 - SecureRandomFuture.worldSelectLeftSprite.subHeight / 2); - } - - if (NetSocket.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { - NetSocket.worldSelectRightSprite.drawAt(SoundCache.canvasWidth - NetSocket.worldSelectRightSprite.subWidth - 8, Huffman.canvasHeight / 2 - NetSocket.worldSelectRightSprite.subHeight / 2); - } - - int var18 = var17 + 23; - int var19 = var3 + Login.xPadding; - int var20 = 0; - var11 = false; - int var21 = Login.worldSelectPage; - - int var22; - for (var22 = var13 * var21; var22 < World.worldsCount && var21 - Login.worldSelectPage < var14; ++var22) { - World var23 = ItemContainer.worlds[var22]; - boolean var24 = true; - String var25 = Integer.toString(var23.population); - if (var23.population == -1) { - var25 = "OFF"; - var24 = false; - } else if (var23.population > 1980) { - var25 = "FULL"; - var24 = false; - } - - int var26 = 0; - byte var27; - if (var23.isBeta()) { - if (var23.isMembersOnly()) { - var27 = 7; - } else { - var27 = 6; - } - } else if (var23.isDeadman()) { - var26 = 16711680; - if (var23.isMembersOnly()) { - var27 = 5; - } else { - var27 = 4; - } - } else if (var23.isPvp()) { - if (var23.isMembersOnly()) { - var27 = 3; - } else { - var27 = 2; - } - } else if (var23.isMembersOnly()) { - var27 = 1; - } else { - var27 = 0; - } - - if (MouseHandler.MouseHandler_x >= var19 && MouseHandler.MouseHandler_y >= var18 && MouseHandler.MouseHandler_x < var19 + var6 && MouseHandler.MouseHandler_y < var16 + var18 && var24) { - Login.hoveredWorldIndex = var22; - class30.worldSelectBackSprites[var27].drawAtTransOverlay(var19, var18, 128, 16777215); - var11 = true; - } else { - class30.worldSelectBackSprites[var27].drawAt(var19, var18); - } - - if (Frames.worldSelectFlagSprites != null) { - Frames.worldSelectFlagSprites[(var23.isMembersOnly() ? 8 : 0) + var23.location].drawAt(var19 + 29, var18); - } - - var0.drawCentered(Integer.toString(var23.id), var19 + 15, var16 / 2 + var18 + 5, var26, -1); - var1.drawCentered(var25, var19 + 60, var16 / 2 + var18 + 5, 268435455, -1); - var18 = var18 + var9 + var16; - ++var20; - if (var20 >= var13) { - var18 = var17 + 23; - var19 = var19 + var6 + var8; - var20 = 0; - ++var21; - } - } - - if (var11) { - var22 = var1.stringWidth(ItemContainer.worlds[Login.hoveredWorldIndex].activity) + 6; - int var44 = var1.ascent + 8; - var5 = MouseHandler.MouseHandler_y + 25; - if (var44 + var5 > 480) { - var5 = MouseHandler.MouseHandler_y - 25 - var44; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var22 / 2, var5, var22, var44, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var22 / 2, var5, var22, var44, 0); - var1.drawCentered(ItemContainer.worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var5 + var1.ascent + 4, 0, -1); - } - break; - } - } - } - - class197.rasterProvider.drawFull(0, 0); - } else { - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - Fonts.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - WorldMapSectionType.logoSprite.drawAt(Login.xPadding + 382 - WorldMapSectionType.logoSprite.subWidth / 2, 18); - if (Client.gameState == 0 || Client.gameState == 5) { - var6 = 20; - var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var6, 16777215, -1); - var7 = 253 - var6; - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var7, 304, 34, 9179409); - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var7 + 1, 302, 32, 0); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var7 + 2, Login.Login_loadingPercent * 3, 30, 9179409); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150 + Login.Login_loadingPercent * 3, var7 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); - var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var6, 16777215, -1); - } - - String var28; - String var29; - short var30; - String var31; - String var32; - String var33; - short var34; - if (Client.gameState == 20) { - Login.titleboxSprite.drawAt(Login.loginBoxX + 180 - Login.titleboxSprite.subWidth / 2, 271 - Login.titleboxSprite.subHeight / 2); - var30 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var10 += 7; - if (Login.loginIndex != 4) { - var0.draw("Login: ", Login.loginBoxX + 180 - 110, var10, 16777215, 0); - var34 = 200; - if (ReflectionCheck.clientPreferences.hideUsername) { - var29 = Login.Login_username; - var28 = class168.method3450('*', var29.length()); - var31 = var28; - } else { - var31 = Login.Login_username; - } - - for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(0, var31.length() - 1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var31), Login.loginBoxX + 180 - 70, var10, 16777215, 0); - var10 += 15; - var29 = "Password: "; - var32 = Login.Login_password; - var33 = class168.method3450('*', var32.length()); - var0.draw(var29 + var33, Login.loginBoxX + 180 - 108, var10, 16777215, 0); - var10 += 15; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - Login.titleboxSprite.drawAt(Login.loginBoxX, 171); - short var35; - if (Login.loginIndex == 0) { - var30 = 251; - var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 30; - var7 = Login.loginBoxX + 180 - 80; - var35 = 291; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawLines("New User", var7 - 73, var35 - 20, 144, 40, 16777215, 0, 1, 1, 0); - var7 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawLines("Existing User", var7 - 73, var35 - 20, 144, 40, 16777215, 0, 1, 1, 0); - } else if (Login.loginIndex == 1) { - var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); - var30 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16777215, 0); - var10 = var30 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16777215, 0); - var10 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16777215, 0); - var10 += 15; - var7 = Login.loginBoxX + 180 - 80; - var35 = 321; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Continue", var7, var35 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Cancel", var7, var35 + 5, 16777215, 0); - } else { - IndexedSprite var42; - if (Login.loginIndex == 2) { - var30 = 201; - var0.drawCentered(Login.Login_response1, Varps.loginBoxCenter, var30, 16776960, 0); - var10 = var30 + 15; - var0.drawCentered(Login.Login_response2, Varps.loginBoxCenter, var10, 16776960, 0); - var10 += 15; - var0.drawCentered(Login.Login_response3, Varps.loginBoxCenter, var10, 16776960, 0); - var10 += 15; - var10 += 7; - var0.draw("Login: ", Varps.loginBoxCenter - 110, var10, 16777215, 0); - var34 = 200; - if (ReflectionCheck.clientPreferences.hideUsername) { - var29 = Login.Login_username; - var28 = class168.method3450('*', var29.length()); - var31 = var28; - } else { - var31 = Login.Login_username; - } - - for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var31) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Varps.loginBoxCenter - 70, var10, 16777215, 0); - var10 += 15; - var29 = "Password: "; - var32 = Login.Login_password; - var33 = class168.method3450('*', var32.length()); - var0.draw(var29 + var33 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Varps.loginBoxCenter - 108, var10, 16777215, 0); - var10 += 15; - var30 = 277; - var4 = Varps.loginBoxCenter + -117; - boolean var40 = Client.Login_isUsernameRemembered; - var11 = Login.field468; - var42 = var40 ? (var11 ? KeyHandler.options_buttons_6Sprite : class308.options_buttons_2Sprite) : (var11 ? GraphicsObject.options_buttons_4Sprite : Login.options_buttons_0Sprite); - var42.drawAt(var4, var30); - var4 = var4 + var42.subWidth + 5; - var1.draw("Remember username", var4, var30 + 13, 16776960, 0); - var4 = Varps.loginBoxCenter + 24; - boolean var47 = ReflectionCheck.clientPreferences.hideUsername; - boolean var45 = Login.field469; - IndexedSprite var48 = var47 ? (var45 ? KeyHandler.options_buttons_6Sprite : class308.options_buttons_2Sprite) : (var45 ? GraphicsObject.options_buttons_4Sprite : Login.options_buttons_0Sprite); - var48.drawAt(var4, var30); - var4 = var4 + var48.subWidth + 5; - var1.draw("Hide username", var4, var30 + 13, 16776960, 0); - var10 = var30 + 15; - var5 = Varps.loginBoxCenter - 80; - short var49 = 321; - titlebuttonSprite.drawAt(var5 - 73, var49 - 20); - var0.drawCentered("Login", var5, var49 + 5, 16777215, 0); - var5 = Varps.loginBoxCenter + 80; - titlebuttonSprite.drawAt(var5 - 73, var49 - 20); - var0.drawCentered("Cancel", var5, var49 + 5, 16777215, 0); - var30 = 357; - switch(Login.field467) { - case 2: - AttackOption.field31 = "Having trouble logging in?"; - break; - default: - AttackOption.field31 = "Can't login? Click here."; - } - - TilePaint.field907 = new Bounds(Varps.loginBoxCenter, var30, var1.stringWidth(AttackOption.field31), 11); - UrlRequester.field930 = new Bounds(Varps.loginBoxCenter, var30, var1.stringWidth("Still having trouble logging in?"), 11); - var1.drawCentered(AttackOption.field31, Varps.loginBoxCenter, var30, 16777215, 0); - } else if (Login.loginIndex == 3) { - var30 = 201; - var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 20; - var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var7 = Login.loginBoxX + 180; - var35 = 276; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var2.drawCentered("Try again", var7, var35 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180; - var35 = 326; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var2.drawCentered("Forgotten password?", var7, var35 + 5, 16777215, 0); - } else { - String var36; - if (Login.loginIndex == 4) { - var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); - var30 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16777215, 0); - var10 = var30 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16777215, 0); - var10 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16777215, 0); - var10 += 15; - var36 = "PIN: "; - var28 = Login.otp; - var31 = class168.method3450('*', var28.length()); - var0.draw(var36 + var31 + (Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var10, 16777215, 0); - var10 -= 8; - var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var10, 16776960, 0); - var10 += 15; - var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var10, 16776960, 0); - var9 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; - var3 = var10 - var0.ascent; - if (Login.field470) { - var42 = class308.options_buttons_2Sprite; - } else { - var42 = Login.options_buttons_0Sprite; - } - - var42.drawAt(var9, var3); - var10 += 15; - var4 = Login.loginBoxX + 180 - 80; - short var46 = 321; - titlebuttonSprite.drawAt(var4 - 73, var46 - 20); - var0.drawCentered("Continue", var4, var46 + 5, 16777215, 0); - var4 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var4 - 73, var46 - 20); - var0.drawCentered("Cancel", var4, var46 + 5, 16777215, 0); - var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var46 + 36, 255, 0); - } else { - short var37; - if (Login.loginIndex != 5) { - if (Login.loginIndex == 6) { - var30 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var7 = Login.loginBoxX + 180; - var35 = 321; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Back", var7, var35 + 5, 16777215, 0); - } else if (Login.loginIndex == 7) { - var30 = 216; - var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var7 = Login.loginBoxX + 180 - 80; - var35 = 321; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Set Date of Birth", var7, var35 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Back", var7, var35 + 5, 16777215, 0); - } else if (Login.loginIndex == 8) { - var30 = 216; - var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var7 = Login.loginBoxX + 180 - 80; - var35 = 321; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Privacy Policy", var7, var35 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var7 - 73, var35 - 20); - var0.drawCentered("Back", var7, var35 + 5, 16777215, 0); - } else if (Login.loginIndex == 12) { - var30 = 201; - String var43 = ""; - var36 = ""; - var31 = ""; - switch(Login.field466) { - case 0: - var43 = "Your account has been disabled."; - var36 = Strings.field880; - var31 = ""; - break; - case 1: - var43 = "Account locked as we suspect it has been stolen."; - var36 = Strings.field881; - var31 = ""; - break; - default: - MouseHandler.method1084(false); - } - - var0.drawCentered(var43, Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var2.drawCentered(var36, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var2.drawCentered(var31, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var8 = Login.loginBoxX + 180; - var37 = 276; - titlebuttonSprite.drawAt(var8 - 73, var37 - 20); - var0.drawCentered("Support Page", var8, var37 + 5, 16777215, 0); - var8 = Login.loginBoxX + 180; - var37 = 326; - titlebuttonSprite.drawAt(var8 - 73, var37 - 20); - var0.drawCentered("Back", var8, var37 + 5, 16777215, 0); - } - } else { - var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); - var30 = 221; - var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0); - var10 = var30 + 15; - var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0); - var10 += 15; - var10 += 14; - var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var10, 16777215, 0); - var34 = 174; - if (ReflectionCheck.clientPreferences.hideUsername) { - var29 = Login.Login_username; - var28 = class168.method3450('*', var29.length()); - var31 = var28; - } else { - var31 = Login.Login_username; - } - - for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var31) + (Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var10, 16777215, 0); - var10 += 15; - var8 = Login.loginBoxX + 180 - 80; - var37 = 321; - titlebuttonSprite.drawAt(var8 - 73, var37 - 20); - var0.drawCentered("Recover", var8, var37 + 5, 16777215, 0); - var8 = Login.loginBoxX + 180 + 80; - titlebuttonSprite.drawAt(var8 - 73, var37 - 20); - var0.drawCentered("Back", var8, var37 + 5, 16777215, 0); - var37 = 356; - var1.drawCentered("Still having trouble logging in?", Varps.loginBoxCenter, var37, 268435455, 0); - } - } - } - } - } - - if (Client.gameState >= 10) { - int[] var38 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var38); - Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, Huffman.canvasHeight); - class16.loginScreenRunesAnimation.method1782(Login.xPadding - 22, Client.cycle); - class16.loginScreenRunesAnimation.method1782(Login.xPadding + 22 + 765 - 128, Client.cycle); - Rasterizer2D.Rasterizer2D_setClipArray(var38); - } - - KeyHandler.title_muteSprite[ReflectionCheck.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); - if (Client.gameState > 5 && Client.language == 0) { - if (class277.field1144 != null) { - var10 = Login.xPadding + 5; - var34 = 463; - byte var39 = 100; - byte var41 = 35; - class277.field1144.drawAt(var10, var34); - var0.drawCentered("World " + Client.worldId, var39 / 2 + var10, var41 / 2 + var34 - 2, 16777215, 0); - if (FriendLoginUpdate.field356 != null) { - var1.drawCentered("Loading...", var39 / 2 + var10, var41 / 2 + var34 + 12, 16777215, 0); - } else { - var1.drawCentered("Click to switch", var39 / 2 + var10, var41 / 2 + var34 + 12, 16777215, 0); - } - } else { - class277.field1144 = MenuAction.loadIndexedSpriteByName(WorldMapSection1.archive8, "sl_button", ""); - } - } - } - - } + Client.field861[var3] = true; + } + } } diff --git a/runescape-client/src/main/java/AttackOption.java b/runescape-client/src/main/java/AttackOption.java index 294aa4b2a7..3a3f6d95b2 100644 --- a/runescape-client/src/main/java/AttackOption.java +++ b/runescape-client/src/main/java/AttackOption.java @@ -1,220 +1,61 @@ -import java.io.IOException; -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("cj") +@ObfuscatedName("ct") @Implements("AttackOption") public enum AttackOption implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("AttackOption_dependsOnCombatLevels") - AttackOption_dependsOnCombatLevels(0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("AttackOption_alwaysRightClick") - AttackOption_alwaysRightClick(1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("AttackOption_leftClickWhereAvailable") - AttackOption_leftClickWhereAvailable(2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("AttackOption_hidden") - AttackOption_hidden(3); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("AttackOption_dependsOnCombatLevels") + AttackOption_dependsOnCombatLevels(0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("AttackOption_alwaysRightClick") + AttackOption_alwaysRightClick(1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("AttackOption_leftClickWhereAvailable") + AttackOption_leftClickWhereAvailable(2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("AttackOption_hidden") + AttackOption_hidden(3); - @ObfuscatedName("sp") - @Export("foundItemIds") - static short[] foundItemIds; - @ObfuscatedName("ay") - static String field31; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("worldSelectArrows") - static IndexedSprite[] worldSelectArrows; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1461217963 - ) - @Export("id") - final int id; + @ObfuscatedName("qz") + @ObfuscatedSignature( + signature = "Ldz;" + ) + @Export("decimator") + static Decimator decimator; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 52026669 + ) + @Export("id") + final int id; - private AttackOption(int var3) { - this.id = var3; - } + AttackOption(int var3) { + this.id = var3; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljava/security/SecureRandom;", - garbageValue = "-1732522161" - ) - static SecureRandom method2034() { - SecureRandom var0 = new SecureRandom(); - var0.nextInt(); - return var0; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I", - garbageValue = "-189314181" - ) - public static int method2033(CharSequence var0, CharSequence var1, int language) { - 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 var10 = false; - } else { - var9 = var0.charAt(var5++); - } - - char var14; - if (var8 != 0) { - var14 = (char)var8; - boolean var11 = false; - } else { - var14 = var1.charAt(var6++); - } - - byte var16; - if (var9 == 198) { - var16 = 69; - } else if (var9 == 230) { - var16 = 101; - } else if (var9 == 223) { - var16 = 115; - } else if (var9 == 338) { - var16 = 69; - } else if (var9 == 339) { - var16 = 101; - } else { - var16 = 0; - } - - var7 = var16; - byte var12; - if (var14 == 198) { - var12 = 69; - } else if (var14 == 230) { - var12 = 101; - } else if (var14 == 223) { - var12 = 115; - } else if (var14 == 338) { - var12 = 69; - } else if (var14 == 339) { - var12 = 101; - } else { - var12 = 0; - } - - var8 = var12; - var9 = GrandExchangeOfferAgeComparator.method155(var9, language); - var14 = GrandExchangeOfferAgeComparator.method155(var14, language); - if (var9 != var14 && Character.toUpperCase(var9) != Character.toUpperCase(var14)) { - var9 = Character.toLowerCase(var9); - var14 = Character.toLowerCase(var14); - if (var14 != var9) { - return CollisionMap.method3631(var9, language) - CollisionMap.method3631(var14, language); - } - } - } - - int var15 = Math.min(var3, var4); - - int var17; - char var18; - for (var17 = 0; var17 < var15; ++var17) { - char var19 = var0.charAt(var17); - var18 = var1.charAt(var17); - if (var18 != var19 && Character.toUpperCase(var19) != Character.toUpperCase(var18)) { - var19 = Character.toLowerCase(var19); - var18 = Character.toLowerCase(var18); - if (var19 != var18) { - return CollisionMap.method3631(var19, language) - CollisionMap.method3631(var18, language); - } - } - } - - var17 = var3 - var4; - if (var17 != 0) { - return var17; - } else { - for (int var20 = 0; var20 < var15; ++var20) { - var18 = var0.charAt(var20); - char var13 = var1.charAt(var20); - if (var18 != var13) { - return CollisionMap.method3631(var18, language) - CollisionMap.method3631(var13, language); - } - } - - return 0; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)[B", - garbageValue = "12521922" - ) - public static byte[] method2032() { - byte[] var0 = new byte[24]; - - try { - class168.randomDat.seek(0L); - class168.randomDat.readFill(var0); - - int var1; - for (var1 = 0; var1 < 24 && var0[var1] == 0; ++var1) { - } - - if (var1 >= 24) { - throw new IOException(); - } - } catch (Exception var3) { - for (int var2 = 0; var2 < 24; ++var2) { - var0[var2] = -1; - } - } - - return var0; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } } diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index c834b32e95..8beec7b479 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -3,156 +3,156 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("di") +@ObfuscatedName("dy") @Implements("AudioFilter") public class AudioFilter { - @ObfuscatedName("u") - static float[][] field32; - @ObfuscatedName("g") - @Export("coefficients") - static int[][] coefficients; - @ObfuscatedName("l") - static float field34; - @ObfuscatedName("e") - @Export("forwardMultiplier") - static int forwardMultiplier; - @ObfuscatedName("m") - @Export("pairs") - int[] pairs; - @ObfuscatedName("q") - int[][][] field37; - @ObfuscatedName("w") - int[][][] field38; - @ObfuscatedName("o") - int[] field39; + @ObfuscatedName("l") + static float[][] field1488; + @ObfuscatedName("b") + @Export("coefficients") + static int[][] coefficients; + @ObfuscatedName("i") + static float field1491; + @ObfuscatedName("c") + @Export("forwardMultiplier") + static int forwardMultiplier; + @ObfuscatedName("q") + @Export("pairs") + int[] pairs; + @ObfuscatedName("e") + int[][][] field1494; + @ObfuscatedName("p") + int[][][] field1486; + @ObfuscatedName("k") + int[] field1487; - AudioFilter() { - this.pairs = new int[2]; - this.field37 = new int[2][2][4]; - this.field38 = new int[2][2][4]; - this.field39 = new int[2]; - } + static { + field1488 = new float[2][8]; + coefficients = new int[2][8]; + } - @ObfuscatedName("m") - float method24(int var1, int var2, float var3) { - float var4 = (float)this.field38[var1][0][var2] + var3 * (float)(this.field38[var1][1][var2] - this.field38[var1][0][var2]); - var4 *= 0.0015258789F; - return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); - } + AudioFilter() { + this.pairs = new int[2]; + this.field1494 = new int[2][2][4]; + this.field1486 = new int[2][2][4]; + this.field1487 = new int[2]; + } - @ObfuscatedName("q") - float method25(int var1, int var2, float var3) { - float var4 = (float)this.field37[var1][0][var2] + var3 * (float)(this.field37[var1][1][var2] - this.field37[var1][0][var2]); - var4 *= 1.2207031E-4F; - return method2646(var4); - } + @ObfuscatedName("q") + float method2668(int var1, int var2, float var3) { + float var4 = (float)this.field1486[var1][0][var2] + var3 * (float)(this.field1486[var1][1][var2] - this.field1486[var1][0][var2]); + var4 *= 0.0015258789F; + return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); + } - @ObfuscatedName("w") - @Export("compute") - int compute(int var1, float var2) { - float var3; - if (var1 == 0) { - var3 = (float)this.field39[0] + (float)(this.field39[1] - this.field39[0]) * var2; - var3 *= 0.0030517578F; - field34 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); - forwardMultiplier = (int)(field34 * 65536.0F); - } + @ObfuscatedName("e") + float method2683(int var1, int var2, float var3) { + float var4 = (float)this.field1494[var1][0][var2] + var3 * (float)(this.field1494[var1][1][var2] - this.field1494[var1][0][var2]); + var4 *= 1.2207031E-4F; + return method2670(var4); + } - if (this.pairs[var1] == 0) { - return 0; - } else { - var3 = this.method24(var1, 0, var2); - field32[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method25(var1, 0, var2)); - field32[var1][1] = var3 * var3; + @ObfuscatedName("p") + @Export("compute") + int compute(int var1, float var2) { + float var3; + if (var1 == 0) { + var3 = (float)this.field1487[0] + (float)(this.field1487[1] - this.field1487[0]) * var2; + var3 *= 0.0030517578F; + field1491 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); + forwardMultiplier = (int)(field1491 * 65536.0F); + } - float[] var4; - int var5; - for (var5 = 1; var5 < this.pairs[var1]; ++var5) { - var3 = this.method24(var1, var5, var2); - float var6 = -2.0F * var3 * (float)Math.cos((double)this.method25(var1, var5, var2)); - float var7 = var3 * var3; - field32[var1][var5 * 2 + 1] = field32[var1][var5 * 2 - 1] * var7; - field32[var1][var5 * 2] = field32[var1][var5 * 2 - 1] * var6 + field32[var1][var5 * 2 - 2] * var7; + if (this.pairs[var1] == 0) { + return 0; + } else { + var3 = this.method2668(var1, 0, var2); + field1488[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2683(var1, 0, var2)); + field1488[var1][1] = var3 * var3; - for (int var8 = var5 * 2 - 1; var8 >= 2; --var8) { - var4 = field32[var1]; - var4[var8] += field32[var1][var8 - 1] * var6 + field32[var1][var8 - 2] * var7; - } + float[] var10000; + int var4; + for (var4 = 1; var4 < this.pairs[var1]; ++var4) { + var3 = this.method2668(var1, var4, var2); + float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2683(var1, var4, var2)); + float var6 = var3 * var3; + field1488[var1][var4 * 2 + 1] = field1488[var1][var4 * 2 - 1] * var6; + field1488[var1][var4 * 2] = field1488[var1][var4 * 2 - 1] * var5 + field1488[var1][var4 * 2 - 2] * var6; - var4 = field32[var1]; - var4[1] += field32[var1][0] * var6 + var7; - var4 = field32[var1]; - var4[0] += var6; - } + for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { + var10000 = field1488[var1]; + var10000[var7] += field1488[var1][var7 - 1] * var5 + field1488[var1][var7 - 2] * var6; + } - if (var1 == 0) { - for (var5 = 0; var5 < this.pairs[0] * 2; ++var5) { - var4 = field32[0]; - var4[var5] *= field34; - } - } + var10000 = field1488[var1]; + var10000[1] += field1488[var1][0] * var5 + var6; + var10000 = field1488[var1]; + var10000[0] += var5; + } - for (var5 = 0; var5 < this.pairs[var1] * 2; ++var5) { - coefficients[var1][var5] = (int)(field32[var1][var5] * 65536.0F); - } + if (var1 == 0) { + for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { + var10000 = field1488[0]; + var10000[var4] *= field1491; + } + } - return this.pairs[var1] * 2; - } - } + for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { + coefficients[var1][var4] = (int)(field1488[var1][var4] * 65536.0F); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;Lde;)V" - ) - final void method27(Buffer var1, SoundEnvelope var2) { - int var3 = var1.readUnsignedByte(); - this.pairs[0] = var3 >> 4; - this.pairs[1] = var3 & 15; - if (var3 != 0) { - this.field39[0] = var1.readUnsignedShort(); - this.field39[1] = var1.readUnsignedShort(); - int var4 = var1.readUnsignedByte(); + return this.pairs[var1] * 2; + } + } - int var5; - int var6; - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - this.field37[var5][0][var6] = var1.readUnsignedShort(); - this.field38[var5][0][var6] = var1.readUnsignedShort(); - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;Ldw;)V" + ) + final void method2680(Buffer var1, SoundEnvelope var2) { + int var3 = var1.readUnsignedByte(); + this.pairs[0] = var3 >> 4; + this.pairs[1] = var3 & 15; + if (var3 != 0) { + this.field1487[0] = var1.readUnsignedShort(); + this.field1487[1] = var1.readUnsignedShort(); + int var4 = var1.readUnsignedByte(); - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - if ((var4 & 1 << var5 * 4 << var6) != 0) { - this.field37[var5][1][var6] = var1.readUnsignedShort(); - this.field38[var5][1][var6] = var1.readUnsignedShort(); - } else { - this.field37[var5][1][var6] = this.field37[var5][0][var6]; - this.field38[var5][1][var6] = this.field38[var5][0][var6]; - } - } - } + int var5; + int var6; + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + this.field1494[var5][0][var6] = var1.readUnsignedShort(); + this.field1486[var5][0][var6] = var1.readUnsignedShort(); + } + } - if (var4 != 0 || this.field39[1] != this.field39[0]) { - var2.decodeSegments(var1); - } - } else { - int[] var7 = this.field39; - this.field39[1] = 0; - var7[0] = 0; - } + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + if ((var4 & 1 << var5 * 4 << var6) != 0) { + this.field1494[var5][1][var6] = var1.readUnsignedShort(); + this.field1486[var5][1][var6] = var1.readUnsignedShort(); + } else { + this.field1494[var5][1][var6] = this.field1494[var5][0][var6]; + this.field1486[var5][1][var6] = this.field1486[var5][0][var6]; + } + } + } - } + if (var4 != 0 || this.field1487[1] != this.field1487[0]) { + var2.decodeSegments(var1); + } + } else { + int[] var7 = this.field1487; + this.field1487[1] = 0; + var7[0] = 0; + } - @ObfuscatedName("f") - static float method2646(float var0) { - float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); - return var1 * 3.1415927F / 11025.0F; - } + } - static { - field32 = new float[2][8]; - coefficients = new int[2][8]; - } + @ObfuscatedName("w") + static float method2670(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/BoundaryObject.java b/runescape-client/src/main/java/BoundaryObject.java index 38619e27ff..624ba45267 100644 --- a/runescape-client/src/main/java/BoundaryObject.java +++ b/runescape-client/src/main/java/BoundaryObject.java @@ -4,132 +4,133 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ej") +@ObfuscatedName("em") @Implements("BoundaryObject") public final class BoundaryObject { - @ObfuscatedName("jv") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field40; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -9307913 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 860688417 - ) - @Export("x") - int x; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -260081891 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1724480965 - ) - @Export("orientationA") - int orientationA; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -969316473 - ) - @Export("orientationB") - int orientationB; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity1") - public Entity entity1; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity2") - public Entity entity2; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = -4401157754236673285L - ) - @Export("tag") - public long tag; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -693868549 - ) - @Export("flags") - int flags; + @ObfuscatedName("sx") + @ObfuscatedSignature( + signature = "Llw;" + ) + @Export("worldMap") + static WorldMap worldMap; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 2097561189 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1949359765 + ) + @Export("x") + int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1661311189 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 258723163 + ) + @Export("orientationA") + int orientationA; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -321030007 + ) + @Export("orientationB") + int orientationB; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity1") + public Entity entity1; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity2") + public Entity entity2; + @ObfuscatedName("i") + @ObfuscatedGetter( + longValue = 7136672908246986663L + ) + @Export("tag") + public long tag; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -77784117 + ) + @Export("flags") + int flags; - BoundaryObject() { - this.tag = 0L; - this.flags = 0; - } + BoundaryObject() { + this.tag = 0L; + this.flags = 0; + } - @ObfuscatedName("fr") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "103" - ) - @Export("doCheat") - static final void doCheat(String var0) { - if (var0.equalsIgnoreCase("toggleroof")) { - ReflectionCheck.clientPreferences.roofsHidden = !ReflectionCheck.clientPreferences.roofsHidden; - WorldMapSection3.savePreferences(); - if (ReflectionCheck.clientPreferences.roofsHidden) { - WorldMapIcon1.addGameMessage(99, "", "Roofs are now all hidden"); - } else { - WorldMapIcon1.addGameMessage(99, "", "Roofs will only be removed selectively"); - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;IZB)Lek;", + garbageValue = "103" + ) + public static Frames method3262(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { + boolean var4 = true; + int[] var5 = var0.getGroupFileIds(var2); - if (var0.equalsIgnoreCase("displayfps")) { - Client.displayFps = !Client.displayFps; - } + 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 (var0.equalsIgnoreCase("renderself")) { - Client.renderSelf = !Client.renderSelf; - } + if (var9 == null) { + var4 = false; + } + } + } - if (var0.equalsIgnoreCase("mouseovertext")) { - Client.showMouseOverText = !Client.showMouseOverText; - } + if (!var4) { + return null; + } else { + try { + return new Frames(var0, var1, var2, var3); + } catch (Exception var11) { + return null; + } + } + } - if (Client.staffModLevel >= 2) { - if (var0.equalsIgnoreCase("errortest")) { - throw new RuntimeException(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)Liv;", + garbageValue = "-497669049" + ) + @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)); + } - if (var0.equalsIgnoreCase("showcoord")) { - class60.worldMap.showCoord = !class60.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")) { - class48.method868(); - } - } - - PacketBufferNode var1 = Interpreter.method1915(ClientPacket.field282, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(var0.length() + 1); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method241(var1); - } + EnumDefinition.EnumDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/Bounds.java b/runescape-client/src/main/java/Bounds.java index 46652aebef..a3418c16a2 100644 --- a/runescape-client/src/main/java/Bounds.java +++ b/runescape-client/src/main/java/Bounds.java @@ -1,157 +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("la") +@ObfuscatedName("ls") @Implements("Bounds") public class Bounds { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -2004088829 - ) - public int field41; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1887298731 - ) - public int field42; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 2001187823 - ) - public int field43; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1377856837 - ) - public int field44; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1186074789 + ) + @Export("lowX") + public int lowX; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -198324779 + ) + @Export("lowY") + public int lowY; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -574576823 + ) + @Export("highX") + public int highX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 833436879 + ) + @Export("highY") + public int highY; - public Bounds(int var1, int var2, int var3, int var4) { - this.method28(var1, var2); - this.method29(var3, var4); - } + 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); - } + public Bounds(int var1, int var2) { + this(0, 0, var1, var2); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "1" - ) - public void method28(int var1, int var2) { - this.field41 = var1; - this.field42 = var2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-102" + ) + @Export("setLow") + public void setLow(int var1, int var2) { + this.lowX = var1; + this.lowY = var2; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-11269827" - ) - public void method29(int var1, int var2) { - this.field43 = var1; - this.field44 = var2; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "12" + ) + @Export("setHigh") + public void setHigh(int var1, int var2) { + this.highX = var1; + this.highY = var2; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lla;Lla;I)V", - garbageValue = "-2123792170" - ) - public void method30(Bounds var1, Bounds var2) { - this.method31(var1, var2); - this.method32(var1, var2); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lls;Lls;I)V", + garbageValue = "799718452" + ) + public void method5980(Bounds var1, Bounds var2) { + this.method5968(var1, var2); + this.method5964(var1, var2); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lla;Lla;I)V", - garbageValue = "314675149" - ) - void method31(Bounds var1, Bounds var2) { - var2.field41 = this.field41; - var2.field43 = this.field43; - if (this.field41 < var1.field41) { - var2.field43 -= var1.field41 - this.field41; - var2.field41 = var1.field41; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lls;Lls;B)V", + garbageValue = "-20" + ) + void method5968(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.method33() > var1.method33()) { - var2.field43 -= var2.method33() - var1.method33(); - } + if (var2.method5976() > var1.method5976()) { + var2.highX -= var2.method5976() - var1.method5976(); + } - if (var2.field43 < 0) { - var2.field43 = 0; - } + if (var2.highX < 0) { + var2.highX = 0; + } - } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lla;Lla;S)V", - garbageValue = "128" - ) - void method32(Bounds var1, Bounds var2) { - var2.field42 = this.field42; - var2.field44 = this.field44; - if (this.field42 < var1.field42) { - var2.field44 -= var1.field42 - this.field42; - var2.field42 = var1.field42; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lls;Lls;I)V", + garbageValue = "182983589" + ) + void method5964(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.method34() > var1.method34()) { - var2.field44 -= var2.method34() - var1.method34(); - } + if (var2.method5965() > var1.method5965()) { + var2.highY -= var2.method5965() - var1.method5965(); + } - if (var2.field44 < 0) { - var2.field44 = 0; - } + if (var2.highY < 0) { + var2.highY = 0; + } - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1842151293" - ) - int method33() { - return this.field41 + this.field43; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1428102724" + ) + int method5976() { + return this.highX + this.lowX; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-22" - ) - int method34() { - return this.field42 + this.field44; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "185439342" + ) + int method5965() { + return this.highY + this.lowY; + } - public String toString() { - return null; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(DDII)[D", - garbageValue = "2112793889" - ) - public static double[] method5905(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) { - double var9 = ((double)var7 - var0) / var2; - double var11 = Math.exp(-var9 * var9 / 2.0D) / Math.sqrt(6.283185307179586D); - double var13 = var11 / var2; - var6[var8] = var13; - ++var7; - } - - return var6; - } + public String toString() { + return null; + } } diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index a45ba272a1..33eab5dd66 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -4,93 +4,95 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ke") +@ObfuscatedName("jz") @Implements("Buddy") public class Buddy extends User { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 429472919 - ) - @Export("world") - public int world; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 120689297 - ) - @Export("int2") - public int int2; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -304954565 - ) - @Export("rank") - public int rank; + @ObfuscatedName("ss") + @ObfuscatedGetter( + longValue = 7424240758646581017L + ) + static long field3632; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 90340793 + ) + @Export("world") + public int world; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1246846103 + ) + @Export("int2") + public int int2; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -247571967 + ) + @Export("rank") + public int rank; - Buddy() { - this.world = -1; - } + Buddy() { + this.world = -1; + } - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(IIS)V", - garbageValue = "867" - ) - @Export("set") - void set(int var1, int var2) { - this.world = var1; - this.int2 = var2; - } + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1729653997" + ) + @Export("set") + void set(int var1, int var2) { + this.world = var1; + this.int2 = var2; + } - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("getWorld") - public int getWorld() { - return this.world; - } + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "212736889" + ) + @Export("getWorld") + public int getWorld() { + return this.world; + } - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1888702836" - ) - @Export("hasWorld") - public boolean hasWorld() { - return this.world > 0; - } + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-4" + ) + @Export("hasWorld") + public boolean hasWorld() { + return this.world > 0; + } - @ObfuscatedName("ff") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1868787018" - ) - @Export("processOverheadText") - static final void processOverheadText() { - int[] var0 = Players.Players_indices; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1131109761" + ) + public static int method5170(int var0) { + long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; + int var1 = (int)(var2 >>> 0 & 127L); + return var1; + } - 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; - } - } - } + @ObfuscatedName("eq") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "0" + ) + static int method5176() { + if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + int var0 = 0; - 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; - } - } - } + for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) { + var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; + } - } + return var0 * 10000 / Client.field927; + } else { + return 10000; + } + } } diff --git a/runescape-client/src/main/java/BuddyRankComparator.java b/runescape-client/src/main/java/BuddyRankComparator.java index 23c76bfbd4..a1bb434603 100644 --- a/runescape-client/src/main/java/BuddyRankComparator.java +++ b/runescape-client/src/main/java/BuddyRankComparator.java @@ -1,48 +1,66 @@ +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.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fw") +@ObfuscatedName("fg") @Implements("BuddyRankComparator") public class BuddyRankComparator extends AbstractUserComparator { - @ObfuscatedName("nm") - @ObfuscatedGetter( - intValue = 1006519291 - ) - static int field1114; - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("m") + @Export("musicTrackBoolean") + public static boolean musicTrackBoolean; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public BuddyRankComparator(boolean var1) { - this.reversed = var1; - } + public BuddyRankComparator(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "884616259" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return var2.rank != var1.rank ? (this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "-813496584" + ) + @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); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "307754910" - ) - public static void method3382() { - Widget.widgetSpriteCache.clear(); - Widget.Widget_cachedModels.clear(); - Widget.Widget_cachedFonts.clear(); - Widget.field956.clear(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BB)Lly;", + garbageValue = "-3" + ) + @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); + } } diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index ec0ccb5661..d8b066ffff 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -5,1072 +5,1002 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gr") +@ObfuscatedName("kf") @Implements("Buffer") public class Buffer extends Node { - @ObfuscatedName("q") - @Export("crc32Table") - static int[] crc32Table; - @ObfuscatedName("o") - @Export("crc64Table") - static long[] crc64Table; - @ObfuscatedName("m") - @Export("array") - public byte[] array; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -271438207 - ) - @Export("index") - public int index; - - public Buffer(int var1) { - this.array = Canvas.method862(var1); - this.index = 0; - } - - public Buffer(byte[] var1) { - this.array = var1; - this.index = 0; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "13572" - ) - public void method36() { - if (this.array != null) { - VertexNormal.method2984(this.array); - } - - this.array = null; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-654332799" - ) - @Export("writeByte") - public void writeByte(int value) { - this.array[++this.index - 1] = (byte)value; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "0" - ) - @Export("writeShort") - public void writeShort(int value) { - this.array[++this.index - 1] = (byte)(value >> 8); - this.array[++this.index - 1] = (byte)value; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-26" - ) - @Export("writeMedium") - public void writeMedium(int value) { - this.array[++this.index - 1] = (byte)(value >> 16); - this.array[++this.index - 1] = (byte)(value >> 8); - this.array[++this.index - 1] = (byte)value; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-106996411" - ) - @Export("writeInt") - public void writeInt(int value) { - this.array[++this.index - 1] = (byte)(value >> 24); - this.array[++this.index - 1] = (byte)(value >> 16); - this.array[++this.index - 1] = (byte)(value >> 8); - this.array[++this.index - 1] = (byte)value; - } - - @ObfuscatedName("g") - @Export("writeLongMedium") - public void writeLongMedium(long var1) { - this.array[++this.index - 1] = (byte)((int)(var1 >> 40)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 32)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 24)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 16)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 8)); - this.array[++this.index - 1] = (byte)((int)var1); - } - - @ObfuscatedName("l") - @Export("writeLong") - public void writeLong(long var1) { - this.array[++this.index - 1] = (byte)((int)(var1 >> 56)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 48)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 40)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 32)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 24)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 16)); - this.array[++this.index - 1] = (byte)((int)(var1 >> 8)); - this.array[++this.index - 1] = (byte)((int)var1); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "-125" - ) - @Export("writeBoolean") - public void writeBoolean(boolean value) { - this.writeByte(value ? 1 : 0); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "-9" - ) - @Export("writeStringCp1252NullTerminated") - public void writeStringCp1252NullTerminated(String string) { - int var2 = string.indexOf(0); - if (var2 >= 0) { - throw new IllegalArgumentException(""); - } else { - this.index += SoundCache.encodeStringCp1252(string, 0, string.length(), this.array, this.index); - this.array[++this.index - 1] = 0; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;S)V", - garbageValue = "22356" - ) - @Export("writeStringCp1252NullCircumfixed") - public void writeStringCp1252NullCircumfixed(String string) { - int var2 = string.indexOf(0); - if (var2 >= 0) { - throw new IllegalArgumentException(""); - } else { - this.array[++this.index - 1] = 0; - this.index += SoundCache.encodeStringCp1252(string, 0, string.length(), this.array, this.index); - this.array[++this.index - 1] = 0; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;B)V", - garbageValue = "58" - ) - @Export("writeCESU8") - public void writeCESU8(CharSequence var1) { - int var2 = var1.length(); - int var3 = 0; - - for (int var4 = 0; var4 < var2; ++var4) { - char var5 = var1.charAt(var4); - if (var5 <= 127) { - ++var3; - } else if (var5 <= 2047) { - var3 += 2; - } else { - var3 += 3; - } - } - - this.array[++this.index - 1] = 0; - this.writeVarInt(var3); - this.index += class16.method190(this.array, this.index, var1); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-1915344405" - ) - @Export("writeBytes") - public void writeBytes(byte[] bytes, int startIdx, int endIdx) { - for (int var4 = startIdx; var4 < endIdx + startIdx; ++var4) { - this.array[++this.index - 1] = bytes[var4]; - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-225163682" - ) - @Export("writeLengthInt") - public void writeLengthInt(int var1) { - this.array[this.index - var1 - 4] = (byte)(var1 >> 24); - this.array[this.index - var1 - 3] = (byte)(var1 >> 16); - this.array[this.index - var1 - 2] = (byte)(var1 >> 8); - this.array[this.index - var1 - 1] = (byte)var1; - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1298210761" - ) - @Export("writeLengthShort") - public void writeLengthShort(int var1) { - this.array[this.index - var1 - 2] = (byte)(var1 >> 8); - this.array[this.index - var1 - 1] = (byte)var1; - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1839722163" - ) - @Export("writeLengthByte") - public void writeLengthByte(int var1) { - this.array[this.index - var1 - 1] = (byte)var1; - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1324532803" - ) - @Export("writeSmartByteShort") - public void writeSmartByteShort(int value) { - if (value >= 0 && value < 128) { - this.writeByte(value); - } else { - if (value < 0 || value >= 32768) { - throw new IllegalArgumentException(); - } - - this.writeShort(value + 32768); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "820873705" - ) - @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("p") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "82" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() { - return this.array[++this.index - 1] & 255; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "-1627696222" - ) - @Export("readByte") - public byte readByte() { - return this.array[++this.index - 1]; - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-86" - ) - @Export("readUnsignedShort") - public int readUnsignedShort() { - this.index += 2; - return (this.array[this.index - 1] & 255) + ((this.array[this.index - 2] & 255) << 8); - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "1" - ) - @Export("readShort") - public int readShort() { - this.index += 2; - int var1 = (this.array[this.index - 1] & 255) + ((this.array[this.index - 2] & 255) << 8); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1080768729" - ) - @Export("readMedium") - public int readMedium() { - this.index += 3; - return ((this.array[this.index - 3] & 255) << 16) + (this.array[this.index - 1] & 255) + ((this.array[this.index - 2] & 255) << 8); - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1338012999" - ) - @Export("readInt") - public int readInt() { - this.index += 4; - return ((this.array[this.index - 3] & 255) << 16) + (this.array[this.index - 1] & 255) + ((this.array[this.index - 2] & 255) << 8) + ((this.array[this.index - 4] & 255) << 24); - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(I)J", - garbageValue = "-2077445946" - ) - @Export("readLong") - public long readLong() { - long var1 = (long)this.readInt() & 4294967295L; - long var3 = (long)this.readInt() & 4294967295L; - return (var1 << 32) + var3; - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-2145047746" - ) - @Export("readBoolean") - public boolean readBoolean() { - return (this.readUnsignedByte() & 1) == 1; - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "377528415" - ) - @Export("readStringCp1252NullTerminatedOrNull") - public String readStringCp1252NullTerminatedOrNull() { - if (this.array[this.index] == 0) { - ++this.index; - return null; - } else { - return this.readStringCp1252NullTerminated(); - } - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-1079610633" - ) - @Export("readStringCp1252NullTerminated") - public String readStringCp1252NullTerminated() { - int var1 = this.index; - - while (this.array[++this.index - 1] != 0) { - } - - int var2 = this.index - var1 - 1; - return var2 == 0 ? "" : InterfaceParent.decodeStringCp1252(this.array, var1, var2); - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-1806000702" - ) - @Export("readStringCp1252NullCircumfixed") - public String readStringCp1252NullCircumfixed() { - byte var1 = this.array[++this.index - 1]; - if (var1 != 0) { - throw new IllegalStateException(""); - } else { - int var2 = this.index; - - while (this.array[++this.index - 1] != 0) { - } - - int var3 = this.index - var2 - 1; - return var3 == 0 ? "" : InterfaceParent.decodeStringCp1252(this.array, var2, var3); - } - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "-14" - ) - @Export("readCESU8") - public String readCESU8() { - byte var1 = this.array[++this.index - 1]; - if (var1 != 0) { - throw new IllegalStateException(""); - } else { - int var2 = this.readVarInt(); - if (var2 + this.index > this.array.length) { - throw new IllegalStateException(""); - } else { - byte[] var3 = this.array; - int var4 = this.index; - char[] var5 = new char[var2]; - int var6 = 0; - int var7 = var4; - - int var8; - for (int var9 = var4 + var2; var7 < var9; var5[var6++] = (char)var8) { - int var10 = var3[var7++] & 255; - if (var10 < 128) { - if (var10 == 0) { - var8 = 65533; - } else { - var8 = var10; - } - } else if (var10 < 192) { - var8 = 65533; - } else if (var10 < 224) { - if (var7 < var9 && (var3[var7] & 192) == 128) { - var8 = (var10 & 31) << 6 | var3[var7++] & 63; - if (var8 < 128) { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else if (var10 < 240) { - if (var7 + 1 < var9 && (var3[var7] & 192) == 128 && (var3[var7 + 1] & 192) == 128) { - var8 = (var10 & 15) << 12 | (var3[var7++] & 63) << 6 | var3[var7++] & 63; - if (var8 < 2048) { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else if (var10 < 248) { - if (var7 + 2 < var9 && (var3[var7] & 192) == 128 && (var3[var7 + 1] & 192) == 128 && (var3[var7 + 2] & 192) == 128) { - var8 = (var10 & 7) << 18 | (var3[var7++] & 63) << 12 | (var3[var7++] & 63) << 6 | var3[var7++] & 63; - if (var8 >= 65536 && var8 <= 1114111) { - var8 = 65533; - } else { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else { - var8 = 65533; - } - } - - String var11 = new String(var5, 0, var6); - this.index += var2; - return var11; - } - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-122" - ) - @Export("readBytes") - public void readBytes(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - var1[var4] = this.array[++this.index - 1]; - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-24" - ) - @Export("readShortSmart") - public int readShortSmart() { - int var1 = this.array[this.index] & 255; - return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1370512869" - ) - @Export("readUShortSmart") - public int readUShortSmart() { - int var1 = this.array[this.index] & 255; - return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1177684230" - ) - public int method49() { - int var1 = 0; - - int var2; - for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { - var1 += 32767; - } - - var1 += var2; - return var1; - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "103" - ) - public int method50() { - return this.array[this.index] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1151173205" - ) - public int method51() { - if (this.array[this.index] < 0) { - return this.readInt() & Integer.MAX_VALUE; - } else { - int var1 = this.readUnsignedShort(); - return var1 == 32767 ? -1 : var1; - } - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "984135559" - ) - @Export("readVarInt") - public int readVarInt() { - byte var1 = this.array[++this.index - 1]; - - int var2; - for (var2 = 0; var1 < 0; var1 = this.array[++this.index - 1]) { - var2 = (var2 | var1 & 127) << 7; - } - - return var2 | var1; - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "([IB)V", - garbageValue = "36" - ) - @Export("xteaEncryptAll") - public void xteaEncryptAll(int[] xteaKey) { - int var2 = this.index / 8; - this.index = 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) ^ xteaKey[var6 >>> 11 & 3] + var6) { - var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + xteaKey[var6 & 3]; - var6 += var7; - } - - this.index -= 8; - this.writeInt(var4); - this.writeInt(var5); - } - - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "([II)V", - garbageValue = "1682045100" - ) - @Export("xteaDecryptAll") - public void xteaDecryptAll(int[] xteaKey) { - int var2 = this.index / 8; - this.index = 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 + xteaKey[var6 & 3]) { - var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ xteaKey[var6 >>> 11 & 3] + var6; - var6 -= var7; - } - - this.index -= 8; - this.writeInt(var4); - this.writeInt(var5); - } - - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "([IIII)V", - garbageValue = "-1341435074" - ) - @Export("xteaEncrypt") - public void xteaEncrypt(int[] xteaKey, int start, int end) { - int var4 = this.index; - this.index = start; - int var5 = (end - start) / 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) ^ xteaKey[var9 >>> 11 & 3] + var9) { - var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + xteaKey[var9 & 3]; - var9 += var10; - } - - this.index -= 8; - this.writeInt(var7); - this.writeInt(var8); - } - - this.index = var4; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "([IIII)V", - garbageValue = "307218624" - ) - @Export("xteaDecrypt") - public void xteaDecrypt(int[] xteaKey, int start, int end) { - int var4 = this.index; - this.index = start; - int var5 = (end - start) / 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 + xteaKey[var9 & 3]) { - var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ xteaKey[var9 >>> 11 & 3] + var9; - var9 -= var10; - } - - this.index -= 8; - this.writeInt(var7); - this.writeInt(var8); - } - - this.index = var4; - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", - garbageValue = "-2119154784" - ) - @Export("encryptRsa") - public void encryptRsa(BigInteger var1, BigInteger var2) { - int var3 = this.index; - this.index = 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.index = 0; - this.writeShort(var7.length); - this.writeBytes(var7, 0, var7.length); - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-484928770" - ) - @Export("writeCrc") - public int writeCrc(int var1) { - byte[] var2 = this.array; - int var3 = this.index; - int var4 = -1; - - for (int var5 = var1; var5 < var3; ++var5) { - var4 = var4 >>> 8 ^ crc32Table[(var4 ^ var2[var5]) & 255]; - } - - var4 = ~var4; - this.writeInt(var4); - return var4; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-11" - ) - @Export("checkCrc") - public boolean checkCrc() { - this.index -= 4; - byte[] var1 = this.array; - int var2 = this.index; - int var3 = -1; - - int var4; - for (var4 = 0; var4 < var2; ++var4) { - var3 = var3 >>> 8 ^ crc32Table[(var3 ^ var1[var4]) & 255]; - } - - var3 = ~var3; - var4 = this.readInt(); - return var4 == var3; - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-47" - ) - public void method55(int var1) { - this.array[++this.index - 1] = (byte)(var1 + 128); - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1336494664" - ) - public void method56(int var1) { - this.array[++this.index - 1] = (byte)(0 - var1); - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "21" - ) - public void method57(int var1) { - this.array[++this.index - 1] = (byte)(128 - var1); - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-86972759" - ) - public int method58() { - return this.array[++this.index - 1] - 128 & 255; - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-840473648" - ) - @Export("readUnsignedByteNegate") - public int readUnsignedByteNegate() { - return 0 - this.array[++this.index - 1] & 255; - } - - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "359814653" - ) - public int method59() { - return 128 - this.array[++this.index - 1] & 255; - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "2130167320" - ) - public byte method60() { - return (byte)(this.array[++this.index - 1] - 128); - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "1415936818" - ) - public byte method61() { - return (byte)(0 - this.array[++this.index - 1]); - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "1496705333" - ) - public byte method62() { - return (byte)(128 - this.array[++this.index - 1]); - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "51" - ) - @Export("writeShortLE") - public void writeShortLE(int value) { - this.array[++this.index - 1] = (byte)value; - this.array[++this.index - 1] = (byte)(value >> 8); - } - - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "189694315" - ) - public void method63(int var1) { - this.array[++this.index - 1] = (byte)(var1 >> 8); - this.array[++this.index - 1] = (byte)(var1 + 128); - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-7" - ) - public void method64(int var1) { - this.array[++this.index - 1] = (byte)(var1 + 128); - this.array[++this.index - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2147134369" - ) - public int method65() { - this.index += 2; - return ((this.array[this.index - 1] & 255) << 8) + (this.array[this.index - 2] & 255); - } - - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1489217204" - ) - public int method66() { - this.index += 2; - return (this.array[this.index - 1] - 128 & 255) + ((this.array[this.index - 2] & 255) << 8); - } - - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-86" - ) - public int method67() { - this.index += 2; - return ((this.array[this.index - 1] & 255) << 8) + (this.array[this.index - 2] - 128 & 255); - } - - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "54" - ) - public int method68() { - this.index += 2; - int var1 = ((this.array[this.index - 1] & 255) << 8) + (this.array[this.index - 2] & 255); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "388487388" - ) - public int method69() { - this.index += 2; - int var1 = ((this.array[this.index - 1] & 255) << 8) + (this.array[this.index - 2] - 128 & 255); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-88751042" - ) - public int method70() { - this.index += 3; - return (this.array[this.index - 3] & 255) + ((this.array[this.index - 2] & 255) << 8) + ((this.array[this.index - 1] & 255) << 16); - } - - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "78" - ) - @Export("writeIntLE") - public void writeIntLE(int value) { - this.array[++this.index - 1] = (byte)value; - this.array[++this.index - 1] = (byte)(value >> 8); - this.array[++this.index - 1] = (byte)(value >> 16); - this.array[++this.index - 1] = (byte)(value >> 24); - } - - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "80" - ) - @Export("writeIntME") - public void writeIntME(int value) { - this.array[++this.index - 1] = (byte)(value >> 8); - this.array[++this.index - 1] = (byte)value; - this.array[++this.index - 1] = (byte)(value >> 24); - this.array[++this.index - 1] = (byte)(value >> 16); - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2115295559" - ) - @Export("writeIntLE16") - public void writeIntLE16(int value) { - this.array[++this.index - 1] = (byte)(value >> 16); - this.array[++this.index - 1] = (byte)(value >> 24); - this.array[++this.index - 1] = (byte)value; - this.array[++this.index - 1] = (byte)(value >> 8); - } - - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1322860835" - ) - public int method71() { - this.index += 4; - return (this.array[this.index - 4] & 255) + ((this.array[this.index - 3] & 255) << 8) + ((this.array[this.index - 2] & 255) << 16) + ((this.array[this.index - 1] & 255) << 24); - } - - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1731171028" - ) - public int method72() { - this.index += 4; - return ((this.array[this.index - 2] & 255) << 24) + ((this.array[this.index - 4] & 255) << 8) + (this.array[this.index - 3] & 255) + ((this.array[this.index - 1] & 255) << 16); - } - - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-126" - ) - public int method73() { - this.index += 4; - return ((this.array[this.index - 1] & 255) << 8) + ((this.array[this.index - 4] & 255) << 16) + (this.array[this.index - 2] & 255) + ((this.array[this.index - 3] & 255) << 24); - } - - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "1303287859" - ) - public void method74(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - var1[var4] = (byte)(this.array[++this.index - 1] - 128); - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - @Export("clearHealthbarCaches") - public static void clearHealthbarCaches() { - HealthBarDefinition.HealthBarDefinition_cached.clear(); - HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); - } - - static { - crc32Table = new int[256]; - - int var0; - for (int var1 = 0; var1 < 256; ++var1) { - int var2 = var1; - - for (var0 = 0; var0 < 8; ++var0) { - if ((var2 & 1) == 1) { - var2 = var2 >>> 1 ^ -306674912; - } else { - var2 >>>= 1; - } - } - - crc32Table[var1] = var2; - } - - crc64Table = new long[256]; - - for (var0 = 0; var0 < 256; ++var0) { - long var4 = (long)var0; - - for (int var3 = 0; var3 < 8; ++var3) { - if ((var4 & 1L) == 1L) { - var4 = var4 >>> 1 ^ -3932672073523589310L; - } else { - var4 >>>= 1; - } - } - - crc64Table[var0] = var4; - } - - } + @ObfuscatedName("i") + @Export("crc32Table") + static int[] crc32Table; + @ObfuscatedName("f") + @Export("crc64Table") + static long[] crc64Table; + @ObfuscatedName("l") + @Export("array") + public byte[] array; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -231155257 + ) + @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 = TextureProvider.method2729(var1); + this.offset = 0; + } + + public Buffer(byte[] var1) { + this.array = var1; + this.offset = 0; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "581390013" + ) + public void method5477() { + if (this.array != null) { + SoundSystem.method2478(this.array); + } + + this.array = null; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "534610428" + ) + @Export("writeByte") + public void writeByte(int var1) { + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "0" + ) + @Export("writeShort") + public void writeShort(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1223441989" + ) + @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("am") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "230474351" + ) + @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("ay") + @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("af") + @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("ab") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1376620834" + ) + @Export("writeBoolean") + public void writeBoolean(boolean var1) { + this.writeByte(var1 ? 1 : 0); + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "891058638" + ) + @Export("writeStringCp1252NullTerminated") + public void writeStringCp1252NullTerminated(String var1) { + int var2 = var1.indexOf(0); + if (var2 >= 0) { + throw new IllegalArgumentException(""); + } else { + this.offset += WorldMapSection0.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "160692340" + ) + @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 += WorldMapSection0.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)V", + garbageValue = "1643646908" + ) + @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 += class80.method1979(this.array, this.offset, var1); + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "910134597" + ) + @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("bn") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1846433239" + ) + @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("bc") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "613117959" + ) + @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("bx") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1716988438" + ) + @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("bo") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "38" + ) + @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("bb") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1995040852" + ) + @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("bs") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "25" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() { + return this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "(B)B", + garbageValue = "0" + ) + @Export("readByte") + public byte readByte() { + return this.array[++this.offset - 1]; + } + + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1459053594" + ) + @Export("readUnsignedShort") + public int readUnsignedShort() { + this.offset += 2; + return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1327508233" + ) + @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("by") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1182668344" + ) + @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("bt") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-107" + ) + @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("bq") + @ObfuscatedSignature( + signature = "(B)J", + garbageValue = "85" + ) + @Export("readLong") + public long readLong() { + long var1 = (long)this.readInt() & 4294967295L; + long var3 = (long)this.readInt() & 4294967295L; + return var3 + (var1 << 32); + } + + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "12452" + ) + @Export("readBoolean") + public boolean readBoolean() { + return (this.readUnsignedByte() & 1) == 1; + } + + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-289262260" + ) + @Export("readStringCp1252NullTerminatedOrNull") + public String readStringCp1252NullTerminatedOrNull() { + if (this.array[this.offset] == 0) { + ++this.offset; + return null; + } else { + return this.readStringCp1252NullTerminated(); + } + } + + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-231155257" + ) + @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 ? "" : FriendSystem.decodeStringCp1252(this.array, var1, var2); + } + + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1224856688" + ) + @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 ? "" : FriendSystem.decodeStringCp1252(this.array, var2, var3); + } + } + + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-534152321" + ) + @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 = ClientPreferences.method1755(this.array, this.offset, var2); + this.offset += var2; + return var3; + } + } + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "1" + ) + @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("be") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1645687054" + ) + @Export("readShortSmart") + public int readShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; + } + + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "497319136" + ) + @Export("readUShortSmart") + public int readUShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; + } + + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-126181090" + ) + public int method5509() { + int var1 = 0; + + int var2; + for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { + var1 += 32767; + } + + var1 += var2; + return var1; + } + + @ObfuscatedName("cf") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "55" + ) + public int method5685() { + return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); + } + + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "4" + ) + public int method5511() { + if (this.array[this.offset] < 0) { + return this.readInt() & Integer.MAX_VALUE; + } else { + int var1 = this.readUnsignedShort(); + return var1 == 32767 ? -1 : var1; + } + } + + @ObfuscatedName("cl") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-31" + ) + @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("cn") + @ObfuscatedSignature( + signature = "([II)V", + garbageValue = "-1108447488" + ) + @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("cy") + @ObfuscatedSignature( + signature = "([II)V", + garbageValue = "2019803853" + ) + @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("ct") + @ObfuscatedSignature( + signature = "([IIII)V", + garbageValue = "1174596892" + ) + @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("cq") + @ObfuscatedSignature( + signature = "([IIII)V", + garbageValue = "1963802752" + ) + @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("cp") + @ObfuscatedSignature( + signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;B)V", + garbageValue = "-32" + ) + @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("ch") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1250667479" + ) + @Export("writeCrc") + public int writeCrc(int var1) { + int var2 = class2.method18(this.array, var1, this.offset); + this.writeInt(var2); + return var2; + } + + @ObfuscatedName("co") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-269588856" + ) + @Export("checkCrc") + public boolean checkCrc() { + this.offset -= 4; + int var1 = class2.method18(this.array, 0, this.offset); + int var2 = this.readInt(); + return var1 == var2; + } + + @ObfuscatedName("cw") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-350257918" + ) + public void method5520(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("ca") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-83332801" + ) + public void method5521(int var1) { + this.array[++this.offset - 1] = (byte)(0 - var1); + } + + @ObfuscatedName("cb") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "-28428" + ) + public void method5502(int var1) { + this.array[++this.offset - 1] = (byte)(128 - var1); + } + + @ObfuscatedName("cx") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1995893034" + ) + public int method5722() { + return this.array[++this.offset - 1] - 128 & 255; + } + + @ObfuscatedName("cu") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-4" + ) + @Export("readUnsignedByteNegate") + public int readUnsignedByteNegate() { + return 0 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "758948119" + ) + public int method5525() { + return 128 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-1190131063" + ) + public byte method5694() { + return (byte)(this.array[++this.offset - 1] - 128); + } + + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "433221072" + ) + public byte method5527() { + return (byte)(0 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-166242071" + ) + public byte method5528() { + return (byte)(128 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cz") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "3" + ) + @Export("writeShortLE") + public void writeShortLE(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("cm") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-54" + ) + public void method5530(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("ck") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2137220162" + ) + public void method5475(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("cc") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "41" + ) + public int method5532() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); + } + + @ObfuscatedName("ci") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "0" + ) + public int method5518() { + this.offset += 2; + return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("cd") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2136582954" + ) + public int method5534() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); + } + + @ObfuscatedName("dr") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-86" + ) + public int method5535() { + 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("dn") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1793884033" + ) + public int method5500() { + 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("dw") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "940152634" + ) + public int method5591() { + 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("dg") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1386013852" + ) + @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("df") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-73" + ) + @Export("writeIntME") + public void writeIntME(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("dt") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "703583712" + ) + @Export("writeIntLE16") + public void writeIntLE16(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("dj") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-897690370" + ) + public int method5541() { + 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("dl") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "113" + ) + public int method5542() { + 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("dz") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-264665087" + ) + public int method5543() { + 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("dh") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-467001406" + ) + public void method5544(byte[] var1, int var2, int var3) { + for (int var4 = var2; var4 < var3 + 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 cfb2addd57..c52d631d60 100644 --- a/runescape-client/src/main/java/BufferedFile.java +++ b/runescape-client/src/main/java/BufferedFile.java @@ -1,403 +1,409 @@ import java.io.EOFException; import java.io.IOException; -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("dy") +@ObfuscatedName("mn") @Implements("BufferedFile") public class BufferedFile { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ldk;" - ) - @Export("accessFile") - AccessFile accessFile; - @ObfuscatedName("f") - @Export("readBuffer") - byte[] readBuffer; - @ObfuscatedName("q") - @ObfuscatedGetter( - longValue = -7773729680030815835L - ) - long field47; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -846810907 - ) - int field48; - @ObfuscatedName("o") - @Export("writeBuffer") - byte[] writeBuffer; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = 5249231081498323007L - ) - long field49; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1558233611 - ) - int field50; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = -6819476051574242871L - ) - long field51; - @ObfuscatedName("e") - @ObfuscatedGetter( - longValue = -3728247331531750871L - ) - long field52; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = 2663146692618913943L - ) - @Export("capacity") - long capacity; - @ObfuscatedName("d") - @ObfuscatedGetter( - longValue = 5720856138805191881L - ) - long field53; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lma;" + ) + @Export("accessFile") + AccessFile accessFile; + @ObfuscatedName("e") + @Export("readBuffer") + byte[] readBuffer; + @ObfuscatedName("p") + @ObfuscatedGetter( + longValue = -5630904549833157093L + ) + @Export("readBufferOffset") + long readBufferOffset; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1225882999 + ) + @Export("readBufferLength") + int readBufferLength; + @ObfuscatedName("l") + @Export("writeBuffer") + byte[] writeBuffer; + @ObfuscatedName("b") + @ObfuscatedGetter( + longValue = 225596692322175817L + ) + @Export("writeBufferOffset") + long writeBufferOffset; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -299149629 + ) + @Export("writeBufferLength") + int writeBufferLength; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = -8683938208221515491L + ) + @Export("offset") + long offset; + @ObfuscatedName("f") + @ObfuscatedGetter( + longValue = 6190164439722426599L + ) + @Export("fileLength") + long fileLength; + @ObfuscatedName("m") + @ObfuscatedGetter( + longValue = 6621326623419959019L + ) + @Export("length") + long length; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = -8187358352341044117L + ) + @Export("fileOffset") + long fileOffset; - @ObfuscatedSignature( - signature = "(Ldk;II)V" - ) - public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { - this.field47 = -1L; - this.field49 = -1L; - this.field50 = 0; - this.accessFile = var1; - this.capacity = this.field52 = var1.length(); - this.readBuffer = new byte[var2]; - this.writeBuffer = new byte[var3]; - this.field51 = 0L; - } + @ObfuscatedSignature( + signature = "(Lma;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("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1424469113" - ) - @Export("close") - public void close() throws IOException { - this.flush(); - this.accessFile.close(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "41" + ) + @Export("close") + public void close() throws IOException { + this.flush(); + this.accessFile.close(); + } - @ObfuscatedName("f") - @Export("seek") - public void seek(long index) throws IOException { - if (index < 0L) { - throw new IOException(""); - } else { - this.field51 = index; - } - } + @ObfuscatedName("w") + @Export("seek") + public void seek(long var1) throws IOException { + if (var1 < 0L) { + throw new IOException(""); + } else { + this.offset = var1; + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)J", - garbageValue = "0" - ) - @Export("length") - public long length() { - return this.capacity; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(S)J", + garbageValue = "21690" + ) + @Export("length") + public long length() { + return this.length; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "617965847" - ) - @Export("readFill") - public void readFill(byte[] dst) throws IOException { - this.read(dst, 0, dst.length); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "-981743247" + ) + @Export("readFully") + public void readFully(byte[] var1) throws IOException { + this.read(var1, 0, var1.length); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-35" - ) - @Export("read") - public void read(byte[] dst, int dstIndex, int length) throws IOException { - try { - if (length + dstIndex > dst.length) { - throw new ArrayIndexOutOfBoundsException(length + dstIndex - dst.length); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "1308534455" + ) + @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.field49 && this.field51 >= this.field49 && this.field51 + (long)length <= this.field49 + (long)this.field50) { - System.arraycopy(this.writeBuffer, (int)(this.field51 - this.field49), dst, dstIndex, length); - this.field51 += (long)length; - return; - } + if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && this.offset + (long)var3 <= this.writeBufferOffset + (long)this.writeBufferLength) { + System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); + this.offset += (long)var3; + return; + } - long var4 = this.field51; - int var6 = length; - int var7; - if (this.field51 >= this.field47 && this.field51 < this.field47 + (long)this.field48) { - var7 = (int)((long)this.field48 - (this.field51 - this.field47)); - if (var7 > length) { - var7 = length; - } + 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.field51 - this.field47), dst, dstIndex, var7); - this.field51 += (long)var7; - dstIndex += var7; - length -= var7; - } + System.arraycopy(this.readBuffer, (int)(this.offset - this.readBufferOffset), var1, var2, var8); + this.offset += (long)var8; + var2 += var8; + var3 -= var8; + } - if (length > this.readBuffer.length) { - this.accessFile.seek(this.field51); + if (var3 > this.readBuffer.length) { + this.accessFile.seek(this.offset); - for (this.field53 = this.field51; length > 0; length -= var7) { - var7 = this.accessFile.read(dst, dstIndex, length); - if (var7 == -1) { - break; - } + for (this.fileOffset = this.offset; var3 > 0; var3 -= var8) { + var8 = this.accessFile.read(var1, var2, var3); + if (var8 == -1) { + break; + } - this.field53 += (long)var7; - this.field51 += (long)var7; - dstIndex += var7; - } - } else if (length > 0) { - this.load(); - var7 = length; - if (length > this.field48) { - var7 = this.field48; - } + 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, dst, dstIndex, var7); - dstIndex += var7; - length -= var7; - this.field51 += (long)var7; - } + System.arraycopy(this.readBuffer, 0, var1, var2, var8); + var2 += var8; + var3 -= var8; + this.offset += (long)var8; + } - if (-1L != this.field49) { - if (this.field49 > this.field51 && length > 0) { - var7 = dstIndex + (int)(this.field49 - this.field51); - if (var7 > length + dstIndex) { - var7 = length + dstIndex; - } + if (this.writeBufferOffset != -1L) { + if (this.writeBufferOffset > this.offset && var3 > 0) { + var8 = var2 + (int)(this.writeBufferOffset - this.offset); + if (var8 > var3 + var2) { + var8 = var3 + var2; + } - while (dstIndex < var7) { - dst[dstIndex++] = 0; - --length; - ++this.field51; - } - } + while (var2 < var8) { + var1[var2++] = 0; + --var3; + ++this.offset; + } + } - long var8 = -1L; - long var10 = -1L; - if (this.field49 >= var4 && this.field49 < var4 + (long)var6) { - var8 = this.field49; - } else if (var4 >= this.field49 && var4 < this.field49 + (long)this.field50) { - var8 = var4; - } + long var13 = -1L; + long var10 = -1L; + if (this.writeBufferOffset >= var4 && this.writeBufferOffset < var4 + (long)var7) { + var13 = this.writeBufferOffset; + } else if (var4 >= this.writeBufferOffset && var4 < this.writeBufferOffset + (long)this.writeBufferLength) { + var13 = var4; + } - if ((long)this.field50 + this.field49 > var4 && this.field49 + (long)this.field50 <= var4 + (long)var6) { - var10 = (long)this.field50 + this.field49; - } else if ((long)var6 + var4 > this.field49 && (long)var6 + var4 <= this.field49 + (long)this.field50) { - var10 = (long)var6 + var4; - } + if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= 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 (var8 > -1L && var10 > var8) { - int var12 = (int)(var10 - var8); - System.arraycopy(this.writeBuffer, (int)(var8 - this.field49), dst, (int)(var8 - var4) + dstIndex, var12); - if (var10 > this.field51) { - length = (int)((long)length - (var10 - this.field51)); - this.field51 = var10; - } - } - } - } catch (IOException var13) { - this.field53 = -1L; - throw var13; - } + 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 (length > 0) { - throw new EOFException(); - } - } + if (var3 > 0) { + throw new EOFException(); + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2020905321" - ) - @Export("load") - void load() throws IOException { - this.field48 = 0; - if (this.field53 != this.field51) { - this.accessFile.seek(this.field51); - this.field53 = this.field51; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-364747525" + ) + @Export("load") + void load() throws IOException { + this.readBufferLength = 0; + if (this.offset != this.fileOffset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } - int var1; - for (this.field47 = this.field51; this.field48 < this.readBuffer.length; this.field48 += var1) { - var1 = this.accessFile.read(this.readBuffer, this.field48, this.readBuffer.length - this.field48); - if (var1 == -1) { - break; - } + 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; + } - this.field53 += (long)var1; - } + var2 = this.accessFile.read(this.readBuffer, this.readBufferLength, var1); + if (var2 == -1) { + break; + } - } + this.fileOffset += (long)var2; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-601174169" - ) - @Export("write") - public void write(byte[] src, int srcIndex, int length) throws IOException { - try { - if (this.field51 + (long)length > this.capacity) { - this.capacity = this.field51 + (long)length; - } + } - if (-1L != this.field49 && (this.field51 < this.field49 || this.field51 > this.field49 + (long)this.field50)) { - this.flush(); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-1530751884" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + try { + if (this.offset + (long)var3 > this.length) { + this.length = this.offset + (long)var3; + } - if (this.field49 != -1L && (long)length + this.field51 > this.field49 + (long)this.writeBuffer.length) { - int var4 = (int)((long)this.writeBuffer.length - (this.field51 - this.field49)); - System.arraycopy(src, srcIndex, this.writeBuffer, (int)(this.field51 - this.field49), var4); - this.field51 += (long)var4; - srcIndex += var4; - length -= var4; - this.field50 = this.writeBuffer.length; - this.flush(); - } + if (-1L != this.writeBufferOffset && (this.offset < this.writeBufferOffset || this.offset > (long)this.writeBufferLength + this.writeBufferOffset)) { + this.flush(); + } - if (length <= this.writeBuffer.length) { - if (length > 0) { - if (this.field49 == -1L) { - this.field49 = this.field51; - } + if (this.writeBufferOffset != -1L && 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(); + } - System.arraycopy(src, srcIndex, this.writeBuffer, (int)(this.field51 - this.field49), length); - this.field51 += (long)length; - if (this.field51 - this.field49 > (long)this.field50) { - this.field50 = (int)(this.field51 - this.field49); - } - } - } else { - if (this.field53 != this.field51) { - this.accessFile.seek(this.field51); - this.field53 = this.field51; - } + if (var3 <= this.writeBuffer.length) { + if (var3 > 0) { + if (this.writeBufferOffset == -1L) { + this.writeBufferOffset = this.offset; + } - this.accessFile.write(src, srcIndex, length); - this.field53 += (long)length; - if (this.field53 > this.field52) { - this.field52 = this.field53; - } + 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); + } - long var10 = -1L; - long var6 = -1L; - if (this.field51 >= this.field47 && this.field51 < (long)this.field48 + this.field47) { - var10 = this.field51; - } else if (this.field47 >= this.field51 && this.field47 < (long)length + this.field51) { - var10 = this.field47; - } + } + } else { + if (this.fileOffset != this.offset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } - if (this.field51 + (long)length > this.field47 && (long)length + this.field51 <= (long)this.field48 + this.field47) { - var6 = this.field51 + (long)length; - } else if ((long)this.field48 + this.field47 > this.field51 && this.field47 + (long)this.field48 <= (long)length + this.field51) { - var6 = (long)this.field48 + this.field47; - } + this.accessFile.write(var1, var2, var3); + this.fileOffset += (long)var3; + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } - if (var10 > -1L && var6 > var10) { - int var8 = (int)(var6 - var10); - System.arraycopy(src, (int)(var10 + (long)srcIndex - this.field51), this.readBuffer, (int)(var10 - this.field47), var8); - } + 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; + } - this.field51 += (long)length; - } + if (this.offset + (long)var3 > this.readBufferOffset && this.offset + (long)var3 <= (long)this.readBufferLength + this.readBufferOffset) { + var6 = (long)var3 + this.offset; + } else if (this.readBufferOffset + (long)this.readBufferLength > this.offset && (long)this.readBufferLength + this.readBufferOffset <= this.offset + (long)var3) { + var6 = (long)this.readBufferLength + this.readBufferOffset; + } - } catch (IOException var9) { - this.field53 = -1L; - throw var9; - } - } + 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); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-931421226" - ) - @Export("flush") - void flush() throws IOException { - if (this.field49 != -1L) { - if (this.field49 != this.field53) { - this.accessFile.seek(this.field49); - this.field53 = this.field49; - } + this.offset += (long)var3; + } + } catch (IOException var12) { + this.fileOffset = -1L; + throw var12; + } + } - this.accessFile.write(this.writeBuffer, 0, this.field50); - this.field53 += (long)(this.field50 * 1290782301) * -1558233611L; - if (this.field53 > this.field52) { - this.field52 = this.field53; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "813445771" + ) + @Export("flush") + void flush() throws IOException { + if (this.writeBufferOffset != -1L) { + if (this.writeBufferOffset != this.fileOffset) { + this.accessFile.seek(this.writeBufferOffset); + this.fileOffset = this.writeBufferOffset; + } - long var1 = -1L; - long var3 = -1L; - if (this.field49 >= this.field47 && this.field49 < (long)this.field48 + this.field47) { - var1 = this.field49; - } else if (this.field47 >= this.field49 && this.field47 < this.field49 + (long)this.field50) { - var1 = this.field47; - } + this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); + this.fileOffset += -299149629L * (long)(this.writeBufferLength * -1383888405); + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } - if (this.field49 + (long)this.field50 > this.field47 && this.field49 + (long)this.field50 <= this.field47 + (long)this.field48) { - var3 = this.field49 + (long)this.field50; - } else if ((long)this.field48 + this.field47 > this.field49 && (long)this.field48 + this.field47 <= (long)this.field50 + this.field49) { - var3 = this.field47 + (long)this.field48; - } + 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 (var1 > -1L && var3 > var1) { - int var5 = (int)(var3 - var1); - System.arraycopy(this.writeBuffer, (int)(var1 - this.field49), this.readBuffer, (int)(var1 - this.field47), var5); - } + if ((long)this.writeBufferLength + this.writeBufferOffset > this.readBufferOffset && this.writeBufferOffset + (long)this.writeBufferLength <= (long)this.readBufferLength + this.readBufferOffset) { + var3 = this.writeBufferOffset + (long)this.writeBufferLength; + } else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= this.writeBufferOffset + (long)this.writeBufferLength) { + var3 = (long)this.readBufferLength + this.readBufferOffset; + } - this.field49 = -1L; - this.field50 = 0; - } + 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; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/net/Socket;IIB)Lfu;", - garbageValue = "110" - ) - public static AbstractSocket method2719(Socket var0, int var1, int var2) throws IOException { - return new BufferedNetSocket(var0, var1, var2); - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "-792629541" - ) - @Export("colorStartTag") - static String colorStartTag(int color) { - return ""; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1560259071" + ) + static int method6528(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; - @ObfuscatedName("er") - @ObfuscatedSignature( - signature = "(I)Llz;", - garbageValue = "-1653835085" - ) - @Export("getWorldMap") - static WorldMap getWorldMap() { - return class60.worldMap; - } + for (int var4 = 0; var4 < var2.quantities.length; ++var4) { + if (var2.ids[var4] == var1) { + var3 += var2.quantities[var4]; + } + } + + return var3; + } + } } diff --git a/runescape-client/src/main/java/BufferedNetSocket.java b/runescape-client/src/main/java/BufferedNetSocket.java index 52b20e5d8a..3b4413f910 100644 --- a/runescape-client/src/main/java/BufferedNetSocket.java +++ b/runescape-client/src/main/java/BufferedNetSocket.java @@ -5,112 +5,103 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ft") +@ObfuscatedName("kb") @Implements("BufferedNetSocket") public class BufferedNetSocket extends AbstractSocket { - @ObfuscatedName("m") - @Export("socket") - Socket socket; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lfh;" - ) - @Export("source") - BufferedSource source; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lfr;" - ) - @Export("sink") - BufferedSink sink; + @ObfuscatedName("q") + @Export("socket") + Socket socket; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lks;" + ) + @Export("source") + BufferedSource source; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkp;" + ) + @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); - } + 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("f") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1765046516" - ) - @Export("isAvailable") - public boolean isAvailable(int length) throws IOException { - return this.source.isAvailable(length); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1144636612" + ) + @Export("close") + public void close() { + this.sink.close(); - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1078471130" - ) - @Export("available") - public int available() throws IOException { - return this.source.available(); - } + try { + this.socket.close(); + } catch (IOException var2) { + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "516705222" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.source.readUnsignedByte(); - } + this.source.close(); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "-1089665746" - ) - @Export("read") - public int read(byte[] dst, int dstIndex, int length) throws IOException { - return this.source.read(dst, dstIndex, length); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "2" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.source.readUnsignedByte(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-86" - ) - @Export("write") - public void write(byte[] src, int srcIndex, int length) throws IOException { - this.sink.write(src, srcIndex, length); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "55" + ) + @Export("available") + public int available() throws IOException { + return this.source.available(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1252618448" - ) - @Export("close") - public void close() { - this.sink.close(); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1948150862" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + return this.source.isAvailable(var1); + } - try { - this.socket.close(); - } catch (IOException var2) { - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "([BIIB)I", + garbageValue = "26" + ) + @Export("read") + public int read(byte[] var1, int var2, int var3) throws IOException { + return this.source.read(var1, var2, var3); + } - this.source.close(); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-1696227994" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.sink.write(var1, var2, var3); + } - protected void finalize() { - this.close(); - } - - @ObfuscatedName("ku") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-598265539" - ) - static void method3500(int var0) { - Client.oculusOrbState = var0; - } + protected void finalize() { + this.close(); + } } diff --git a/runescape-client/src/main/java/BufferedSink.java b/runescape-client/src/main/java/BufferedSink.java index 107fecae1d..d120068db0 100644 --- a/runescape-client/src/main/java/BufferedSink.java +++ b/runescape-client/src/main/java/BufferedSink.java @@ -6,266 +6,195 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fr") +@ObfuscatedName("kp") @Implements("BufferedSink") public class BufferedSink implements Runnable { - @ObfuscatedName("m") - @Export("thread") - Thread thread; - @ObfuscatedName("f") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1805563727 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 315461309 - ) - @Export("position") - int position; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1028856279 - ) - @Export("limit") - int limit; - @ObfuscatedName("g") - @Export("exception") - IOException exception; - @ObfuscatedName("l") - @Export("closed") - boolean closed; + @ObfuscatedName("q") + @Export("thread") + Thread thread; + @ObfuscatedName("w") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -273498913 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("p") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -173399327 + ) + @Export("position") + int position; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1895147359 + ) + @Export("limit") + int limit; + @ObfuscatedName("b") + @Export("exception") + IOException exception; + @ObfuscatedName("i") + @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(); - } + 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("m") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1720378212" - ) - @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); - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-14" + ) + @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; - } - } + return true; + } else { + return false; + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "0" - ) - @Export("write") - void write(byte[] src, int srcIndex, int length) throws IOException { - if (length >= 0 && srcIndex >= 0 && length + srcIndex <= src.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; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "37" + ) + @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 < length) { - throw new IOException(""); - } else { - if (length + this.limit <= this.capacity) { - System.arraycopy(src, srcIndex, this.buffer, this.limit, length); - } else { - int var6 = this.capacity - this.limit; - System.arraycopy(src, srcIndex, this.buffer, this.limit, var6); - System.arraycopy(src, var6 + srcIndex, this.buffer, 0, length - var6); - } + 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 = (length + this.limit) % this.capacity; - this.notifyAll(); - } - } - } - } else { - throw new IOException(); - } - } + this.limit = (var3 + this.limit) % this.capacity; + this.notifyAll(); + } + } + } + } else { + throw new IOException(); + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2015413947" - ) - @Export("close") - void close() { - synchronized(this) { - this.closed = true; - this.notifyAll(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1881137071" + ) + @Export("close") + void close() { + synchronized(this) { + this.closed = true; + this.notifyAll(); + } - try { - this.thread.join(); - } catch (InterruptedException var3) { - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + } - } + } - public void run() { - while (true) { - synchronized(this) { - ; - } + public void run() { + do { + int var1; + synchronized(this) { + while (true) { + if (this.exception != null) { + return; + } - while (true) { - boolean var1 = false; + if (this.position <= this.limit) { + var1 = this.limit - this.position; + } else { + var1 = this.capacity - this.position + this.limit; + } - int var2; - try { - var1 = true; - if (this.exception != null) { - return; - } + if (var1 > 0) { + break; + } - if (this.position <= this.limit) { - var2 = this.limit - this.position; - } else { - var2 = this.capacity - this.position + this.limit; - } + try { + this.outputStream.flush(); + } catch (IOException var11) { + this.exception = var11; + return; + } - if (var2 <= 0) { - try { - this.outputStream.flush(); - } catch (IOException var20) { - this.exception = var20; - return; - } + if (this.isClosed()) { + return; + } - if (this.isClosed()) { - return; - } + try { + this.wait(); + } catch (InterruptedException var12) { + } + } + } - try { - this.wait(); - } catch (InterruptedException var18) { - } - continue; - } + 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; + } + } - var1 = false; - } finally { - if (var1) { - } + synchronized(this) { + this.position = (var1 + this.position) % this.capacity; + } + } while(!this.isClosed()); - } - - try { - if (var2 + this.position <= this.capacity) { - this.outputStream.write(this.buffer, this.position, var2); - } else { - int var3 = this.capacity - this.position; - this.outputStream.write(this.buffer, this.position, var3); - this.outputStream.write(this.buffer, 0, var2 - var3); - } - } catch (IOException var17) { - IOException var4 = var17; - synchronized(this) { - this.exception = var4; - return; - } - } - - synchronized(this) { - this.position = (var2 + this.position) % this.capacity; - } - - if (!this.isClosed()) { - break; - } - - return; - } - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "449588720" - ) - static void method3603() { - Tiles.field908 = ((byte[][][])null); - Fonts.field350 = ((byte[][][])null); - class32.field1157 = ((byte[][][])null); - class307.field1155 = ((byte[][][])null); - Tiles.field910 = ((int[][][])null); - Tiles.field909 = ((byte[][][])null); - Huffman.field398 = ((int[][])null); - class13.field1112 = null; - Formatting.field353 = null; - class214.field1131 = null; - WorldMapSectionType.field1104 = null; - Message.field490 = null; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Lho;I[B[BI)V", - garbageValue = "-1337774818" - ) - static final void method3595(Widget var0, int var1, byte[] var2, byte[] var3) { - if (var0.field966 == null) { - if (var2 == null) { - return; - } - - var0.field966 = new byte[11][]; - var0.field967 = new byte[11][]; - var0.field968 = new int[11]; - var0.field969 = new int[11]; - } - - var0.field966[var1] = var2; - if (var2 != null) { - var0.field965 = true; - } else { - var0.field965 = false; - - for (int var4 = 0; var4 < var0.field966.length; ++var4) { - if (var0.field966[var4] != null) { - var0.field965 = true; - break; - } - } - } - - var0.field967[var1] = var3; - } + } } diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index 0b5bfe5f90..3e2726890e 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -7,275 +7,322 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fh") +@ObfuscatedName("ks") @Implements("BufferedSource") public class BufferedSource implements Runnable { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("Widget_modelsArchive") - public static AbstractArchive Widget_modelsArchive; - @ObfuscatedName("m") - @Export("thread") - Thread thread; - @ObfuscatedName("f") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1970062431 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 267006153 - ) - @Export("position") - int position; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1507905677 - ) - @Export("limit") - int limit; - @ObfuscatedName("g") - @Export("exception") - IOException exception; + @ObfuscatedName("q") + @Export("thread") + Thread thread; + @ObfuscatedName("w") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 491736021 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("p") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -570790809 + ) + @Export("position") + int position; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -902879681 + ) + @Export("limit") + int limit; + @ObfuscatedName("b") + @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(); - } + 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("m") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1727240458" - ) - @Export("isAvailable") - boolean isAvailable(int length) throws IOException { - if (length == 0) { - return true; - } else if (length > 0 && length < this.capacity) { - synchronized(this) { - int var3; - if (this.position <= this.limit) { - var3 = this.limit - this.position; - } else { - var3 = this.capacity - this.position + this.limit; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-1294773775" + ) + @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 < length) { - if (this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - this.notifyAll(); - return false; - } - } else { - return true; - } - } - } else { - throw new IOException(); - } - } + 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("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1475171419" - ) - @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; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-72711599" + ) + @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; - } - } - } + if (var2 <= 0 && this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + this.notifyAll(); + return var2; + } + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1907345200" - ) - @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("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "797723305" + ) + @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("w") - @ObfuscatedSignature( - signature = "([BIIB)I", - garbageValue = "-37" - ) - @Export("read") - int read(byte[] dst, int dstIndex, int length) throws IOException { - if (length >= 0 && dstIndex >= 0 && length + dstIndex <= dst.length) { - synchronized(this) { - int var5; - if (this.position <= this.limit) { - var5 = this.limit - this.position; - } else { - var5 = this.capacity - this.position + this.limit; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BIIS)I", + garbageValue = "28253" + ) + @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 (length > var5) { - length = var5; - } + if (var3 > var5) { + var3 = var5; + } - if (length == 0 && this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - if (length + this.position <= this.capacity) { - System.arraycopy(this.buffer, this.position, dst, dstIndex, length); - } else { - int var6 = this.capacity - this.position; - System.arraycopy(this.buffer, this.position, dst, dstIndex, var6); - System.arraycopy(this.buffer, 0, dst, var6 + dstIndex, length - var6); - } + 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 = (length + this.position) % this.capacity; - this.notifyAll(); - return length; - } - } - } else { - throw new IOException(); - } - } + this.position = (var3 + this.position) % this.capacity; + this.notifyAll(); + return var3; + } + } + } else { + throw new IOException(); + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "886033980" - ) - @Export("close") - void close() { - synchronized(this) { - if (this.exception == null) { - this.exception = new IOException(""); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1361407903" + ) + @Export("close") + void close() { + synchronized(this) { + if (this.exception == null) { + this.exception = new IOException(""); + } - this.notifyAll(); - } + this.notifyAll(); + } - try { - this.thread.join(); - } catch (InterruptedException var3) { - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + } - } + } - public void run() { - while (true) { - int var1; - synchronized(this) { - while (true) { - if (this.exception != null) { - return; - } + 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 (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; - } + if (var1 > 0) { + break; + } - try { - this.wait(); - } catch (InterruptedException var10) { - } - } - } + try { + this.wait(); + } catch (InterruptedException var10) { + } + } + } - int var2; - try { - var2 = this.inputStream.read(this.buffer, this.limit, var1); - if (var2 == -1) { - throw new EOFException(); - } - } catch (IOException var11) { - IOException var4 = var11; - synchronized(this) { - this.exception = var4; - return; - } - } + 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 = (var2 + this.limit) % this.capacity; - } - } - } + synchronized(this) { + this.limit = (var7 + this.limit) % this.capacity; + } + } + } - @ObfuscatedName("gy") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "6" - ) - static final void method3423(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.method229()) { - int var3 = var2.x >> 7; - int var4 = var2.y >> 7; - if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { - if (var2.size == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { - if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { - continue; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;ZII)V", + garbageValue = "-273498913" + ) + static void method5892(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { + if (Login.field1179) { + if (var3 == 4) { + Login.loginIndex = 4; + } - Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; - } + } else { + Login.loginIndex = var3; + Rasterizer2D.Rasterizer2D_clear(); + byte[] var4 = var0.takeFileByNames("title.jpg", ""); + GrandExchangeOfferWorldComparator.leftTitleSprite = BuddyRankComparator.convertJpgToSprite(var4); + NPC.rightTitleSprite = GrandExchangeOfferWorldComparator.leftTitleSprite.mirrorHorizontally(); + if ((Client.worldProperties & 536870912) != 0) { + GroundItem.logoSprite = class215.loadIndexedSpriteByName(var1, "logo_deadman_mode", ""); + } else { + GroundItem.logoSprite = class215.loadIndexedSpriteByName(var1, "logo", ""); + } - long var5 = FontName.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); - var2.playerCycle = Client.cycle; - class65.scene.method285(SoundSystem.plane, var2.x, var2.y, class32.getTileHeight(var2.size * 64 - 64 + var2.x, var2.size * 64 - 64 + var2.y, SoundSystem.plane), var2.size * 64 - 64 + 60, var2, var2.field9, var5, var2.field10); - } - } - } + Login.titleboxSprite = class215.loadIndexedSpriteByName(var1, "titlebox", ""); + VarpDefinition.titlebuttonSprite = class215.loadIndexedSpriteByName(var1, "titlebutton", ""); + int var6 = var1.getGroupId("runes"); + int var7 = var1.getFileId(var6, ""); + IndexedSprite[] var5 = class289.method5281(var1, var6, var7); + Login.runesSprite = var5; + var7 = var1.getGroupId("title_mute"); + int var8 = var1.getFileId(var7, ""); + IndexedSprite[] var9 = class289.method5281(var1, var7, var8); + Login.title_muteSprite = var9; + Login.options_buttons_0Sprite = class215.loadIndexedSpriteByName(var1, "options_radio_buttons,0", ""); + Message.field606 = class215.loadIndexedSpriteByName(var1, "options_radio_buttons,4", ""); + Decimator.options_buttons_2Sprite = class215.loadIndexedSpriteByName(var1, "options_radio_buttons,2", ""); + Login.field1185 = class215.loadIndexedSpriteByName(var1, "options_radio_buttons,6", ""); + class237.field3191 = Login.options_buttons_0Sprite.subWidth; + WorldMapDecoration.field212 = Login.options_buttons_0Sprite.subHeight; + Ignored.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + } - } + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + Login.worldSelectOpen = false; + if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { + WorldMapRegion.method533(2, WorldMapRegion.archive6, "scape main", "", 255, false); + } else { + class40.method729(2); + } + + if (NetCache.NetCache_socket != null) { + try { + Buffer var10 = new Buffer(4); + var10.writeByte(3); + var10.writeMedium(0); + NetCache.NetCache_socket.write(var10.array, 0, 4); + } catch (IOException var13) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var12) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + Login.field1179 = true; + Login.xPadding = (GrandExchangeEvent.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + ScriptEvent.loginBoxCenter = Login.loginBoxX + 180; + GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); + NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + GroundItem.logoSprite.drawAt(Login.xPadding + 382 - GroundItem.logoSprite.subWidth / 2, 18); + } + } } diff --git a/runescape-client/src/main/java/ByteArrayNode.java b/runescape-client/src/main/java/ByteArrayNode.java index b4c5172e62..21dc74e4d1 100644 --- a/runescape-client/src/main/java/ByteArrayNode.java +++ b/runescape-client/src/main/java/ByteArrayNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("gp") +@ObfuscatedName("fd") @Implements("ByteArrayNode") public class ByteArrayNode extends Node { - @ObfuscatedName("m") - @Export("byteArray") - public byte[] byteArray; + @ObfuscatedName("q") + @Export("byteArray") + public byte[] byteArray; - public ByteArrayNode(byte[] var1) { - this.byteArray = var1; - } + 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 1135e87bb1..d7ae920e0a 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -4,143 +4,97 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gi") +@ObfuscatedName("kr") @Implements("ByteArrayPool") public class ByteArrayPool { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -791125441 - ) - @Export("ByteArrayPool_smallCount") - static int ByteArrayPool_smallCount; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 2121641763 - ) - @Export("ByteArrayPool_mediumCount") - static int ByteArrayPool_mediumCount; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -971800905 - ) - @Export("ByteArrayPool_largeCount") - static int ByteArrayPool_largeCount; - @ObfuscatedName("w") - @Export("ByteArrayPool_small") - static byte[][] ByteArrayPool_small; - @ObfuscatedName("o") - @Export("ByteArrayPool_medium") - static byte[][] ByteArrayPool_medium; - @ObfuscatedName("u") - @Export("ByteArrayPool_large") - static byte[][] ByteArrayPool_large; - @ObfuscatedName("g") - static int[] field55; - @ObfuscatedName("dz") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive13") - static Archive archive13; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -2074547709 + ) + @Export("ByteArrayPool_smallCount") + static int ByteArrayPool_smallCount; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 371626607 + ) + @Export("ByteArrayPool_mediumCount") + static int ByteArrayPool_mediumCount; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1320623185 + ) + @Export("ByteArrayPool_largeCount") + static int ByteArrayPool_largeCount; + @ObfuscatedName("p") + @Export("ByteArrayPool_small") + static byte[][] ByteArrayPool_small; + @ObfuscatedName("k") + @Export("ByteArrayPool_medium") + static byte[][] ByteArrayPool_medium; + @ObfuscatedName("l") + @Export("ByteArrayPool_large") + static byte[][] ByteArrayPool_large; + @ObfuscatedName("b") + @Export("ByteArrayPool_alternativeSizes") + public static int[] ByteArrayPool_alternativeSizes; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IZI)[B", - garbageValue = "198163011" - ) - @Export("ByteArrayPool_get") - static synchronized byte[] ByteArrayPool_get(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; - } + 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][]; + } - if (var0 != 5000) { - if (var0 < 5000) { - } - } else if (ByteArrayPool_mediumCount > 0) { - var2 = ByteArrayPool_medium[--ByteArrayPool_mediumCount]; - ByteArrayPool_medium[ByteArrayPool_mediumCount] = null; - return var2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IZB)[B", + garbageValue = "58" + ) + @Export("ByteArrayPool_get") + static synchronized byte[] ByteArrayPool_get(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 != 30000) { - if (var0 < 30000) { - } - } else if (ByteArrayPool_largeCount > 0) { - var2 = ByteArrayPool_large[--ByteArrayPool_largeCount]; - ByteArrayPool_large[ByteArrayPool_largeCount] = 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 (RouteStrategy.field760 != null) { - for (int var3 = 0; var3 < field55.length; ++var3) { - if (field55[var3] != var0) { - if (var0 < field55[var3]) { - } - } else if (WorldMapSection0.field1082[var3] > 0) { - byte[] var4 = RouteStrategy.field760[var3][--WorldMapSection0.field1082[var3]]; - RouteStrategy.field760[var3][WorldMapSection0.field1082[var3]] = null; - return var4; - } - } - } + if (var0 != 30000) { + if (var0 < 30000) { + } + } else if (ByteArrayPool_largeCount > 0) { + var2 = ByteArrayPool_large[--ByteArrayPool_largeCount]; + ByteArrayPool_large[ByteArrayPool_largeCount] = null; + return var2; + } - return new byte[var0]; - } + if (class189.ByteArrayPool_arrays != null) { + for (int var4 = 0; var4 < ByteArrayPool_alternativeSizes.length; ++var4) { + if (ByteArrayPool_alternativeSizes[var4] != var0) { + if (var0 < ByteArrayPool_alternativeSizes[var4]) { + } + } else if (class43.ByteArrayPool_altSizeArrayCounts[var4] > 0) { + byte[] var3 = class189.ByteArrayPool_arrays[var4][--class43.ByteArrayPool_altSizeArrayCounts[var4]]; + class189.ByteArrayPool_arrays[var4][class43.ByteArrayPool_altSizeArrayCounts[var4]] = null; + return var3; + } + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IZI)Ljava/lang/String;", - garbageValue = "-399583759" - ) - public static String method4001(int var0, boolean var1) { - if (var1 && var0 >= 0) { - int var2 = var0; - String var3; - if (var1 && var0 >= 0) { - int var4 = 2; - - for (int var5 = var0 / 10; var5 != 0; ++var4) { - var5 /= 10; - } - - char[] var9 = new char[var4]; - var9[0] = '+'; - - for (int var6 = var4 - 1; var6 > 0; --var6) { - int var7 = var2; - var2 /= 10; - int var8 = var7 - var2 * 10; - if (var8 >= 10) { - var9[var6] = (char)(var8 + 87); - } else { - var9[var6] = (char)(var8 + 48); - } - } - - var3 = new String(var9); - } else { - var3 = Integer.toString(var0, 10); - } - - return var3; - } else { - return Integer.toString(var0); - } - } - - 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][]; - } + return new byte[var0]; + } } diff --git a/runescape-client/src/main/java/Bzip2Decompressor.java b/runescape-client/src/main/java/Bzip2Decompressor.java index e174e355e2..3f275001af 100644 --- a/runescape-client/src/main/java/Bzip2Decompressor.java +++ b/runescape-client/src/main/java/Bzip2Decompressor.java @@ -3,642 +3,638 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gk") -@Implements("Bzip2Decompressor") -public final class Bzip2Decompressor { - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgt;" - ) - @Export("Bzip2Decompressor_state") - static Bzip2State Bzip2Decompressor_state; - - @ObfuscatedName("m") - @Export("Bzip2Decompressor_decompress") - public static int Bzip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { - Bzip2State var5 = Bzip2Decompressor_state; - synchronized(Bzip2Decompressor_state) { - Bzip2Decompressor_state.field62 = var2; - Bzip2Decompressor_state.field63 = var4; - Bzip2Decompressor_state.field65 = var0; - Bzip2Decompressor_state.field66 = 0; - Bzip2Decompressor_state.field67 = var1; - Bzip2Decompressor_state.field72 = 0; - Bzip2Decompressor_state.field71 = 0; - Bzip2Decompressor_state.field64 = 0; - Bzip2Decompressor_state.field68 = 0; - method3725(Bzip2Decompressor_state); - var1 -= Bzip2Decompressor_state.field67; - Bzip2Decompressor_state.field62 = null; - Bzip2Decompressor_state.field65 = null; - return var1; - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgt;)V" - ) - static void method3705(Bzip2State var0) { - byte var1 = var0.field69; - int var2 = var0.field70; - int var3 = var0.field78; - int var4 = var0.field76; - int[] var5 = WorldMapSection3.field1056; - int var6 = var0.field75; - byte[] var7 = var0.field65; - int var8 = var0.field66; - int var9 = var0.field67; - int var10 = var0.field93 + 1; - - label65: - while (true) { - if (var2 > 0) { - while (true) { - if (var9 == 0) { - break label65; - } - - if (var2 == 1) { - if (var9 == 0) { - var2 = 1; - break label65; - } - - var7[var8] = var1; - ++var8; - --var9; - break; - } - - var7[var8] = var1; - --var2; - ++var8; - --var9; - } - } - - boolean var11 = true; - - byte var12; - while (var11) { - var11 = false; - if (var3 == var10) { - var2 = 0; - break label65; - } - - var1 = (byte)var4; - var6 = var5[var6]; - var12 = (byte)(var6 & 255); - var6 >>= 8; - ++var3; - if (var12 != var4) { - var4 = var12; - if (var9 == 0) { - var2 = 1; - break label65; - } - - var7[var8] = var1; - ++var8; - --var9; - var11 = true; - } else if (var3 == var10) { - if (var9 == 0) { - var2 = 1; - break label65; - } - - var7[var8] = var1; - ++var8; - --var9; - var11 = true; - } - } - - var2 = 2; - var6 = var5[var6]; - var12 = (byte)(var6 & 255); - var6 >>= 8; - ++var3; - if (var3 != var10) { - if (var12 != var4) { - var4 = var12; - } else { - var2 = 3; - var6 = var5[var6]; - var12 = (byte)(var6 & 255); - var6 >>= 8; - ++var3; - if (var3 != var10) { - if (var12 != var4) { - var4 = var12; - } else { - var6 = var5[var6]; - var12 = (byte)(var6 & 255); - var6 >>= 8; - ++var3; - var2 = (var12 & 255) + 4; - var6 = var5[var6]; - var4 = (byte)(var6 & 255); - var6 >>= 8; - ++var3; - } - } - } - } - } - - int var13 = var0.field68; - var0.field68 += var9 - var9; - if (var0.field68 < var13) { - } - - var0.field69 = var1; - var0.field70 = var2; - var0.field78 = var3; - var0.field76 = var4; - WorldMapSection3.field1056 = var5; - var0.field75 = var6; - var0.field65 = var7; - var0.field66 = var8; - var0.field67 = var9; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgt;)V" - ) - static void method3725(Bzip2State var0) { - boolean var1 = false; - boolean var2 = false; - boolean var3 = false; - 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; - int var19 = 0; - int[] var20 = null; - int[] var21 = null; - int[] var22 = null; - var0.field73 = 1; - if (WorldMapSection3.field1056 == null) { - WorldMapSection3.field1056 = new int[var0.field73 * 100000]; - } - - boolean var23 = true; - - while (true) { - while (var23) { - byte var24 = method3707(var0); - if (var24 == 23) { - return; - } - - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3707(var0); - var24 = method3711(var0); - if (var24 != 0) { - } - - var0.field74 = 0; - var24 = method3707(var0); - var0.field74 = var0.field74 << 8 | var24 & 255; - var24 = method3707(var0); - var0.field74 = var0.field74 << 8 | var24 & 255; - var24 = method3707(var0); - var0.field74 = var0.field74 << 8 | var24 & 255; - - int var25; - for (var25 = 0; var25 < 16; ++var25) { - var24 = method3711(var0); - if (var24 == 1) { - var0.field82[var25] = true; - } else { - var0.field82[var25] = false; - } - } - - for (var25 = 0; var25 < 256; ++var25) { - var0.field81[var25] = false; - } - - int var26; - for (var25 = 0; var25 < 16; ++var25) { - if (var0.field82[var25]) { - for (var26 = 0; var26 < 16; ++var26) { - var24 = method3711(var0); - if (var24 == 1) { - var0.field81[var26 + var25 * 16] = true; - } - } - } - } - - method3710(var0); - int var27 = var0.field80 + 2; - int var28 = method3708(3, var0); - int var29 = method3708(15, var0); - - for (var25 = 0; var25 < var29; ++var25) { - var26 = 0; - - while (true) { - var24 = method3711(var0); - if (var24 == 0) { - var0.field87[var25] = (byte)var26; - break; - } - - ++var26; - } - } - - byte[] var30 = new byte[6]; - - byte var31; - for (var31 = 0; var31 < var28; var30[var31] = var31++) { - } - - for (var25 = 0; var25 < var29; ++var25) { - var31 = var0.field87[var25]; - - byte var32; - for (var32 = var30[var31]; var31 > 0; --var31) { - var30[var31] = var30[var31 - 1]; - } - - var30[0] = var32; - var0.field86[var25] = var32; - } - - int var33; - int var52; - for (var33 = 0; var33 < var28; ++var33) { - var52 = method3708(5, var0); - - for (var25 = 0; var25 < var27; ++var25) { - while (true) { - var24 = method3711(var0); - if (var24 == 0) { - var0.field88[var33][var25] = (byte)var52; - break; - } - - var24 = method3711(var0); - if (var24 == 0) { - ++var52; - } else { - --var52; - } - } - } - } - - for (var33 = 0; var33 < var28; ++var33) { - byte var34 = 32; - byte var35 = 0; - - for (var25 = 0; var25 < var27; ++var25) { - if (var0.field88[var33][var25] > var35) { - var35 = var0.field88[var33][var25]; - } - - if (var0.field88[var33][var25] < var34) { - var34 = var0.field88[var33][var25]; - } - } - - method3706(var0.field89[var33], var0.field90[var33], var0.field91[var33], var0.field88[var33], var34, var35, var27); - var0.field92[var33] = var34; - } - - var52 = var0.field80 + 1; - int var53 = -1; - byte var54 = 0; - - for (var25 = 0; var25 <= 255; ++var25) { - var0.field77[var25] = 0; - } - - int var36 = 4095; - - int var37; - int var38; - for (var37 = 15; var37 >= 0; --var37) { - for (var38 = 15; var38 >= 0; --var38) { - var0.field84[var36] = (byte)(var38 + var37 * 16); - --var36; - } - - var0.field85[var37] = var36 + 1; - } - - int var39 = 0; - byte var40; - if (var54 == 0) { - ++var53; - var54 = 50; - var40 = var0.field86[var53]; - var19 = var0.field92[var40]; - var20 = var0.field89[var40]; - var22 = var0.field91[var40]; - var21 = var0.field90[var40]; - } - - int var41 = var54 - 1; - int var42 = var19; - - int var43; - byte var44; - for (var43 = method3708(var19, var0); var43 > var20[var42]; var43 = var43 << 1 | var44) { - ++var42; - var44 = method3711(var0); - } - - int var45 = var22[var43 - var21[var42]]; - - while (true) { - int[] var46; - int var48; - while (var45 != var52) { - int var49; - if (var45 != 0 && var45 != 1) { - var48 = var45 - 1; - int var10003; - int var50; - if (var48 < 16) { - var49 = var0.field85[0]; - - for (var24 = var0.field84[var49 + var48]; var48 > 3; var48 -= 4) { - var50 = var49 + var48; - var0.field84[var50] = var0.field84[var50 - 1]; - var0.field84[var50 - 1] = var0.field84[var50 - 2]; - var0.field84[var50 - 2] = var0.field84[var50 - 3]; - var0.field84[var50 - 3] = var0.field84[var50 - 4]; - } - - while (var48 > 0) { - var0.field84[var49 + var48] = var0.field84[var49 + var48 - 1]; - --var48; - } - - var0.field84[var49] = var24; - } else { - var50 = var48 / 16; - int var51 = var48 % 16; - var49 = var0.field85[var50] + var51; - - for (var24 = var0.field84[var49]; var49 > var0.field85[var50]; --var49) { - var0.field84[var49] = var0.field84[var49 - 1]; - } - - for (var10003 = var0.field85[var50]++; var50 > 0; --var50) { - var10003 = var0.field85[var50]--; - var0.field84[var0.field85[var50]] = var0.field84[var0.field85[var50 - 1] + 16 - 1]; - } - - var10003 = var0.field85[0]--; - var0.field84[var0.field85[0]] = var24; - if (var0.field85[0] == 0) { - var36 = 4095; - - for (var37 = 15; var37 >= 0; --var37) { - for (var38 = 15; var38 >= 0; --var38) { - var0.field84[var36] = var0.field84[var0.field85[var37] + var38]; - --var36; - } - - var0.field85[var37] = var36 + 1; - } - } - } - - var10003 = var0.field77[var0.field83[var24 & 255] & 255]++; - WorldMapSection3.field1056[var39] = var0.field83[var24 & 255] & 255; - ++var39; - if (var41 == 0) { - ++var53; - var41 = 50; - var40 = var0.field86[var53]; - var19 = var0.field92[var40]; - var20 = var0.field89[var40]; - var22 = var0.field91[var40]; - var21 = var0.field90[var40]; - } - - --var41; - var42 = var19; - - for (var43 = method3708(var19, var0); var43 > var20[var42]; var43 = var43 << 1 | var44) { - ++var42; - var44 = method3711(var0); - } - - var45 = var22[var43 - var21[var42]]; - } else { - var48 = -1; - var49 = 1; - - do { - if (var45 == 0) { - var48 += var49; - } else if (var45 == 1) { - var48 += var49 * 2; - } - - var49 *= 2; - if (var41 == 0) { - ++var53; - var41 = 50; - var40 = var0.field86[var53]; - var19 = var0.field92[var40]; - var20 = var0.field89[var40]; - var22 = var0.field91[var40]; - var21 = var0.field90[var40]; - } - - --var41; - var42 = var19; - - for (var43 = method3708(var19, var0); var43 > var20[var42]; var43 = var43 << 1 | var44) { - ++var42; - var44 = method3711(var0); - } - - var45 = var22[var43 - var21[var42]]; - } while(var45 == 0 || var45 == 1); - - ++var48; - var24 = var0.field83[var0.field84[var0.field85[0]] & 255]; - var46 = var0.field77; - - for (var46[var24 & 255] += var48; var48 > 0; --var48) { - WorldMapSection3.field1056[var39] = var24 & 255; - ++var39; - } - } - } - - var0.field70 = 0; - var0.field69 = 0; - var0.field79[0] = 0; - - for (var25 = 1; var25 <= 256; ++var25) { - var0.field79[var25] = var0.field77[var25 - 1]; - } - - for (var25 = 1; var25 <= 256; ++var25) { - var46 = var0.field79; - var46[var25] += var0.field79[var25 - 1]; - } - - for (var25 = 0; var25 < var39; ++var25) { - var24 = (byte)(WorldMapSection3.field1056[var25] & 255); - var46 = WorldMapSection3.field1056; - var48 = var0.field79[var24 & 255]; - var46[var48] |= var25 << 8; - ++var0.field79[var24 & 255]; - } - - var0.field75 = WorldMapSection3.field1056[var0.field74] >> 8; - var0.field78 = 0; - var0.field75 = WorldMapSection3.field1056[var0.field75]; - var0.field76 = (byte)(var0.field75 & 255); - var0.field75 >>= 8; - ++var0.field78; - var0.field93 = var39; - method3705(var0); - if (var0.field93 + 1 == var0.field78 && var0.field70 == 0) { - var23 = true; - break; - } - - var23 = false; - break; - } - } - - return; - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgt;)B" - ) - static byte method3707(Bzip2State var0) { - return (byte)method3708(8, var0); - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgt;)B" - ) - static byte method3711(Bzip2State var0) { - return (byte)method3708(1, var0); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILgt;)I" - ) - static int method3708(int var0, Bzip2State var1) { - while (var1.field72 < var0) { - var1.field71 = var1.field71 << 8 | var1.field62[var1.field63] & 255; - var1.field72 += 8; - ++var1.field63; - ++var1.field64; - if (var1.field64 == 0) { - } - } - - int var2 = var1.field71 >> var1.field72 - var0 & (1 << var0) - 1; - var1.field72 -= var0; - return var2; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lgt;)V" - ) - static void method3710(Bzip2State var0) { - var0.field80 = 0; - - for (int var1 = 0; var1 < 256; ++var1) { - if (var0.field81[var1]) { - var0.field83[var0.field80] = (byte)var1; - ++var0.field80; - } - } - - } - - @ObfuscatedName("l") - static void method3706(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) { - int var7 = 0; - - int var8; - int var9; - for (var8 = var4; var8 <= var5; ++var8) { - for (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; - } - - var9 = 0; - - for (var8 = var4; var8 <= var5; ++var8) { - var9 += var1[var8 + 1] - var1[var8]; - var0[var8] = var9 - 1; - var9 <<= 1; - } - - for (var8 = var4 + 1; var8 <= var5; ++var8) { - var1[var8] = (var0[var8 - 1] + 1 << 1) - var1[var8]; - } - - } - - static { - Bzip2Decompressor_state = new Bzip2State(); - } +@ObfuscatedName("kg") +@Implements("BZip2Decompressor") +public final class BZip2Decompressor { + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lki;" + ) + @Export("BZip2Decompressor_state") + static BZip2State BZip2Decompressor_state; + + static { + BZip2Decompressor_state = new BZip2State(); + } + + @ObfuscatedName("q") + @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.field3753 = 0; + BZip2Decompressor_decompress(BZip2Decompressor_state); + var1 -= BZip2Decompressor_state.outputLength; + BZip2Decompressor_state.inputArray = null; + BZip2Decompressor_state.outputArray = null; + return var1; + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lki;)V" + ) + static void method5773(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.field3760; + byte[] var8 = var0.outputArray; + int var9 = var0.next_out; + int var10 = var0.outputLength; + int var12 = var0.field3776 + 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.field3753; + var0.field3753 += var10 - var10; + if (var0.field3753 < var13) { + } + + var0.out_char = var2; + var0.su_rNToGo = var3; + var0.nblocks_used = var4; + var0.su_ch2 = var5; + VarbitDefinition.BZip2Decompressor_block = var6; + var0.field3760 = var7; + var0.outputArray = var8; + var0.next_out = var9; + var0.outputLength = var10; + } + + @ObfuscatedName("e") + @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.field3760 = VarbitDefinition.BZip2Decompressor_block[var0.originalPointer] >> 8; + var0.nblocks_used = 0; + var0.field3760 = VarbitDefinition.BZip2Decompressor_block[var0.field3760]; + var0.su_ch2 = (byte)(var0.field3760 & 255); + var0.field3760 >>= 8; + ++var0.nblocks_used; + var0.field3776 = var47; + method5773(var0); + if (var0.field3776 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { + var26 = true; + break; + } + + var26 = false; + break; + } + } + + return; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lki;)B" + ) + @Export("BZip2Decompressor_readNextByte") + static byte BZip2Decompressor_readNextByte(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(8, var0); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lki;)B" + ) + @Export("BZip2Decompressor_readNextBit") + static byte BZip2Decompressor_readNextBit(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(1, var0); + } + + @ObfuscatedName("l") + @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("b") + @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("i") + @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 8bc2fb66a7..d564845c60 100644 --- a/runescape-client/src/main/java/Bzip2State.java +++ b/runescape-client/src/main/java/Bzip2State.java @@ -1,154 +1,197 @@ +import java.io.IOException; +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("gt") -@Implements("Bzip2State") -public final class Bzip2State { - @ObfuscatedName("m") - final int field56; - @ObfuscatedName("f") - final int field57; - @ObfuscatedName("q") - final int field58; - @ObfuscatedName("w") - final int field59; - @ObfuscatedName("o") - final int field60; - @ObfuscatedName("u") - final int field61; - @ObfuscatedName("g") - byte[] field62; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1510817847 - ) - int field63; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -473971741 - ) - int field64; - @ObfuscatedName("x") - byte[] field65; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -861462251 - ) - int field66; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 594179173 - ) - int field67; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1860254567 - ) - int field68; - @ObfuscatedName("i") - byte field69; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1994129645 - ) - int field70; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1793367959 - ) - int field71; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1987934943 - ) - int field72; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1172102327 - ) - int field73; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1502359789 - ) - int field74; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -953353963 - ) - int field75; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1981923611 - ) - int field76; - @ObfuscatedName("b") - int[] field77; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -557334365 - ) - int field78; - @ObfuscatedName("r") - int[] field79; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -886333045 - ) - int field80; - @ObfuscatedName("ag") - boolean[] field81; - @ObfuscatedName("aq") - boolean[] field82; - @ObfuscatedName("aj") - byte[] field83; - @ObfuscatedName("av") - byte[] field84; - @ObfuscatedName("ar") - int[] field85; - @ObfuscatedName("ac") - byte[] field86; - @ObfuscatedName("ay") - byte[] field87; - @ObfuscatedName("ah") - byte[][] field88; - @ObfuscatedName("ak") - int[][] field89; - @ObfuscatedName("aw") - int[][] field90; - @ObfuscatedName("al") - int[][] field91; - @ObfuscatedName("ab") - int[] field92; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 444639767 - ) - int field93; +@ObfuscatedName("ki") +@Implements("BZip2State") +public final class BZip2State { + @ObfuscatedName("q") + final int field3748; + @ObfuscatedName("w") + final int field3743; + @ObfuscatedName("e") + final int field3779; + @ObfuscatedName("p") + final int field3778; + @ObfuscatedName("k") + final int field3745; + @ObfuscatedName("l") + final int field3746; + @ObfuscatedName("b") + @Export("inputArray") + byte[] inputArray; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1049906743 + ) + @Export("nextByte") + int nextByte; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1743451477 + ) + @Export("nextBit_unused") + int nextBit_unused; + @ObfuscatedName("f") + @Export("outputArray") + byte[] outputArray; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1528977191 + ) + @Export("next_out") + int next_out; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1616991267 + ) + @Export("outputLength") + int outputLength; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1607838751 + ) + int field3753; + @ObfuscatedName("r") + @Export("out_char") + byte out_char; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 236002095 + ) + @Export("su_rNToGo") + int su_rNToGo; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 145021143 + ) + @Export("bsBuff") + int bsBuff; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 964245035 + ) + @Export("bsLive") + int bsLive; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 738319360 + ) + @Export("blockSize100k") + int blockSize100k; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 826030823 + ) + @Export("originalPointer") + int originalPointer; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -300117779 + ) + int field3760; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -284126821 + ) + @Export("su_ch2") + int su_ch2; + @ObfuscatedName("o") + @Export("unzftab") + int[] unzftab; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -485705465 + ) + @Export("nblocks_used") + int nblocks_used; + @ObfuscatedName("d") + @Export("cftab") + int[] cftab; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 386581291 + ) + @Export("nInUse") + int nInUse; + @ObfuscatedName("al") + @Export("inUse") + boolean[] inUse; + @ObfuscatedName("av") + @Export("inUse16") + boolean[] inUse16; + @ObfuscatedName("as") + @Export("seqToUnseq") + byte[] seqToUnseq; + @ObfuscatedName("aw") + @Export("ll8") + byte[] ll8; + @ObfuscatedName("ad") + @Export("getAndMoveToFrontDecode_yy") + int[] getAndMoveToFrontDecode_yy; + @ObfuscatedName("ag") + @Export("selector") + byte[] selector; + @ObfuscatedName("ar") + @Export("selectorMtf") + byte[] selectorMtf; + @ObfuscatedName("ax") + @Export("temp_charArray2d") + byte[][] temp_charArray2d; + @ObfuscatedName("az") + @Export("limit") + int[][] limit; + @ObfuscatedName("ae") + @Export("base") + int[][] base; + @ObfuscatedName("ao") + @Export("perm") + int[][] perm; + @ObfuscatedName("aj") + @Export("minLens") + int[] minLens; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -590888097 + ) + int field3776; - Bzip2State() { - this.field56 = 4096; - this.field57 = 16; - this.field58 = 258; - this.field59 = 6; - this.field60 = 50; - this.field61 = 18002; - this.field63 = 0; - this.field66 = 0; - this.field77 = new int[256]; - this.field79 = new int[257]; - this.field81 = new boolean[256]; - this.field82 = new boolean[16]; - this.field83 = new byte[256]; - this.field84 = new byte[4096]; - this.field85 = new int[16]; - this.field86 = new byte[18002]; - this.field87 = new byte[18002]; - this.field88 = new byte[6][258]; - this.field89 = new int[6][258]; - this.field90 = new int[6][258]; - this.field91 = new int[6][258]; - this.field92 = new int[6]; - } + BZip2State() { + this.field3748 = 4096; + this.field3743 = 16; + this.field3779 = 258; + this.field3778 = 6; + this.field3745 = 50; + this.field3746 = 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("ag") + @ObfuscatedSignature( + signature = "(Ljava/net/Socket;IIB)Lky;", + garbageValue = "10" + ) + @Export("newBufferedNetSocket") + public static AbstractSocket newBufferedNetSocket(Socket var0, int var1, int var2) throws IOException { + return new BufferedNetSocket(var0, var1, var2); + } } diff --git a/runescape-client/src/main/java/Calendar.java b/runescape-client/src/main/java/Calendar.java index cb8ef7e634..9c6ba240dd 100644 --- a/runescape-client/src/main/java/Calendar.java +++ b/runescape-client/src/main/java/Calendar.java @@ -1,222 +1,45 @@ -import java.util.Date; import java.util.TimeZone; 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("hg") +@ObfuscatedName("gv") @Implements("Calendar") public class Calendar { - @ObfuscatedName("m") - @Export("MONTH_NAMES_ENGLISH_GERMAN") - static final String[][] MONTH_NAMES_ENGLISH_GERMAN; - @ObfuscatedName("f") - @Export("DAYS_OF_THE_WEEK") - static final String[] DAYS_OF_THE_WEEK; - @ObfuscatedName("q") - @Export("Calendar_calendar") - static java.util.Calendar Calendar_calendar; - @ObfuscatedName("em") - @ObfuscatedSignature( - signature = "Llg;" - ) - @Export("spriteIds") - static GraphicsDefaults spriteIds; + @ObfuscatedName("q") + @Export("MONTH_NAMES_ENGLISH_GERMAN") + public static final String[][] MONTH_NAMES_ENGLISH_GERMAN; + @ObfuscatedName("w") + @Export("DAYS_OF_THE_WEEK") + public static final String[] DAYS_OF_THE_WEEK; + @ObfuscatedName("e") + public static java.util.Calendar field2504; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lhj;" + ) + static Widget field2507; + @ObfuscatedName("ch") + public static char field2508; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "2034023208" - ) - public static int method4107(int var0) { - return var0 >> 11 & 63; - } + 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(); + field2504 = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); + } - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-1028057613" - ) - static int method4103(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[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var4; - return 1; - } else { - String var5; - if (var0 == ScriptOpcodes.APPEND) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var5; - return 1; - } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + ByteArrayPool.method4001(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 var7; - if (var0 == ScriptOpcodes.FROMDATE) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - long var14 = ((long)var7 + 11745L) * 86400000L; - Interpreter.Interpreter_calendar.setTime(new Date(var14)); - var6 = Interpreter.Interpreter_calendar.get(5); - int var15 = Interpreter.Interpreter_calendar.get(2); - int var16 = Interpreter.Interpreter_calendar.get(1); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var15] + "-" + var16; - return 1; - } else if (var0 != ScriptOpcodes.TEXT_GENDER) { - if (var0 == ScriptOpcodes.TOSTRING) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Integer.toString(var7); - return 1; - } else if (var0 == ScriptOpcodes.COMPARE) { - Interpreter.Interpreter_stringStackSize -= 2; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WallDecoration.method3256(AttackOption.method2033(Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1], Client.language)); - return 1; - } else { - int var8; - byte[] var9; - Font var10; - if (var0 == ScriptOpcodes.PARAHEIGHT) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - RouteStrategy.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var9 = ByteArrayPool.archive13.takeFile(var8, 0); - var10 = new Font(var9); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var10.lineCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.PARAWIDTH) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - RouteStrategy.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var9 = ByteArrayPool.archive13.takeFile(var8, 0); - var10 = new Font(var9); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var10.lineWidth(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5; - } - - 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[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + (char)var4; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ChatChannel.isCharPrintable((char)var7) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = VarcInt.isAlphaNumeric((char)var7) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = UrlRequest.isCharAlphabetic((char)var7) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class159.isCharDigit((char)var7) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STRING_LENGTH) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - if (var3 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.length(); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.SUBSTRING) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - RouteStrategy.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.substring(var4, var8); - return 1; - } else if (var0 == ScriptOpcodes.REMOVETAGS) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - StringBuilder var11 = new StringBuilder(var3.length()); - boolean var12 = false; - - for (var6 = 0; var6 < var3.length(); ++var6) { - char var13 = var3.charAt(var6); - if (var13 == '<') { - var12 = true; - } else if (var13 == '>') { - var12 = false; - } else if (!var12) { - var11.append(var13); - } - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.toString(); - return 1; - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.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]; - var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - var8 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.indexOf(var5, var8); - 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]; - var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (Canvas.localPlayer.appearance != null && Canvas.localPlayer.appearance.isFemale) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - } - - return 1; - } - } - } - } - - 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"}}; - DAYS_OF_THE_WEEK = new String[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; - java.util.Calendar.getInstance(TimeZone.getTimeZone("Europe/London")); - Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-50" + ) + @Export("Widget_clearCached") + public static void Widget_clearCached() { + Widget.Widget_cachedSprites.clear(); + Widget.Widget_cachedModels.clear(); + Widget.Widget_cachedFonts.clear(); + Widget.Widget_cachedSpriteMasks.clear(); + } } diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index aa43a24181..4915710d82 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -1,263 +1,98 @@ import java.awt.Component; import java.awt.Graphics; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.StringWriter; import 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("ao") +@ObfuscatedName("am") @Implements("Canvas") public final class Canvas extends java.awt.Canvas { - @ObfuscatedName("s") - public static String[] field94; - @ObfuscatedName("gk") - @ObfuscatedGetter( - intValue = -1131782991 - ) - static int field95; - @ObfuscatedName("jk") - @ObfuscatedSignature( - signature = "Lbr;" - ) - @Export("localPlayer") - static Player localPlayer; - @ObfuscatedName("m") - @Export("component") - Component component; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1323988023 + ) + static int field422; + @ObfuscatedName("fd") + @ObfuscatedGetter( + intValue = 983351575 + ) + static int field418; + @ObfuscatedName("q") + @Export("component") + Component component; - Canvas(Component var1) { - this.component = var1; - } + 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); + } - public final void paint(Graphics var1) { - this.component.paint(var1); - } + public final void update(Graphics var1) { + this.component.update(var1); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/Throwable;I)Ljava/lang/String;", - garbageValue = "2032921954" - ) - static String method860(Throwable var0) throws IOException { - String var1; - if (var0 instanceof RunException) { - RunException var2 = (RunException)var0; - var1 = var2.string + " | "; - var0 = var2.throwable; - } else { - var1 = ""; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Lbw;", + garbageValue = "-1579773205" + ) + @Export("getNextWorldListWorld") + static World getNextWorldListWorld() { + return World.worldListWorldCount < World.worldsCount ? World.worlds[++World.worldListWorldCount - 1] : null; + } - 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(); + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1705541685" + ) + @Export("runWidgetOnLoadListener") + static void runWidgetOnLoadListener(int var0) { + if (var0 != -1) { + if (class162.loadInterface(var0)) { + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; - while (true) { - while (true) { - String var7 = var5.readLine(); - if (var7 == null) { - var1 = var1 + "| " + var6; - return var1; - } + 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; + class96.runScript(var4, 5000000); + } + } - 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); - } + @ObfuscatedName("jb") + @ObfuscatedSignature( + signature = "(IIIILly;Lhg;I)V", + garbageValue = "-1460314936" + ) + @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; + UserComparator4.redHintArrowSprite.method6193(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); + } else { + Interpreter.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); + } - var7 = var7.trim(); - var7 = var7.substring(var7.lastIndexOf(32) + 1); - var7 = var7.substring(var7.lastIndexOf(9) + 1); - var1 = var1 + var7 + ' '; - } - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "708667926" - ) - static synchronized byte[] method862(int var0) { - return ByteArrayPool.ByteArrayPool_get(var0, false); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "2144935109" - ) - static int method861(int var0, Script var1, boolean var2) { - int var3; - int var4; - Widget var5; - if (var0 == ScriptOpcodes.CC_CREATE) { - RouteStrategy.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - int var9 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - if (var4 == 0) { - throw new RuntimeException(); - } else { - var5 = Huffman.getWidget(var3); - if (var5.children == null) { - var5.children = new Widget[var9 + 1]; - } - - if (var5.children.length <= var9) { - Widget[] var7 = new Widget[var9 + 1]; - - for (int var8 = 0; var8 < var5.children.length; ++var8) { - var7[var8] = var5.children[var8]; - } - - var5.children = var7; - } - - if (var9 > 0 && var5.children[var9 - 1] == null) { - throw new RuntimeException("" + (var9 - 1)); - } else { - Widget var10 = new Widget(); - var10.type = var4; - var10.parentId = var10.id = var5.id; - var10.childIndex = var9; - var10.isIf3 = true; - var5.children[var9] = var10; - if (var2) { - WorldMapIcon1.field1030 = var10; - } else { - GrandExchangeOfferAgeComparator.field1111 = var10; - } - - WorldMapRectangle.method295(var5); - return 1; - } - } - } else { - Widget var6; - if (var0 == ScriptOpcodes.CC_DELETE) { - var6 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - var5 = Huffman.getWidget(var6.id); - var5.children[var6.childIndex] = null; - WorldMapRectangle.method295(var5); - return 1; - } else if (var0 == ScriptOpcodes.CC_DELETEALL) { - var6 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - var6.children = null; - WorldMapRectangle.method295(var6); - return 1; - } else if (var0 != ScriptOpcodes.CC_FIND) { - if (var0 == ScriptOpcodes.IF_FIND) { - var6 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var6 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - if (var2) { - WorldMapIcon1.field1030 = var6; - } else { - GrandExchangeOfferAgeComparator.field1111 = var6; - } - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - return 2; - } - } else { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var5 = class204.getWidgetChild(var3, var4); - if (var5 != null && var4 != -1) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - if (var2) { - WorldMapIcon1.field1030 = var5; - } else { - GrandExchangeOfferAgeComparator.field1111 = var5; - } - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(ILir;Ljava/lang/String;Ljava/lang/String;IZS)V", - garbageValue = "-9124" - ) - public static void method858(int var0, AbstractArchive var1, String groupName, String fileName, int var4, boolean var5) { - int var6 = var1.getGroupId(groupName); - int var7 = var1.getFileId(var6, fileName); - class214.field1129 = 1; - class214.musicTrackArchive = var1; - class30.musicTrackGroupId = var6; - GrandExchangeOffer.musicTrackFileId = var7; - WorldMapLabel.field1039 = var4; - RectangleMode.musicTrackBoolean = var5; - FaceNormal.field344 = var0; - } - - @ObfuscatedName("ha") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1032035944" - ) - static final void method855() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0.hitpoints > 0) { - --var0.hitpoints; - } - - if (var0.hitpoints == 0) { - if (var0.field903 < 0 || VarbitDefinition.method4910(var0.field903, var0.field905)) { - ParamDefinition.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.field903, var0.field904, var0.field905); - 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 && (var0.id < 0 || VarbitDefinition.method4910(var0.id, var0.field908))) { - ParamDefinition.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field908); - var0.delay = -1; - if (var0.field903 == var0.id && var0.field903 == -1) { - var0.remove(); - } else if (var0.id == var0.field903 && var0.field904 == var0.orientation && var0.field908 == var0.field905) { - var0.remove(); - } - } - } - } - - } + } } diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index a82d79c56d..b1ff84efea 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -1,354 +1,261 @@ +import java.lang.reflect.Field; +import java.lang.reflect.Method; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("cp") +@ObfuscatedName("cs") @Implements("ChatChannel") public class ChatChannel { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Lbm;" - ) - @Export("messages") - Message[] messages; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 612486877 - ) - @Export("count") - int count; + @ObfuscatedName("gr") + @ObfuscatedGetter( + intValue = 1055466439 + ) + static int field1306; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lbj;" + ) + @Export("messages") + Message[] messages; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 754027225 + ) + @Export("count") + int count; - ChatChannel() { - this.messages = new Message[100]; - } + ChatChannel() { + this.messages = new Message[100]; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbm;", - garbageValue = "463993373" - ) - @Export("addMessage") - Message addMessage(int type, String sender, String text, String prefix) { - Message var5 = this.messages[99]; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbj;", + garbageValue = "0" + ) + @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]; - } - } + for (int var6 = this.count; var6 > 0; --var6) { + if (var6 != 100) { + this.messages[var6] = this.messages[var6 - 1]; + } + } - if (var5 == null) { - var5 = new Message(type, sender, prefix, text); - } else { - var5.remove(); - var5.removeDual(); - var5.set(type, sender, prefix, text); - } + 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; - } + this.messages[0] = var5; + if (this.count < 100) { + ++this.count; + } - return var5; - } + return var5; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Lbm;", - garbageValue = "-195254780" - ) - @Export("getMessage") - Message getMessage(int index) { - return index >= 0 && index < this.count ? this.messages[index] : null; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lbj;", + garbageValue = "-55997964" + ) + @Export("getMessage") + Message getMessage(int var1) { + return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1274923506" - ) - @Export("size") - int size() { - return this.count; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-410884165" + ) + @Export("size") + int size() { + return this.count; + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "-1857344803" - ) - @Export("isCharPrintable") - public static boolean isCharPrintable(char var0) { - return var0 >= ' ' && var0 <= '~' ? true : (var0 >= 160 && var0 <= 255 ? true : var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "67" + ) + public static void method2213(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][][]; - @ObfuscatedName("fk") - @ObfuscatedSignature( - signature = "(Lbz;I)V", - garbageValue = "911583338" - ) - static final void method2225(Actor var0) { - var0.field10 = false; - SequenceDefinition var1; - if (var0.movementSequence != -1) { - var1 = WorldMapAreaData.getSequenceDefinition(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; - Script.method2201(var1, var0.movementFrame, var0.x, var0.y); - } + 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]; - if (var0.movementFrame >= var1.frameIds.length) { - var0.movementFrameCycle = 0; - var0.movementFrame = 0; - Script.method2201(var1, var0.movementFrame, var0.x, var0.y); - } - } else { - var0.movementSequence = -1; - } - } + for (int var9 = 0; var9 < var7; ++var9) { + var8[var9] = var0.readStringCp1252NullTerminated(); + } - if (var0.spotAnimation != -1 && Client.cycle >= var0.field14) { - if (var0.spotAnimationFrame < 0) { - var0.spotAnimationFrame = 0; - } + 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); + } + } - int var2 = class50.getSpotAnimationDefinition(var0.spotAnimation).sequence; - if (var2 != -1) { - SequenceDefinition var3 = WorldMapAreaData.getSequenceDefinition(var2); - 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; - Script.method2201(var3, var0.spotAnimationFrame, var0.x, var0.y); - } + var2.operations[var3] = var4; + Class[] var21 = new Class[var7]; - 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; - } - } + for (var12 = 0; var12 < var7; ++var12) { + var21[var12] = User.loadClassFromDescriptor(var8[var12]); + } - if (var0.sequence != -1 && var0.sequenceDelay <= 1) { - var1 = WorldMapAreaData.getSequenceDefinition(var0.sequence); - if (var1.field781 == 1 && var0.field25 > 0 && var0.field19 <= Client.cycle && var0.field20 < Client.cycle) { - var0.sequenceDelay = 1; - return; - } - } + Class var22 = User.loadClassFromDescriptor(var20); + if (User.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - var1 = WorldMapAreaData.getSequenceDefinition(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; - Script.method2201(var1, var0.sequenceFrame, var0.x, var0.y); - } + Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods(); + Method[] var14 = var13; - if (var0.sequenceFrame >= var1.frameIds.length) { - var0.sequenceFrame -= var1.frameCount; - ++var0.field13; - if (var0.field13 >= var1.field780) { - var0.sequence = -1; - } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) { - Script.method2201(var1, var0.sequenceFrame, var0.x, var0.y); - } else { - var0.sequence = -1; - } - } + 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; - var0.field10 = var1.field778; - } else { - var0.sequence = -1; - } - } + for (int var19 = 0; var19 < var21.length; ++var19) { + if (var17[var19] != var21[var19]) { + var18 = false; + break; + } + } - if (var0.sequenceDelay > 0) { - --var0.sequenceDelay; - } + 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(); + } - @ObfuscatedName("ia") - @ObfuscatedSignature( - signature = "(Lho;IIB)V", - garbageValue = "94" - ) - static final void method2237(Widget var0, int var1, int var2) { - if (var0.buttonType == 1) { - Tiles.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); - } + var2.operations[var3] = var4; + var2.intReplaceValues[var3] = var7; + if (User.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } - String var3; - if (var0.buttonType == 2 && !Client.isSpellSelected) { - var3 = class198.method3745(var0); - if (var3 != null) { - Tiles.insertMenuItemNoShift(var3, BufferedFile.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); - } - } + var2.fields[var3] = Reflection.findField(User.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; + } + } - if (var0.buttonType == 3) { - Tiles.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); - } + class96.reflectionChecks.addFirst(var2); + } - if (var0.buttonType == 4) { - Tiles.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-4" + ) + static void method2214() { + if (UserComparator3.loadWorlds()) { + Login.worldSelectOpen = true; + Login.worldSelectPage = 0; + Login.worldSelectPagesCount = 0; + } - if (var0.buttonType == 5) { - Tiles.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); - } + } - if (var0.buttonType == 6 && Client.field127 == null) { - Tiles.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); - } + @ObfuscatedName("hh") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-2069013220" + ) + static final void method2215(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.field843[var4] = true; + } + } - int var4; - int var5; - int var6; - if (var0.type == 2) { - var6 = 0; + } - for (var4 = 0; var4 < var0.height; ++var4) { - for (var5 = 0; var5 < var0.width; ++var5) { - int var7 = (var0.paddingX + 32) * var5; - int var8 = (var0.paddingY + 32) * var4; - if (var6 < 20) { - var7 += var0.inventoryXOffsets[var6]; - var8 += var0.inventoryYOffsets[var6]; - } + @ObfuscatedName("ie") + @ObfuscatedSignature( + signature = "(Lhj;I)Z", + garbageValue = "-1045685499" + ) + @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 = Varps.method3969(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 (var2 != var3) { + return false; + } + } - if (var1 >= var7 && var2 >= var8 && var1 < var7 + 32 && var2 < var8 + 32) { - Client.dragItemSlotDestination = var6; - UserComparator6.field937 = var0; - if (var0.itemIds[var6] > 0) { - ItemDefinition var9 = Skills.getItemDefinition(var0.itemIds[var6] - 1); - if (Client.isItemSelected == 1 && WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) { - if (var0.id != ServerPacket.selectedItemWidget || var6 != HealthBarDefinition.selectedItemSlot) { - Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16748608) + var9.name, 31, var9.id, var6, var0.id); - } - } else if (Client.isSpellSelected && WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) { - if ((FloorDecoration.selectedSpellFlags & 16) == 16) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16748608) + var9.name, 32, var9.id, var6, var0.id); - } - } else { - String[] var10 = var9.inventoryActions; - int var11 = -1; - if (Client.shiftClickDrop && WorldMapEvent.isShiftPressed()) { - var11 = var9.getShiftClickIndex(); - } - - int var12; - if (WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) { - for (var12 = 4; var12 >= 3; --var12) { - if (var11 != var12) { - AccessFile.addWidgetItemMenuItem(var0, var9, var6, var12, false); - } - } - } - - if (SecureRandomFuture.method2101(class1.getWidgetClickMask(var0))) { - Tiles.insertMenuItemNoShift("Use", BufferedFile.colorStartTag(16748608) + var9.name, 38, var9.id, var6, var0.id); - } - - if (WorldMapAreaData.method708(class1.getWidgetClickMask(var0))) { - for (var12 = 2; var12 >= 0; --var12) { - if (var12 != var11) { - AccessFile.addWidgetItemMenuItem(var0, var9, var6, var12, false); - } - } - - if (var11 >= 0) { - AccessFile.addWidgetItemMenuItem(var0, var9, var6, var11, true); - } - } - - var10 = var0.itemActions; - if (var10 != null) { - for (var12 = 4; var12 >= 0; --var12) { - if (var10[var12] != null) { - byte var13 = 0; - if (var12 == 0) { - var13 = 39; - } - - if (var12 == 1) { - var13 = 40; - } - - if (var12 == 2) { - var13 = 41; - } - - if (var12 == 3) { - var13 = 42; - } - - if (var12 == 4) { - var13 = 43; - } - - Tiles.insertMenuItemNoShift(var10[var12], BufferedFile.colorStartTag(16748608) + var9.name, var13, var9.id, var6, var0.id); - } - } - } - - Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16748608) + var9.name, 1005, var9.id, var6, var0.id); - } - } - } - - ++var6; - } - } - } - - if (var0.isIf3) { - if (Client.isSpellSelected) { - if (GrandExchangeOfferWorldComparator.method58(class1.getWidgetClickMask(var0)) && (FloorDecoration.selectedSpellFlags & 32) == 32) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + var0.dataText, 58, 0, var0.childIndex, var0.id); - } - } else { - String var14; - for (var6 = 9; var6 >= 5; --var6) { - var14 = GameShell.method1060(var0, var6); - if (var14 != null) { - Tiles.insertMenuItemNoShift(var14, var0.dataText, 1007, var6 + 1, var0.childIndex, var0.id); - } - } - - var3 = class198.method3745(var0); - if (var3 != null) { - Tiles.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); - } - - for (var4 = 4; var4 >= 0; --var4) { - var14 = GameShell.method1060(var0, var4); - if (var14 != null) { - class16.insertMenuItem(var14, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field985); - } - } - - var5 = class1.getWidgetClickMask(var0); - boolean var15 = (var5 & 1) != 0; - if (var15) { - Tiles.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); - } - } - } - - } + return true; + } + } } diff --git a/runescape-client/src/main/java/ClanChat.java b/runescape-client/src/main/java/ClanChat.java index 8128276a66..d24f9c9754 100644 --- a/runescape-client/src/main/java/ClanChat.java +++ b/runescape-client/src/main/java/ClanChat.java @@ -4,223 +4,203 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kv") +@ObfuscatedName("jx") @Implements("ClanChat") public class ClanChat extends UserList { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Llx;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lky;" - ) - @Export("localUser") - final Usernamed localUser; - @ObfuscatedName("x") - @Export("name") - public String name; - @ObfuscatedName("d") - @Export("owner") - public String owner; - @ObfuscatedName("k") - @Export("minKick") - public byte minKick; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1534670751 - ) - @Export("rank") - public int rank; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 386706253 - ) - int field97; + @ObfuscatedName("gi") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("mapSceneSprites") + static IndexedSprite[] mapSceneSprites; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lmu;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljg;" + ) + @Export("localUser") + final Usernamed localUser; + @ObfuscatedName("f") + @Export("name") + public String name; + @ObfuscatedName("m") + @Export("owner") + public String owner; + @ObfuscatedName("u") + @Export("minKick") + public byte minKick; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 737707483 + ) + @Export("rank") + public int rank; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1009556639 + ) + int field3659; - @ObfuscatedSignature( - signature = "(Llx;Lky;)V" - ) - public ClanChat(LoginType var1, Usernamed var2) { - super(100); - this.name = null; - this.owner = null; - this.field97 = 1; - this.loginType = var1; - this.localUser = var2; - } + @ObfuscatedSignature( + signature = "(Lmu;Ljg;)V" + ) + public ClanChat(LoginType var1, Usernamed var2) { + super(100); + this.name = null; + this.owner = null; + this.field3659 = 1; + this.loginType = var1; + this.localUser = var2; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljs;", - garbageValue = "-2063112195" - ) - @Export("newInstance") - User newInstance() { - return new ClanMate(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Ljd;", + garbageValue = "2016619159" + ) + @Export("newInstance") + User newInstance() { + return new ClanMate(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)[Ljs;", - garbageValue = "861814350" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new ClanMate[var1]; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)[Ljd;", + garbageValue = "2126056206" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new ClanMate[var1]; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "242122326" - ) - final void method76(String var1) { - this.name = HealthBarUpdate.method1722(var1); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1948396413" + ) + final void method5231(String var1) { + this.name = VarcInt.method4403(var1); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "103" - ) - final void method77(String var1) { - this.owner = HealthBarUpdate.method1722(var1); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "537403926" + ) + final void method5232(String var1) { + this.owner = VarcInt.method4403(var1); + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "455791964" - ) - @Export("readUpdate") - public final void readUpdate(Buffer buffer) { - this.method77(buffer.readStringCp1252NullTerminated()); - long var2 = buffer.readLong(); - long var4 = var2; - String var6; - int var7; - if (var2 > 0L && var2 < 6582952005840035281L) { - if (var2 % 37L == 0L) { - var6 = null; - } else { - var7 = 0; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1982298123" + ) + @Export("readUpdate") + public final void readUpdate(Buffer var1) { + this.method5232(var1.readStringCp1252NullTerminated()); + long var2 = var1.readLong(); + this.method5231(Tile.method2855(var2)); + this.minKick = var1.readByte(); + int var4 = var1.readUnsignedByte(); + if (var4 != 255) { + this.clear(); - for (long var8 = var2; var8 != 0L; var8 /= 37L) { - ++var7; - } + 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.field3659 - 1); + var6.rank = var1.readByte(); + var1.readStringCp1252NullTerminated(); + this.isLocalPlayer(var6); + } - StringBuilder var11 = new StringBuilder(var7); + } + } - while (var4 != 0L) { - long var9 = var4; - var4 /= 37L; - var11.append(class306.base37Table[(int)(var9 - 37L * var4)]); - } + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-891757405" + ) + public final void method5234(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; + } - var6 = var11.reverse().toString(); - } - } else { - var6 = null; - } + ClanMate var6; + if (var5) { + if (this.getSize() == 0) { + return; + } - this.method76(var6); - this.minKick = buffer.readByte(); - var7 = buffer.readUnsignedByte(); - if (var7 != 255) { - this.clear(); + 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; + } - for (int var12 = 0; var12 < var7; ++var12) { - ClanMate var13 = (ClanMate)this.addLastNoPreviousUsername(new Username(buffer.readStringCp1252NullTerminated(), this.loginType)); - int var10 = buffer.readUnsignedShort(); - var13.set(var10, ++this.field97 - 1); - var13.rank = buffer.readByte(); - buffer.readStringCp1252NullTerminated(); - this.method79(var13); - } - } + var6 = (ClanMate)this.addLastNoPreviousUsername(var2); + } - } + var6.set(var3, ++this.field3659 - 1); + var6.rank = var4; + this.isLocalPlayer(var6); + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "24" - ) - public final void method78(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.size() == 0) { - return; - } + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-415731818" + ) + @Export("clearFriends") + public final void clearFriends() { + for (int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsFriend(); + } - 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.size() > super.capacity) { - return; - } + } - var6 = (ClanMate)this.addLastNoPreviousUsername(var2); - } + @ObfuscatedName("cp") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "17638925" + ) + @Export("clearIgnoreds") + public final void clearIgnoreds() { + for (int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsIgnored(); + } - var6.set(var3, ++this.field97 - 1); - var6.rank = var4; - this.method79(var6); - } + } - } + @ObfuscatedName("ch") + @ObfuscatedSignature( + signature = "(Ljw;I)V", + garbageValue = "1755545327" + ) + @Export("isLocalPlayer") + final void isLocalPlayer(ClanMate var1) { + if (var1.getUsername().equals(this.localUser.username())) { + this.rank = var1.rank; + } - @ObfuscatedName("cg") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1739085267" - ) - @Export("clearFriends") - public final void clearFriends() { - for (int var1 = 0; var1 < this.size(); ++var1) { - ((ClanMate)this.get(var1)).clearIsFriend(); - } - - } - - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-53" - ) - @Export("clearIgnoreds") - public final void clearIgnoreds() { - for (int var1 = 0; var1 < this.size(); ++var1) { - ((ClanMate)this.get(var1)).clearIsIgnored(); - } - - } - - @ObfuscatedName("cp") - @ObfuscatedSignature( - signature = "(Ljk;I)V", - garbageValue = "-128608554" - ) - final void method79(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 0888815189..daa980f5e3 100644 --- a/runescape-client/src/main/java/ClanMate.java +++ b/runescape-client/src/main/java/ClanMate.java @@ -3,92 +3,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jk") +@ObfuscatedName("jw") @Implements("ClanMate") public class ClanMate extends Buddy { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isFriend0") - TriBool isFriend0; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isIgnored0") - TriBool isIgnored0; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("friend") + TriBool friend; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("ignored") + TriBool ignored; - ClanMate() { - this.isFriend0 = TriBool.TriBool_unknown; - this.isIgnored0 = TriBool.TriBool_unknown; - } + ClanMate() { + this.friend = TriBool.TriBool_unknown; + this.ignored = TriBool.TriBool_unknown; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-865412624" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.isFriend0 = TriBool.TriBool_unknown; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1319461047" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.friend = TriBool.TriBool_unknown; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1324921155" - ) - @Export("isFriend") - public final boolean isFriend() { - if (this.isFriend0 == TriBool.TriBool_unknown) { - this.fillIsFriend(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "16711935" + ) + @Export("isFriend") + public final boolean isFriend() { + if (this.friend == TriBool.TriBool_unknown) { + this.fillIsFriend(); + } - return this.isFriend0 == TriBool.TriBool_true; - } + return this.friend == TriBool.TriBool_true; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1189907091" - ) - @Export("fillIsFriend") - void fillIsFriend() { - this.isFriend0 = WorldMapArea.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "78" + ) + @Export("fillIsFriend") + void fillIsFriend() { + this.friend = ArchiveLoader.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1852236089" - ) - @Export("clearIsIgnored") - void clearIsIgnored() { - this.isIgnored0 = TriBool.TriBool_unknown; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1980920067" + ) + @Export("clearIsIgnored") + void clearIsIgnored() { + this.ignored = TriBool.TriBool_unknown; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1463106780" - ) - @Export("isIgnored") - public final boolean isIgnored() { - if (this.isIgnored0 == TriBool.TriBool_unknown) { - this.fillIsIgnored(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "15" + ) + @Export("isIgnored") + public final boolean isIgnored() { + if (this.ignored == TriBool.TriBool_unknown) { + this.fillIsIgnored(); + } - return this.isIgnored0 == TriBool.TriBool_true; - } + return this.ignored == TriBool.TriBool_true; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-598925338" - ) - @Export("fillIsIgnored") - void fillIsIgnored() { - this.isIgnored0 = WorldMapArea.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1426345969" + ) + @Export("fillIsIgnored") + void fillIsIgnored() { + this.ignored = ArchiveLoader.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } } diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 6199c8ea6b..2f6afc39d2 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1,4 +1,3 @@ -import java.io.File; import java.io.IOException; import java.net.Socket; import java.util.ArrayList; @@ -14,6531 +13,5432 @@ import netscape.javascript.JSObject; @Implements("Client") @ObfuscatedName("client") public final class Client extends GameShell implements Usernamed { - @ObfuscatedName("mm") - @ObfuscatedGetter( - intValue = -783816509 - ) - @Export("rootInterface") - static int rootInterface; - @ObfuscatedName("mc") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("clickedWidget") - static Widget clickedWidget; - @ObfuscatedName("oo") - @ObfuscatedGetter( - intValue = 1348053843 - ) - static int field98; - @ObfuscatedName("os") - @ObfuscatedGetter( - intValue = -546798303 - ) - @Export("rootWidgetCount") - static int rootWidgetCount; - @ObfuscatedName("oa") - @ObfuscatedGetter( - longValue = 8818983958751331899L - ) - static long field99; - @ObfuscatedName("od") - static boolean[] field100; - @ObfuscatedName("oq") - static boolean[] field101; - @ObfuscatedName("ot") - static boolean[] field102; - @ObfuscatedName("nt") - static boolean field103; - @ObfuscatedName("ng") - @ObfuscatedGetter( - intValue = -1379876433 - ) - @Export("cycleCntr") - static int cycleCntr; - @ObfuscatedName("or") - @Export("isResizable") - static boolean isResizable; - @ObfuscatedName("ss") - @ObfuscatedGetter( - intValue = -451622431 - ) - public static int field104; - @ObfuscatedName("na") - @ObfuscatedGetter( - intValue = -934082817 - ) - static int field105; - @ObfuscatedName("nn") - static boolean field106; - @ObfuscatedName("qq") - static boolean field107; - @ObfuscatedName("mt") - @ObfuscatedGetter( - intValue = -1972775883 - ) - @Export("widgetClickX") - static int widgetClickX; - @ObfuscatedName("me") - @ObfuscatedGetter( - intValue = 1052276727 - ) - @Export("widgetClickY") - static int widgetClickY; - @ObfuscatedName("nw") - @ObfuscatedGetter( - intValue = -843739713 - ) - static int field108; - @ObfuscatedName("mr") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("clickedWidgetParent") - static Widget clickedWidgetParent; - @ObfuscatedName("oj") - @Export("rootWidgetWidths") - static int[] rootWidgetWidths; - @ObfuscatedName("mj") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("interfaceParents") - static NodeHashTable interfaceParents; - @ObfuscatedName("oy") - @Export("rootWidgetXs") - static int[] rootWidgetXs; - @ObfuscatedName("nl") - @ObfuscatedGetter( - intValue = 1939745821 - ) - static int field109; - @ObfuscatedName("mx") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("viewportWidget") - static Widget viewportWidget; - @ObfuscatedName("oz") - @ObfuscatedGetter( - intValue = -12672775 - ) - @Export("gameDrawingMode") - static int gameDrawingMode; - @ObfuscatedName("ox") - @Export("rootWidgetHeights") - static int[] rootWidgetHeights; - @ObfuscatedName("mw") - @ObfuscatedGetter( - intValue = 821563709 - ) - @Export("staffModLevel") - static int staffModLevel; - @ObfuscatedName("oi") - @Export("rootWidgetYs") - static int[] rootWidgetYs; - @ObfuscatedName("qz") - @Export("isCameraLocked") - static boolean isCameraLocked; - @ObfuscatedName("on") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("widgetClickMasks") - static NodeHashTable widgetClickMasks; - @ObfuscatedName("tb") - @ObfuscatedSignature( - signature = "Lbl;" - ) - static final class65 field895; - @ObfuscatedName("og") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("scriptEvents") - static NodeDeque scriptEvents; - @ObfuscatedName("nk") - @ObfuscatedGetter( - intValue = 1019025247 - ) - static int field110; - @ObfuscatedName("np") - @ObfuscatedGetter( - intValue = 1881890525 - ) - static int field111; - @ObfuscatedName("pd") - @ObfuscatedGetter( - intValue = -362336323 - ) - @Export("destinationX") - static int destinationX; - @ObfuscatedName("pk") - @ObfuscatedGetter( - intValue = 1298845031 - ) - @Export("destinationY") - static int destinationY; - @ObfuscatedName("qy") - @ObfuscatedGetter( - intValue = -34294211 - ) - static int field112; - @ObfuscatedName("tp") - static int[] field113; - @ObfuscatedName("th") - static int[] field114; - @ObfuscatedName("ny") - @Export("isDraggingWidget") - static boolean isDraggingWidget; - @ObfuscatedName("oe") - @ObfuscatedGetter( - intValue = -1628183831 - ) - @Export("mouseWheelRotation") - static int mouseWheelRotation; - @ObfuscatedName("mk") - @Export("selectedSpellActionName") - static String selectedSpellActionName; - @ObfuscatedName("mi") - @ObfuscatedGetter( - intValue = 933910819 - ) - @Export("runEnergy") - static int runEnergy; - @ObfuscatedName("mv") - @ObfuscatedGetter( - intValue = 36001423 - ) - @Export("weight") - static int weight; - @ObfuscatedName("mu") - @Export("selectedSpellName") - static String selectedSpellName; - @ObfuscatedName("qc") - @ObfuscatedGetter( - intValue = -818676431 - ) - static int field115; - @ObfuscatedName("nz") - static int[] field116; - @ObfuscatedName("ns") - @ObfuscatedGetter( - intValue = 743073293 - ) - static int field117; - @ObfuscatedName("sd") - @ObfuscatedGetter( - intValue = 944933439 - ) - static int field118; - @ObfuscatedName("ru") - @ObfuscatedSignature( - signature = "Lhi;" - ) - @Export("playerAppearance") - static PlayerAppearance playerAppearance; - @ObfuscatedName("qa") - @ObfuscatedGetter( - intValue = -1481002083 - ) - @Export("soundEffectCount") - static int soundEffectCount; - @ObfuscatedName("sb") - @ObfuscatedSignature( - signature = "[Lx;" - ) - @Export("grandExchangeOffers") - static GrandExchangeOffer[] grandExchangeOffers; - @ObfuscatedName("qv") - @Export("soundEffectIds") - static int[] soundEffectIds; - @ObfuscatedName("sy") - @Export("archiveLoaders") - static ArrayList archiveLoaders; - @ObfuscatedName("sl") - @ObfuscatedGetter( - intValue = -1605855913 - ) - static int field120; - @ObfuscatedName("md") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("draggedOnWidget") - static Widget draggedOnWidget; - @ObfuscatedName("sq") - @ObfuscatedGetter( - intValue = -1546210597 - ) - @Export("archiveLoaderArchive") - static int archiveLoaderArchive; - @ObfuscatedName("qn") - @Export("queuedSoundEffectLoops") - static int[] queuedSoundEffectLoops; - @ObfuscatedName("qd") - @Export("queuedSoundEffectDelays") - static int[] queuedSoundEffectDelays; - @ObfuscatedName("nr") - static int[] field121; - @ObfuscatedName("nv") - @ObfuscatedGetter( - intValue = -758575207 - ) - static int field122; - @ObfuscatedName("nd") - @ObfuscatedGetter( - intValue = 760022015 - ) - static int field123; - @ObfuscatedName("ni") - @ObfuscatedGetter( - intValue = 1990512261 - ) - static int field124; - @ObfuscatedName("qe") - @ObfuscatedSignature( - signature = "[Lci;" - ) - @Export("soundEffects") - static SoundEffect[] soundEffects; - @ObfuscatedName("qk") - @Export("soundLocations") - static int[] soundLocations; - @ObfuscatedName("qm") - @ObfuscatedGetter( - intValue = -137788125 - ) - @Export("minimapState") - static int minimapState; - @ObfuscatedName("ph") - @ObfuscatedGetter( - intValue = 587773171 - ) - static int field125; - @ObfuscatedName("pp") - @ObfuscatedGetter( - longValue = -1704358328771670975L - ) - static long field126; - @ObfuscatedName("sk") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("platformInfoProvider") - static PlatformInfoProvider platformInfoProvider; - @ObfuscatedName("mo") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field127; - @ObfuscatedName("qf") - @ObfuscatedGetter( - intValue = 1365951359 - ) - static int field128; - @ObfuscatedName("nh") - @ObfuscatedGetter( - intValue = -278874973 - ) - static int field129; - @ObfuscatedName("rw") - static short field130; - @ObfuscatedName("qp") - @ObfuscatedGetter( - intValue = -1352723865 - ) - @Export("soundEffectVolume") - static int soundEffectVolume; - @ObfuscatedName("rm") - static short field131; - @ObfuscatedName("rs") - static short field132; - @ObfuscatedName("rp") - static short field133; - @ObfuscatedName("ri") - static short field134; - @ObfuscatedName("pi") - @ObfuscatedGetter( - intValue = 864673321 - ) - @Export("mapIconCount") - static int mapIconCount; - @ObfuscatedName("rz") - @ObfuscatedGetter( - intValue = 541065633 - ) - @Export("viewportZoom") - static int viewportZoom; - @ObfuscatedName("rv") - static short field135; - @ObfuscatedName("ry") - @ObfuscatedGetter( - intValue = 2035623995 - ) - @Export("viewportWidth") - static int viewportWidth; - @ObfuscatedName("rx") - @ObfuscatedGetter( - intValue = -629885193 - ) - @Export("viewportHeight") - static int viewportHeight; - @ObfuscatedName("ps") - @Export("mapIconXs") - static int[] mapIconXs; - @ObfuscatedName("pw") - @Export("mapIconYs") - static int[] mapIconYs; - @ObfuscatedName("mg") - @ObfuscatedGetter( - intValue = 247245677 - ) - @Export("chatEffects") - static int chatEffects; - @ObfuscatedName("po") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("mapIcons") - static Sprite[] mapIcons; - @ObfuscatedName("mb") - @ObfuscatedGetter( - intValue = 1694810089 - ) - static int field136; - @ObfuscatedName("rr") - @ObfuscatedGetter( - intValue = 386331251 - ) - @Export("viewportOffsetX") - static int viewportOffsetX; - @ObfuscatedName("rn") - @ObfuscatedGetter( - intValue = 992721193 - ) - @Export("viewportOffsetY") - static int viewportOffsetY; - @ObfuscatedName("pm") - @ObfuscatedGetter( - intValue = -460406997 - ) - static int field137; - @ObfuscatedName("pl") - @ObfuscatedGetter( - intValue = -1362734353 - ) - static int field138; - @ObfuscatedName("rh") - static boolean[] field139; - @ObfuscatedName("ml") - @ObfuscatedGetter( - intValue = 1602665191 - ) - @Export("followerIndex") - static int followerIndex; - @ObfuscatedName("pt") - @ObfuscatedGetter( - intValue = -1802494233 - ) - @Export("publicChatMode") - static int publicChatMode; - @ObfuscatedName("sx") - @ObfuscatedGetter( - intValue = 206275573 - ) - static int field140; - @ObfuscatedName("rd") - static int[] field141; - @ObfuscatedName("rl") - static int[] field142; - @ObfuscatedName("rj") - static int[] field143; - @ObfuscatedName("rk") - static int[] field144; - @ObfuscatedName("pn") - static int[] field145; - @ObfuscatedName("pq") - static int[] field146; - @ObfuscatedName("oh") - @ObfuscatedSignature( - signature = "Lje;" - ) - static NodeDeque field147; - @ObfuscatedName("oc") - @ObfuscatedSignature( - signature = "Lje;" - ) - static NodeDeque field148; - @ObfuscatedName("rb") - static short field149; - @ObfuscatedName("re") - static short field150; - @ObfuscatedName("mf") - @ObfuscatedGetter( - intValue = -1715020411 - ) - static int field151; - @ObfuscatedName("pu") - static long[] field152; - @ObfuscatedName("ms") - @ObfuscatedGetter( - intValue = 2128395635 - ) - static int field153; - @ObfuscatedName("nc") - @ObfuscatedGetter( - intValue = 344308849 - ) - static int field154; - @ObfuscatedName("nf") - @Export("changedSkills") - static int[] changedSkills; - @ObfuscatedName("nx") - @ObfuscatedGetter( - intValue = 1132932607 - ) - @Export("changedSkillsCount") - static int changedSkillsCount; - @ObfuscatedName("mn") - @Export("playerMod") - static boolean playerMod; - @ObfuscatedName("pb") - @ObfuscatedGetter( - intValue = 1230692157 - ) - static int field156; - @ObfuscatedName("nq") - @ObfuscatedGetter( - intValue = 1467519791 - ) - @Export("chatCycle") - static int chatCycle; - @ObfuscatedName("mh") - @ObfuscatedGetter( - intValue = 535219347 - ) - static int field157; - @ObfuscatedName("pz") - static String field158; - @ObfuscatedName("sj") - @ObfuscatedSignature( - signature = "Lbj;" - ) - @Export("geOwnWorldComparator") - static GrandExchangeOfferOwnWorldComparator geOwnWorldComparator; - @ObfuscatedName("pv") - static int[] field160; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "[Lfy;" - ) - @Export("collisionMaps") - static CollisionMap[] collisionMaps; - @ObfuscatedName("ai") - static boolean field161; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = 1412639841 - ) - @Export("worldId") - public static int worldId; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = 352819683 - ) - @Export("worldProperties") - static int worldProperties; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = 1186004739 - ) - @Export("gameBuild") - static int gameBuild; - @ObfuscatedName("bd") - @Export("isMembersWorld") - public static boolean isMembersWorld; - @ObfuscatedName("bc") - @Export("isLowDetail") - static boolean isLowDetail; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = 2068355509 - ) - @Export("language") - static int language; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 1678472241 - ) - @Export("clientType") - static int clientType; - @ObfuscatedName("bl") - @Export("onMobile") - static boolean onMobile; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = 244995961 - ) - @Export("gameState") - static int gameState; - @ObfuscatedName("cj") - @Export("isLoading") - static boolean isLoading; - @ObfuscatedName("cu") - @ObfuscatedGetter( - intValue = 1909006131 - ) - @Export("cycle") - static int cycle; - @ObfuscatedName("cb") - @ObfuscatedGetter( - longValue = 8445874050676184263L - ) - @Export("mouseLastLastPressedTimeMillis") - static long mouseLastLastPressedTimeMillis; - @ObfuscatedName("cn") - @ObfuscatedGetter( - intValue = -1731573291 - ) - static int field163; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = -1313705721 - ) - static int field164; - @ObfuscatedName("ch") - @ObfuscatedGetter( - longValue = -6574384275386813769L - ) - static long field165; - @ObfuscatedName("cw") - static boolean field166; - @ObfuscatedName("cg") - @Export("displayFps") - static boolean displayFps; - @ObfuscatedName("cf") - @ObfuscatedGetter( - intValue = -1792536059 - ) - @Export("rebootTimer") - static int rebootTimer; - @ObfuscatedName("cp") - @ObfuscatedGetter( - intValue = -871534943 - ) - @Export("hintArrowType") - static int hintArrowType; - @ObfuscatedName("cl") - @ObfuscatedGetter( - intValue = 1485594821 - ) - @Export("hintArrowNpcIndex") - static int hintArrowNpcIndex; - @ObfuscatedName("ct") - @ObfuscatedGetter( - intValue = -1036874153 - ) - @Export("hintArrowPlayerIndex") - static int hintArrowPlayerIndex; - @ObfuscatedName("cz") - @ObfuscatedGetter( - intValue = -1757834373 - ) - @Export("hintArrowX") - static int hintArrowX; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = -123748133 - ) - @Export("hintArrowY") - static int hintArrowY; - @ObfuscatedName("ci") - @ObfuscatedGetter( - intValue = -627650567 - ) - @Export("hintArrowHeight") - static int hintArrowHeight; - @ObfuscatedName("cd") - @ObfuscatedGetter( - intValue = 749254081 - ) - @Export("hintArrowSubX") - static int hintArrowSubX; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = 1393270633 - ) - @Export("hintArrowSubY") - static int hintArrowSubY; - @ObfuscatedName("co") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("playerAttackOption") - static AttackOption playerAttackOption; - @ObfuscatedName("de") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("npcAttackOption") - static AttackOption npcAttackOption; - @ObfuscatedName("dt") - @ObfuscatedGetter( - intValue = -1520594673 - ) - @Export("titleLoadingStage") - static int titleLoadingStage; - @ObfuscatedName("da") - @ObfuscatedGetter( - intValue = -1431050759 - ) - @Export("js5ConnectState") - static int js5ConnectState; - @ObfuscatedName("dp") - @ObfuscatedGetter( - intValue = 1154760205 - ) - static int field167; - @ObfuscatedName("ek") - @ObfuscatedGetter( - intValue = 1791955261 - ) - @Export("js5Errors") - static int js5Errors; - @ObfuscatedName("ed") - @ObfuscatedGetter( - intValue = -163579343 - ) - @Export("loginState") - static int loginState; - @ObfuscatedName("ex") - @ObfuscatedGetter( - intValue = 755300107 - ) - static int field168; - @ObfuscatedName("ej") - @ObfuscatedGetter( - intValue = -964416527 - ) - static int field169; - @ObfuscatedName("el") - @ObfuscatedGetter( - intValue = 689094231 - ) - static int field170; - @ObfuscatedName("en") - @ObfuscatedSignature( - signature = "Lfc;" - ) - static class159 field658; - @ObfuscatedName("eo") - @ObfuscatedGetter( - intValue = -447055355 - ) - static int field171; - @ObfuscatedName("ew") - @Export("Login_isUsernameRemembered") - static boolean Login_isUsernameRemembered; - @ObfuscatedName("eu") - @ObfuscatedSignature( - signature = "Lcn;" - ) - @Export("secureRandomFuture") - static SecureRandomFuture secureRandomFuture; - @ObfuscatedName("ev") - static byte[] field172; - @ObfuscatedName("ez") - @ObfuscatedSignature( - signature = "[Lcv;" - ) - @Export("npcs") - static NPC[] npcs; - @ObfuscatedName("ep") - @ObfuscatedGetter( - intValue = -1569269731 - ) - @Export("npcCount") - static int npcCount; - @ObfuscatedName("fq") - @Export("npcIndices") - static int[] npcIndices; - @ObfuscatedName("fw") - @ObfuscatedGetter( - intValue = 516059665 - ) - static int field173; - @ObfuscatedName("fg") - static int[] field174; - @ObfuscatedName("fj") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("packetWriter") - public static final PacketWriter packetWriter; - @ObfuscatedName("fd") - @ObfuscatedGetter( - intValue = -1050480853 - ) - static int field175; - @ObfuscatedName("fh") - static boolean field176; - @ObfuscatedName("fx") - @Export("useBufferedSocket") - static boolean useBufferedSocket; - @ObfuscatedName("fm") - @ObfuscatedSignature( - signature = "Ljo;" - ) - @Export("timer") - static Timer timer; - @ObfuscatedName("ft") - @Export("fontsMap") - static HashMap fontsMap; - @ObfuscatedName("fe") - @ObfuscatedGetter( - intValue = 829228151 - ) - static int field177; - @ObfuscatedName("fn") - @ObfuscatedGetter( - intValue = -597100741 - ) - static int field178; - @ObfuscatedName("fk") - @ObfuscatedGetter( - intValue = 8470625 - ) - static int field179; - @ObfuscatedName("gp") - @ObfuscatedGetter( - intValue = 685418907 - ) - static int field180; - @ObfuscatedName("gh") - @ObfuscatedGetter( - intValue = -1456975367 - ) - static int field181; - @ObfuscatedName("gg") - @Export("isInInstance") - static boolean isInInstance; - @ObfuscatedName("gq") - @Export("instanceChunkTemplates") - static int[][][] instanceChunkTemplates; - @ObfuscatedName("gd") - static final int[] field182; - @ObfuscatedName("gy") - @ObfuscatedGetter( - intValue = -134014371 - ) - static int field183; - @ObfuscatedName("hx") - @ObfuscatedGetter( - intValue = -1406125895 - ) - static int field184; - @ObfuscatedName("hn") - @ObfuscatedGetter( - intValue = -516933613 - ) - static int field185; - @ObfuscatedName("hr") - @ObfuscatedGetter( - intValue = 1664350313 - ) - static int field186; - @ObfuscatedName("hg") - @ObfuscatedGetter( - intValue = 1658018867 - ) - static int field187; - @ObfuscatedName("hh") - static boolean field188; - @ObfuscatedName("hd") - @ObfuscatedGetter( - intValue = 438998245 - ) - static int field189; - @ObfuscatedName("hw") - @ObfuscatedGetter( - intValue = 410614005 - ) - @Export("camAngleX") - static int camAngleX; - @ObfuscatedName("hp") - @ObfuscatedGetter( - intValue = -1163038981 - ) - @Export("camAngleY") - static int camAngleY; - @ObfuscatedName("hv") - @ObfuscatedGetter( - intValue = 218086227 - ) - static int field190; - @ObfuscatedName("hu") - @ObfuscatedGetter( - intValue = -480633777 - ) - static int field191; - @ObfuscatedName("hi") - @ObfuscatedGetter( - intValue = 402871301 - ) - static int field192; - @ObfuscatedName("ht") - @ObfuscatedGetter( - intValue = 1502058429 - ) - static int field193; - @ObfuscatedName("hj") - @ObfuscatedGetter( - intValue = -1420078475 - ) - @Export("oculusOrbState") - static int oculusOrbState; - @ObfuscatedName("ho") - @ObfuscatedGetter( - intValue = 1005832199 - ) - @Export("camFollowHeight") - static int camFollowHeight; - @ObfuscatedName("hc") - @ObfuscatedGetter( - intValue = -441913785 - ) - static int field194; - @ObfuscatedName("hk") - @ObfuscatedGetter( - intValue = -1149138989 - ) - static int field195; - @ObfuscatedName("if") - @ObfuscatedGetter( - intValue = -952172003 - ) - static int field196; - @ObfuscatedName("ie") - @ObfuscatedGetter( - intValue = 236939601 - ) - @Export("oculusOrbNormalSpeed") - static int oculusOrbNormalSpeed; - @ObfuscatedName("in") - @ObfuscatedGetter( - intValue = 351193663 - ) - @Export("oculusOrbSlowedSpeed") - static int oculusOrbSlowedSpeed; - @ObfuscatedName("il") - @ObfuscatedGetter( - intValue = -1063713523 - ) - public static int field198; - @ObfuscatedName("ij") - static boolean field199; - @ObfuscatedName("iy") - @ObfuscatedGetter( - intValue = -1213062413 - ) - static int field200; - @ObfuscatedName("is") - static boolean field201; - @ObfuscatedName("ik") - @ObfuscatedGetter( - intValue = 910983131 - ) - static int field202; - @ObfuscatedName("ir") - @ObfuscatedGetter( - intValue = 616180377 - ) - @Export("overheadTextCount") - static int overheadTextCount; - @ObfuscatedName("iv") - @ObfuscatedGetter( - intValue = 1889277277 - ) - @Export("overheadTextLimit") - static int overheadTextLimit; - @ObfuscatedName("it") - @Export("selectedItemName") - static String selectedItemName; - @ObfuscatedName("iq") - @Export("overheadTextXs") - static int[] overheadTextXs; - @ObfuscatedName("iu") - @Export("overheadTextYs") - static int[] overheadTextYs; - @ObfuscatedName("ip") - @Export("overheadTextAscents") - static int[] overheadTextAscents; - @ObfuscatedName("ib") - @Export("overheadTextXOffsets") - static int[] overheadTextXOffsets; - @ObfuscatedName("ic") - @Export("overheadTextColors") - static int[] overheadTextColors; - @ObfuscatedName("iw") - @Export("overheadTextEffects") - static int[] overheadTextEffects; - @ObfuscatedName("io") - @Export("overheadTextCyclesRemaining") - static int[] overheadTextCyclesRemaining; - @ObfuscatedName("ih") - @Export("overheadText") - static String[] overheadText; - @ObfuscatedName("im") - @Export("tileLastDrawnActor") - static int[][] tileLastDrawnActor; - @ObfuscatedName("ii") - @ObfuscatedGetter( - intValue = 289477221 - ) - @Export("viewportDrawCount") - static int viewportDrawCount; - @ObfuscatedName("ig") - @ObfuscatedGetter( - intValue = 424442889 - ) - @Export("viewportTempX") - static int viewportTempX; - @ObfuscatedName("ia") - @ObfuscatedGetter( - intValue = -81902865 - ) - @Export("viewportTempY") - static int viewportTempY; - @ObfuscatedName("jb") - @ObfuscatedGetter( - intValue = 202604997 - ) - @Export("mouseCrossX") - static int mouseCrossX; - @ObfuscatedName("jq") - @ObfuscatedGetter( - intValue = -1984048653 - ) - @Export("mouseCrossY") - static int mouseCrossY; - @ObfuscatedName("jw") - @ObfuscatedGetter( - intValue = -1302827103 - ) - @Export("mouseCrossState") - static int mouseCrossState; - @ObfuscatedName("jm") - @ObfuscatedGetter( - intValue = 233318639 - ) - @Export("mouseCrossColor") - static int mouseCrossColor; - @ObfuscatedName("jr") - @Export("showMouseCross") - static boolean showMouseCross; - @ObfuscatedName("ju") - @ObfuscatedGetter( - intValue = 1691923909 - ) - static int field203; - @ObfuscatedName("jz") - @ObfuscatedGetter( - intValue = -1267243587 - ) - static int field204; - @ObfuscatedName("jp") - @ObfuscatedGetter( - intValue = 485534011 - ) - @Export("dragItemSlotSource") - static int dragItemSlotSource; - @ObfuscatedName("ja") - @ObfuscatedGetter( - intValue = 813973829 - ) - static int field205; - @ObfuscatedName("je") - @ObfuscatedGetter( - intValue = 1959822241 - ) - static int field206; - @ObfuscatedName("jy") - @ObfuscatedGetter( - intValue = -836653679 - ) - @Export("dragItemSlotDestination") - static int dragItemSlotDestination; - @ObfuscatedName("jl") - static boolean field207; - @ObfuscatedName("jt") - @ObfuscatedGetter( - intValue = 1486366835 - ) - @Export("itemDragDuration") - static int itemDragDuration; - @ObfuscatedName("jc") - @ObfuscatedGetter( - intValue = 1084498299 - ) - static int field208; - @ObfuscatedName("jj") - @Export("showLoadingMessages") - static boolean showLoadingMessages; - @ObfuscatedName("jd") - @ObfuscatedSignature( - signature = "[Lbr;" - ) - @Export("players") - static Player[] players; - @ObfuscatedName("ji") - @ObfuscatedGetter( - intValue = -1869532553 - ) - @Export("localPlayerIndex") - static int localPlayerIndex; - @ObfuscatedName("jo") - @ObfuscatedGetter( - intValue = -836962805 - ) - static int field209; - @ObfuscatedName("js") - @Export("renderSelf") - static boolean renderSelf; - @ObfuscatedName("ke") - @ObfuscatedGetter( - intValue = -1208823721 - ) - static int field210; - @ObfuscatedName("ky") - @ObfuscatedGetter( - intValue = -64320473 - ) - static int field211; - @ObfuscatedName("kd") - static int[] field212; - @ObfuscatedName("kp") - @Export("playerMenuOpcodes") - static final int[] playerMenuOpcodes; - @ObfuscatedName("kq") - @Export("playerMenuActions") - static String[] playerMenuActions; - @ObfuscatedName("kv") - @Export("playerOptionsPriorities") - static boolean[] playerOptionsPriorities; - @ObfuscatedName("kn") - static int[] field213; - @ObfuscatedName("kx") - @ObfuscatedGetter( - intValue = -1309758309 - ) - @Export("combatTargetPlayerIndex") - static int combatTargetPlayerIndex; - @ObfuscatedName("kz") - @ObfuscatedSignature( - signature = "[[[Lje;" - ) - @Export("groundItems") - static NodeDeque[][][] groundItems; - @ObfuscatedName("kh") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("pendingSpawns") - static NodeDeque pendingSpawns; - @ObfuscatedName("kk") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("projectiles") - static NodeDeque projectiles; - @ObfuscatedName("kt") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("graphicsObjects") - static NodeDeque graphicsObjects; - @ObfuscatedName("ki") - @Export("currentLevels") - static int[] currentLevels; - @ObfuscatedName("kr") - @Export("levels") - static int[] levels; - @ObfuscatedName("kb") - @Export("experience") - static int[] experience; - @ObfuscatedName("ku") - @ObfuscatedGetter( - intValue = -898263359 - ) - static int field215; - @ObfuscatedName("kc") - @Export("isMenuOpen") - static boolean isMenuOpen; - @ObfuscatedName("ll") - @ObfuscatedGetter( - intValue = -1749538901 - ) - @Export("menuOptionsCount") - static int menuOptionsCount; - @ObfuscatedName("ly") - @Export("menuArguments1") - static int[] menuArguments1; - @ObfuscatedName("li") - @Export("menuArguments2") - static int[] menuArguments2; - @ObfuscatedName("lh") - @Export("menuOpcodes") - static int[] menuOpcodes; - @ObfuscatedName("lk") - @Export("menuArguments0") - static int[] menuArguments0; - @ObfuscatedName("ld") - @Export("menuActions") - static String[] menuActions; - @ObfuscatedName("la") - @Export("menuTargetNames") - static String[] menuTargetNames; - @ObfuscatedName("lt") - @Export("menuShiftClick") - static boolean[] menuShiftClick; - @ObfuscatedName("lw") - @Export("followerOpsLowPriority") - static boolean followerOpsLowPriority; - @ObfuscatedName("lf") - @Export("shiftClickDrop") - static boolean shiftClickDrop; - @ObfuscatedName("lp") - @Export("tapToDrop") - static boolean tapToDrop; - @ObfuscatedName("lj") - @Export("showMouseOverText") - static boolean showMouseOverText; - @ObfuscatedName("lq") - @ObfuscatedGetter( - intValue = 26099827 - ) - static int field216; - @ObfuscatedName("ln") - @ObfuscatedGetter( - intValue = 885052255 - ) - static int field217; - @ObfuscatedName("lb") - @ObfuscatedGetter( - intValue = 699084605 - ) - static int field218; - @ObfuscatedName("ls") - @ObfuscatedGetter( - intValue = -274968037 - ) - static int field219; - @ObfuscatedName("lz") - @ObfuscatedGetter( - intValue = 1630772923 - ) - @Export("isItemSelected") - static int isItemSelected; - @ObfuscatedName("lv") - @Export("isSpellSelected") - static boolean isSpellSelected; - @ObfuscatedName("lc") - @ObfuscatedGetter( - intValue = 196309625 - ) - static int field220; - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1773624745" - ) - protected final void vmethod107() { - field99 = class203.currentTimeMs() + 500L; - this.method84(); - if (rootInterface != -1) { - this.method87(true); - } - - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1297880469" - ) - @Export("setUp") - protected final void setUp() { - WorldMapCacheName.method633(new int[]{20, 260, 10000}, new int[]{1000, 100, 500}); - class2.port1 = gameBuild == 0 ? 43594 : worldId + 40000; - WorldMapArea.port2 = gameBuild == 0 ? 443 : worldId + 50000; - class203.port3 = class2.port1; - PlayerAppearance.field726 = class226.field1132; - class229.field1137 = class226.field1133; - class227.field1136 = class226.field1134; - ArchiveLoader.field406 = class226.field1135; - TriBool.urlRequester = new UrlRequester(); - this.setUpKeyboard(); - this.setUpMouse(); - class16.mouseWheel = this.mouseWheel(); - Fonts.masterDisk = new ArchiveDisk(255, class168.dat2File, class168.idx255File, 500000); - ReflectionCheck.clientPreferences = class306.method5780(); - this.setUpClipboard(); - String var1 = Ignored.field402; - class50.applet = this; - if (var1 != null) { - class50.field1160 = var1; - } - - if (gameBuild != 0) { - displayFps = true; - } - - GroundItem.setWindowedMode(ReflectionCheck.clientPreferences.windowMode); - WorldMapArea.friendSystem = new FriendSystem(KeyHandler.loginType); - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1445885427" - ) - @Export("doCycle") - protected final void doCycle() { - ++cycle; - this.doCycleJs5(); - class3.method41(); - - int var1; - try { - if (class214.field1129 == 1) { - var1 = class214.midiPcmStream.method170(); - if (var1 > 0 && class214.midiPcmStream.isReady()) { - var1 -= FaceNormal.field344; - if (var1 < 0) { - var1 = 0; - } - - class214.midiPcmStream.method169(var1); - } else { - class214.midiPcmStream.clear(); - class214.midiPcmStream.removeAll(); - if (class214.musicTrackArchive != null) { - class214.field1129 = 2; - } else { - class214.field1129 = 0; - } - - class13.musicTrack = null; - class307.soundCache = null; - } - } - } catch (Exception var55) { - var55.printStackTrace(); - class214.midiPcmStream.clear(); - class214.field1129 = 0; - class13.musicTrack = null; - class307.soundCache = null; - class214.musicTrackArchive = null; - } - - class13.playPcmPlayers(); - class171.method3498(); - MouseHandler var2 = MouseHandler.MouseHandler_instance; - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButton0; - MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_x0; - MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_y0; - MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_millis0; - MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButton0; - MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedX0; - MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedY0; - MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis0; - MouseHandler.MouseHandler_lastButton0 = 0; - } - - if (class16.mouseWheel != null) { - var1 = class16.mouseWheel.useRotation(); - mouseWheelRotation = var1; - } - - if (gameState == 0) { - class171.load(); - GrandExchangeOfferNameComparator.method145(); - } else if (gameState == 5) { - class54.method1092(this); - class171.load(); - GrandExchangeOfferNameComparator.method145(); - } else if (gameState != 10 && gameState != 11) { - if (gameState == 20) { - class54.method1092(this); - this.doCycleLoggedOut(); - } else if (gameState == 25) { - UserComparator10.method3352(false); - field177 = 0; - boolean var3 = true; - - int var4; - for (var4 = 0; var4 < class40.regionLandArchives.length; ++var4) { - if (ArchiveLoader.regionMapArchiveIds[var4] != -1 && class40.regionLandArchives[var4] == null) { - class40.regionLandArchives[var4] = SecureRandomFuture.archive5.takeFile(ArchiveLoader.regionMapArchiveIds[var4], 0); - if (class40.regionLandArchives[var4] == null) { - var3 = false; - ++field177; - } - } - - if (MouseHandler.regionLandArchiveIds[var4] != -1 && HealthBarUpdate.regionMapArchives[var4] == null) { - HealthBarUpdate.regionMapArchives[var4] = SecureRandomFuture.archive5.takeFileEncrypted(MouseHandler.regionLandArchiveIds[var4], 0, class190.xteaKeys[var4]); - if (HealthBarUpdate.regionMapArchives[var4] == null) { - var3 = false; - ++field177; - } - } - } - - if (!var3) { - field181 = 1; - } else { - field179 = 0; - var3 = true; - - int var5; - int var6; - for (var4 = 0; var4 < class40.regionLandArchives.length; ++var4) { - byte[] var7 = HealthBarUpdate.regionMapArchives[var4]; - if (var7 != null) { - var5 = (class308.regions[var4] >> 8) * 64 - class50.baseX; - var6 = (class308.regions[var4] & 255) * 64 - GraphicsObject.baseY; - if (isInInstance) { - var5 = 10; - var6 = 10; - } - - var3 &= TextureProvider.method2774(var7, var5, var6); - } - } - - if (!var3) { - field181 = 2; - } else { - if (field181 != 0) { - PendingSpawn.drawLoadingMessage("Loading - please wait.
(100%)", true); - } - - class13.playPcmPlayers(); - class65.scene.clear(); - - for (var4 = 0; var4 < 4; ++var4) { - collisionMaps[var4].clear(); - } - - int var56; - for (var4 = 0; var4 < 4; ++var4) { - for (var56 = 0; var56 < 104; ++var56) { - for (var5 = 0; var5 < 104; ++var5) { - Tiles.Tiles_renderFlags[var4][var56][var5] = 0; - } - } - } - - class13.playPcmPlayers(); - Tiles.Tiles_minPlane = 99; - Tiles.field908 = new byte[4][104][104]; - Fonts.field350 = new byte[4][104][104]; - class32.field1157 = new byte[4][104][104]; - class307.field1155 = new byte[4][104][104]; - Tiles.field910 = new int[4][105][105]; - Tiles.field909 = new byte[4][105][105]; - Huffman.field398 = new int[105][105]; - class13.field1112 = new int[104]; - Formatting.field353 = new int[104]; - class214.field1131 = new int[104]; - WorldMapSectionType.field1104 = new int[104]; - Message.field490 = new int[104]; - var4 = class40.regionLandArchives.length; - SpriteMask.method4390(); - UserComparator10.method3352(true); - 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; - int var21; - if (!isInInstance) { - byte[] var22; - for (var56 = 0; var56 < var4; ++var56) { - var5 = (class308.regions[var56] >> 8) * 64 - class50.baseX; - var6 = (class308.regions[var56] & 255) * 64 - GraphicsObject.baseY; - var22 = class40.regionLandArchives[var56]; - if (var22 != null) { - class13.playPcmPlayers(); - Varcs.method2166(var22, var5, var6, GameObject.field359 * 8 - 48, WorldMapLabelSize.field1041 * 8 - 48, collisionMaps); - } - } - - for (var56 = 0; var56 < var4; ++var56) { - var5 = (class308.regions[var56] >> 8) * 64 - class50.baseX; - var6 = (class308.regions[var56] & 255) * 64 - GraphicsObject.baseY; - var22 = class40.regionLandArchives[var56]; - if (var22 == null && WorldMapLabelSize.field1041 < 800) { - class13.playPcmPlayers(); - UserComparator6.method3390(var5, var6, 64, 64); - } - } - - UserComparator10.method3352(true); - - for (var56 = 0; var56 < var4; ++var56) { - byte[] var23 = HealthBarUpdate.regionMapArchives[var56]; - if (var23 != null) { - var6 = (class308.regions[var56] >> 8) * 64 - class50.baseX; - var21 = (class308.regions[var56] & 255) * 64 - GraphicsObject.baseY; - class13.playPcmPlayers(); - Scene var24 = class65.scene; - CollisionMap[] var25 = collisionMaps; - Buffer var26 = new Buffer(var23); - var8 = -1; - - while (true) { - var9 = var26.method49(); - if (var9 == 0) { - break; - } - - var8 += var9; - var10 = 0; - - while (true) { - var11 = var26.readUShortSmart(); - if (var11 == 0) { - break; - } - - var10 += var11 - 1; - var12 = var10 & 63; - var13 = var10 >> 6 & 63; - var14 = var10 >> 12; - var15 = var26.readUnsignedByte(); - var16 = var15 >> 2; - var17 = var15 & 3; - var18 = var6 + var13; - var19 = var12 + var21; - if (var18 > 0 && var19 > 0 && var18 < 103 && var19 < 103) { - var20 = var14; - if ((Tiles.Tiles_renderFlags[1][var18][var19] & 2) == 2) { - var20 = var14 - 1; - } - - CollisionMap var27 = null; - if (var20 >= 0) { - var27 = var25[var20]; - } - - class227.method4446(var14, var18, var19, var8, var17, var16, var24, var27); - } - } - } - } - } - } - - int var57; - int var58; - int var59; - if (isInInstance) { - var56 = 0; - - label998: - while (true) { - if (var56 >= 4) { - for (var56 = 0; var56 < 13; ++var56) { - for (var5 = 0; var5 < 13; ++var5) { - var6 = instanceChunkTemplates[0][var56][var5]; - if (var6 == -1) { - UserComparator6.method3390(var56 * 8, var5 * 8, 8, 8); - } - } - } - - UserComparator10.method3352(true); - var56 = 0; - - while (true) { - if (var56 >= 4) { - break label998; - } - - class13.playPcmPlayers(); - - for (var5 = 0; var5 < 13; ++var5) { - for (var6 = 0; var6 < 13; ++var6) { - var21 = instanceChunkTemplates[var56][var5][var6]; - if (var21 != -1) { - var57 = var21 >> 24 & 3; - var58 = var21 >> 1 & 3; - var59 = var21 >> 14 & 1023; - var8 = var21 >> 3 & 2047; - var9 = (var59 / 8 << 8) + var8 / 8; - - for (var10 = 0; var10 < class308.regions.length; ++var10) { - if (class308.regions[var10] == var9 && HealthBarUpdate.regionMapArchives[var10] != null) { - ServerPacket.method3662(HealthBarUpdate.regionMapArchives[var10], var56, var5 * 8, var6 * 8, var57, (var59 & 7) * 8, (var8 & 7) * 8, var58, class65.scene, collisionMaps); - break; - } - } - } - } - } - - ++var56; - } - } - - class13.playPcmPlayers(); - - for (var5 = 0; var5 < 13; ++var5) { - for (var6 = 0; var6 < 13; ++var6) { - boolean var60 = false; - var57 = instanceChunkTemplates[var56][var5][var6]; - if (var57 != -1) { - var58 = var57 >> 24 & 3; - var59 = var57 >> 1 & 3; - var8 = var57 >> 14 & 1023; - var9 = var57 >> 3 & 2047; - var10 = (var8 / 8 << 8) + var9 / 8; - - for (var11 = 0; var11 < class308.regions.length; ++var11) { - if (class308.regions[var11] == var10 && class40.regionLandArchives[var11] != null) { - class204.method4013(class40.regionLandArchives[var11], var56, var5 * 8, var6 * 8, var58, (var8 & 7) * 8, (var9 & 7) * 8, var59, collisionMaps); - var60 = true; - break; - } - } - } - - if (!var60) { - var58 = var56; - var59 = var5 * 8; - var8 = var6 * 8; - - for (var9 = 0; var9 < 8; ++var9) { - for (var10 = 0; var10 < 8; ++var10) { - Tiles.Tiles_heights[var58][var9 + var59][var10 + var8] = 0; - } - } - - if (var59 > 0) { - for (var9 = 1; var9 < 8; ++var9) { - Tiles.Tiles_heights[var58][var59][var8 + var9] = Tiles.Tiles_heights[var58][var59 - 1][var8 + var9]; - } - } - - if (var8 > 0) { - for (var9 = 1; var9 < 8; ++var9) { - Tiles.Tiles_heights[var58][var59 + var9][var8] = Tiles.Tiles_heights[var58][var59 + var9][var8 - 1]; - } - } - - if (var59 > 0 && Tiles.Tiles_heights[var58][var59 - 1][var8] != 0) { - Tiles.Tiles_heights[var58][var59][var8] = Tiles.Tiles_heights[var58][var59 - 1][var8]; - } else if (var8 > 0 && Tiles.Tiles_heights[var58][var59][var8 - 1] != 0) { - Tiles.Tiles_heights[var58][var59][var8] = Tiles.Tiles_heights[var58][var59][var8 - 1]; - } else if (var59 > 0 && var8 > 0 && Tiles.Tiles_heights[var58][var59 - 1][var8 - 1] != 0) { - Tiles.Tiles_heights[var58][var59][var8] = Tiles.Tiles_heights[var58][var59 - 1][var8 - 1]; - } - } - } - } - - ++var56; - } - } - - UserComparator10.method3352(true); - class13.playPcmPlayers(); - Scene var61 = class65.scene; - CollisionMap[] var62 = collisionMaps; - - for (var6 = 0; var6 < 4; ++var6) { - for (var21 = 0; var21 < 104; ++var21) { - for (var57 = 0; var57 < 104; ++var57) { - if ((Tiles.Tiles_renderFlags[var6][var21][var57] & 1) == 1) { - var58 = var6; - if ((Tiles.Tiles_renderFlags[1][var21][var57] & 2) == 2) { - var58 = var6 - 1; - } - - if (var58 >= 0) { - var62[var58].method92(var21, var57); - } - } - } - } - } - - Tiles.field917 += (int)(Math.random() * 5.0D) - 2; - if (Tiles.field917 < -8) { - Tiles.field917 = -8; - } - - if (Tiles.field917 > 8) { - Tiles.field917 = 8; - } - - Tiles.field918 += (int)(Math.random() * 5.0D) - 2; - if (Tiles.field918 < -16) { - Tiles.field918 = -16; - } - - if (Tiles.field918 > 16) { - Tiles.field918 = 16; - } - - int[] var63; - for (var6 = 0; var6 < 4; ++var6) { - byte[][] var28 = Tiles.field909[var6]; - var10 = (int)Math.sqrt(5100.0D); - var11 = var10 * 768 >> 8; - - int var29; - for (var12 = 1; var12 < 103; ++var12) { - for (var13 = 1; var13 < 103; ++var13) { - var14 = Tiles.Tiles_heights[var6][var13 + 1][var12] - Tiles.Tiles_heights[var6][var13 - 1][var12]; - var15 = Tiles.Tiles_heights[var6][var13][var12 + 1] - Tiles.Tiles_heights[var6][var13][var12 - 1]; - var16 = (int)Math.sqrt((double)(var15 * var15 + var14 * var14 + 65536)); - var17 = (var14 << 8) / var16; - var18 = 65536 / var16; - var19 = (var15 << 8) / var16; - var20 = (var19 * -50 + var17 * -50 + var18 * -10) / var11 + 96; - var29 = (var28[var13 - 1][var12] >> 2) + (var28[var13][var12 - 1] >> 2) + (var28[var13 + 1][var12] >> 3) + (var28[var13][var12 + 1] >> 3) + (var28[var13][var12] >> 1); - Huffman.field398[var13][var12] = var20 - var29; - } - } - - for (var12 = 0; var12 < 104; ++var12) { - class13.field1112[var12] = 0; - Formatting.field353[var12] = 0; - class214.field1131[var12] = 0; - WorldMapSectionType.field1104[var12] = 0; - Message.field490[var12] = 0; - } - - for (var12 = -5; var12 < 109; ++var12) { - for (var13 = 0; var13 < 104; ++var13) { - var14 = var12 + 5; - int var10003; - FloorUnderlayDefinition var31; - if (var14 >= 0 && var14 < 104) { - var15 = Tiles.field908[var6][var14][var13] & 255; - if (var15 > 0) { - var31 = StudioGame.method4550(var15 - 1); - var63 = class13.field1112; - var63[var13] += var31.hue; - var63 = Formatting.field353; - var63[var13] += var31.saturation; - var63 = class214.field1131; - var63[var13] += var31.lightness; - var63 = WorldMapSectionType.field1104; - var63[var13] += var31.hueMultiplier; - var10003 = Message.field490[var13]++; - } - } - - var15 = var12 - 5; - if (var15 >= 0 && var15 < 104) { - var16 = Tiles.field908[var6][var15][var13] & 255; - if (var16 > 0) { - var31 = StudioGame.method4550(var16 - 1); - var63 = class13.field1112; - var63[var13] -= var31.hue; - var63 = Formatting.field353; - var63[var13] -= var31.saturation; - var63 = class214.field1131; - var63[var13] -= var31.lightness; - var63 = WorldMapSectionType.field1104; - var63[var13] -= var31.hueMultiplier; - var10003 = Message.field490[var13]--; - } - } - } - - if (var12 >= 1 && var12 < 103) { - var13 = 0; - var14 = 0; - var15 = 0; - var16 = 0; - var17 = 0; - - for (var18 = -5; var18 < 109; ++var18) { - var19 = var18 + 5; - if (var19 >= 0 && var19 < 104) { - var13 += class13.field1112[var19]; - var14 += Formatting.field353[var19]; - var15 += class214.field1131[var19]; - var16 += WorldMapSectionType.field1104[var19]; - var17 += Message.field490[var19]; - } - - var20 = var18 - 5; - if (var20 >= 0 && var20 < 104) { - var13 -= class13.field1112[var20]; - var14 -= Formatting.field353[var20]; - var15 -= class214.field1131[var20]; - var16 -= WorldMapSectionType.field1104[var20]; - var17 -= Message.field490[var20]; - } - - if (var18 >= 1 && var18 < 103 && (!isLowDetail || (Tiles.Tiles_renderFlags[0][var12][var18] & 2) != 0 || (Tiles.Tiles_renderFlags[var6][var12][var18] & 16) == 0)) { - if (var6 < Tiles.Tiles_minPlane) { - Tiles.Tiles_minPlane = var6; - } - - var29 = Tiles.field908[var6][var12][var18] & 255; - int var30 = Fonts.field350[var6][var12][var18] & 255; - if (var29 > 0 || var30 > 0) { - int var66 = Tiles.Tiles_heights[var6][var12][var18]; - int var32 = Tiles.Tiles_heights[var6][var12 + 1][var18]; - int var33 = Tiles.Tiles_heights[var6][var12 + 1][var18 + 1]; - int var34 = Tiles.Tiles_heights[var6][var12][var18 + 1]; - int var35 = Huffman.field398[var12][var18]; - int var36 = Huffman.field398[var12 + 1][var18]; - int var37 = Huffman.field398[var12 + 1][var18 + 1]; - int var38 = Huffman.field398[var12][var18 + 1]; - int var39 = -1; - int var40 = -1; - int var41; - int var42; - int var43; - if (var29 > 0) { - var41 = var13 * 256 / var16; - var42 = var14 / var17; - var43 = var15 / var17; - var39 = WorldMapAreaData.method712(var41, var42, var43); - var41 = var41 + Tiles.field917 & 255; - var43 += Tiles.field918; - if (var43 < 0) { - var43 = 0; - } else if (var43 > 255) { - var43 = 255; - } - - var40 = WorldMapAreaData.method712(var41, var42, var43); - } - - FloorOverlayDefinition var44; - if (var6 > 0) { - boolean var45 = true; - if (var29 == 0 && class32.field1157[var6][var12][var18] != 0) { - var45 = false; - } - - if (var30 > 0) { - var43 = var30 - 1; - var44 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var43); - FloorOverlayDefinition var46; - if (var44 != null) { - var46 = var44; - } else { - byte[] var47 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var43); - var44 = new FloorOverlayDefinition(); - if (var47 != null) { - var44.decode(new Buffer(var47), var43); - } - - var44.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var44, (long)var43); - var46 = var44; - } - - if (!var46.field665) { - var45 = false; - } - } - - if (var45 && var66 == var32 && var66 == var33 && var34 == var66) { - var63 = Tiles.field910[var6][var12]; - var63[var18] |= 2340; - } - } - - var41 = 0; - if (var40 != -1) { - var41 = Rasterizer3D.Rasterizer3D_colorPalette[class15.method183(var40, 96)]; - } - - if (var30 == 0) { - var61.addTile(var6, var12, var18, 0, 0, -1, var66, var32, var33, var34, class15.method183(var39, var35), class15.method183(var39, var36), class15.method183(var39, var37), class15.method183(var39, var38), 0, 0, 0, 0, var41, 0); - } else { - var42 = class32.field1157[var6][var12][var18] + 1; - byte var67 = class307.field1155[var6][var12][var18]; - int var68 = var30 - 1; - FloorOverlayDefinition var69 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var68); - if (var69 != null) { - var44 = var69; - } else { - byte[] var48 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var68); - var69 = new FloorOverlayDefinition(); - if (var48 != null) { - var69.decode(new Buffer(var48), var68); - } - - var69.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var69, (long)var68); - var44 = var69; - } - - int var70 = var44.texture; - int var49; - int var50; - int var51; - int var52; - if (var70 >= 0) { - var50 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var70); - var49 = -1; - } else if (var44.rgb == 16711935) { - var49 = -2; - var70 = -1; - var50 = -2; - } else { - var49 = WorldMapAreaData.method712(var44.hue, var44.saturation, var44.lightness); - var51 = var44.hue + Tiles.field917 & 255; - var52 = var44.lightness + Tiles.field918; - if (var52 < 0) { - var52 = 0; - } else if (var52 > 255) { - var52 = 255; - } - - var50 = WorldMapAreaData.method712(var51, var44.saturation, var52); - } - - var51 = 0; - if (var50 != -2) { - var51 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapDecoration.method348(var50, 96)]; - } - - if (var44.rgb2 != -1) { - var52 = var44.hue2 + Tiles.field917 & 255; - int var53 = var44.lightness2 + Tiles.field918; - if (var53 < 0) { - var53 = 0; - } else if (var53 > 255) { - var53 = 255; - } - - var50 = WorldMapAreaData.method712(var52, var44.saturation2, var53); - var51 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapDecoration.method348(var50, 96)]; - } - - var61.addTile(var6, var12, var18, var42, var67, var70, var66, var32, var33, var34, class15.method183(var39, var35), class15.method183(var39, var36), class15.method183(var39, var37), class15.method183(var39, var38), WorldMapDecoration.method348(var49, var35), WorldMapDecoration.method348(var49, var36), WorldMapDecoration.method348(var49, var37), WorldMapDecoration.method348(var49, var38), var41, var51); - } - } - } - } - } - } - - for (var12 = 1; var12 < 103; ++var12) { - for (var13 = 1; var13 < 103; ++var13) { - if ((Tiles.Tiles_renderFlags[var6][var13][var12] & 8) != 0) { - var18 = 0; - } else if (var6 > 0 && (Tiles.Tiles_renderFlags[1][var13][var12] & 2) != 0) { - var18 = var6 - 1; - } else { - var18 = var6; - } - - var61.setTileMinPlane(var6, var13, var12, var18); - } - } - - Tiles.field908[var6] = ((byte[][])null); - Fonts.field350[var6] = ((byte[][])null); - class32.field1157[var6] = ((byte[][])null); - class307.field1155[var6] = ((byte[][])null); - Tiles.field909[var6] = ((byte[][])null); - } - - var61.method293(-50, -10, -50); - - for (var6 = 0; var6 < 104; ++var6) { - for (var21 = 0; var21 < 104; ++var21) { - if ((Tiles.Tiles_renderFlags[1][var6][var21] & 2) == 2) { - var61.setLinkBelow(var6, var21); - } - } - } - - var6 = 1; - var21 = 2; - var57 = 4; - - for (var58 = 0; var58 < 4; ++var58) { - if (var58 > 0) { - var6 <<= 3; - var21 <<= 3; - var57 <<= 3; - } - - for (var59 = 0; var59 <= var58; ++var59) { - for (var8 = 0; var8 <= 104; ++var8) { - for (var9 = 0; var9 <= 104; ++var9) { - short var64; - if ((Tiles.field910[var59][var9][var8] & var6) != 0) { - var10 = var8; - var11 = var8; - var12 = var59; - - for (var13 = var59; var10 > 0 && (Tiles.field910[var59][var9][var10 - 1] & var6) != 0; --var10) { - } - - while (var11 < 104 && (Tiles.field910[var59][var9][var11 + 1] & var6) != 0) { - ++var11; - } - - label649: - while (var12 > 0) { - for (var14 = var10; var14 <= var11; ++var14) { - if ((Tiles.field910[var12 - 1][var9][var14] & var6) == 0) { - break label649; - } - } - - --var12; - } - - label638: - while (var13 < var58) { - for (var14 = var10; var14 <= var11; ++var14) { - if ((Tiles.field910[var13 + 1][var9][var14] & var6) == 0) { - break label638; - } - } - - ++var13; - } - - var14 = (var11 - var10 + 1) * (var13 + 1 - var12); - if (var14 >= 8) { - var64 = 240; - var16 = Tiles.Tiles_heights[var13][var9][var10] - var64; - var17 = Tiles.Tiles_heights[var12][var9][var10]; - Scene.Scene_addOccluder(var58, 1, var9 * 128, var9 * 128, var10 * 128, var11 * 128 + 128, var16, var17); - - for (var18 = var12; var18 <= var13; ++var18) { - for (var19 = var10; var19 <= var11; ++var19) { - var63 = Tiles.field910[var18][var9]; - var63[var19] &= ~var6; - } - } - } - } - - if ((Tiles.field910[var59][var9][var8] & var21) != 0) { - var10 = var9; - var11 = var9; - var12 = var59; - - for (var13 = var59; var10 > 0 && (Tiles.field910[var59][var10 - 1][var8] & var21) != 0; --var10) { - } - - while (var11 < 104 && (Tiles.field910[var59][var11 + 1][var8] & var21) != 0) { - ++var11; - } - - label702: - while (var12 > 0) { - for (var14 = var10; var14 <= var11; ++var14) { - if ((Tiles.field910[var12 - 1][var14][var8] & var21) == 0) { - break label702; - } - } - - --var12; - } - - label691: - while (var13 < var58) { - for (var14 = var10; var14 <= var11; ++var14) { - if ((Tiles.field910[var13 + 1][var14][var8] & var21) == 0) { - break label691; - } - } - - ++var13; - } - - var14 = (var11 - var10 + 1) * (var13 + 1 - var12); - if (var14 >= 8) { - var64 = 240; - var16 = Tiles.Tiles_heights[var13][var10][var8] - var64; - var17 = Tiles.Tiles_heights[var12][var10][var8]; - Scene.Scene_addOccluder(var58, 2, var10 * 128, var11 * 128 + 128, var8 * 128, var8 * 128, var16, var17); - - for (var18 = var12; var18 <= var13; ++var18) { - for (var19 = var10; var19 <= var11; ++var19) { - var63 = Tiles.field910[var18][var19]; - var63[var8] &= ~var21; - } - } - } - } - - if ((Tiles.field910[var59][var9][var8] & var57) != 0) { - var10 = var9; - var11 = var9; - var12 = var8; - - for (var13 = var8; var12 > 0 && (Tiles.field910[var59][var9][var12 - 1] & var57) != 0; --var12) { - } - - while (var13 < 104 && (Tiles.field910[var59][var9][var13 + 1] & var57) != 0) { - ++var13; - } - - label755: - while (var10 > 0) { - for (var14 = var12; var14 <= var13; ++var14) { - if ((Tiles.field910[var59][var10 - 1][var14] & var57) == 0) { - break label755; - } - } - - --var10; - } - - label744: - while (var11 < 104) { - for (var14 = var12; var14 <= var13; ++var14) { - if ((Tiles.field910[var59][var11 + 1][var14] & var57) == 0) { - break label744; - } - } - - ++var11; - } - - if ((var13 - var12 + 1) * (var11 - var10 + 1) >= 4) { - var14 = Tiles.Tiles_heights[var59][var10][var12]; - Scene.Scene_addOccluder(var58, 4, var10 * 128, var11 * 128 + 128, var12 * 128, var13 * 128 + 128, var14, var14); - - for (var15 = var10; var15 <= var11; ++var15) { - for (var16 = var12; var16 <= var13; ++var16) { - var63 = Tiles.field910[var59][var15]; - var63[var16] &= ~var57; - } - } - } - } - } - } - } - } - - UserComparator10.method3352(true); - var6 = Tiles.Tiles_minPlane; - if (var6 > SoundSystem.plane) { - var6 = SoundSystem.plane; - } - - if (var6 < SoundSystem.plane - 1) { - var6 = SoundSystem.plane - 1; - } - - if (isLowDetail) { - class65.scene.init(Tiles.Tiles_minPlane); - } else { - class65.scene.init(0); - } - - for (var21 = 0; var21 < 104; ++var21) { - for (var57 = 0; var57 < 104; ++var57) { - TilePaint.updateItemPile(var21, var57); - } - } - - class13.playPcmPlayers(); - ScriptEvent.method1179(); - ObjectDefinition.ObjectDefinition_cachedModelData.clear(); - PacketBufferNode var65; - if (TextureProvider.client.hasFrame()) { - var65 = Interpreter.method1915(ClientPacket.field231, packetWriter.isaacCipher); - var65.packetBuffer.writeInt(1057001181); - packetWriter.method241(var65); - } - - if (!isInInstance) { - var21 = (GameObject.field359 - 6) / 8; - var57 = (GameObject.field359 + 6) / 8; - var58 = (WorldMapLabelSize.field1041 - 6) / 8; - var59 = (WorldMapLabelSize.field1041 + 6) / 8; - - for (var8 = var21 - 1; var8 <= var57 + 1; ++var8) { - for (var9 = var58 - 1; var9 <= var59 + 1; ++var9) { - if (var8 < var21 || var8 > var57 || var9 < var58 || var9 > var59) { - SecureRandomFuture.archive5.method10("m" + var8 + "_" + var9); - SecureRandomFuture.archive5.method10("l" + var8 + "_" + var9); - } - } - } - } - - GameShell.updateGameState(30); - class13.playPcmPlayers(); - BufferedSink.method3603(); - var65 = Interpreter.method1915(ClientPacket.field298, packetWriter.isaacCipher); - packetWriter.method241(var65); - GrandExchangeOfferNameComparator.method145(); - } - } - } - } else { - class54.method1092(this); - } - - if (gameState == 30) { - this.doCycleLoggedIn(); - } else if (gameState == 40 || gameState == 45) { - this.doCycleLoggedOut(); - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "106302203" - ) - @Export("draw") - protected final void draw(boolean var1) { - boolean var2; - label139: { - try { - if (class214.field1129 == 2) { - if (class13.musicTrack == null) { - class13.musicTrack = MusicTrack.readTrack(class214.musicTrackArchive, class30.musicTrackGroupId, GrandExchangeOffer.musicTrackFileId); - if (class13.musicTrack == null) { - var2 = false; - break label139; - } - } - - if (class307.soundCache == null) { - class307.soundCache = new SoundCache(class214.soundEffectsArchive, class214.musicSamplesArchive); - } - - if (class214.midiPcmStream.loadMusicTrack(class13.musicTrack, class1.musicPatchesArchive, class307.soundCache, 22050)) { - class214.midiPcmStream.clearAll(); - class214.midiPcmStream.method169(WorldMapLabel.field1039); - class214.midiPcmStream.setMusicTrack(class13.musicTrack, RectangleMode.musicTrackBoolean); - class214.field1129 = 0; - class13.musicTrack = null; - class307.soundCache = null; - class214.musicTrackArchive = null; - var2 = true; - break label139; - } - } - } catch (Exception var4) { - var4.printStackTrace(); - class214.midiPcmStream.clear(); - class214.field1129 = 0; - class13.musicTrack = null; - class307.soundCache = null; - class214.musicTrackArchive = null; - } - - var2 = false; - } - - if (var2 && field107 && WorldMapCacheName.pcmPlayer0 != null) { - WorldMapCacheName.pcmPlayer0.tryDiscard(); - } - - if ((gameState == 10 || gameState == 20 || gameState == 30) && field99 != 0L && class203.currentTimeMs() > field99) { - GroundItem.setWindowedMode(SpotAnimationDefinition.getWindowedMode()); - } - - int var3; - if (var1) { - for (var3 = 0; var3 < 100; ++var3) { - field100[var3] = true; - } - } - - if (gameState == 0) { - this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); - } else if (gameState == 5) { - ArchiveLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); - } else if (gameState != 10 && gameState != 11) { - if (gameState == 20) { - ArchiveLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); - } else if (gameState == 25) { - if (field181 == 1) { - if (field177 > field178) { - field178 = field177; - } - - var3 = (field178 * 50 - field177 * 50) / field178; - PendingSpawn.drawLoadingMessage("Loading - please wait.
(" + var3 + "%)", false); - } else if (field181 == 2) { - if (field179 > field180) { - field180 = field179; - } - - var3 = (field180 * 50 - field179 * 50) / field180 + 50; - PendingSpawn.drawLoadingMessage("Loading - please wait.
(" + var3 + "%)", false); - } else { - PendingSpawn.drawLoadingMessage("Loading - please wait.", false); - } - } else if (gameState == 30) { - this.drawLoggedIn(); - } else if (gameState == 40) { - PendingSpawn.drawLoadingMessage("Connection lost
Please wait - attempting to reestablish", false); - } else if (gameState == 45) { - PendingSpawn.drawLoadingMessage("Please wait...", false); - } - } else { - ArchiveLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); - } - - if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { - for (var3 = 0; var3 < rootWidgetCount; ++var3) { - if (field102[var3]) { - class197.rasterProvider.draw(rootWidgetXs[var3], rootWidgetYs[var3], rootWidgetWidths[var3], rootWidgetHeights[var3]); - field102[var3] = false; - } - } - } else if (gameState > 0) { - class197.rasterProvider.drawFull(0, 0); - - for (var3 = 0; var3 < rootWidgetCount; ++var3) { - field102[var3] = false; - } - } - - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1879956387" - ) - @Export("kill0") - protected final void kill0() { - if (class196.varcs.hasUnwrittenChanges()) { - class196.varcs.write(); - } - - if (Projectile.mouseRecorder != null) { - Projectile.mouseRecorder.isRunning = false; - } - - Projectile.mouseRecorder = null; - packetWriter.close(); - if (KeyHandler.KeyHandler_instance != null) { - KeyHandler var1 = KeyHandler.KeyHandler_instance; - synchronized(KeyHandler.KeyHandler_instance) { - KeyHandler.KeyHandler_instance = null; - } - } - - if (MouseHandler.MouseHandler_instance != null) { - MouseHandler var8 = MouseHandler.MouseHandler_instance; - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_instance = null; - } - } - - class16.mouseWheel = null; - if (WorldMapCacheName.pcmPlayer0 != null) { - WorldMapCacheName.pcmPlayer0.shutdown(); - } - - if (AbstractArchive.pcmPlayer1 != null) { - AbstractArchive.pcmPlayer1.shutdown(); - } - - if (NetCache.NetCache_socket != null) { - NetCache.NetCache_socket.close(); - } - - RunException.method3431(); - if (TriBool.urlRequester != null) { - TriBool.urlRequester.close(); - TriBool.urlRequester = null; - } - - try { - class168.dat2File.close(); - - for (int var9 = 0; var9 < class168.idxCount; ++var9) { - ArchiveDiskAction.idxFiles[var9].close(); - } - - class168.idx255File.close(); - class168.randomDat.close(); - } catch (Exception var7) { - } - - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1860808291" - ) - protected final void vmethod114() { - } - - public final void init() { - try { - if (this.checkHost()) { - ClientParameter[] var1 = class4.method47(); - int var2 = 0; - - while (true) { - int var3; - int var6; - if (var2 >= var1.length) { - class237.method4539(); - class50.worldHost = this.getCodeBase().getHost(); - String var26 = class15.serverBuild.name; - byte var27 = 0; - - try { - class168.idxCount = 21; - PacketBuffer.field667 = var27; - - try { - HorizontalAlignment.osName = System.getProperty("os.name"); - } catch (Exception var21) { - HorizontalAlignment.osName = "Unknown"; - } - - WorldMapSection1.osNameLowerCase = HorizontalAlignment.osName.toLowerCase(); - - try { - WorldMapSection2.userHomeDirectory = System.getProperty("user.home"); - if (WorldMapSection2.userHomeDirectory != null) { - WorldMapSection2.userHomeDirectory = WorldMapSection2.userHomeDirectory + "/"; - } - } catch (Exception var20) { - } - - try { - if (WorldMapSection1.osNameLowerCase.startsWith("win")) { - if (WorldMapSection2.userHomeDirectory == null) { - WorldMapSection2.userHomeDirectory = System.getenv("USERPROFILE"); - } - } else if (WorldMapSection2.userHomeDirectory == null) { - WorldMapSection2.userHomeDirectory = System.getenv("HOME"); - } - - if (WorldMapSection2.userHomeDirectory != null) { - WorldMapSection2.userHomeDirectory = WorldMapSection2.userHomeDirectory + "/"; - } - } catch (Exception var19) { - } - - if (WorldMapSection2.userHomeDirectory == null) { - WorldMapSection2.userHomeDirectory = "~/"; - } - - WorldMapSection0.cacheDirectoryLocations = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", WorldMapSection2.userHomeDirectory, "/tmp/", ""}; - Canvas.field94 = new String[]{".jagex_cache_" + PacketBuffer.field667, ".file_store_" + PacketBuffer.field667}; - var6 = 0; - - label256: - while (var6 < 4) { - String var28 = var6 == 0 ? "" : "" + var6; - class337.clDat = new File(WorldMapSection2.userHomeDirectory, "jagex_cl_oldschool_" + var26 + var28 + ".dat"); - String var30 = null; - String var31 = null; - boolean var32 = false; - int var11; - File var12; - if (class337.clDat.exists()) { - try { - AccessFile var13 = new AccessFile(class337.clDat, "rw", 10000L); - - int var14; - Buffer var15; - for (var15 = new Buffer((int)var13.length()); var15.index < var15.array.length; var15.index += var14) { - var14 = var13.read(var15.array, var15.index, var15.array.length - var15.index); - if (var14 == -1) { - throw new IOException(); - } - } - - var15.index = 0; - var14 = var15.readUnsignedByte(); - if (var14 < 1 || var14 > 3) { - throw new IOException("" + var14); - } - - var11 = 0; - if (var14 > 1) { - var11 = var15.readUnsignedByte(); - } - - if (var14 <= 2) { - var30 = var15.readStringCp1252NullCircumfixed(); - if (var11 == 1) { - var31 = var15.readStringCp1252NullCircumfixed(); - } - } else { - var30 = var15.readCESU8(); - if (var11 == 1) { - var31 = var15.readCESU8(); - } - } - - var13.close(); - } catch (IOException var23) { - var23.printStackTrace(); - } - - if (var30 != null) { - var12 = new File(var30); - if (!var12.exists()) { - var30 = null; - } - } - - if (var30 != null) { - var12 = new File(var30, "test.dat"); - if (!DevicePcmPlayerProvider.method847(var12, true)) { - var30 = null; - } - } - } - - File var36; - if (var30 == null && var6 == 0) { - label232: - for (var3 = 0; var3 < Canvas.field94.length; ++var3) { - for (int var34 = 0; var34 < WorldMapSection0.cacheDirectoryLocations.length; ++var34) { - var36 = new File(WorldMapSection0.cacheDirectoryLocations[var34] + Canvas.field94[var3] + File.separatorChar + "oldschool" + File.separatorChar); - if (var36.exists() && DevicePcmPlayerProvider.method847(new File(var36, "test.dat"), true)) { - var30 = var36.toString(); - var32 = true; - break label232; - } - } - } - } - - if (var30 == null) { - var30 = WorldMapSection2.userHomeDirectory + File.separatorChar + "jagexcache" + var28 + File.separatorChar + "oldschool" + File.separatorChar + var26 + File.separatorChar; - var32 = true; - } - - File[] var16; - File var35; - File[] var37; - if (var31 != null) { - var36 = new File(var31); - var12 = new File(var30); - - try { - var37 = var36.listFiles(); - var16 = var37; - - for (var11 = 0; var11 < var16.length; ++var11) { - var35 = var16[var11]; - File var17 = new File(var12, var35.getName()); - boolean var18 = var35.renameTo(var17); - if (!var18) { - throw new IOException(); - } - } - } catch (Exception var22) { - var22.printStackTrace(); - } - - var32 = true; - } - - if (var32) { - class14.method167(new File(var30), (File)null); - } - - var36 = new File(var30); - class168.field1115 = var36; - if (!class168.field1115.exists()) { - class168.field1115.mkdirs(); - } - - var37 = class168.field1115.listFiles(); - if (var37 == null) { - break; - } - - var16 = var37; - var11 = 0; - - while (true) { - if (var11 >= var16.length) { - break label256; - } - - var35 = var16[var11]; - if (!DevicePcmPlayerProvider.method847(var35, false)) { - ++var6; - break; - } - - ++var11; - } - } - - File var29 = class168.field1115; - class171.field1118 = var29; - if (!class171.field1118.exists()) { - throw new RuntimeException(""); - } - - class171.field1117 = true; - Interpreter.method1976(); - class168.dat2File = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); - class168.idx255File = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); - ArchiveDiskAction.idxFiles = new BufferedFile[class168.idxCount]; - - for (int var33 = 0; var33 < class168.idxCount; ++var33) { - ArchiveDiskAction.idxFiles[var33] = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.idx" + var33), "rw", 1048576L), 6000, 0); - } - } catch (Exception var24) { - NPCDefinition.sendStackTrace((String)null, var24); - } - - TextureProvider.client = this; - RunException.field761 = clientType; - this.startThread(765, 503, 180); - break; - } - - ClientParameter var4 = var1[var2]; - String var5 = this.getParameter(var4.id); - if (var5 != null) { - switch(Integer.parseInt(var4.id)) { - case 1: - useBufferedSocket = Integer.parseInt(var5) != 0; - case 2: - case 11: - case 13: - case 16: - default: - break; - case 3: - if (var5.equalsIgnoreCase("true")) { - isMembersWorld = true; - } else { - isMembersWorld = false; - } - break; - case 4: - if (clientType == -1) { - clientType = Integer.parseInt(var5); - } - break; - case 5: - worldProperties = Integer.parseInt(var5); - break; - case 6: - language = Integer.parseInt(var5); - break; - case 7: - var6 = Integer.parseInt(var5); - ServerBuild[] var7 = new ServerBuild[]{ServerBuild.RC, ServerBuild.WIP, ServerBuild.LIVE, ServerBuild.BUILDLIVE}; - ServerBuild[] var8 = var7; - var3 = 0; - - ServerBuild var9; - while (true) { - if (var3 >= var8.length) { - var9 = null; - break; - } - - ServerBuild var10 = var8[var3]; - if (var6 == var10.id) { - var9 = var10; - break; - } - - ++var3; - } - - class15.serverBuild = var9; - break; - case 8: - if (var5.equalsIgnoreCase("true")) { - } - break; - case 9: - class21.field1123 = var5; - break; - case 10: - WorldMapRectangle.studioGame = (StudioGame)ScriptFrame.findEnumerated(ClientPacket.method3664(), Integer.parseInt(var5)); - if (WorldMapRectangle.studioGame == StudioGame.field892) { - KeyHandler.loginType = LoginType.field479; - } else { - KeyHandler.loginType = LoginType.field487; - } - break; - case 12: - worldId = Integer.parseInt(var5); - break; - case 14: - AbstractArchive.field2 = Integer.parseInt(var5); - break; - case 15: - gameBuild = Integer.parseInt(var5); - break; - case 17: - ServerBuild.worldsUrl = var5; - } - } - - ++var2; - } - } - - } catch (RuntimeException var25) { - throw Players.method2120(var25, "client.init()"); - } - } - - @ObfuscatedName("ef") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-78" - ) - @Export("doCycleJs5") - void doCycleJs5() { - if (gameState != 1000) { - long var1 = class203.currentTimeMs(); - int var3 = (int)(var1 - NetCache.field629); - NetCache.field629 = var1; - if (var3 > 200) { - var3 = 200; - } - - NetCache.field628 += var3; - boolean var4; - if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { - var4 = true; - } else if (NetCache.NetCache_socket == null) { - var4 = false; - } else { - try { - label205: { - if (NetCache.field628 > 30000) { - throw new IOException(); - } - - NetFileRequest var5; - Buffer var6; - while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { - var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); - var6 = new Buffer(4); - var6.writeByte(1); - var6.writeMedium((int)var5.key); - NetCache.NetCache_socket.write(var6.array, 0, 4); - NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key); - --NetCache.NetCache_pendingPriorityWritesCount; - ++NetCache.NetCache_pendingPriorityResponsesCount; - } - - while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { - var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.last(); - var6 = new Buffer(4); - var6.writeByte(0); - var6.writeMedium((int)var5.key); - NetCache.NetCache_socket.write(var6.array, 0, 4); - var5.removeDual(); - NetCache.NetCache_pendingResponses.put(var5, var5.key); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingResponsesCount; - } - - for (int var7 = 0; var7 < 100; ++var7) { - int var8 = NetCache.NetCache_socket.available(); - if (var8 < 0) { - throw new IOException(); - } - - if (var8 == 0) { - break; - } - - NetCache.field628 = 0; - byte var9 = 0; - if (ModelData0.NetCache_currentResponse == null) { - var9 = 8; - } else if (NetCache.field630 == 0) { - var9 = 1; - } - - int var10; - int var11; - int var12; - int var13; - byte[] var14; - int var15; - Buffer var16; - if (var9 > 0) { - var10 = var9 - NetCache.NetCache_responseHeaderBuffer.index; - if (var10 > var8) { - var10 = var8; - } - - NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.index, var10); - if (NetCache.field631 != 0) { - for (var11 = 0; var11 < var10; ++var11) { - var14 = NetCache.NetCache_responseHeaderBuffer.array; - var15 = NetCache.NetCache_responseHeaderBuffer.index + var11; - var14[var15] ^= NetCache.field631; - } - } - - var16 = NetCache.NetCache_responseHeaderBuffer; - var16.index += var10; - if (NetCache.NetCache_responseHeaderBuffer.index < var9) { - break; - } - - if (ModelData0.NetCache_currentResponse == null) { - NetCache.NetCache_responseHeaderBuffer.index = 0; - var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var12 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); - int var17 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var13 = NetCache.NetCache_responseHeaderBuffer.readInt(); - long var18 = (long)(var12 + (var11 << 16)); - NetFileRequest var20 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var18); - GrandExchangeOfferWorldComparator.field988 = true; - if (var20 == null) { - var20 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var18); - GrandExchangeOfferWorldComparator.field988 = false; - } - - if (var20 == null) { - throw new IOException(); - } - - int var21 = var17 == 0 ? 5 : 9; - ModelData0.NetCache_currentResponse = var20; - WorldMapRectangle.NetCache_responseArchiveBuffer = new Buffer(var13 + var21 + ModelData0.NetCache_currentResponse.padding); - WorldMapRectangle.NetCache_responseArchiveBuffer.writeByte(var17); - WorldMapRectangle.NetCache_responseArchiveBuffer.writeInt(var13); - NetCache.field630 = 8; - NetCache.NetCache_responseHeaderBuffer.index = 0; - } else if (NetCache.field630 == 0) { - if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { - NetCache.field630 = 1; - NetCache.NetCache_responseHeaderBuffer.index = 0; - } else { - ModelData0.NetCache_currentResponse = null; - } - } - } else { - var10 = WorldMapRectangle.NetCache_responseArchiveBuffer.array.length - ModelData0.NetCache_currentResponse.padding; - var11 = 512 - NetCache.field630; - if (var11 > var10 - WorldMapRectangle.NetCache_responseArchiveBuffer.index) { - var11 = var10 - WorldMapRectangle.NetCache_responseArchiveBuffer.index; - } - - if (var11 > var8) { - var11 = var8; - } - - NetCache.NetCache_socket.read(WorldMapRectangle.NetCache_responseArchiveBuffer.array, WorldMapRectangle.NetCache_responseArchiveBuffer.index, var11); - if (NetCache.field631 != 0) { - for (var12 = 0; var12 < var11; ++var12) { - var14 = WorldMapRectangle.NetCache_responseArchiveBuffer.array; - var15 = WorldMapRectangle.NetCache_responseArchiveBuffer.index + var12; - var14[var15] ^= NetCache.field631; - } - } - - var16 = WorldMapRectangle.NetCache_responseArchiveBuffer; - var16.index += var11; - NetCache.field630 += var11; - if (var10 == WorldMapRectangle.NetCache_responseArchiveBuffer.index) { - if (16711935L == ModelData0.NetCache_currentResponse.key) { - Players.NetCache_reference = WorldMapRectangle.NetCache_responseArchiveBuffer; - - for (var12 = 0; var12 < 256; ++var12) { - Archive var25 = NetCache.NetCache_archives[var12]; - if (var25 != null) { - Players.NetCache_reference.index = var12 * 8 + 5; - var13 = Players.NetCache_reference.readInt(); - int var26 = Players.NetCache_reference.readInt(); - var25.loadIndex(var13, var26); - } - } - } else { - NetCache.NetCache_crc.reset(); - NetCache.NetCache_crc.update(WorldMapRectangle.NetCache_responseArchiveBuffer.array, 0, var10); - var12 = (int)NetCache.NetCache_crc.getValue(); - if (var12 != ModelData0.NetCache_currentResponse.crc) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var23) { - } - - ++NetCache.NetCache_crcMismatches; - NetCache.NetCache_socket = null; - NetCache.field631 = (byte)((int)(Math.random() * 255.0D + 1.0D)); - var4 = false; - break label205; - } - - NetCache.NetCache_crcMismatches = 0; - NetCache.NetCache_ioExceptions = 0; - ModelData0.NetCache_currentResponse.archive.write((int)(ModelData0.NetCache_currentResponse.key & 65535L), WorldMapRectangle.NetCache_responseArchiveBuffer.array, 16711680L == (ModelData0.NetCache_currentResponse.key & 16711680L), GrandExchangeOfferWorldComparator.field988); - } - - ModelData0.NetCache_currentResponse.remove(); - if (GrandExchangeOfferWorldComparator.field988) { - --NetCache.NetCache_pendingPriorityResponsesCount; - } else { - --NetCache.NetCache_pendingResponsesCount; - } - - NetCache.field630 = 0; - ModelData0.NetCache_currentResponse = null; - WorldMapRectangle.NetCache_responseArchiveBuffer = null; - } else { - if (NetCache.field630 != 512) { - break; - } - - NetCache.field630 = 0; - } - } - } - - var4 = true; - } - } catch (IOException var24) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var22) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - var4 = false; - } - } - - if (!var4) { - this.doCycleJs5Connect(); - } - } - - } - - @ObfuscatedName("ev") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "111" - ) - @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; - } - - field167 = 3000; - NetCache.NetCache_ioExceptions = 3; - } - - if (--field167 + 1 <= 0) { - try { - if (js5ConnectState == 0) { - class210.js5SocketTask = GameShell.taskHandler.newSocketTask(class50.worldHost, class203.port3); - ++js5ConnectState; - } - - if (js5ConnectState == 1) { - if (class210.js5SocketTask.status == 2) { - this.js5Error(-1); - return; - } - - if (class210.js5SocketTask.status == 1) { - ++js5ConnectState; - } - } - - if (js5ConnectState == 2) { - if (useBufferedSocket) { - DynamicObject.js5Socket = BufferedFile.method2719((Socket)class210.js5SocketTask.result, 40000, 5000); - } else { - DynamicObject.js5Socket = new NetSocket((Socket)class210.js5SocketTask.result, GameShell.taskHandler, 5000); - } - - Buffer var1 = new Buffer(5); - var1.writeByte(15); - var1.writeInt(180); - DynamicObject.js5Socket.write(var1.array, 0, 5); - ++js5ConnectState; - GameObject.js5StartTimeMs = class203.currentTimeMs(); - } - - if (js5ConnectState == 3) { - if (DynamicObject.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { - int var10 = DynamicObject.js5Socket.readUnsignedByte(); - if (var10 != 0) { - this.js5Error(var10); - return; - } - - ++js5ConnectState; - } else if (class203.currentTimeMs() - GameObject.js5StartTimeMs > 30000L) { - this.js5Error(-2); - return; - } - } - - if (js5ConnectState == 4) { - AbstractSocket var11 = DynamicObject.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 = var11; - UserComparator9.method3343(var2); - NetCache.NetCache_responseHeaderBuffer.index = 0; - ModelData0.NetCache_currentResponse = null; - WorldMapRectangle.NetCache_responseArchiveBuffer = null; - NetCache.field630 = 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.field631 != 0) { - try { - Buffer var4 = new Buffer(4); - var4.writeByte(4); - var4.writeByte(NetCache.field631); - var4.writeShort(0); - NetCache.NetCache_socket.write(var4.array, 0, 4); - } catch (IOException var7) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var6) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - NetCache.field628 = 0; - NetCache.field629 = class203.currentTimeMs(); - class210.js5SocketTask = null; - DynamicObject.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("ea") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "2348" - ) - @Export("js5Error") - void js5Error(int code) { - class210.js5SocketTask = null; - DynamicObject.js5Socket = null; - js5ConnectState = 0; - if (class2.port1 == class203.port3) { - class203.port3 = WorldMapArea.port2; - } else { - class203.port3 = class2.port1; - } - - ++js5Errors; - if (js5Errors < 2 || code != 7 && code != 9) { - if (js5Errors >= 2 && code == 6) { - this.error("js5connect_outofdate"); - gameState = 1000; - } else if (js5Errors >= 4) { - if (gameState <= 5) { - this.error("js5connect"); - gameState = 1000; - } else { - field167 = 3000; - } - } - } else if (gameState <= 5) { - this.error("js5connect_full"); - gameState = 1000; - } else { - field167 = 3000; - } - - } - - @ObfuscatedName("fg") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-110" - ) - @Export("doCycleLoggedOut") - final void doCycleLoggedOut() { - Object var1 = packetWriter.getSocket(); - PacketBuffer var2 = packetWriter.packetBuffer; - - try { - if (loginState == 0) { - if (WorldMapIcon1.secureRandom == null && (secureRandomFuture.isDone() || field168 > 250)) { - WorldMapIcon1.secureRandom = secureRandomFuture.get(); - secureRandomFuture.shutdown(); - secureRandomFuture = null; - } - - if (WorldMapIcon1.secureRandom != null) { - if (var1 != null) { - ((AbstractSocket)var1).close(); - var1 = null; - } - - UserComparator3.socketTask = null; - field176 = false; - field168 = 0; - loginState = 1; - } - } - - if (loginState == 1) { - if (UserComparator3.socketTask == null) { - UserComparator3.socketTask = GameShell.taskHandler.newSocketTask(class50.worldHost, class203.port3); - } - - if (UserComparator3.socketTask.status == 2) { - throw new IOException(); - } - - if (UserComparator3.socketTask.status == 1) { - if (useBufferedSocket) { - var1 = BufferedFile.method2719((Socket)UserComparator3.socketTask.result, 40000, 5000); - } else { - var1 = new NetSocket((Socket)UserComparator3.socketTask.result, GameShell.taskHandler, 5000); - } - - packetWriter.setSocket((AbstractSocket)var1); - UserComparator3.socketTask = null; - loginState = 2; - } - } - - if (loginState == 2) { - packetWriter.method239(); - PacketBufferNode var3; - if (PacketBufferNode.field668 == 0) { - var3 = new PacketBufferNode(); - } else { - var3 = PacketBufferNode.packetBufferNodes[--PacketBufferNode.field668]; - } - - var3.field669 = null; - var3.field670 = 0; - var3.packetBuffer = new PacketBuffer(5000); - var3.packetBuffer.writeByte(LoginPacket.field473.id); - packetWriter.method241(var3); - packetWriter.method240(); - var2.index = 0; - loginState = 3; - } - - boolean var4; - int var16; - if (loginState == 3) { - if (WorldMapCacheName.pcmPlayer0 != null) { - WorldMapCacheName.pcmPlayer0.method242(); - } - - if (AbstractArchive.pcmPlayer1 != null) { - AbstractArchive.pcmPlayer1.method242(); - } - - var4 = true; - if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { - var4 = false; - } - - if (var4) { - var16 = ((AbstractSocket)var1).readUnsignedByte(); - if (WorldMapCacheName.pcmPlayer0 != null) { - WorldMapCacheName.pcmPlayer0.method242(); - } - - if (AbstractArchive.pcmPlayer1 != null) { - AbstractArchive.pcmPlayer1.method242(); - } - - if (var16 != 0) { - IsaacCipher.method4093(var16); - return; - } - - var2.index = 0; - loginState = 4; - } - } - - int var5; - if (loginState == 4) { - if (var2.index < 8) { - var5 = ((AbstractSocket)var1).available(); - if (var5 > 8 - var2.index) { - var5 = 8 - var2.index; - } - - if (var5 > 0) { - ((AbstractSocket)var1).read(var2.array, var2.index, var5); - var2.index += var5; - } - } - - if (var2.index == 8) { - var2.index = 0; - MusicPatchNode2.field592 = var2.readLong(); - loginState = 5; - } - } - - if (loginState == 5) { - packetWriter.packetBuffer.index = 0; - packetWriter.method239(); - PacketBuffer var6 = new PacketBuffer(500); - int[] var7 = new int[]{WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt()}; - var6.index = 0; - var6.writeByte(1); - var6.writeInt(var7[0]); - var6.writeInt(var7[1]); - var6.writeInt(var7[2]); - var6.writeInt(var7[3]); - var6.writeLong(MusicPatchNode2.field592); - if (gameState == 40) { - var6.writeInt(Skills.field875[0]); - var6.writeInt(Skills.field875[1]); - var6.writeInt(Skills.field875[2]); - var6.writeInt(Skills.field875[3]); - } else { - var6.writeByte(field658.rsOrdinal()); - switch(field658.field1984) { - case 0: - case 3: - var6.writeMedium(class13.otpInt); - ++var6.index; - break; - case 1: - var6.index += 4; - break; - case 2: - var6.writeInt((Integer)ReflectionCheck.clientPreferences.parameters.get(class279.method5357(Login.Login_username))); - } - - var6.writeByte(class313.field3834.rsOrdinal()); - var6.writeStringCp1252NullTerminated(Login.Login_password); - } - - var6.encryptRsa(class83.field1165, class83.field1166); - Skills.field875 = var7; - PacketBufferNode var8; - if (PacketBufferNode.field668 == 0) { - var8 = new PacketBufferNode(); - } else { - var8 = PacketBufferNode.packetBufferNodes[--PacketBufferNode.field668]; - } - - var8.field669 = null; - var8.field670 = 0; - var8.packetBuffer = new PacketBuffer(5000); - var8.packetBuffer.index = 0; - if (gameState == 40) { - var8.packetBuffer.writeByte(LoginPacket.field476.id); - } else { - var8.packetBuffer.writeByte(LoginPacket.field475.id); - } - - var8.packetBuffer.writeShort(0); - int var9 = var8.packetBuffer.index; - var8.packetBuffer.writeInt(180); - var8.packetBuffer.writeInt(1); - var8.packetBuffer.writeByte(clientType); - var8.packetBuffer.writeBytes(var6.array, 0, var6.index); - int var10 = var8.packetBuffer.index; - var8.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); - var8.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); - var8.packetBuffer.writeShort(SoundCache.canvasWidth); - var8.packetBuffer.writeShort(Huffman.canvasHeight); - Varps.method4400(var8.packetBuffer); - var8.packetBuffer.writeStringCp1252NullTerminated(class21.field1123); - var8.packetBuffer.writeInt(AbstractArchive.field2); - Buffer var11 = new Buffer(WorldMapLabelSize.platformInfo.size()); - WorldMapLabelSize.platformInfo.write(var11); - var8.packetBuffer.writeBytes(var11.array, 0, var11.array.length); - var8.packetBuffer.writeByte(clientType); - var8.packetBuffer.writeInt(0); - var8.packetBuffer.writeInt(AbstractArchive.archive0.hash); - var8.packetBuffer.writeInt(Skeleton.archive1.hash); - var8.packetBuffer.writeInt(ObjectSound.archive2.hash); - var8.packetBuffer.writeInt(WorldMapIcon1.archive3.hash); - var8.packetBuffer.writeInt(WorldMapDecoration.archive4.hash); - var8.packetBuffer.writeInt(SecureRandomFuture.archive5.hash); - var8.packetBuffer.writeInt(UserComparator3.archive6.hash); - var8.packetBuffer.writeInt(class40.archive7.hash); - var8.packetBuffer.writeInt(WorldMapSection1.archive8.hash); - var8.packetBuffer.writeInt(class238.archive9.hash); - var8.packetBuffer.writeInt(class16.archive10.hash); - var8.packetBuffer.writeInt(Login.archive11.hash); - var8.packetBuffer.writeInt(Formatting.archive12.hash); - var8.packetBuffer.writeInt(ByteArrayPool.archive13.hash); - var8.packetBuffer.writeInt(class2.archive14.hash); - var8.packetBuffer.writeInt(WorldMapSection2.archive15.hash); - var8.packetBuffer.writeInt(0); - var8.packetBuffer.writeInt(WorldMapRectangle.archive17.hash); - var8.packetBuffer.writeInt(WorldMapLabelSize.archive18.hash); - var8.packetBuffer.writeInt(ItemContainer.archive19.hash); - var8.packetBuffer.writeInt(AbstractByteArrayCopier.archive20.hash); - var8.packetBuffer.xteaEncrypt(var7, var10, var8.packetBuffer.index); - var8.packetBuffer.writeLengthShort(var8.packetBuffer.index - var9); - packetWriter.method241(var8); - packetWriter.method240(); - packetWriter.isaacCipher = new IsaacCipher(var7); - int[] var12 = new int[4]; - - for (int var13 = 0; var13 < 4; ++var13) { - var12[var13] = var7[var13] + 50; - } - - var2.newIsaacCipher(var12); - loginState = 6; - } - - if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { - var5 = ((AbstractSocket)var1).readUnsignedByte(); - if (var5 == 21 && gameState == 20) { - loginState = 9; - } else if (var5 == 2) { - loginState = 11; - } else if (var5 == 15 && gameState == 40) { - packetWriter.serverPacket0Length = -1; - loginState = 16; - } else if (var5 == 64) { - loginState = 7; - } else if (var5 == 23 && field169 < 1) { - ++field169; - loginState = 0; - } else { - if (var5 != 29) { - IsaacCipher.method4093(var5); - return; - } - - loginState = 14; - } - } - - if (loginState == 7 && ((AbstractSocket)var1).available() > 0) { - WorldMapSection2.field1071 = ((AbstractSocket)var1).readUnsignedByte(); - loginState = 8; - } - - if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapSection2.field1071) { - ((AbstractSocket)var1).read(var2.array, 0, WorldMapSection2.field1071); - var2.index = 0; - loginState = 6; - } - - if (loginState == 9 && ((AbstractSocket)var1).available() > 0) { - field170 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; - loginState = 10; - } - - if (loginState == 10) { - field168 = 0; - class54.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field170 / 60 + " seconds."); - if (--field170 <= 0) { - loginState = 0; - } - } else { - if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) { - field171 = ((AbstractSocket)var1).readUnsignedByte(); - loginState = 12; - } - - if (loginState == 12 && ((AbstractSocket)var1).available() >= field171) { - var4 = ((AbstractSocket)var1).readUnsignedByte() == 1; - ((AbstractSocket)var1).read(var2.array, 0, 4); - var2.index = 0; - boolean var17 = false; - if (var4) { - var16 = var2.readByteIsaac() << 24; - var16 |= var2.readByteIsaac() << 16; - var16 |= var2.readByteIsaac() << 8; - var16 |= var2.readByteIsaac(); - int var20 = class279.method5357(Login.Login_username); - if (ReflectionCheck.clientPreferences.parameters.size() >= 10 && !ReflectionCheck.clientPreferences.parameters.containsKey(var20)) { - Iterator var23 = ReflectionCheck.clientPreferences.parameters.entrySet().iterator(); - var23.next(); - var23.remove(); - } - - ReflectionCheck.clientPreferences.parameters.put(var20, var16); - } - - if (Login_isUsernameRemembered) { - ReflectionCheck.clientPreferences.rememberedUsername = Login.Login_username; - } else { - ReflectionCheck.clientPreferences.rememberedUsername = null; - } - - WorldMapSection3.savePreferences(); - staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); - playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; - localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); - localPlayerIndex <<= 8; - localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); - field209 = ((AbstractSocket)var1).readUnsignedByte(); - ((AbstractSocket)var1).read(var2.array, 0, 1); - var2.index = 0; - ServerPacket[] var21 = class27.method429(); - int var24 = var2.readSmartByteShortIsaac(); - if (var24 < 0 || var24 >= var21.length) { - throw new IOException(var24 + " " + var2.index); - } - - packetWriter.serverPacket0 = var21[var24]; - packetWriter.serverPacket0Length = packetWriter.serverPacket0.length; - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.index = 0; - packetWriter.serverPacket0Length = var2.readUnsignedShort(); - - try { - Client var25 = TextureProvider.client; - JSObject.getWindow(var25).call("zap", (Object[])null); - } catch (Throwable var14) { - } - - loginState = 13; - } - - if (loginState == 13) { - if (((AbstractSocket)var1).available() >= packetWriter.serverPacket0Length) { - var2.index = 0; - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacket0Length); - timer.method332(); - WorldMapSection2.method808(); - GrandExchangeOfferNameComparator.updatePlayer(var2); - GameObject.field359 = -1; - class50.loadRegions(false, var2); - packetWriter.serverPacket0 = null; - } - } else { - if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) { - var2.index = 0; - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.index = 0; - ArchiveLoader.field407 = var2.readUnsignedShort(); - loginState = 15; - } - - if (loginState == 15 && ((AbstractSocket)var1).available() >= ArchiveLoader.field407) { - var2.index = 0; - ((AbstractSocket)var1).read(var2.array, 0, ArchiveLoader.field407); - var2.index = 0; - String var18 = var2.readStringCp1252NullTerminated(); - String var22 = var2.readStringCp1252NullTerminated(); - String var26 = var2.readStringCp1252NullTerminated(); - class54.setLoginResponseString(var18, var22, var26); - GameShell.updateGameState(10); - } - - if (loginState != 16) { - ++field168; - if (field168 > 2000) { - if (field169 < 1) { - if (class203.port3 == class2.port1) { - class203.port3 = WorldMapArea.port2; - } else { - class203.port3 = class2.port1; - } - - ++field169; - loginState = 0; - } else { - IsaacCipher.method4093(-3); - } - } - } else { - if (packetWriter.serverPacket0Length == -1) { - if (((AbstractSocket)var1).available() < 2) { - return; - } - - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.index = 0; - packetWriter.serverPacket0Length = var2.readUnsignedShort(); - } - - if (((AbstractSocket)var1).available() >= packetWriter.serverPacket0Length) { - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacket0Length); - var2.index = 0; - var5 = packetWriter.serverPacket0Length; - timer.method334(); - packetWriter.method239(); - packetWriter.packetBuffer.index = 0; - packetWriter.serverPacket0 = null; - packetWriter.field676 = null; - packetWriter.field677 = null; - packetWriter.field678 = null; - packetWriter.serverPacket0Length = 0; - packetWriter.field674 = 0; - rebootTimer = 0; - menuOptionsCount = 0; - isMenuOpen = false; - minimapState = 0; - destinationX = 0; - - for (var16 = 0; var16 < 2048; ++var16) { - players[var16] = null; - } - - Canvas.localPlayer = null; - - for (var16 = 0; var16 < npcs.length; ++var16) { - NPC var19 = npcs[var16]; - if (var19 != null) { - var19.targetIndex = -1; - var19.false0 = false; - } - } - - SpriteMask.method4389(); - GameShell.updateGameState(30); - - for (var16 = 0; var16 < 100; ++var16) { - field100[var16] = true; - } - - AbstractByteArrayCopier.method4024(); - GrandExchangeOfferNameComparator.updatePlayer(var2); - if (var5 != var2.index) { - throw new RuntimeException(); - } - } - } - } - } - } catch (IOException var15) { - if (field169 < 1) { - if (class2.port1 == class203.port3) { - class203.port3 = WorldMapArea.port2; - } else { - class203.port3 = class2.port1; - } - - ++field169; - loginState = 0; - } else { - IsaacCipher.method4093(-2); - } - } - - } - - @ObfuscatedName("fx") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1646308927" - ) - @Export("doCycleLoggedIn") - final void doCycleLoggedIn() { - if (rebootTimer > 1) { - --rebootTimer; - } - - if (field175 > 0) { - --field175; - } - - if (field176) { - field176 = false; - class48.method868(); - } else { - if (!isMenuOpen) { - class30.resetMenuEntries(); - } - - int var1; - for (var1 = 0; var1 < 100 && this.method85(packetWriter); ++var1) { - } - - if (gameState == 30) { - while (true) { - ReflectionCheck var2 = (ReflectionCheck)class322.reflectionChecks.last(); - boolean var3; - if (var2 == null) { - var3 = false; - } else { - var3 = true; - } - - int var4; - PacketBufferNode var5; - if (!var3) { - PacketBufferNode var6; - int var7; - if (timer.field921) { - var6 = Interpreter.method1915(ClientPacket.field226, packetWriter.isaacCipher); - var6.packetBuffer.writeByte(0); - var7 = var6.packetBuffer.index; - timer.write(var6.packetBuffer); - var6.packetBuffer.writeLengthByte(var6.packetBuffer.index - var7); - packetWriter.method241(var6); - timer.method333(); - } - - Object var8 = Projectile.mouseRecorder.lock; - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - synchronized(Projectile.mouseRecorder.lock) { - if (!field161) { - Projectile.mouseRecorder.index = 0; - } else if (MouseHandler.MouseHandler_lastButton != 0 || Projectile.mouseRecorder.index >= 40) { - var5 = null; - var4 = 0; - var9 = 0; - var10 = 0; - var11 = 0; - - for (var12 = 0; var12 < Projectile.mouseRecorder.index && (var5 == null || var5.packetBuffer.index - var4 < 246); ++var12) { - var9 = var12; - var13 = Projectile.mouseRecorder.ys[var12]; - if (var13 < -1) { - var13 = -1; - } else if (var13 > 65534) { - var13 = 65534; - } - - var14 = Projectile.mouseRecorder.xs[var12]; - if (var14 < -1) { - var14 = -1; - } else if (var14 > 65534) { - var14 = 65534; - } - - if (var14 != field163 || var13 != field164) { - if (var5 == null) { - var5 = Interpreter.method1915(ClientPacket.field256, packetWriter.isaacCipher); - var5.packetBuffer.writeByte(0); - var4 = var5.packetBuffer.index; - PacketBuffer var19 = var5.packetBuffer; - var19.index += 2; - var10 = 0; - var11 = 0; - } - - if (-1L != field165) { - var15 = var14 - field163; - var16 = var13 - field164; - var17 = (int)((Projectile.mouseRecorder.millis[var12] - field165) / 20L); - var10 = (int)((long)var10 + (Projectile.mouseRecorder.millis[var12] - field165) % 20L); - } else { - var15 = var14; - var16 = var13; - var17 = Integer.MAX_VALUE; - } - - field163 = var14; - field164 = var13; - if (var17 < 8 && var15 >= -32 && var15 <= 31 && var16 >= -32 && var16 <= 31) { - var15 += 32; - var16 += 32; - var5.packetBuffer.writeShort((var17 << 12) + var16 + (var15 << 6)); - } else if (var17 < 32 && var15 >= -128 && var15 <= 127 && var16 >= -128 && var16 <= 127) { - var15 += 128; - var16 += 128; - var5.packetBuffer.writeByte(var17 + 128); - var5.packetBuffer.writeShort(var16 + (var15 << 8)); - } else if (var17 < 32) { - var5.packetBuffer.writeByte(var17 + 192); - if (var14 != -1 && var13 != -1) { - var5.packetBuffer.writeInt(var14 | var13 << 16); - } else { - var5.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } else { - var5.packetBuffer.writeShort((var17 & 8191) + 57344); - if (var14 != -1 && var13 != -1) { - var5.packetBuffer.writeInt(var14 | var13 << 16); - } else { - var5.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } - - ++var11; - field165 = Projectile.mouseRecorder.millis[var12]; - } - } - - if (var5 != null) { - var5.packetBuffer.writeLengthByte(var5.packetBuffer.index - var4); - var12 = var5.packetBuffer.index; - var5.packetBuffer.index = var4; - var5.packetBuffer.writeByte(var10 / var11); - var5.packetBuffer.writeByte(var10 % var11); - var5.packetBuffer.index = var12; - packetWriter.method241(var5); - } - - if (var9 >= Projectile.mouseRecorder.index) { - Projectile.mouseRecorder.index = 0; - } else { - MouseRecorder var32 = Projectile.mouseRecorder; - var32.index -= var9; - System.arraycopy(Projectile.mouseRecorder.xs, var9, Projectile.mouseRecorder.xs, 0, Projectile.mouseRecorder.index); - System.arraycopy(Projectile.mouseRecorder.ys, var9, Projectile.mouseRecorder.ys, 0, Projectile.mouseRecorder.index); - System.arraycopy(Projectile.mouseRecorder.millis, var9, Projectile.mouseRecorder.millis, 0, Projectile.mouseRecorder.index); - } - } - } - - PacketBufferNode var18; - long var33; - if (MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { - var33 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; - if (var33 > 4095L) { - var33 = 4095L; - } - - mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; - var4 = MouseHandler.MouseHandler_lastPressedY; - if (var4 < 0) { - var4 = 0; - } else if (var4 > Huffman.canvasHeight) { - var4 = Huffman.canvasHeight; - } - - var9 = MouseHandler.MouseHandler_lastPressedX; - if (var9 < 0) { - var9 = 0; - } else if (var9 > SoundCache.canvasWidth) { - var9 = SoundCache.canvasWidth; - } - - var10 = (int)var33; - var18 = Interpreter.method1915(ClientPacket.field263, packetWriter.isaacCipher); - var18.packetBuffer.writeShort((var10 << 1) + (MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0)); - var18.packetBuffer.writeShort(var9); - var18.packetBuffer.writeShort(var4); - packetWriter.method241(var18); - } - - if (KeyHandler.field452 > 0) { - var6 = Interpreter.method1915(ClientPacket.field289, packetWriter.isaacCipher); - var6.packetBuffer.writeShort(0); - var7 = var6.packetBuffer.index; - var33 = class203.currentTimeMs(); - - for (var10 = 0; var10 < KeyHandler.field452; ++var10) { - long var21 = var33 - field126; - if (var21 > 16777215L) { - var21 = 16777215L; - } - - field126 = var33; - var6.packetBuffer.method56(KeyHandler.field451[var10]); - var6.packetBuffer.writeMedium((int)var21); - } - - var6.packetBuffer.writeLengthShort(var6.packetBuffer.index - var7); - packetWriter.method241(var6); - } - - if (field200 > 0) { - --field200; - } - - if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { - field201 = true; - } - - if (field201 && field200 <= 0) { - field200 = 20; - field201 = false; - var6 = Interpreter.method1915(ClientPacket.field261, packetWriter.isaacCipher); - var6.packetBuffer.method64(camAngleX); - var6.packetBuffer.writeShortLE(camAngleY); - packetWriter.method241(var6); - } - - if (class230.field1138 && !field166) { - field166 = true; - var6 = Interpreter.method1915(ClientPacket.field295, packetWriter.isaacCipher); - var6.packetBuffer.writeByte(1); - packetWriter.method241(var6); - } - - if (!class230.field1138 && field166) { - field166 = false; - var6 = Interpreter.method1915(ClientPacket.field295, packetWriter.isaacCipher); - var6.packetBuffer.writeByte(0); - packetWriter.method241(var6); - } - - if (class60.worldMap != null) { - class60.worldMap.method360(); - } - - HorizontalAlignment.method5120(); - Message.method1228(); - if (gameState != 30) { - return; - } - - Canvas.method855(); - WorldMapIcon1.method212(); - ++packetWriter.field674; - if (packetWriter.field674 > 750) { - class48.method868(); - return; - } - - var1 = Players.Players_count; - int[] var34 = Players.Players_indices; - - for (var4 = 0; var4 < var1; ++var4) { - Player var22 = players[var34[var4]]; - if (var22 != null) { - class65.method1232(var22, 1); - } - } - - for (var1 = 0; var1 < npcCount; ++var1) { - var7 = npcIndices[var1]; - NPC var35 = npcs[var7]; - if (var35 != null) { - class65.method1232(var35, var35.definition.size); - } - } - - Buddy.processOverheadText(); - ++field183; - if (mouseCrossColor != 0) { - mouseCrossState += 20; - if (mouseCrossState >= 400) { - mouseCrossColor = 0; - } - } - - if (BoundaryObject.field40 != null) { - ++field203; - if (field203 >= 15) { - WorldMapRectangle.method295(BoundaryObject.field40); - BoundaryObject.field40 = null; - } - } - - Widget var36 = Clock.mousedOverWidgetIf1; - Widget var23 = AccessFile.field8; - Clock.mousedOverWidgetIf1 = null; - AccessFile.field8 = null; - draggedOnWidget = null; - field103 = false; - field106 = false; - field137 = 0; - - while (Decimator.method2490() && field137 < 128) { - if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ArchiveDiskAction.field411 == 66) { - String var24 = KeyHandler.getChatMessagesAsString(); - TextureProvider.client.clipboardSetString(var24); - } else if (oculusOrbState != 1 || GzipDecompressor.field378 <= 0) { - field145[field137] = ArchiveDiskAction.field411; - field146[field137] = GzipDecompressor.field378; - ++field137; - } - } - - if (FriendSystem.jmodCheck() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { - var4 = Canvas.localPlayer.plane - mouseWheelRotation; - if (var4 < 0) { - var4 = 0; - } else if (var4 > 3) { - var4 = 3; - } - - if (var4 != Canvas.localPlayer.plane) { - var9 = Canvas.localPlayer.pathX[0] + class50.baseX; - var10 = Canvas.localPlayer.pathY[0] + GraphicsObject.baseY; - var18 = Interpreter.method1915(ClientPacket.field283, packetWriter.isaacCipher); - var18.packetBuffer.writeIntME(0); - var18.packetBuffer.writeShortLE(var10); - var18.packetBuffer.method56(var4); - var18.packetBuffer.writeShort(var9); - packetWriter.method241(var18); - } - - mouseWheelRotation = 0; - } - - if (rootInterface != -1) { - WorldMapDecorationType.updateRootInterface(rootInterface, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0); - } - - ++cycleCntr; - - while (true) { - ScriptEvent var25; - Widget var26; - Widget var37; - do { - var25 = (ScriptEvent)field147.removeLast(); - if (var25 == null) { - while (true) { - do { - var25 = (ScriptEvent)field148.removeLast(); - if (var25 == null) { - while (true) { - do { - var25 = (ScriptEvent)scriptEvents.removeLast(); - if (var25 == null) { - this.method86(); - WorldMapSectionType.method254(); - if (clickedWidget != null) { - this.method88(); - } - - PacketBufferNode var27; - if (DevicePcmPlayerProvider.dragInventoryWidget != null) { - WorldMapRectangle.method295(DevicePcmPlayerProvider.dragInventoryWidget); - ++itemDragDuration; - if (MouseHandler.MouseHandler_currentButton == 0) { - if (field207) { - if (UserComparator6.field937 == DevicePcmPlayerProvider.dragInventoryWidget && dragItemSlotSource != dragItemSlotDestination) { - Widget var28 = DevicePcmPlayerProvider.dragInventoryWidget; - byte var29 = 0; - if (field136 == 1 && var28.contentType == 206) { - var29 = 1; - } - - if (var28.itemIds[dragItemSlotDestination] <= 0) { - var29 = 0; - } - - if (class168.method3461(class1.getWidgetClickMask(var28))) { - var10 = dragItemSlotSource; - var11 = dragItemSlotDestination; - var28.itemIds[var11] = var28.itemIds[var10]; - var28.itemQuantities[var11] = var28.itemQuantities[var10]; - var28.itemIds[var10] = -1; - var28.itemQuantities[var10] = 0; - } else if (var29 == 1) { - var10 = dragItemSlotSource; - var11 = dragItemSlotDestination; - - while (var10 != var11) { - if (var10 > var11) { - var28.swapItems(var10 - 1, var10); - --var10; - } else if (var10 < var11) { - var28.swapItems(var10 + 1, var10); - ++var10; - } - } - } else { - var28.swapItems(dragItemSlotDestination, dragItemSlotSource); - } - - var27 = Interpreter.method1915(ClientPacket.field302, packetWriter.isaacCipher); - var27.packetBuffer.writeShort(dragItemSlotDestination); - var27.packetBuffer.writeShortLE(dragItemSlotSource); - var27.packetBuffer.writeInt(DevicePcmPlayerProvider.dragInventoryWidget.id); - var27.packetBuffer.method56(var29); - packetWriter.method241(var27); - } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(field205, field206); - } else if (menuOptionsCount > 0) { - var4 = field205; - var9 = field206; - WorldMapDecorationType.processTempMenuAction(GrandExchangeOfferUnitPriceComparator.tempMenuAction, var4, var9); - GrandExchangeOfferUnitPriceComparator.tempMenuAction = null; - } - - field203 = 10; - MouseHandler.MouseHandler_lastButton = 0; - DevicePcmPlayerProvider.dragInventoryWidget = null; - } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field205 + 5 || MouseHandler.MouseHandler_x < field205 - 5 || MouseHandler.MouseHandler_y > field206 + 5 || MouseHandler.MouseHandler_y < field206 - 5)) { - field207 = true; - } - } - - if (Scene.method3187()) { - var4 = Scene.Scene_selectedX; - var9 = Scene.Scene_selectedY; - var27 = Interpreter.method1915(ClientPacket.field318, packetWriter.isaacCipher); - var27.packetBuffer.writeByte(5); - var27.packetBuffer.method63(var9 + GraphicsObject.baseY); - var27.packetBuffer.method63(var4 + class50.baseX); - var27.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - packetWriter.method241(var27); - Scene.method3103(); - mouseCrossX = MouseHandler.MouseHandler_lastPressedX; - mouseCrossY = MouseHandler.MouseHandler_lastPressedY; - mouseCrossColor = 1; - mouseCrossState = 0; - destinationX = var4; - destinationY = var9; - } - - if (var36 != Clock.mousedOverWidgetIf1) { - if (var36 != null) { - WorldMapRectangle.method295(var36); - } - - if (Clock.mousedOverWidgetIf1 != null) { - WorldMapRectangle.method295(Clock.mousedOverWidgetIf1); - } - } - - if (var23 != AccessFile.field8 && field218 == field219) { - if (var23 != null) { - WorldMapRectangle.method295(var23); - } - - if (AccessFile.field8 != null) { - WorldMapRectangle.method295(AccessFile.field8); - } - } - - if (AccessFile.field8 != null) { - if (field218 < field219) { - ++field218; - if (field219 == field218) { - WorldMapRectangle.method295(AccessFile.field8); - } - } - } else if (field218 > 0) { - --field218; - } - - class54.method1091(); - if (isCameraLocked) { - var4 = class3.field1146 * 128 + 64; - var9 = MusicPatchPcmStream.field602 * 128 + 64; - var10 = class32.getTileHeight(var4, var9, SoundSystem.plane) - AbstractWorldMapIcon.field4; - if (WorldMapSection2.cameraX < var4) { - WorldMapSection2.cameraX = (var4 - WorldMapSection2.cameraX) * class30.field1148 / 1000 + WorldMapSection2.cameraX + ClientPacket.field221; - if (WorldMapSection2.cameraX > var4) { - WorldMapSection2.cameraX = var4; - } - } - - if (WorldMapSection2.cameraX > var4) { - WorldMapSection2.cameraX -= class30.field1148 * (WorldMapSection2.cameraX - var4) / 1000 + ClientPacket.field221; - if (WorldMapSection2.cameraX < var4) { - WorldMapSection2.cameraX = var4; - } - } - - if (GrandExchangeEvents.cameraY < var10) { - GrandExchangeEvents.cameraY = (var10 - GrandExchangeEvents.cameraY) * class30.field1148 / 1000 + GrandExchangeEvents.cameraY + ClientPacket.field221; - if (GrandExchangeEvents.cameraY > var10) { - GrandExchangeEvents.cameraY = var10; - } - } - - if (GrandExchangeEvents.cameraY > var10) { - GrandExchangeEvents.cameraY -= class30.field1148 * (GrandExchangeEvents.cameraY - var10) / 1000 + ClientPacket.field221; - if (GrandExchangeEvents.cameraY < var10) { - GrandExchangeEvents.cameraY = var10; - } - } - - if (GrandExchangeOfferNameComparator.cameraZ < var9) { - GrandExchangeOfferNameComparator.cameraZ = (var9 - GrandExchangeOfferNameComparator.cameraZ) * class30.field1148 / 1000 + GrandExchangeOfferNameComparator.cameraZ + ClientPacket.field221; - if (GrandExchangeOfferNameComparator.cameraZ > var9) { - GrandExchangeOfferNameComparator.cameraZ = var9; - } - } - - if (GrandExchangeOfferNameComparator.cameraZ > var9) { - GrandExchangeOfferNameComparator.cameraZ -= class30.field1148 * (GrandExchangeOfferNameComparator.cameraZ - var9) / 1000 + ClientPacket.field221; - if (GrandExchangeOfferNameComparator.cameraZ < var9) { - GrandExchangeOfferNameComparator.cameraZ = var9; - } - } - - var4 = GrandExchangeOffer.field376 * 128 + 64; - var9 = KeyHandler.field445 * 128 + 64; - var10 = class32.getTileHeight(var4, var9, SoundSystem.plane) - ArchiveDiskAction.field410; - var11 = var4 - WorldMapSection2.cameraX; - var12 = var10 - GrandExchangeEvents.cameraY; - var13 = var9 - GrandExchangeOfferNameComparator.cameraZ; - var14 = (int)Math.sqrt((double)(var13 * var13 + var11 * var11)); - var15 = (int)(Math.atan2((double)var12, (double)var14) * 325.949D) & 2047; - var16 = (int)(Math.atan2((double)var11, (double)var13) * -325.949D) & 2047; - if (var15 < 128) { - var15 = 128; - } - - if (var15 > 383) { - var15 = 383; - } - - if (WorldMapIcon1.cameraPitch < var15) { - WorldMapIcon1.cameraPitch = (var15 - WorldMapIcon1.cameraPitch) * class171.field1116 / 1000 + WorldMapIcon1.cameraPitch + VertexNormal.field946; - if (WorldMapIcon1.cameraPitch > var15) { - WorldMapIcon1.cameraPitch = var15; - } - } - - if (WorldMapIcon1.cameraPitch > var15) { - WorldMapIcon1.cameraPitch -= class171.field1116 * (WorldMapIcon1.cameraPitch - var15) / 1000 + VertexNormal.field946; - if (WorldMapIcon1.cameraPitch < var15) { - WorldMapIcon1.cameraPitch = var15; - } - } - - var17 = var16 - MusicPatchNode.cameraYaw; - if (var17 > 1024) { - var17 -= 2048; - } - - if (var17 < -1024) { - var17 += 2048; - } - - if (var17 > 0) { - MusicPatchNode.cameraYaw = MusicPatchNode.cameraYaw + VertexNormal.field946 + var17 * class171.field1116 / 1000; - MusicPatchNode.cameraYaw &= 2047; - } - - if (var17 < 0) { - MusicPatchNode.cameraYaw -= VertexNormal.field946 + -var17 * class171.field1116 / 1000; - MusicPatchNode.cameraYaw &= 2047; - } - - int var38 = var16 - MusicPatchNode.cameraYaw; - if (var38 > 1024) { - var38 -= 2048; - } - - if (var38 < -1024) { - var38 += 2048; - } - - if (var38 < 0 && var17 > 0 || var38 > 0 && var17 < 0) { - MusicPatchNode.cameraYaw = var16; - } - } - - for (var4 = 0; var4 < 5; ++var4) { - int var10003 = field144[var4]++; - } - - class196.varcs.tryWrite(); - var4 = WorldMapRectangle.method297(); - var9 = KeyHandler.KeyHandler_idleCycles; - if (var4 > 15000 && var9 > 15000) { - field175 = 250; - MouseHandler.MouseHandler_idleCycles = 14500; - var18 = Interpreter.method1915(ClientPacket.field271, packetWriter.isaacCipher); - packetWriter.method241(var18); - } - - WorldMapArea.friendSystem.method102(); - ++packetWriter.field675; - if (packetWriter.field675 > 50) { - var18 = Interpreter.method1915(ClientPacket.field244, packetWriter.isaacCipher); - packetWriter.method241(var18); - } - - try { - packetWriter.method240(); - } catch (IOException var30) { - class48.method868(); - } - - return; - } - - var37 = var25.widget; - if (var37.childIndex < 0) { - break; - } - - var26 = Huffman.getWidget(var37.parentId); - } while(var26 == null || var26.children == null || var37.childIndex >= var26.children.length || var37 != var26.children[var37.childIndex]); - - AbstractArchive.runScript(var25); - } - } - - var37 = var25.widget; - if (var37.childIndex < 0) { - break; - } - - var26 = Huffman.getWidget(var37.parentId); - } while(var26 == null || var26.children == null || var37.childIndex >= var26.children.length || var37 != var26.children[var37.childIndex]); - - AbstractArchive.runScript(var25); - } - } - - var37 = var25.widget; - if (var37.childIndex < 0) { - break; - } - - var26 = Huffman.getWidget(var37.parentId); - } while(var26 == null || var26.children == null || var37.childIndex >= var26.children.length || var37 != var26.children[var37.childIndex]); - - AbstractArchive.runScript(var25); - } - } - - var5 = Interpreter.method1915(ClientPacket.field313, packetWriter.isaacCipher); - var5.packetBuffer.writeByte(0); - var4 = var5.packetBuffer.index; - WorldMapLabel.method443(var5.packetBuffer); - var5.packetBuffer.writeLengthByte(var5.packetBuffer.index - var4); - packetWriter.method241(var5); - } - } - } - - } - - @ObfuscatedName("ge") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1792846917" - ) - void method84() { - int var1 = SoundCache.canvasWidth; - int var2 = Huffman.canvasHeight; - if (super.contentWidth < var1) { - var1 = super.contentWidth; - } - - if (super.contentHeight < var2) { - var2 = super.contentHeight; - } - - if (ReflectionCheck.clientPreferences != null) { - try { - Client var3 = TextureProvider.client; - Object[] var4 = new Object[]{SpotAnimationDefinition.getWindowedMode()}; - JSObject.getWindow(var3).call("resize", var4); - } catch (Throwable var5) { - } - } - - } - - @ObfuscatedName("gs") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1433182492" - ) - @Export("drawLoggedIn") - final void drawLoggedIn() { - if (rootInterface != -1) { - ClientPreferences.method1809(rootInterface); - } - - int var1; - for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field100[var1]) { - field102[var1] = true; - } - - field101[var1] = field100[var1]; - field100[var1] = false; - } - - field98 = cycle; - field216 = -1; - field217 = -1; - UserComparator6.field937 = null; - if (rootInterface != -1) { - rootWidgetCount = 0; - Interpreter.drawWidgets(rootInterface, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0, -1); - } - - Rasterizer2D.Rasterizer2D_resetClip(); - if (showMouseCross) { - if (mouseCrossColor == 1) { - KeyHandler.crossSprites[mouseCrossState / 100].drawAt2(mouseCrossX - 8, mouseCrossY - 8); - } - - if (mouseCrossColor == 2) { - KeyHandler.crossSprites[mouseCrossState / 100 + 4].drawAt2(mouseCrossX - 8, mouseCrossY - 8); - } - } - - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - if (!isMenuOpen) { - if (field216 != -1) { - class39.drawMenuActionTextAt(field216, field217); - } - } else { - var1 = WorldMapDecoration.menuX; - var2 = GameShell.menuY; - var3 = class214.menuWidth; - var4 = AbstractWorldMapIcon.menuHeight; - int var8 = 6116423; - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var8); - Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); - Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); - class2.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var8, -1); - var5 = MouseHandler.MouseHandler_x; - var6 = MouseHandler.MouseHandler_y; - - int var9; - int var10; - for (var7 = 0; var7 < menuOptionsCount; ++var7) { - var9 = var2 + (menuOptionsCount - 1 - var7) * 15 + 31; - var10 = 16777215; - if (var5 > var1 && var5 < var3 + var1 && var6 > var9 - 13 && var6 < var9 + 3) { - var10 = 16776960; - } - - Font var11 = class2.fontBold12; - String var12; - if (var7 < 0) { - var12 = ""; - } else if (menuTargetNames[var7].length() > 0) { - var12 = menuActions[var7] + " " + menuTargetNames[var7]; - } else { - var12 = menuActions[var7]; - } - - var11.draw(var12, var1 + 3, var9, var10, 0); - } - - var7 = WorldMapDecoration.menuX; - var9 = GameShell.menuY; - var10 = class214.menuWidth; - int var15 = AbstractWorldMapIcon.menuHeight; - - for (int var18 = 0; var18 < rootWidgetCount; ++var18) { - if (rootWidgetXs[var18] + rootWidgetWidths[var18] > var7 && rootWidgetXs[var18] < var7 + var10 && rootWidgetYs[var18] + rootWidgetHeights[var18] > var9 && rootWidgetYs[var18] < var9 + var15) { - field102[var18] = true; - } - } - } - - if (gameDrawingMode == 3) { - for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field101[var1]) { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); - } else if (field102[var1]) { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); - } - } - } - - var1 = SoundSystem.plane; - var2 = Canvas.localPlayer.x; - var3 = Canvas.localPlayer.y; - var4 = field183; - - for (ObjectSound var13 = (ObjectSound)ObjectSound.objectSounds.last(); var13 != null; var13 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var13.soundEffectId != -1 || var13.soundEffectIds != null) { - var5 = 0; - if (var2 > var13.field650) { - var5 += var2 - var13.field650; - } else if (var2 < var13.field648) { - var5 += var13.field648 - var2; - } - - if (var3 > var13.field651) { - var5 += var3 - var13.field651; - } else if (var3 < var13.field649) { - var5 += var13.field649 - var3; - } - - if (var5 - 64 <= var13.field652 && field115 != 0 && var1 == var13.field647) { - var5 -= 64; - if (var5 < 0) { - var5 = 0; - } - - var6 = (var13.field652 - var5) * field115 / var13.field652; - Object var14; - SoundEffect var16; - RawSound var17; - RawPcmStream var19; - if (var13.stream1 == null) { - if (var13.soundEffectId >= 0) { - var14 = null; - var16 = SoundEffect.readSoundEffect(WorldMapDecoration.archive4, var13.soundEffectId, 0); - if (var16 != null) { - var17 = var16.toRawSound().resample(MilliClock.decimator); - var19 = RawPcmStream.createRawPcmStream(var17, 100, var6); - var19.setNumLoops(-1); - TaskHandler.pcmStreamMixer.addSubStream(var19); - var13.stream1 = var19; - } - } - } else { - var13.stream1.method265(var6); - } - - if (var13.stream2 == null) { - if (var13.soundEffectIds != null && (var13.field655 -= var4) <= 0) { - var7 = (int)(Math.random() * (double)var13.soundEffectIds.length); - var14 = null; - var16 = SoundEffect.readSoundEffect(WorldMapDecoration.archive4, var13.soundEffectIds[var7], 0); - if (var16 != null) { - var17 = var16.toRawSound().resample(MilliClock.decimator); - var19 = RawPcmStream.createRawPcmStream(var17, 100, var6); - var19.setNumLoops(0); - TaskHandler.pcmStreamMixer.addSubStream(var19); - var13.stream2 = var19; - var13.field655 = var13.field653 + (int)(Math.random() * (double)(var13.field654 - var13.field653)); - } - } - } else { - var13.stream2.method265(var6); - if (!var13.stream2.hasNext()) { - var13.stream2 = null; - } - } - } else { - if (var13.stream1 != null) { - TaskHandler.pcmStreamMixer.removeSubStream(var13.stream1); - var13.stream1 = null; - } - - if (var13.stream2 != null) { - TaskHandler.pcmStreamMixer.removeSubStream(var13.stream2); - var13.stream2 = null; - } - } - } - } - - field183 = 0; - } - - @ObfuscatedName("hg") - @ObfuscatedSignature( - signature = "(Lcl;I)Z", - garbageValue = "1488446149" - ) - final boolean method85(PacketWriter var1) { - AbstractSocket var2 = var1.getSocket(); - PacketBuffer var3 = var1.packetBuffer; - if (var2 == null) { - return false; - } else { - String var4; - int var5; - try { - int var6; - if (var1.serverPacket0 == null) { - if (var1.field673) { - if (!var2.isAvailable(1)) { - return false; - } - - var2.read(var1.packetBuffer.array, 0, 1); - var1.field674 = 0; - var1.field673 = false; - } - - var3.index = 0; - if (var3.method236()) { - if (!var2.isAvailable(1)) { - return false; - } - - var2.read(var1.packetBuffer.array, 1, 1); - var1.field674 = 0; - } - - var1.field673 = true; - ServerPacket[] var7 = class27.method429(); - var6 = var3.readSmartByteShortIsaac(); - if (var6 < 0 || var6 >= var7.length) { - throw new IOException(var6 + " " + var3.index); - } - - var1.serverPacket0 = var7[var6]; - var1.serverPacket0Length = var1.serverPacket0.length; - } - - if (var1.serverPacket0Length == -1) { - if (!var2.isAvailable(1)) { - return false; - } - - var1.getSocket().read(var3.array, 0, 1); - var1.serverPacket0Length = var3.array[0] & 255; - } - - if (var1.serverPacket0Length == -2) { - if (!var2.isAvailable(2)) { - return false; - } - - var1.getSocket().read(var3.array, 0, 2); - var3.index = 0; - var1.serverPacket0Length = var3.readUnsignedShort(); - } - - if (!var2.isAvailable(var1.serverPacket0Length)) { - return false; - } - - var3.index = 0; - var2.read(var3.array, 0, var1.serverPacket0Length); - var1.field674 = 0; - timer.method329(); - var1.field678 = var1.field677; - var1.field677 = var1.field676; - var1.field676 = var1.serverPacket0; - if (ServerPacket.field838 == var1.serverPacket0) { - class16.method189(class190.field2344); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field864 == var1.serverPacket0) { - isCameraLocked = true; - class3.field1146 = var3.readUnsignedByte(); - MusicPatchPcmStream.field602 = var3.readUnsignedByte(); - AbstractWorldMapIcon.field4 = var3.readUnsignedShort(); - ClientPacket.field221 = var3.readUnsignedByte(); - class30.field1148 = var3.readUnsignedByte(); - if (class30.field1148 >= 100) { - WorldMapSection2.cameraX = class3.field1146 * 128 + 64; - GrandExchangeOfferNameComparator.cameraZ = MusicPatchPcmStream.field602 * 128 + 64; - GrandExchangeEvents.cameraY = class32.getTileHeight(WorldMapSection2.cameraX, GrandExchangeOfferNameComparator.cameraZ, SoundSystem.plane) - AbstractWorldMapIcon.field4; - } - - var1.serverPacket0 = null; - return true; - } - - int var38; - if (ServerPacket.field817 == var1.serverPacket0) { - for (var38 = 0; var38 < players.length; ++var38) { - if (players[var38] != null) { - players[var38].sequence = -1; - } - } - - for (var38 = 0; var38 < npcs.length; ++var38) { - if (npcs[var38] != null) { - npcs[var38].sequence = -1; - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field806 == var1.serverPacket0) { - Canvas.field95 = var3.method59(); - WorldMapSection1.field1089 = var3.readUnsignedByteNegate(); - - while (var3.index < var1.serverPacket0Length) { - var38 = var3.readUnsignedByte(); - class190 var39 = RunException.method3430()[var38]; - class16.method189(var39); - } - - var1.serverPacket0 = null; - return true; - } - - Widget var8; - if (ServerPacket.field850 == var1.serverPacket0) { - var38 = var3.readShort(); - var6 = var3.method73(); - var8 = Huffman.getWidget(var6); - if (var38 != var8.sequenceId || var38 == -1) { - var8.sequenceId = var38; - var8.modelFrame = 0; - var8.modelFrameCycle = 0; - WorldMapRectangle.method295(var8); - } - - var1.serverPacket0 = null; - return true; - } - - Widget var9; - if (ServerPacket.field819 == var1.serverPacket0) { - var38 = var3.method73(); - var9 = Huffman.getWidget(var38); - var9.modelType = 3; - var9.modelId = Canvas.localPlayer.appearance.getChatHeadId(); - WorldMapRectangle.method295(var9); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field790 == var1.serverPacket0) { - TextureProvider.method2773(); - var1.serverPacket0 = null; - return false; - } - - if (ServerPacket.field796 == var1.serverPacket0) { - var38 = var3.method72(); - var9 = Huffman.getWidget(var38); - - for (var5 = 0; var5 < var9.itemIds.length; ++var5) { - var9.itemIds[var5] = -1; - var9.itemIds[var5] = 0; - } - - WorldMapRectangle.method295(var9); - var1.serverPacket0 = null; - return true; - } - - int var10; - int var11; - int var12; - int var13; - if (ServerPacket.field859 == var1.serverPacket0) { - var38 = var3.readInt(); - var6 = var3.readUnsignedShort(); - if (var38 < -70000) { - var6 += 32768; - } - - if (var38 >= 0) { - var8 = Huffman.getWidget(var38); - } else { - var8 = null; - } - - if (var8 != null) { - for (var10 = 0; var10 < var8.itemIds.length; ++var10) { - var8.itemIds[var10] = 0; - var8.itemQuantities[var10] = 0; - } - } - - PlayerType.clearItemContainer(var6); - var10 = var3.readUnsignedShort(); - - for (var11 = 0; var11 < var10; ++var11) { - var12 = var3.readUnsignedShort(); - var13 = var3.readUnsignedByte(); - if (var13 == 255) { - var13 = var3.method73(); - } - - if (var8 != null && var11 < var8.itemIds.length) { - var8.itemIds[var11] = var12; - var8.itemQuantities[var11] = var13; - } - - WorldMapManager.itemContainerSetItem(var6, var11, var12 - 1, var13); - } - - if (var8 != null) { - WorldMapRectangle.method295(var8); - } - - GrandExchangeOfferAgeComparator.method159(); - field116[++field117 - 1 & 31] = var6 & 32767; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field797 == var1.serverPacket0) { - class16.method189(class190.field2341); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field842 == var1.serverPacket0) { - UserComparator7.method3360(var3, var1.serverPacket0Length); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field853 == var1.serverPacket0) { - WorldMapSection1.field1089 = var3.readUnsignedByteNegate(); - Canvas.field95 = var3.method59(); - var1.serverPacket0 = null; - return true; - } - - boolean var14; - if (ServerPacket.field810 == var1.serverPacket0) { - var38 = var3.readInt(); - var14 = var3.readUnsignedByte() == 1; - var8 = Huffman.getWidget(var38); - if (var14 != var8.isHidden) { - var8.isHidden = var14; - WorldMapRectangle.method295(var8); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field852 == var1.serverPacket0) { - byte var40 = var3.method60(); - var6 = var3.method66(); - Varps.Varps_temp[var6] = var40; - if (Varps.Varps_main[var6] != var40) { - Varps.Varps_main[var6] = var40; - } - - Archive.method4703(var6); - field121[++field123 - 1 & 31] = var6; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field803 == var1.serverPacket0) { - class16.method189(class190.field2347); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field844 == var1.serverPacket0) { - var38 = var3.readUnsignedByte(); - if (var3.readUnsignedByte() == 0) { - grandExchangeOffers[var38] = new GrandExchangeOffer(); - var3.index += 18; - } else { - --var3.index; - grandExchangeOffers[var38] = new GrandExchangeOffer(var3, false); - } - - field122 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field873 == var1.serverPacket0) { - var38 = var3.method67(); - rootInterface = var38; - this.method87(false); - DevicePcmPlayerProvider.method845(var38); - WorldMapSection1.runWidgetOnLoadListener(rootInterface); - - for (var6 = 0; var6 < 100; ++var6) { - field100[var6] = true; - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field849 == var1.serverPacket0) { - GrandExchangeOfferAgeComparator.method159(); - runEnergy = var3.readUnsignedByte(); - field124 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - Widget var15; - if (ServerPacket.field839 == var1.serverPacket0) { - var38 = var3.method67(); - var6 = var3.method67(); - var5 = var3.method67(); - var10 = var3.method73(); - var15 = Huffman.getWidget(var10); - if (var38 != var15.modelAngleX || var5 != var15.modelAngleY || var6 != var15.modelZoom) { - var15.modelAngleX = var38; - var15.modelAngleY = var5; - var15.modelZoom = var6; - WorldMapRectangle.method295(var15); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field825 == var1.serverPacket0) { - hintArrowType = var3.readUnsignedByte(); - if (hintArrowType == 1) { - hintArrowNpcIndex = var3.readUnsignedShort(); - } - - if (hintArrowType >= 2 && hintArrowType <= 6) { - if (hintArrowType == 2) { - hintArrowSubX = 64; - hintArrowSubY = 64; - } - - if (hintArrowType == 3) { - hintArrowSubX = 0; - hintArrowSubY = 64; - } - - if (hintArrowType == 4) { - hintArrowSubX = 128; - hintArrowSubY = 64; - } - - if (hintArrowType == 5) { - hintArrowSubX = 64; - hintArrowSubY = 0; - } - - if (hintArrowType == 6) { - hintArrowSubX = 64; - hintArrowSubY = 128; - } - - hintArrowType = 2; - hintArrowX = var3.readUnsignedShort(); - hintArrowY = var3.readUnsignedShort(); - hintArrowHeight = var3.readUnsignedByte(); - } - - if (hintArrowType == 10) { - hintArrowPlayerIndex = var3.readUnsignedShort(); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field868 == var1.serverPacket0) { - Skeleton.method3062(var3, var1.serverPacket0Length); - ScriptFrame.method1138(); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field789 == var1.serverPacket0) { - class50.loadRegions(false, var1.packetBuffer); - var1.serverPacket0 = null; - return true; - } - - Widget var16; - if (ServerPacket.field830 == var1.serverPacket0) { - var38 = var3.method66(); - var6 = var3.method65(); - var5 = var3.method72(); - var16 = Huffman.getWidget(var5); - var16.field963 = var38 + (var6 << 16); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field841 == var1.serverPacket0) { - if (rootInterface != -1) { - GrandExchangeEvents.method74(rootInterface, 0); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field809 == var1.serverPacket0) { - var38 = var3.readInt(); - var6 = var3.readUnsignedShort(); - if (var6 == 65535) { - var6 = -1; - } - - var5 = var3.method73(); - var16 = Huffman.getWidget(var38); - ItemDefinition var41; - if (!var16.isIf3) { - if (var6 == -1) { - var16.modelType = 0; - var1.serverPacket0 = null; - return true; - } - - var41 = Skills.getItemDefinition(var6); - var16.modelType = 4; - var16.modelId = var6; - var16.modelAngleX = var41.xan2d; - var16.modelAngleY = var41.yan2d; - var16.modelZoom = var41.zoom2d * 100 / var5; - WorldMapRectangle.method295(var16); - } else { - var16.itemId = var6; - var16.itemQuantity = var5; - var41 = Skills.getItemDefinition(var6); - var16.modelAngleX = var41.xan2d; - var16.modelAngleY = var41.yan2d; - var16.modelAngleZ = var41.zan2d; - var16.modelOffsetX = var41.offsetX2d; - var16.modelOffsetY = var41.offsetY2d; - var16.modelZoom = var41.zoom2d; - if (var41.isStackable == 1) { - var16.itemQuantityMode = 1; - } else { - var16.itemQuantityMode = 2; - } - - if (var16.field962 > 0) { - var16.modelZoom = var16.modelZoom * 32 / var16.field962; - } else if (var16.rawWidth > 0) { - var16.modelZoom = var16.modelZoom * 32 / var16.rawWidth; - } - - WorldMapRectangle.method295(var16); - } - - var1.serverPacket0 = null; - return true; - } - - String var17; - boolean var18; - if (ServerPacket.field792 == var1.serverPacket0) { - var38 = var3.readUShortSmart(); - var14 = var3.readUnsignedByte() == 1; - var17 = ""; - var18 = false; - if (var14) { - var17 = var3.readStringCp1252NullTerminated(); - if (WorldMapArea.friendSystem.isIgnored(new Username(var17, KeyHandler.loginType))) { - var18 = true; - } - } - - String var42 = var3.readStringCp1252NullTerminated(); - if (!var18) { - WorldMapIcon1.addGameMessage(var38, var17, var42); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field857 == var1.serverPacket0) { - ArchiveLoader.field512 = WorldMapElement.method4783(var3.readUnsignedByte()); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field801 == var1.serverPacket0) { - class16.method189(class190.field2345); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field805 == var1.serverPacket0) { - var18 = var3.readBoolean(); - if (var18) { - if (ClientParameter.field3645 == null) { - ClientParameter.field3645 = new class248(); - } - } else { - ClientParameter.field3645 = null; - } - - var1.serverPacket0 = null; - return true; - } - - long var19; - if (ServerPacket.field837 == var1.serverPacket0) { - var38 = var3.method71(); - var6 = var3.method66(); - if (var6 == 65535) { - var6 = -1; - } - - var5 = var3.method73(); - var10 = var3.readUnsignedShort(); - if (var10 == 65535) { - var10 = -1; - } - - for (var11 = var10; var11 <= var6; ++var11) { - var19 = (long)var11 + ((long)var5 << 32); - Node var43 = widgetClickMasks.get(var19); - if (var43 != null) { - var43.remove(); - } - - widgetClickMasks.put(new IntegerNode(var38), var19); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field870 == var1.serverPacket0) { - class3.updateNpcs(true, var3); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field834 == var1.serverPacket0) { - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.method78(var3); - } - - UserComparator8.method3349(); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field804 == var1.serverPacket0) { - class16.method189(class190.field2346); - var1.serverPacket0 = null; - return true; - } - - String var21; - if (ServerPacket.field851 == var1.serverPacket0) { - var21 = var3.readStringCp1252NullTerminated(); - Object[] var47 = new Object[var21.length() + 1]; - - for (var5 = var21.length() - 1; var5 >= 0; --var5) { - if (var21.charAt(var5) == 's') { - var47[var5 + 1] = var3.readStringCp1252NullTerminated(); - } else { - var47[var5 + 1] = new Integer(var3.readInt()); - } - } - - var47[0] = new Integer(var3.readInt()); - ScriptEvent var50 = new ScriptEvent(); - var50.args0 = var47; - AbstractArchive.runScript(var50); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field815 == var1.serverPacket0) { - class16.method189(class190.field2343); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field802 == var1.serverPacket0) { - class16.method189(class190.field2350); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field856 == var1.serverPacket0) { - destinationX = var3.readUnsignedByte(); - if (destinationX == 255) { - destinationX = 0; - } - - destinationY = var3.readUnsignedByte(); - if (destinationY == 255) { - destinationY = 0; - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field867 == var1.serverPacket0) { - for (var38 = 0; var38 < VarpDefinition.VarpDefinition_fileCount; ++var38) { - VarpDefinition var45 = SecureRandomCallable.method1140(var38); - if (var45 != null) { - Varps.Varps_temp[var38] = 0; - Varps.Varps_main[var38] = 0; - } - } - - GrandExchangeOfferAgeComparator.method159(); - field123 += 32; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field833 == var1.serverPacket0) { - var38 = var3.readInt(); - var6 = var3.readUnsignedShort(); - if (var38 < -70000) { - var6 += 32768; - } - - if (var38 >= 0) { - var8 = Huffman.getWidget(var38); - } else { - var8 = null; - } - - for (; var3.index < var1.serverPacket0Length; WorldMapManager.itemContainerSetItem(var6, var10, var11 - 1, var12)) { - var10 = var3.readUShortSmart(); - var11 = var3.readUnsignedShort(); - var12 = 0; - if (var11 != 0) { - var12 = var3.readUnsignedByte(); - if (var12 == 255) { - var12 = var3.readInt(); - } - } - - if (var8 != null && var10 >= 0 && var10 < var8.itemIds.length) { - var8.itemIds[var10] = var11; - var8.itemQuantities[var10] = var12; - } - } - - if (var8 != null) { - WorldMapRectangle.method295(var8); - } - - GrandExchangeOfferAgeComparator.method159(); - field116[++field117 - 1 & 31] = var6 & 32767; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field854 == var1.serverPacket0) { - var38 = var3.readUnsignedShort(); - var6 = var3.readUnsignedByte(); - var5 = var3.readUnsignedShort(); - Ignored.queueSoundEffect(var38, var6, var5); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field848 == var1.serverPacket0) { - var38 = var3.method72(); - var6 = var3.method69(); - var5 = var3.method68(); - var16 = Huffman.getWidget(var38); - if (var5 != var16.rawX || var6 != var16.rawY || var16.xAlignment != 0 || var16.yAlignment != 0) { - var16.rawX = var5; - var16.rawY = var6; - var16.xAlignment = 0; - var16.yAlignment = 0; - WorldMapRectangle.method295(var16); - this.alignWidget(var16); - if (var16.type == 0) { - class39.revalidateWidgetScroll(Widget.interfaceComponents[var38 >> 16], var16, false); - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field824 == var1.serverPacket0) { - var38 = var3.method67(); - var6 = var3.method73(); - var8 = Huffman.getWidget(var6); - if (var8.modelType != 2 || var38 != var8.modelId) { - var8.modelType = 2; - var8.modelId = var38; - WorldMapRectangle.method295(var8); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field836 == var1.serverPacket0) { - World var44 = new World(); - var44.host = var3.readStringCp1252NullTerminated(); - var44.id = var3.readUnsignedShort(); - var6 = var3.readInt(); - var44.properties = var6; - GameShell.updateGameState(45); - var2.close(); - var2 = null; - class31.changeWorld(var44); - var1.serverPacket0 = null; - return false; - } - - if (ServerPacket.field821 == var1.serverPacket0) { - WorldMapArea.friendSystem.ignoreList.read(var3, var1.serverPacket0Length); - class229.method4512(); - field105 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field822 == var1.serverPacket0) { - class3.updateNpcs(false, var3); - var1.serverPacket0 = null; - return true; - } - - InterfaceParent var22; - if (ServerPacket.field871 == var1.serverPacket0) { - var38 = var3.readInt(); - var6 = var3.readInt(); - InterfaceParent var49 = (InterfaceParent)interfaceParents.get((long)var6); - var22 = (InterfaceParent)interfaceParents.get((long)var38); - if (var22 != null) { - MenuAction.closeInterface(var22, var49 == null || var49.group != var22.group); - } - - if (var49 != null) { - var49.remove(); - interfaceParents.put(var49, (long)var38); - } - - var15 = Huffman.getWidget(var6); - if (var15 != null) { - WorldMapRectangle.method295(var15); - } - - var15 = Huffman.getWidget(var38); - if (var15 != null) { - WorldMapRectangle.method295(var15); - class39.revalidateWidgetScroll(Widget.interfaceComponents[var15.id >>> 16], var15, true); - } - - if (rootInterface != -1) { - GrandExchangeEvents.method74(rootInterface, 1); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field813 == var1.serverPacket0) { - var38 = var3.method72(); - var6 = var3.method66(); - var5 = var6 >> 10 & 31; - var10 = var6 >> 5 & 31; - var11 = var6 & 31; - var12 = (var10 << 11) + (var5 << 19) + (var11 << 3); - Widget var48 = Huffman.getWidget(var38); - if (var12 != var48.color) { - var48.color = var12; - WorldMapRectangle.method295(var48); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field828 == var1.serverPacket0) { - var38 = var3.readUnsignedByte(); - var6 = var3.readUnsignedByte(); - var5 = var3.readUnsignedByte(); - var10 = var3.readUnsignedByte(); - field139[var38] = true; - field141[var38] = var6; - field142[var38] = var5; - field143[var38] = var10; - field144[var38] = 0; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field869 == var1.serverPacket0) { - field138 = var3.readUnsignedByteNegate(); - publicChatMode = var3.readUnsignedByteNegate(); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field861 == var1.serverPacket0) { - rebootTimer = var3.readUnsignedShort() * 30; - field124 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field814 == var1.serverPacket0) { - Canvas.field95 = var3.readUnsignedByteNegate(); - WorldMapSection1.field1089 = var3.readUnsignedByte(); - - for (var38 = WorldMapSection1.field1089; var38 < WorldMapSection1.field1089 + 8; ++var38) { - for (var6 = Canvas.field95; var6 < Canvas.field95 + 8; ++var6) { - if (groundItems[SoundSystem.plane][var38][var6] != null) { - groundItems[SoundSystem.plane][var38][var6] = null; - TilePaint.updateItemPile(var38, var6); - } - } - } - - for (PendingSpawn var46 = (PendingSpawn)pendingSpawns.last(); var46 != null; var46 = (PendingSpawn)pendingSpawns.previous()) { - if (var46.x >= WorldMapSection1.field1089 && var46.x < WorldMapSection1.field1089 + 8 && var46.y >= Canvas.field95 && var46.y < Canvas.field95 + 8 && var46.plane == SoundSystem.plane) { - var46.hitpoints = 0; - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field820 == var1.serverPacket0) { - var38 = var3.method73(); - var6 = var3.method67(); - var8 = Huffman.getWidget(var38); - if (var8.modelType != 1 || var6 != var8.modelId) { - var8.modelType = 1; - var8.modelId = var6; - WorldMapRectangle.method295(var8); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field823 == var1.serverPacket0) { - var38 = var3.readUnsignedByte(); - BufferedNetSocket.method3500(var38); - var1.serverPacket0 = null; - return true; - } - - long var23; - long var25; - long var27; - PlayerType var29; - int var51; - if (ServerPacket.field843 == var1.serverPacket0) { - var21 = var3.readStringCp1252NullTerminated(); - var25 = var3.readLong(); - var27 = (long)var3.readUnsignedShort(); - var19 = (long)var3.readMedium(); - var29 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var3.readUnsignedByte()); - var23 = (var27 << 32) + var19; - boolean var55 = false; - - for (var51 = 0; var51 < 100; ++var51) { - if (field152[var51] == var23) { - var55 = true; - break; - } - } - - if (var29.isUser && WorldMapArea.friendSystem.isIgnored(new Username(var21, KeyHandler.loginType))) { - var55 = true; - } - - if (!var55 && field208 == 0) { - field152[field156] = var23; - field156 = (field156 + 1) % 100; - String var56 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); - if (var29.modIcon != -1) { - GrandExchangeEvents.addChatMessage(9, ItemContainer.method1170(var29.modIcon) + var21, var56, Clock.method3534(var25)); - } else { - GrandExchangeEvents.addChatMessage(9, var21, var56, Clock.method3534(var25)); - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field831 == var1.serverPacket0) { - class16.method189(class190.field2342); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field808 == var1.serverPacket0) { - var38 = var3.readInt(); - var4 = var3.readStringCp1252NullTerminated(); - var8 = Huffman.getWidget(var38); - if (!var4.equals(var8.text)) { - var8.text = var4; - WorldMapRectangle.method295(var8); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field840 == var1.serverPacket0) { - class50.loadRegions(true, var1.packetBuffer); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field791 == var1.serverPacket0) { - isCameraLocked = false; - - for (var38 = 0; var38 < 5; ++var38) { - field139[var38] = false; - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field872 == var1.serverPacket0) { - isCameraLocked = true; - GrandExchangeOffer.field376 = var3.readUnsignedByte(); - KeyHandler.field445 = var3.readUnsignedByte(); - ArchiveDiskAction.field410 = var3.readUnsignedShort(); - VertexNormal.field946 = var3.readUnsignedByte(); - class171.field1116 = var3.readUnsignedByte(); - if (class171.field1116 >= 100) { - var38 = GrandExchangeOffer.field376 * 128 + 64; - var6 = KeyHandler.field445 * 128 + 64; - var5 = class32.getTileHeight(var38, var6, SoundSystem.plane) - ArchiveDiskAction.field410; - var10 = var38 - WorldMapSection2.cameraX; - var11 = var5 - GrandExchangeEvents.cameraY; - var12 = var6 - GrandExchangeOfferNameComparator.cameraZ; - var13 = (int)Math.sqrt((double)(var12 * var12 + var10 * var10)); - WorldMapIcon1.cameraPitch = (int)(Math.atan2((double)var11, (double)var13) * 325.949D) & 2047; - MusicPatchNode.cameraYaw = (int)(Math.atan2((double)var10, (double)var12) * -325.949D) & 2047; - if (WorldMapIcon1.cameraPitch < 128) { - WorldMapIcon1.cameraPitch = 128; - } - - if (WorldMapIcon1.cameraPitch > 383) { - WorldMapIcon1.cameraPitch = 383; - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field865 == var1.serverPacket0) { - var38 = var3.method73(); - var6 = var3.method67(); - var8 = Huffman.getWidget(var38); - if (var8 != null && var8.type == 0) { - if (var6 > var8.scrollHeight - var8.height) { - var6 = var8.scrollHeight - var8.height; - } - - if (var6 < 0) { - var6 = 0; - } - - if (var6 != var8.scrollY) { - var8.scrollY = var6; - WorldMapRectangle.method295(var8); - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field835 == var1.serverPacket0) { - var38 = var3.method65(); - Script.method2216(var38); - field116[++field117 - 1 & 31] = var38 & 32767; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field846 == var1.serverPacket0) { - var3.index += 28; - if (var3.checkCrc()) { - class234.method4535(var3, var3.index - 28); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field811 == var1.serverPacket0) { - GrandExchangeOfferAgeComparator.method159(); - var38 = var3.method71(); - var6 = var3.readUnsignedByteNegate(); - var5 = var3.readUnsignedByte(); - experience[var6] = var38; - currentLevels[var6] = var5; - levels[var6] = 1; - - for (var10 = 0; var10 < 98; ++var10) { - if (var38 >= Skills.Skills_experienceTable[var10]) { - levels[var6] = var10 + 2; - } - } - - changedSkills[++changedSkillsCount - 1 & 31] = var6; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field858 == var1.serverPacket0) { - var38 = var3.readInt(); - var6 = var3.readInt(); - var5 = DynamicObject.method2222(); - PacketBufferNode var54 = Interpreter.method1915(ClientPacket.field233, packetWriter.isaacCipher); - var54.packetBuffer.method56(var5); - var54.packetBuffer.writeByte(GameShell.fps); - var54.packetBuffer.writeIntME(var38); - var54.packetBuffer.writeIntLE(var6); - packetWriter.method241(var54); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field860 == var1.serverPacket0) { - GrandExchangeOfferAgeComparator.method159(); - weight = var3.readShort(); - field124 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field816 == var1.serverPacket0) { - var18 = var3.readUnsignedByte() == 1; - if (var18) { - class15.field1113 = class203.currentTimeMs() - var3.readLong(); - FloorDecoration.grandExchangeEvents = new GrandExchangeEvents(var3, true); - } else { - FloorDecoration.grandExchangeEvents = null; - } - - field154 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field818 == var1.serverPacket0) { - WorldMapArea.friendSystem.method100(); - field105 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field807 == var1.serverPacket0) { - byte[] var52 = new byte[var1.serverPacket0Length]; - var3.method237(var52, 0, var52.length); - Buffer var53 = new Buffer(var52); - var17 = var53.readStringCp1252NullTerminated(); - WorldMapCacheName.openURL(var17, true, false); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field800 == var1.serverPacket0) { - class16.method189(class190.field2352); - var1.serverPacket0 = null; - return true; - } - - InterfaceParent var30; - if (ServerPacket.field845 == var1.serverPacket0) { - var38 = var3.index + var1.serverPacket0Length; - var6 = var3.readUnsignedShort(); - var5 = var3.readUnsignedShort(); - if (var6 != rootInterface) { - rootInterface = var6; - this.method87(false); - DevicePcmPlayerProvider.method845(rootInterface); - WorldMapSection1.runWidgetOnLoadListener(rootInterface); - - for (var10 = 0; var10 < 100; ++var10) { - field100[var10] = true; - } - } - - for (; var5-- > 0; var30.keep = true) { - var10 = var3.readInt(); - var11 = var3.readUnsignedShort(); - var12 = var3.readUnsignedByte(); - var30 = (InterfaceParent)interfaceParents.get((long)var10); - if (var30 != null && var11 != var30.group) { - MenuAction.closeInterface(var30, true); - var30 = null; - } - - if (var30 == null) { - var30 = SecureRandomCallable.method1143(var10, var11, var12); - } - } - - for (var22 = (InterfaceParent)interfaceParents.first(); var22 != null; var22 = (InterfaceParent)interfaceParents.next()) { - if (var22.keep) { - var22.keep = false; - } else { - MenuAction.closeInterface(var22, true); - } - } - - widgetClickMasks = new NodeHashTable(512); - - while (var3.index < var38) { - var10 = var3.readInt(); - var11 = var3.readUnsignedShort(); - var12 = var3.readUnsignedShort(); - var13 = var3.readInt(); - - for (var51 = var11; var51 <= var12; ++var51) { - var23 = (long)var51 + ((long)var10 << 32); - widgetClickMasks.put(new IntegerNode(var13), var23); - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field855 == var1.serverPacket0) { - var38 = var3.method58(); - var6 = var3.method58(); - var17 = var3.readStringCp1252NullTerminated(); - if (var6 >= 1 && var6 <= 8) { - if (var17.equalsIgnoreCase("null")) { - var17 = null; - } - - playerMenuActions[var6 - 1] = var17; - playerOptionsPriorities[var6 - 1] = var38 == 0; - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field826 == var1.serverPacket0) { - Clock.method3533(var3.readStringCp1252NullTerminated()); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field832 == var1.serverPacket0) { - if (var1.serverPacket0Length == 0) { - PacketWriter.clanChat = null; - } else { - if (PacketWriter.clanChat == null) { - PacketWriter.clanChat = new ClanChat(KeyHandler.loginType, TextureProvider.client); - } - - PacketWriter.clanChat.readUpdate(var3); - } - - UserComparator8.method3349(); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field793 == var1.serverPacket0) { - var38 = var3.readUnsignedShort(); - var6 = var3.readInt(); - Varps.Varps_temp[var38] = var6; - if (Varps.Varps_main[var38] != var6) { - Varps.Varps_main[var38] = var6; - } - - Archive.method4703(var38); - field121[++field123 - 1 & 31] = var38; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field795 == var1.serverPacket0) { - class16.method189(class190.field2349); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field798 == var1.serverPacket0) { - var38 = var3.readInt(); - var30 = (InterfaceParent)interfaceParents.get((long)var38); - if (var30 != null) { - MenuAction.closeInterface(var30, true); - } - - if (field127 != null) { - WorldMapRectangle.method295(field127); - field127 = null; - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field862 == var1.serverPacket0) { - for (var38 = 0; var38 < Varps.Varps_main.length; ++var38) { - if (Varps.Varps_temp[var38] != Varps.Varps_main[var38]) { - Varps.Varps_main[var38] = Varps.Varps_temp[var38]; - Archive.method4703(var38); - field121[++field123 - 1 & 31] = var38; - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field847 == var1.serverPacket0) { - WorldMapArea.friendSystem.method101(var3, var1.serverPacket0Length); - field105 = cycleCntr; - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field812 == var1.serverPacket0) { - var38 = var3.method67(); - if (var38 == 65535) { - var38 = -1; - } - - AbstractUserComparator.method5437(var38); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field829 == var1.serverPacket0) { - var38 = var3.method70(); - var6 = var3.method66(); - if (var6 == 65535) { - var6 = -1; - } - - HealthBar.method1994(var6, var38); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field866 == var1.serverPacket0) { - var38 = var3.method58(); - var6 = var3.method72(); - var5 = var3.method67(); - var22 = (InterfaceParent)interfaceParents.get((long)var6); - if (var22 != null) { - MenuAction.closeInterface(var22, var5 != var22.group); - } - - SecureRandomCallable.method1143(var6, var5, var38); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field799 == var1.serverPacket0) { - var21 = var3.readStringCp1252NullTerminated(); - var25 = (long)var3.readUnsignedShort(); - var27 = (long)var3.readMedium(); - var29 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var3.readUnsignedByte()); - long var31 = (var25 << 32) + var27; - boolean var33 = false; - - for (int var34 = 0; var34 < 100; ++var34) { - if (var31 == field152[var34]) { - var33 = true; - break; - } - } - - if (WorldMapArea.friendSystem.isIgnored(new Username(var21, KeyHandler.loginType))) { - var33 = true; - } - - if (!var33 && field208 == 0) { - field152[field156] = var31; - field156 = (field156 + 1) % 100; - String var57 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); - byte var35; - if (var29.isPrivileged) { - var35 = 7; - } else { - var35 = 3; - } - - if (var29.modIcon != -1) { - WorldMapIcon1.addGameMessage(var35, ItemContainer.method1170(var29.modIcon) + var21, var57); - } else { - WorldMapIcon1.addGameMessage(var35, var21, var57); - } - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field794 == var1.serverPacket0) { - var38 = var3.readInt(); - if (var38 != field198) { - field198 = var38; - WorldMapArea.method428(); - } - - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field863 == var1.serverPacket0) { - minimapState = var3.readUnsignedByte(); - var1.serverPacket0 = null; - return true; - } - - if (ServerPacket.field827 == var1.serverPacket0) { - var21 = var3.readStringCp1252NullTerminated(); - var4 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); - WorldMapIcon1.addGameMessage(6, var21, var4); - var1.serverPacket0 = null; - return true; - } - - NPCDefinition.sendStackTrace("" + (var1.serverPacket0 != null ? var1.serverPacket0.id : -1) + "," + (var1.field677 != null ? var1.field677.id : -1) + "," + (var1.field678 != null ? var1.field678.id : -1) + "," + var1.serverPacket0Length, (Throwable)null); - TextureProvider.method2773(); - } catch (IOException var36) { - class48.method868(); - } catch (Exception var37) { - var4 = "" + (var1.serverPacket0 != null ? var1.serverPacket0.id : -1) + "," + (var1.field677 != null ? var1.field677.id : -1) + "," + (var1.field678 != null ? var1.field678.id : -1) + "," + var1.serverPacket0Length + "," + (Canvas.localPlayer.pathX[0] + class50.baseX) + "," + (Canvas.localPlayer.pathY[0] + GraphicsObject.baseY) + ","; - - for (var5 = 0; var5 < var1.serverPacket0Length && var5 < 50; ++var5) { - var4 = var4 + var3.array[var5] + ","; - } - - NPCDefinition.sendStackTrace(var4, var37); - TextureProvider.method2773(); - } - - return true; - } - } - - @ObfuscatedName("hi") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-387903382" - ) - final void method86() { - boolean var1 = false; - - int var2; - int var3; - while (!var1) { - var1 = true; - - for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { - if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { - String var4 = menuTargetNames[var2]; - menuTargetNames[var2] = menuTargetNames[var2 + 1]; - menuTargetNames[var2 + 1] = var4; - String var5 = menuActions[var2]; - menuActions[var2] = menuActions[var2 + 1]; - menuActions[var2 + 1] = var5; - var3 = menuOpcodes[var2]; - menuOpcodes[var2] = menuOpcodes[var2 + 1]; - menuOpcodes[var2 + 1] = var3; - var3 = menuArguments1[var2]; - menuArguments1[var2] = menuArguments1[var2 + 1]; - menuArguments1[var2 + 1] = var3; - var3 = menuArguments2[var2]; - menuArguments2[var2] = menuArguments2[var2 + 1]; - menuArguments2[var2 + 1] = var3; - var3 = menuArguments0[var2]; - menuArguments0[var2] = menuArguments0[var2 + 1]; - menuArguments0[var2 + 1] = var3; - boolean var6 = menuShiftClick[var2]; - menuShiftClick[var2] = menuShiftClick[var2 + 1]; - menuShiftClick[var2 + 1] = var6; - var1 = false; - } - } - } - - if (DevicePcmPlayerProvider.dragInventoryWidget == null && clickedWidget == null) { - int var11 = MouseHandler.MouseHandler_lastButton; - int var7; - int var12; - int var13; - if (isMenuOpen) { - int var14; - if (var11 != 1 && (AbstractRasterProvider.mouseCam || var11 != 4)) { - var2 = MouseHandler.MouseHandler_x; - var14 = MouseHandler.MouseHandler_y; - if (var2 < WorldMapDecoration.menuX - 10 || var2 > WorldMapDecoration.menuX + class214.menuWidth + 10 || var14 < GameShell.menuY - 10 || var14 > AbstractWorldMapIcon.menuHeight + GameShell.menuY + 10) { - isMenuOpen = false; - Players.method2112(WorldMapDecoration.menuX, GameShell.menuY, class214.menuWidth, AbstractWorldMapIcon.menuHeight); - } - } - - if (var11 == 1 || !AbstractRasterProvider.mouseCam && var11 == 4) { - var2 = WorldMapDecoration.menuX; - var14 = GameShell.menuY; - var12 = class214.menuWidth; - var3 = MouseHandler.MouseHandler_lastPressedX; - var13 = MouseHandler.MouseHandler_lastPressedY; - int var15 = -1; - - for (int var16 = 0; var16 < menuOptionsCount; ++var16) { - var7 = (menuOptionsCount - 1 - var16) * 15 + var14 + 31; - if (var3 > var2 && var3 < var12 + var2 && var13 > var7 - 13 && var13 < var7 + 3) { - var15 = var16; - } - } - - if (var15 != -1) { - WorldMapSection3.method245(var15); - } - - isMenuOpen = false; - Players.method2112(WorldMapDecoration.menuX, GameShell.menuY, class214.menuWidth, AbstractWorldMapIcon.menuHeight); - } - } else { - label219: { - var2 = menuOptionsCount - 1; - if ((var11 == 1 || !AbstractRasterProvider.mouseCam && var11 == 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) { - var3 = menuArguments1[var2]; - var13 = menuArguments2[var2]; - Widget var8 = Huffman.getWidget(var13); - var7 = class1.getWidgetClickMask(var8); - boolean var9 = (var7 >> 28 & 1) != 0; - if (var9) { - break label219; - } - - Object var10 = null; - if (class168.method3461(class1.getWidgetClickMask(var8))) { - break label219; - } - } - } - - if ((var11 == 1 || !AbstractRasterProvider.mouseCam && var11 == 4) && this.shouldLeftClickOpenMenu()) { - var11 = 2; - } - - if ((var11 == 1 || !AbstractRasterProvider.mouseCam && var11 == 4) && menuOptionsCount > 0) { - WorldMapSection3.method245(var2); - } - - if (var11 == 2 && menuOptionsCount > 0) { - this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - return; - } - - if (DevicePcmPlayerProvider.dragInventoryWidget != null && !field207 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { - var11 = field205; - var7 = field206; - WorldMapDecorationType.processTempMenuAction(GrandExchangeOfferUnitPriceComparator.tempMenuAction, var11, var7); - GrandExchangeOfferUnitPriceComparator.tempMenuAction = null; - } - - field207 = false; - itemDragDuration = 0; - if (DevicePcmPlayerProvider.dragInventoryWidget != null) { - WorldMapRectangle.method295(DevicePcmPlayerProvider.dragInventoryWidget); - } - - DevicePcmPlayerProvider.dragInventoryWidget = Huffman.getWidget(var13); - dragItemSlotSource = var3; - field205 = MouseHandler.MouseHandler_lastPressedX; - field206 = MouseHandler.MouseHandler_lastPressedY; - if (var2 >= 0) { - GrandExchangeOfferUnitPriceComparator.tempMenuAction = new MenuAction(); - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument1 = menuArguments1[var2]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument2 = menuArguments2[var2]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.opcode = menuOpcodes[var2]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument0 = menuArguments0[var2]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.action = menuActions[var2]; - } - - WorldMapRectangle.method295(DevicePcmPlayerProvider.dragInventoryWidget); - return; - } - } - - } - - @ObfuscatedName("ht") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "109" - ) - @Export("shouldLeftClickOpenMenu") - final boolean shouldLeftClickOpenMenu() { - int var1 = menuOptionsCount - 1; - return (field215 == 1 && menuOptionsCount > 2 || UserComparator7.method3364(var1)) && !menuShiftClick[var1]; - } - - @ObfuscatedName("hj") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "1" - ) - @Export("openMenu") - final void openMenu(int x, int y) { - int var3 = class2.fontBold12.stringWidth("Choose Option"); - - int var4; - for (var4 = 0; var4 < menuOptionsCount; ++var4) { - Font var5 = class2.fontBold12; - String var6; - if (var4 < 0) { - var6 = ""; - } else if (menuTargetNames[var4].length() > 0) { - var6 = menuActions[var4] + " " + menuTargetNames[var4]; - } else { - var6 = menuActions[var4]; - } - - int var7 = var5.stringWidth(var6); - if (var7 > var3) { - var3 = var7; - } - } - - var3 += 8; - var4 = menuOptionsCount * 15 + 22; - int var8 = x - var3 / 2; - if (var3 + var8 > SoundCache.canvasWidth) { - var8 = SoundCache.canvasWidth - var3; - } - - if (var8 < 0) { - var8 = 0; - } - - int var9 = y; - if (var4 + y > Huffman.canvasHeight) { - var9 = Huffman.canvasHeight - var4; - } - - if (var9 < 0) { - var9 = 0; - } - - WorldMapDecoration.menuX = var8; - GameShell.menuY = var9; - class214.menuWidth = var3; - AbstractWorldMapIcon.menuHeight = menuOptionsCount * 15 + 22; - class65.scene.menuOpen(SoundSystem.plane, x, y, false); - isMenuOpen = true; - } - - @ObfuscatedName("iu") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-271438207" - ) - final void method87(boolean var1) { - int var2 = rootInterface; - int var3 = SoundCache.canvasWidth; - int var4 = Huffman.canvasHeight; - if (GroundItemPile.loadInterface(var2)) { - WorldMapRegion.notRevalidateWidgetScroll(Widget.interfaceComponents[var2], -1, var3, var4, var1); - } - - } - - @ObfuscatedName("ip") - @ObfuscatedSignature( - signature = "(Lho;B)V", - garbageValue = "0" - ) - @Export("alignWidget") - void alignWidget(Widget component) { - Widget var2 = component.parentId == -1 ? null : Huffman.getWidget(component.parentId); - int var3; - int var4; - if (var2 == null) { - var3 = SoundCache.canvasWidth; - var4 = Huffman.canvasHeight; - } else { - var3 = var2.width; - var4 = var2.height; - } - - WorldMapSection1.alignWidgetSize(component, var3, var4, false); - FloorOverlayDefinition.alignWidgetPosition(component, var3, var4); - } - - @ObfuscatedName("jh") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "715978124" - ) - final void method88() { - WorldMapRectangle.method295(clickedWidget); - ++MouseRecorder.widgetDragDuration; - if (field103 && field106) { - int var1 = MouseHandler.MouseHandler_x; - int var2 = MouseHandler.MouseHandler_y; - var1 -= widgetClickX; - var2 -= widgetClickY; - if (var1 < field108) { - var1 = field108; - } - - if (var1 + clickedWidget.width > field108 + clickedWidgetParent.width) { - var1 = field108 + clickedWidgetParent.width - clickedWidget.width; - } - - if (var2 < field109) { - var2 = field109; - } - - if (var2 + clickedWidget.height > field109 + clickedWidgetParent.height) { - var2 = field109 + clickedWidgetParent.height - clickedWidget.height; - } - - int var3 = var1 - field110; - int var4 = var2 - field111; - int var5 = clickedWidget.dragZoneSize; - if (MouseRecorder.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { - isDraggingWidget = true; - } - - int var6 = var1 - field108 + clickedWidgetParent.scrollX; - int var7 = var2 - field109 + clickedWidgetParent.scrollY; - ScriptEvent var8; - if (clickedWidget.onDrag != null && isDraggingWidget) { - var8 = new ScriptEvent(); - var8.widget = clickedWidget; - var8.mouseX = var6; - var8.mouseY = var7; - var8.args0 = clickedWidget.onDrag; - AbstractArchive.runScript(var8); - } - - if (MouseHandler.MouseHandler_currentButton == 0) { - int var9; - if (isDraggingWidget) { - if (clickedWidget.onDragComplete != null) { - var8 = new ScriptEvent(); - var8.widget = clickedWidget; - var8.mouseX = var6; - var8.mouseY = var7; - var8.dragTarget = draggedOnWidget; - var8.args0 = clickedWidget.onDragComplete; - AbstractArchive.runScript(var8); - } - - if (draggedOnWidget != null) { - Widget var13 = clickedWidget; - var9 = WorldMapRegion.method568(class1.getWidgetClickMask(var13)); - Widget var11; - if (var9 == 0) { - var11 = null; - } else { - int var12 = 0; - - while (true) { - if (var12 >= var9) { - var11 = var13; - break; - } - - var13 = Huffman.getWidget(var13.parentId); - if (var13 == null) { - var11 = null; - break; - } - - ++var12; - } - } - - if (var11 != null) { - PacketBufferNode var14 = Interpreter.method1915(ClientPacket.field279, packetWriter.isaacCipher); - var14.packetBuffer.method63(clickedWidget.childIndex); - var14.packetBuffer.method63(draggedOnWidget.itemId); - var14.packetBuffer.writeShort(draggedOnWidget.childIndex); - var14.packetBuffer.writeIntLE(clickedWidget.id); - var14.packetBuffer.writeIntME(draggedOnWidget.id); - var14.packetBuffer.writeShort(clickedWidget.itemId); - packetWriter.method241(var14); - } - } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(field110 + widgetClickX, field111 + widgetClickY); - } else if (menuOptionsCount > 0) { - int var10 = widgetClickX + field110; - var9 = widgetClickY + field111; - WorldMapDecorationType.processTempMenuAction(GrandExchangeOfferUnitPriceComparator.tempMenuAction, var10, var9); - GrandExchangeOfferUnitPriceComparator.tempMenuAction = null; - } - - clickedWidget = null; - } - } else if (MouseRecorder.widgetDragDuration > 1) { - clickedWidget = null; - } - - } - - @ObfuscatedName("kr") - @ObfuscatedSignature( - signature = "(B)Lkp;", - garbageValue = "-87" - ) - @Export("username") - public Username username() { - return Canvas.localPlayer != null ? Canvas.localPlayer.username : null; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", - garbageValue = "-1464358697" - ) - @Export("hashString") - public static int hashString(CharSequence chars) { - int var1 = chars.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - var2 = (var2 << 5) - var2 + HealthBar.charToByteCp1252(chars.charAt(var3)); - } - - return var2; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)I", - garbageValue = "0" - ) - public static int method1692(String var0) { - return var0.length() + 2; - } - - static { - field161 = true; - worldId = 1; - worldProperties = 0; - gameBuild = 0; - isMembersWorld = false; - isLowDetail = false; - language = 0; - clientType = -1; - onMobile = false; - gameState = 0; - isLoading = true; - cycle = 0; - mouseLastLastPressedTimeMillis = 1L; - field163 = -1; - field164 = -1; - field165 = -1L; - field166 = 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; - field167 = 0; - js5Errors = 0; - loginState = 0; - field168 = 0; - field169 = 0; - field170 = 0; - field658 = class159.field1985; - Login_isUsernameRemembered = false; - secureRandomFuture = new SecureRandomFuture(); - field172 = null; - npcs = new NPC[32768]; - npcCount = 0; - npcIndices = new int[32768]; - field173 = 0; - field174 = new int[250]; - packetWriter = new PacketWriter(); - field175 = 0; - field176 = false; - useBufferedSocket = true; - timer = new Timer(); - fontsMap = new HashMap(); - field177 = 0; - field178 = 1; - field179 = 0; - field180 = 1; - field181 = 0; - collisionMaps = new CollisionMap[4]; - isInInstance = false; - instanceChunkTemplates = new int[4][13][13]; - field182 = 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}; - field183 = 0; - field184 = 2301979; - field185 = 5063219; - field186 = 3353893; - field187 = 7759444; - field188 = false; - field189 = 0; - camAngleX = 128; - camAngleY = 0; - field190 = 0; - field191 = 0; - field192 = 0; - field193 = 0; - oculusOrbState = 0; - camFollowHeight = 50; - field194 = 0; - field195 = 0; - field196 = 0; - oculusOrbNormalSpeed = 12; - oculusOrbSlowedSpeed = 6; - field198 = 0; - field199 = false; - field200 = 0; - field201 = false; - field202 = 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; - field203 = 0; - field204 = 0; - dragItemSlotSource = 0; - field205 = 0; - field206 = 0; - dragItemSlotDestination = 0; - field207 = false; - itemDragDuration = 0; - field208 = 0; - showLoadingMessages = true; - players = new Player[2048]; - localPlayerIndex = -1; - field209 = 0; - renderSelf = true; - field210 = 0; - field211 = 0; - field212 = new int[1000]; - playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; - playerMenuActions = new String[8]; - playerOptionsPriorities = new boolean[8]; - field213 = 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]; - field215 = 0; - isMenuOpen = false; - menuOptionsCount = 0; - menuArguments1 = new int[500]; - menuArguments2 = new int[500]; - menuOpcodes = new int[500]; - menuArguments0 = new int[500]; - menuActions = new String[500]; - menuTargetNames = new String[500]; - menuShiftClick = new boolean[500]; - followerOpsLowPriority = false; - shiftClickDrop = false; - tapToDrop = false; - showMouseOverText = true; - field216 = -1; - field217 = -1; - field218 = 0; - field219 = 50; - isItemSelected = 0; - selectedItemName = null; - isSpellSelected = false; - field220 = -1; - field157 = -1; - selectedSpellActionName = null; - selectedSpellName = null; - rootInterface = -1; - interfaceParents = new NodeHashTable(8); - field151 = 0; - field153 = -1; - chatEffects = 0; - field136 = 0; - field127 = null; - runEnergy = 0; - weight = 0; - staffModLevel = 0; - followerIndex = -1; - playerMod = false; - viewportWidget = null; - clickedWidget = null; - clickedWidgetParent = null; - widgetClickX = 0; - widgetClickY = 0; - draggedOnWidget = null; - field106 = false; - field108 = -1; - field109 = -1; - field103 = false; - field110 = -1; - field111 = -1; - isDraggingWidget = false; - cycleCntr = 1; - field121 = new int[32]; - field123 = 0; - field116 = new int[32]; - field117 = 0; - changedSkills = new int[32]; - changedSkillsCount = 0; - chatCycle = 0; - field105 = 0; - field129 = 0; - field122 = 0; - field154 = 0; - field124 = 0; - mouseWheelRotation = 0; - scriptEvents = new NodeDeque(); - field147 = new NodeDeque(); - field148 = new NodeDeque(); - widgetClickMasks = new NodeHashTable(512); - rootWidgetCount = 0; - field98 = -2; - field100 = new boolean[100]; - field102 = new boolean[100]; - field101 = new boolean[100]; - rootWidgetXs = new int[100]; - rootWidgetYs = new int[100]; - rootWidgetWidths = new int[100]; - rootWidgetHeights = new int[100]; - gameDrawingMode = 0; - field99 = 0L; - isResizable = true; - field160 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; - publicChatMode = 0; - field138 = 0; - field158 = ""; - field152 = new long[100]; - field156 = 0; - field137 = 0; - field146 = new int[128]; - field145 = new int[128]; - field126 = -1L; - field125 = -1; - mapIconCount = 0; - mapIconXs = new int[1000]; - mapIconYs = new int[1000]; - mapIcons = new Sprite[1000]; - destinationX = 0; - destinationY = 0; - minimapState = 0; - field128 = 255; - field112 = -1; - field107 = false; - soundEffectVolume = 127; - field115 = 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; - field139 = new boolean[5]; - field141 = new int[5]; - field142 = new int[5]; - field143 = new int[5]; - field144 = new int[5]; - field130 = 256; - field131 = 205; - field150 = 256; - field149 = 320; - field135 = 1; - field134 = 32767; - field132 = 1; - field133 = 32767; - viewportOffsetX = 0; - viewportOffsetY = 0; - viewportWidth = 0; - viewportHeight = 0; - viewportZoom = 0; - playerAppearance = new PlayerAppearance(); - field118 = -1; - field120 = -1; - platformInfoProvider = new DesktopPlatformInfoProvider(); - grandExchangeOffers = new GrandExchangeOffer[8]; - geOwnWorldComparator = new GrandExchangeOfferOwnWorldComparator(); - field104 = -1; - archiveLoaders = new ArrayList(10); - archiveLoaderArchive = 0; - field140 = 0; - field895 = new class65(); - field113 = new int[50]; - field114 = new int[50]; - } + @ObfuscatedName("mz") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("clickedWidget") + static Widget clickedWidget; + @ObfuscatedName("ou") + @ObfuscatedGetter( + intValue = -2092613105 + ) + @Export("rootWidgetCount") + static int rootWidgetCount; + @ObfuscatedName("on") + @ObfuscatedGetter( + intValue = -2121832293 + ) + static int field741; + @ObfuscatedName("oz") + @ObfuscatedGetter( + longValue = 3232986536737283167L + ) + static long field868; + @ObfuscatedName("qe") + static boolean field699; + @ObfuscatedName("os") + static boolean[] field843; + @ObfuscatedName("oh") + static boolean[] field862; + @ObfuscatedName("ot") + static boolean[] field861; + @ObfuscatedName("nt") + static boolean field745; + @ObfuscatedName("nh") + @ObfuscatedGetter( + intValue = -800135319 + ) + @Export("cycleCntr") + static int cycleCntr; + @ObfuscatedName("ob") + @Export("isResizable") + static boolean isResizable; + @ObfuscatedName("sl") + @ObfuscatedGetter( + intValue = -441370687 + ) + public static int field924; + @ObfuscatedName("ny") + @ObfuscatedGetter( + intValue = 791405777 + ) + static int field672; + @ObfuscatedName("nr") + static boolean field873; + @ObfuscatedName("mo") + @ObfuscatedGetter( + intValue = -1889780377 + ) + @Export("widgetClickX") + static int widgetClickX; + @ObfuscatedName("mi") + @ObfuscatedGetter( + intValue = -367998477 + ) + @Export("widgetClickY") + static int widgetClickY; + @ObfuscatedName("nx") + @ObfuscatedGetter( + intValue = -1397532923 + ) + static int field834; + @ObfuscatedName("of") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("widgetClickMasks") + static NodeHashTable widgetClickMasks; + @ObfuscatedName("mf") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("clickedWidgetParent") + static Widget clickedWidgetParent; + @ObfuscatedName("oj") + @Export("rootWidgetXs") + static int[] rootWidgetXs; + @ObfuscatedName("od") + @Export("rootWidgetWidths") + static int[] rootWidgetWidths; + @ObfuscatedName("ni") + @ObfuscatedGetter( + intValue = 583654473 + ) + static int field835; + @ObfuscatedName("mg") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("viewportWidget") + static Widget viewportWidget; + @ObfuscatedName("op") + @ObfuscatedGetter( + intValue = -1450875753 + ) + @Export("gameDrawingMode") + static int gameDrawingMode; + @ObfuscatedName("om") + @Export("rootWidgetHeights") + static int[] rootWidgetHeights; + @ObfuscatedName("md") + @ObfuscatedGetter( + intValue = -1872633373 + ) + @Export("staffModLevel") + public static int staffModLevel; + @ObfuscatedName("oo") + @Export("rootWidgetYs") + static int[] rootWidgetYs; + @ObfuscatedName("qc") + @ObfuscatedGetter( + intValue = -1390257223 + ) + @Export("minimapState") + static int minimapState; + @ObfuscatedName("tn") + @ObfuscatedSignature( + signature = "Lbl;" + ) + static final class65 field735; + @ObfuscatedName("og") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("scriptEvents") + static NodeDeque scriptEvents; + @ObfuscatedName("py") + @ObfuscatedGetter( + intValue = 1200756083 + ) + @Export("destinationX") + static int destinationX; + @ObfuscatedName("ns") + @ObfuscatedGetter( + intValue = 1534205153 + ) + static int field837; + @ObfuscatedName("pe") + @ObfuscatedGetter( + intValue = -1422277425 + ) + @Export("destinationY") + static int destinationY; + @ObfuscatedName("nq") + @ObfuscatedGetter( + intValue = -22489899 + ) + static int field838; + @ObfuscatedName("tq") + static int[] field929; + @ObfuscatedName("nl") + static int[] field888; + @ObfuscatedName("tz") + static int[] field930; + @ObfuscatedName("nm") + @ObfuscatedGetter( + intValue = 1100765031 + ) + static int field671; + @ObfuscatedName("nn") + @Export("isDraggingWidget") + static boolean isDraggingWidget; + @ObfuscatedName("my") + @ObfuscatedGetter( + intValue = 1548302943 + ) + @Export("runEnergy") + static int runEnergy; + @ObfuscatedName("nk") + static int[] field863; + @ObfuscatedName("nu") + @ObfuscatedGetter( + intValue = -1356950915 + ) + static int field844; + @ObfuscatedName("nf") + @ObfuscatedGetter( + intValue = 1622588879 + ) + static int field806; + @ObfuscatedName("mh") + @ObfuscatedGetter( + intValue = 1071213383 + ) + @Export("weight") + static int weight; + @ObfuscatedName("qr") + @ObfuscatedGetter( + intValue = -582627637 + ) + static int field892; + @ObfuscatedName("qg") + @ObfuscatedGetter( + intValue = -1930874469 + ) + @Export("soundEffectVolume") + static int soundEffectVolume; + @ObfuscatedName("sc") + @ObfuscatedGetter( + intValue = 1724997489 + ) + static int field919; + @ObfuscatedName("rg") + @ObfuscatedSignature( + signature = "Lhh;" + ) + @Export("playerAppearance") + static PlayerAppearance playerAppearance; + @ObfuscatedName("qq") + @ObfuscatedGetter( + intValue = 1799450873 + ) + @Export("soundEffectCount") + static int soundEffectCount; + @ObfuscatedName("rt") + static boolean[] field886; + @ObfuscatedName("qd") + @Export("soundEffectIds") + static int[] soundEffectIds; + @ObfuscatedName("qi") + @Export("isCameraLocked") + static boolean isCameraLocked; + @ObfuscatedName("rh") + static int[] field901; + @ObfuscatedName("sp") + @ObfuscatedGetter( + intValue = 1680257497 + ) + static int field920; + @ObfuscatedName("oc") + @ObfuscatedGetter( + intValue = 328709835 + ) + @Export("mouseWheelRotation") + static int mouseWheelRotation; + @ObfuscatedName("me") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("draggedOnWidget") + static Widget draggedOnWidget; + @ObfuscatedName("qs") + @Export("queuedSoundEffectLoops") + static int[] queuedSoundEffectLoops; + @ObfuscatedName("rl") + static int[] field902; + @ObfuscatedName("rn") + static int[] field903; + @ObfuscatedName("qo") + @Export("queuedSoundEffectDelays") + static int[] queuedSoundEffectDelays; + @ObfuscatedName("ri") + static int[] field904; + @ObfuscatedName("qx") + @ObfuscatedSignature( + signature = "[Lcc;" + ) + @Export("soundEffects") + static SoundEffect[] soundEffects; + @ObfuscatedName("qt") + @Export("soundLocations") + static int[] soundLocations; + @ObfuscatedName("qh") + @ObfuscatedGetter( + intValue = 1808140467 + ) + static int field911; + @ObfuscatedName("qf") + @ObfuscatedGetter( + intValue = 374364257 + ) + static int field889; + @ObfuscatedName("so") + @Export("archiveLoaders") + static ArrayList archiveLoaders; + @ObfuscatedName("sj") + @ObfuscatedGetter( + intValue = 510604993 + ) + @Export("archiveLoaderArchive") + static int archiveLoaderArchive; + @ObfuscatedName("pb") + @ObfuscatedGetter( + intValue = -73161017 + ) + static int field747; + @ObfuscatedName("mv") + @ObfuscatedSignature( + signature = "Lhj;" + ) + static Widget field850; + @ObfuscatedName("mx") + @ObfuscatedGetter( + intValue = 176559841 + ) + @Export("chatEffects") + static int chatEffects; + @ObfuscatedName("mt") + @ObfuscatedGetter( + intValue = -112633937 + ) + static int field809; + @ObfuscatedName("ms") + @ObfuscatedGetter( + intValue = -1088998805 + ) + @Export("followerIndex") + static int followerIndex; + @ObfuscatedName("pg") + @ObfuscatedGetter( + intValue = -1777296197 + ) + @Export("mapIconCount") + static int mapIconCount; + @ObfuscatedName("nv") + @ObfuscatedGetter( + intValue = -1637199243 + ) + static int field849; + @ObfuscatedName("sn") + @ObfuscatedSignature( + signature = "Llu;" + ) + @Export("platformInfoProvider") + static PlatformInfoProvider platformInfoProvider; + @ObfuscatedName("rf") + static short field782; + @ObfuscatedName("pz") + @Export("mapIconXs") + static int[] mapIconXs; + @ObfuscatedName("rs") + static short field651; + @ObfuscatedName("rm") + static short field732; + @ObfuscatedName("rp") + static short field659; + @ObfuscatedName("ry") + static short field790; + @ObfuscatedName("ru") + @ObfuscatedGetter( + intValue = -1499125381 + ) + @Export("viewportZoom") + static int viewportZoom; + @ObfuscatedName("ph") + @Export("mapIconYs") + static int[] mapIconYs; + @ObfuscatedName("re") + static short field820; + @ObfuscatedName("rw") + @ObfuscatedGetter( + intValue = 1398487807 + ) + @Export("viewportWidth") + static int viewportWidth; + @ObfuscatedName("pu") + @ObfuscatedSignature( + signature = "[Lly;" + ) + @Export("mapIcons") + static Sprite[] mapIcons; + @ObfuscatedName("pc") + @ObfuscatedGetter( + intValue = -1217345061 + ) + static int field754; + @ObfuscatedName("pa") + static long[] field922; + @ObfuscatedName("po") + @ObfuscatedGetter( + longValue = -4978726531999304555L + ) + static long field879; + @ObfuscatedName("ro") + @ObfuscatedGetter( + intValue = 1243224603 + ) + @Export("viewportHeight") + static int viewportHeight; + @ObfuscatedName("nj") + @Export("changedSkills") + static int[] changedSkills; + @ObfuscatedName("rd") + @ObfuscatedGetter( + intValue = 355845697 + ) + @Export("viewportOffsetX") + static int viewportOffsetX; + @ObfuscatedName("no") + @ObfuscatedGetter( + intValue = 872784567 + ) + @Export("changedSkillsCount") + static int changedSkillsCount; + @ObfuscatedName("rq") + @ObfuscatedGetter( + intValue = -1819632499 + ) + @Export("viewportOffsetY") + static int viewportOffsetY; + @ObfuscatedName("sf") + @ObfuscatedSignature( + signature = "[Lf;" + ) + @Export("grandExchangeOffers") + static GrandExchangeOffer[] grandExchangeOffers; + @ObfuscatedName("ra") + static short field906; + @ObfuscatedName("rv") + static short field908; + @ObfuscatedName("pw") + @ObfuscatedGetter( + intValue = 1092581053 + ) + static int field875; + @ObfuscatedName("nb") + @ObfuscatedGetter( + intValue = 1755198585 + ) + static int field915; + @ObfuscatedName("pk") + static int[] field921; + @ObfuscatedName("ok") + @ObfuscatedSignature( + signature = "Ljh;" + ) + static NodeDeque field852; + @ObfuscatedName("pd") + static int[] field877; + @ObfuscatedName("ov") + @ObfuscatedSignature( + signature = "Ljh;" + ) + static NodeDeque field856; + @ObfuscatedName("st") + @ObfuscatedGetter( + intValue = 980120409 + ) + static int field927; + @ObfuscatedName("nw") + @ObfuscatedGetter( + intValue = -382720859 + ) + @Export("chatCycle") + static int chatCycle; + @ObfuscatedName("mc") + @ObfuscatedGetter( + intValue = 431417087 + ) + static int field817; + @ObfuscatedName("mm") + @Export("playerMod") + static boolean playerMod; + @ObfuscatedName("mw") + @ObfuscatedGetter( + intValue = -49080109 + ) + static int field818; + @ObfuscatedName("pl") + @ObfuscatedGetter( + intValue = -602987385 + ) + static int field872; + @ObfuscatedName("pv") + @ObfuscatedGetter( + intValue = -547874643 + ) + @Export("publicChatMode") + static int publicChatMode; + @ObfuscatedName("nz") + @ObfuscatedGetter( + intValue = -792356641 + ) + static int field851; + @ObfuscatedName("pj") + static String field762; + @ObfuscatedName("sb") + @ObfuscatedSignature( + signature = "Lby;" + ) + @Export("GrandExchangeEvents_worldComparator") + static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; + @ObfuscatedName("ps") + static int[] field870; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lfv;" + ) + @Export("collisionMaps") + static CollisionMap[] collisionMaps; + @ObfuscatedName("ab") + static boolean field912; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = -1673280657 + ) + @Export("worldId") + public static int worldId; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = 5468995 + ) + @Export("worldProperties") + static int worldProperties; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = -1579822855 + ) + @Export("gameBuild") + static int gameBuild; + @ObfuscatedName("bn") + @Export("isMembersWorld") + public static boolean isMembersWorld; + @ObfuscatedName("bc") + @Export("isLowDetail") + static boolean isLowDetail; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = 483842531 + ) + @Export("clientType") + static int clientType; + @ObfuscatedName("bl") + @Export("onMobile") + static boolean onMobile; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -1965849977 + ) + @Export("gameState") + static int gameState; + @ObfuscatedName("ct") + @Export("isLoading") + static boolean isLoading; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = 594809673 + ) + @Export("cycle") + static int cycle; + @ObfuscatedName("cp") + @ObfuscatedGetter( + longValue = -8976739109298152429L + ) + @Export("mouseLastLastPressedTimeMillis") + static long mouseLastLastPressedTimeMillis; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = -315292611 + ) + static int field717; + @ObfuscatedName("cw") + @ObfuscatedGetter( + intValue = -1280751431 + ) + static int field665; + @ObfuscatedName("ca") + @ObfuscatedGetter( + longValue = 4427744799360755687L + ) + static long field666; + @ObfuscatedName("cb") + static boolean field667; + @ObfuscatedName("cx") + @Export("displayFps") + static boolean displayFps; + @ObfuscatedName("cu") + @ObfuscatedGetter( + intValue = 1770117359 + ) + @Export("rebootTimer") + static int rebootTimer; + @ObfuscatedName("cs") + @ObfuscatedGetter( + intValue = -1858899151 + ) + @Export("hintArrowType") + static int hintArrowType; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = -1235944977 + ) + @Export("hintArrowNpcIndex") + static int hintArrowNpcIndex; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = -837382687 + ) + @Export("hintArrowPlayerIndex") + static int hintArrowPlayerIndex; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = 139732677 + ) + @Export("hintArrowX") + static int hintArrowX; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = -722044991 + ) + @Export("hintArrowY") + static int hintArrowY; + @ObfuscatedName("cm") + @ObfuscatedGetter( + intValue = -1604787030 + ) + @Export("hintArrowHeight") + static int hintArrowHeight; + @ObfuscatedName("ck") + @ObfuscatedGetter( + intValue = -317820992 + ) + @Export("hintArrowSubX") + static int hintArrowSubX; + @ObfuscatedName("cc") + @ObfuscatedGetter( + intValue = -1180209715 + ) + @Export("hintArrowSubY") + static int hintArrowSubY; + @ObfuscatedName("cd") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("playerAttackOption") + static AttackOption playerAttackOption; + @ObfuscatedName("dr") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("npcAttackOption") + static AttackOption npcAttackOption; + @ObfuscatedName("dw") + @ObfuscatedGetter( + intValue = -452542481 + ) + @Export("titleLoadingStage") + static int titleLoadingStage; + @ObfuscatedName("dt") + @ObfuscatedGetter( + intValue = -371718323 + ) + @Export("js5ConnectState") + static int js5ConnectState; + @ObfuscatedName("dj") + @ObfuscatedGetter( + intValue = -1459342861 + ) + static int field682; + @ObfuscatedName("dc") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive8") + static Archive archive8; + @ObfuscatedName("dd") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive18") + static Archive archive18; + @ObfuscatedName("ej") + @ObfuscatedGetter( + intValue = -3082483 + ) + @Export("js5Errors") + static int js5Errors; + @ObfuscatedName("eu") + @ObfuscatedGetter( + intValue = -787005109 + ) + @Export("loginState") + static int loginState; + @ObfuscatedName("eo") + @ObfuscatedGetter( + intValue = -829514867 + ) + static int field687; + @ObfuscatedName("em") + @ObfuscatedGetter( + intValue = -1325230059 + ) + static int field688; + @ObfuscatedName("en") + @ObfuscatedGetter( + intValue = -2114710821 + ) + static int field836; + @ObfuscatedName("ek") + @ObfuscatedSignature( + signature = "Lfn;" + ) + static class160 field690; + @ObfuscatedName("ep") + @Export("Login_isUsernameRemembered") + static boolean Login_isUsernameRemembered; + @ObfuscatedName("eq") + @ObfuscatedSignature( + signature = "Lco;" + ) + @Export("secureRandomFuture") + static SecureRandomFuture secureRandomFuture; + @ObfuscatedName("ee") + static byte[] field693; + @ObfuscatedName("ec") + @ObfuscatedSignature( + signature = "[Lcf;" + ) + @Export("npcs") + static NPC[] npcs; + @ObfuscatedName("eb") + @ObfuscatedGetter( + intValue = 1517220319 + ) + @Export("npcCount") + static int npcCount; + @ObfuscatedName("fi") + @Export("npcIndices") + static int[] npcIndices; + @ObfuscatedName("fk") + @ObfuscatedGetter( + intValue = -48606641 + ) + static int field697; + @ObfuscatedName("fg") + static int[] field859; + @ObfuscatedName("fr") + @ObfuscatedSignature( + signature = "Lcg;" + ) + @Export("packetWriter") + public static final PacketWriter packetWriter; + @ObfuscatedName("ft") + @ObfuscatedGetter( + intValue = 722667803 + ) + static int field700; + @ObfuscatedName("fe") + static boolean field701; + @ObfuscatedName("fa") + @Export("useBufferedSocket") + static boolean useBufferedSocket; + @ObfuscatedName("fs") + @ObfuscatedSignature( + signature = "Ljr;" + ) + @Export("timer") + static Timer timer; + @ObfuscatedName("fv") + @Export("fontsMap") + static HashMap fontsMap; + @ObfuscatedName("fc") + @ObfuscatedGetter( + intValue = -1588873731 + ) + static int field705; + @ObfuscatedName("fw") + @ObfuscatedGetter( + intValue = -793247523 + ) + static int field706; + @ObfuscatedName("fh") + @ObfuscatedGetter( + intValue = 1860321263 + ) + static int field707; + @ObfuscatedName("gc") + @ObfuscatedGetter( + intValue = -665684815 + ) + static int field896; + @ObfuscatedName("gx") + @ObfuscatedGetter( + intValue = -954194667 + ) + static int field709; + @ObfuscatedName("gj") + @Export("isInInstance") + static boolean isInInstance; + @ObfuscatedName("gd") + @Export("instanceChunkTemplates") + static int[][][] instanceChunkTemplates; + @ObfuscatedName("gt") + static final int[] field713; + @ObfuscatedName("gk") + @ObfuscatedGetter( + intValue = -540714619 + ) + static int field718; + @ObfuscatedName("ha") + @ObfuscatedGetter( + intValue = 1887719159 + ) + static int field715; + @ObfuscatedName("hk") + @ObfuscatedGetter( + intValue = 1382994973 + ) + static int field716; + @ObfuscatedName("hu") + @ObfuscatedGetter( + intValue = 1317142395 + ) + static int field720; + @ObfuscatedName("hg") + @ObfuscatedGetter( + intValue = -2094416073 + ) + static int field772; + @ObfuscatedName("he") + static boolean field719; + @ObfuscatedName("hv") + @ObfuscatedGetter( + intValue = 1590040777 + ) + static int field882; + @ObfuscatedName("hz") + @ObfuscatedGetter( + intValue = -404113937 + ) + @Export("camAngleX") + static int camAngleX; + @ObfuscatedName("ho") + @ObfuscatedGetter( + intValue = -637746905 + ) + @Export("camAngleY") + static int camAngleY; + @ObfuscatedName("hs") + @ObfuscatedGetter( + intValue = -719815433 + ) + @Export("camAngleDY") + static int camAngleDY; + @ObfuscatedName("hx") + @ObfuscatedGetter( + intValue = 1112873513 + ) + @Export("camAngleDX") + static int camAngleDX; + @ObfuscatedName("hf") + @ObfuscatedGetter( + intValue = 79946767 + ) + @Export("mouseCamClickedX") + static int mouseCamClickedX; + @ObfuscatedName("hw") + @ObfuscatedGetter( + intValue = 991416029 + ) + @Export("mouseCamClickedY") + static int mouseCamClickedY; + @ObfuscatedName("hi") + @ObfuscatedGetter( + intValue = 107452813 + ) + @Export("oculusOrbState") + static int oculusOrbState; + @ObfuscatedName("hn") + @ObfuscatedGetter( + intValue = 1876317847 + ) + @Export("camFollowHeight") + static int camFollowHeight; + @ObfuscatedName("hl") + @ObfuscatedGetter( + intValue = 803728993 + ) + static int field729; + @ObfuscatedName("hq") + @ObfuscatedGetter( + intValue = -1013143657 + ) + static int field928; + @ObfuscatedName("hp") + @ObfuscatedGetter( + intValue = 1195552185 + ) + static int field731; + @ObfuscatedName("ir") + @ObfuscatedGetter( + intValue = -199932621 + ) + static int field871; + @ObfuscatedName("ii") + @ObfuscatedGetter( + intValue = 424110155 + ) + @Export("oculusOrbNormalSpeed") + static int oculusOrbNormalSpeed; + @ObfuscatedName("ih") + @ObfuscatedGetter( + intValue = 1830393715 + ) + @Export("oculusOrbSlowedSpeed") + static int oculusOrbSlowedSpeed; + @ObfuscatedName("if") + @ObfuscatedGetter( + intValue = 1225894931 + ) + static int field855; + @ObfuscatedName("ig") + static boolean field736; + @ObfuscatedName("ik") + @ObfuscatedGetter( + intValue = -609136969 + ) + static int field822; + @ObfuscatedName("iw") + static boolean field878; + @ObfuscatedName("id") + @ObfuscatedGetter( + intValue = -1173416107 + ) + static int field739; + @ObfuscatedName("ib") + @ObfuscatedGetter( + intValue = -1867488915 + ) + @Export("overheadTextCount") + static int overheadTextCount; + @ObfuscatedName("ic") + @ObfuscatedGetter( + intValue = -115800179 + ) + @Export("overheadTextLimit") + static int overheadTextLimit; + @ObfuscatedName("im") + @Export("overheadTextXs") + static int[] overheadTextXs; + @ObfuscatedName("ip") + @Export("overheadTextYs") + static int[] overheadTextYs; + @ObfuscatedName("il") + @Export("overheadTextAscents") + static int[] overheadTextAscents; + @ObfuscatedName("ia") + @Export("overheadTextXOffsets") + static int[] overheadTextXOffsets; + @ObfuscatedName("ie") + @Export("overheadTextColors") + static int[] overheadTextColors; + @ObfuscatedName("in") + @Export("overheadTextEffects") + static int[] overheadTextEffects; + @ObfuscatedName("iv") + @Export("overheadTextCyclesRemaining") + static int[] overheadTextCyclesRemaining; + @ObfuscatedName("io") + @Export("overheadText") + static String[] overheadText; + @ObfuscatedName("iy") + @Export("tileLastDrawnActor") + static int[][] tileLastDrawnActor; + @ObfuscatedName("iq") + @ObfuscatedGetter( + intValue = -448428969 + ) + @Export("viewportDrawCount") + static int viewportDrawCount; + @ObfuscatedName("ij") + @ObfuscatedGetter( + intValue = -532739551 + ) + @Export("viewportTempX") + static int viewportTempX; + @ObfuscatedName("it") + @Export("selectedItemName") + static String selectedItemName; + @ObfuscatedName("is") + @ObfuscatedGetter( + intValue = 1355001797 + ) + @Export("viewportTempY") + static int viewportTempY; + @ObfuscatedName("ju") + @ObfuscatedGetter( + intValue = 410769587 + ) + @Export("mouseCrossX") + static int mouseCrossX; + @ObfuscatedName("jh") + @ObfuscatedGetter( + intValue = -2093504551 + ) + @Export("mouseCrossY") + static int mouseCrossY; + @ObfuscatedName("je") + @ObfuscatedGetter( + intValue = -189615988 + ) + @Export("mouseCrossState") + static int mouseCrossState; + @ObfuscatedName("jl") + @ObfuscatedGetter( + intValue = -183021951 + ) + @Export("mouseCrossColor") + static int mouseCrossColor; + @ObfuscatedName("jq") + @Export("showMouseCross") + static boolean showMouseCross; + @ObfuscatedName("jt") + @ObfuscatedGetter( + intValue = 600396425 + ) + static int field759; + @ObfuscatedName("jn") + @ObfuscatedGetter( + intValue = 939295689 + ) + static int field698; + @ObfuscatedName("jm") + @ObfuscatedGetter( + intValue = -1095334823 + ) + @Export("dragItemSlotSource") + static int dragItemSlotSource; + @ObfuscatedName("jj") + @ObfuscatedGetter( + intValue = 697955855 + ) + static int field654; + @ObfuscatedName("jr") + @ObfuscatedGetter( + intValue = 528486729 + ) + static int field763; + @ObfuscatedName("jw") + @ObfuscatedGetter( + intValue = -552088935 + ) + @Export("dragItemSlotDestination") + static int dragItemSlotDestination; + @ObfuscatedName("jd") + static boolean field874; + @ObfuscatedName("ja") + @ObfuscatedGetter( + intValue = -1275196777 + ) + @Export("itemDragDuration") + static int itemDragDuration; + @ObfuscatedName("jf") + @ObfuscatedGetter( + intValue = 1610586469 + ) + static int field767; + @ObfuscatedName("jo") + @Export("showLoadingMessages") + static boolean showLoadingMessages; + @ObfuscatedName("jg") + @ObfuscatedSignature( + signature = "[Lbd;" + ) + @Export("players") + static Player[] players; + @ObfuscatedName("jc") + @ObfuscatedGetter( + intValue = -1642092337 + ) + @Export("localPlayerIndex") + static int localPlayerIndex; + @ObfuscatedName("jv") + @ObfuscatedGetter( + intValue = -1101635381 + ) + static int field771; + @ObfuscatedName("js") + @ObfuscatedSignature( + signature = "Lbd;" + ) + @Export("localPlayer") + static Player localPlayer; + @ObfuscatedName("jx") + @Export("renderSelf") + static boolean renderSelf; + @ObfuscatedName("kk") + @ObfuscatedGetter( + intValue = -36674671 + ) + static int field774; + @ObfuscatedName("kv") + @ObfuscatedGetter( + intValue = -469680529 + ) + static int field775; + @ObfuscatedName("kd") + static int[] field776; + @ObfuscatedName("kz") + @Export("playerMenuOpcodes") + static final int[] playerMenuOpcodes; + @ObfuscatedName("ke") + @Export("playerMenuActions") + static String[] playerMenuActions; + @ObfuscatedName("kn") + @Export("playerOptionsPriorities") + static boolean[] playerOptionsPriorities; + @ObfuscatedName("kh") + static int[] field780; + @ObfuscatedName("kq") + @ObfuscatedGetter( + intValue = -1939972393 + ) + @Export("combatTargetPlayerIndex") + static int combatTargetPlayerIndex; + @ObfuscatedName("kx") + @ObfuscatedSignature( + signature = "[[[Ljh;" + ) + @Export("groundItems") + static NodeDeque[][][] groundItems; + @ObfuscatedName("kf") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("pendingSpawns") + static NodeDeque pendingSpawns; + @ObfuscatedName("kw") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("projectiles") + static NodeDeque projectiles; + @ObfuscatedName("kr") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("graphicsObjects") + static NodeDeque graphicsObjects; + @ObfuscatedName("ki") + @Export("currentLevels") + static int[] currentLevels; + @ObfuscatedName("kg") + @Export("levels") + static int[] levels; + @ObfuscatedName("ky") + @Export("experience") + static int[] experience; + @ObfuscatedName("kb") + @ObfuscatedGetter( + intValue = 1151779303 + ) + static int field789; + @ObfuscatedName("kp") + @Export("isMenuOpen") + static boolean isMenuOpen; + @ObfuscatedName("ln") + @ObfuscatedGetter( + intValue = 1305438411 + ) + @Export("menuOptionsCount") + static int menuOptionsCount; + @ObfuscatedName("lq") + @Export("menuArguments1") + static int[] menuArguments1; + @ObfuscatedName("le") + @Export("menuArguments2") + static int[] menuArguments2; + @ObfuscatedName("la") + @Export("menuOpcodes") + static int[] menuOpcodes; + @ObfuscatedName("lg") + @Export("menuArguments0") + static int[] menuArguments0; + @ObfuscatedName("lc") + @Export("menuActions") + static String[] menuActions; + @ObfuscatedName("ls") + @Export("menuTargetNames") + static String[] menuTargetNames; + @ObfuscatedName("lk") + @Export("menuShiftClick") + static boolean[] menuShiftClick; + @ObfuscatedName("lb") + @Export("followerOpsLowPriority") + static boolean followerOpsLowPriority; + @ObfuscatedName("ll") + @Export("shiftClickDrop") + static boolean shiftClickDrop; + @ObfuscatedName("lx") + @Export("tapToDrop") + static boolean tapToDrop; + @ObfuscatedName("ly") + @Export("showMouseOverText") + static boolean showMouseOverText; + @ObfuscatedName("lm") + @ObfuscatedGetter( + intValue = 1100971195 + ) + static int field803; + @ObfuscatedName("lz") + @ObfuscatedGetter( + intValue = 361474091 + ) + static int field804; + @ObfuscatedName("lv") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("tempMenuAction") + static MenuAction tempMenuAction; + @ObfuscatedName("lo") + @ObfuscatedGetter( + intValue = 1637922117 + ) + static int field840; + @ObfuscatedName("lh") + @ObfuscatedGetter( + intValue = -1769719033 + ) + static int field833; + @ObfuscatedName("lw") + @ObfuscatedGetter( + intValue = -1049024873 + ) + @Export("isItemSelected") + static int isItemSelected; + @ObfuscatedName("lj") + @Export("isSpellSelected") + static boolean isSpellSelected; + @ObfuscatedName("li") + @ObfuscatedGetter( + intValue = -822866207 + ) + static int field848; + @ObfuscatedName("mu") + @ObfuscatedGetter( + intValue = -897107203 + ) + static int field812; + @ObfuscatedName("mq") + @Export("selectedSpellActionName") + static String selectedSpellActionName; + @ObfuscatedName("ml") + @Export("selectedSpellName") + static String selectedSpellName; + @ObfuscatedName("mn") + @ObfuscatedGetter( + intValue = 1510354633 + ) + @Export("rootInterface") + static int rootInterface; + @ObfuscatedName("ma") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("interfaceParents") + static NodeHashTable interfaceParents; + + static { + field912 = true; + worldId = 1; + worldProperties = 0; + gameBuild = 0; + isMembersWorld = false; + isLowDetail = false; + clientType = -1; + onMobile = false; + gameState = 0; + isLoading = true; + cycle = 0; + mouseLastLastPressedTimeMillis = 1L; + field717 = -1; + field665 = -1; + field666 = -1L; + field667 = 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; + field682 = 0; + js5Errors = 0; + loginState = 0; + field687 = 0; + field688 = 0; + field836 = 0; + field690 = class160.field2001; + Login_isUsernameRemembered = false; + secureRandomFuture = new SecureRandomFuture(); + field693 = null; + npcs = new NPC[32768]; + npcCount = 0; + npcIndices = new int[32768]; + field697 = 0; + field859 = new int[250]; + packetWriter = new PacketWriter(); + field700 = 0; + field701 = false; + useBufferedSocket = true; + timer = new Timer(); + fontsMap = new HashMap(); + field705 = 0; + field706 = 1; + field707 = 0; + field896 = 1; + field709 = 0; + collisionMaps = new CollisionMap[4]; + isInInstance = false; + instanceChunkTemplates = new int[4][13][13]; + field713 = 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}; + field718 = 0; + field715 = 2301979; + field716 = 5063219; + field720 = 3353893; + field772 = 7759444; + field719 = false; + field882 = 0; + camAngleX = 128; + camAngleY = 0; + camAngleDY = 0; + camAngleDX = 0; + mouseCamClickedX = 0; + mouseCamClickedY = 0; + oculusOrbState = 0; + camFollowHeight = 50; + field928 = 0; + field731 = 0; + field871 = 0; + oculusOrbNormalSpeed = 12; + oculusOrbSlowedSpeed = 6; + field855 = 0; + field736 = false; + field822 = 0; + field878 = false; + field739 = 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; + field759 = 0; + field698 = 0; + dragItemSlotSource = 0; + field654 = 0; + field763 = 0; + dragItemSlotDestination = 0; + field874 = false; + itemDragDuration = 0; + field767 = 0; + showLoadingMessages = true; + players = new Player[2048]; + localPlayerIndex = -1; + field771 = 0; + renderSelf = true; + field774 = 0; + field775 = 0; + field776 = new int[1000]; + playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; + playerMenuActions = new String[8]; + playerOptionsPriorities = new boolean[8]; + field780 = 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]; + field789 = 0; + isMenuOpen = false; + menuOptionsCount = 0; + menuArguments1 = new int[500]; + menuArguments2 = new int[500]; + menuOpcodes = new int[500]; + menuArguments0 = new int[500]; + menuActions = new String[500]; + menuTargetNames = new String[500]; + menuShiftClick = new boolean[500]; + followerOpsLowPriority = false; + shiftClickDrop = false; + tapToDrop = false; + showMouseOverText = true; + field803 = -1; + field804 = -1; + field840 = 0; + field833 = 50; + isItemSelected = 0; + selectedItemName = null; + isSpellSelected = false; + field848 = -1; + field812 = -1; + selectedSpellActionName = null; + selectedSpellName = null; + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + field817 = 0; + field818 = -1; + chatEffects = 0; + field809 = 0; + field850 = null; + runEnergy = 0; + weight = 0; + staffModLevel = 0; + followerIndex = -1; + playerMod = false; + viewportWidget = null; + clickedWidget = null; + clickedWidgetParent = null; + widgetClickX = 0; + widgetClickY = 0; + draggedOnWidget = null; + field873 = false; + field834 = -1; + field835 = -1; + field745 = false; + field837 = -1; + field838 = -1; + isDraggingWidget = false; + cycleCntr = 1; + field863 = new int[32]; + field806 = 0; + field888 = new int[32]; + field671 = 0; + changedSkills = new int[32]; + changedSkillsCount = 0; + chatCycle = 0; + field672 = 0; + field849 = 0; + field915 = 0; + field851 = 0; + field844 = 0; + mouseWheelRotation = 0; + scriptEvents = new NodeDeque(); + field852 = new NodeDeque(); + field856 = new NodeDeque(); + widgetClickMasks = new NodeHashTable(512); + rootWidgetCount = 0; + field741 = -2; + field843 = new boolean[100]; + field861 = new boolean[100]; + field862 = new boolean[100]; + rootWidgetXs = new int[100]; + rootWidgetYs = new int[100]; + rootWidgetWidths = new int[100]; + rootWidgetHeights = new int[100]; + gameDrawingMode = 0; + field868 = 0L; + isResizable = true; + field870 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; + publicChatMode = 0; + field872 = 0; + field762 = ""; + field922 = new long[100]; + field875 = 0; + field754 = 0; + field877 = new int[128]; + field921 = new int[128]; + field879 = -1L; + field747 = -1; + mapIconCount = 0; + mapIconXs = new int[1000]; + mapIconYs = new int[1000]; + mapIcons = new Sprite[1000]; + destinationX = 0; + destinationY = 0; + minimapState = 0; + field911 = 255; + field889 = -1; + field699 = false; + soundEffectVolume = 127; + field892 = 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; + field886 = new boolean[5]; + field901 = new int[5]; + field902 = new int[5]; + field903 = new int[5]; + field904 = new int[5]; + field782 = 256; + field651 = 205; + field906 = 256; + field908 = 320; + field820 = 1; + field790 = 32767; + field732 = 1; + field659 = 32767; + viewportOffsetX = 0; + viewportOffsetY = 0; + viewportWidth = 0; + viewportHeight = 0; + viewportZoom = 0; + playerAppearance = new PlayerAppearance(); + field919 = -1; + field920 = -1; + platformInfoProvider = new DesktopPlatformInfoProvider(); + grandExchangeOffers = new GrandExchangeOffer[8]; + GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); + field924 = -1; + archiveLoaders = new ArrayList(10); + archiveLoaderArchive = 0; + field927 = 0; + field735 = new class65(); + field929 = new int[50]; + field930 = new int[50]; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "869486116" + ) + @Export("resizeGame") + protected final void resizeGame() { + field868 = DirectByteArrayCopier.currentTimeMs() + 500L; + this.resizeJS(); + if (rootInterface != -1) { + this.resizeRoot(true); + } + + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2070235141" + ) + @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; + class43.ByteArrayPool_altSizeArrayCounts = new int[var1.length]; + class189.ByteArrayPool_arrays = new byte[var1.length][][]; + + for (int var3 = 0; var3 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var3) { + class189.ByteArrayPool_arrays[var3] = new byte[var2[var3]][]; + } + } else { + ByteArrayPool.ByteArrayPool_alternativeSizes = null; + class43.ByteArrayPool_altSizeArrayCounts = null; + class189.ByteArrayPool_arrays = null; + } + + class190.port1 = gameBuild == 0 ? 43594 : worldId + 40000; + Skeleton.port2 = gameBuild == 0 ? 443 : worldId + 50000; + Varcs.port3 = class190.port1; + ModelData0.field1870 = class215.field2540; + class247.field3291 = class215.field2541; + WorldMapCacheName.field309 = class215.field2542; + Message.field604 = class215.field2546; + SequenceDefinition.urlRequester = new UrlRequester(); + this.setUpKeyboard(); + this.setUpMouse(); + WorldMapManager.mouseWheel = this.mouseWheel(); + ScriptEvent.masterDisk = new ArchiveDisk(255, class167.dat2File, class167.idx255File, 500000); + WorldMapLabelSize.clientPreferences = ModelData0.loadClientPreferences(); + this.setUpClipboard(); + class218.method4110(this, class60.null_string); + if (gameBuild != 0) { + displayFps = true; + } + + Clock.setWindowedMode(WorldMapLabelSize.clientPreferences.windowMode); + ArchiveLoader.friendSystem = new FriendSystem(class40.loginType); + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-3" + ) + @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 var6; + try { + if (class197.field2402 == 1) { + var6 = Interpreter.midiPcmStream.method3707(); + if (var6 > 0 && Interpreter.midiPcmStream.isReady()) { + var6 -= class197.field2404; + if (var6 < 0) { + var6 = 0; + } + + Interpreter.midiPcmStream.method3706(var6); + } else { + Interpreter.midiPcmStream.clear(); + Interpreter.midiPcmStream.removeAll(); + if (GrandExchangeOfferNameComparator.musicTrackArchive != null) { + class197.field2402 = 2; + } else { + class197.field2402 = 0; + } + + UserComparator10.musicTrack = null; + WorldMapLabelSize.soundCache = null; + } + } + } catch (Exception var11) { + var11.printStackTrace(); + Interpreter.midiPcmStream.clear(); + class197.field2402 = 0; + UserComparator10.musicTrack = null; + WorldMapLabelSize.soundCache = null; + GrandExchangeOfferNameComparator.musicTrackArchive = null; + } + + class186.playPcmPlayers(); + synchronized(KeyHandler.KeyHandler_instance) { + ++KeyHandler.KeyHandler_idleCycles; + KeyHandler.field396 = KeyHandler.field385; + KeyHandler.field386 = 0; + int var7; + if (KeyHandler.field398 >= 0) { + while (KeyHandler.field388 != KeyHandler.field398) { + var7 = KeyHandler.field391[KeyHandler.field388]; + KeyHandler.field388 = KeyHandler.field388 + 1 & 127; + if (var7 < 0) { + KeyHandler.KeyHandler_pressedKeys[~var7] = false; + } else { + if (!KeyHandler.KeyHandler_pressedKeys[var7] && KeyHandler.field386 < KeyHandler.field401.length - 1) { + KeyHandler.field401[++KeyHandler.field386 - 1] = var7; + } + + KeyHandler.KeyHandler_pressedKeys[var7] = true; + } + } + } else { + for (var7 = 0; var7 < 112; ++var7) { + KeyHandler.KeyHandler_pressedKeys[var7] = false; + } + + KeyHandler.field398 = KeyHandler.field388; + } + + if (KeyHandler.field386 > 0) { + KeyHandler.KeyHandler_idleCycles = 0; + } + + KeyHandler.field385 = KeyHandler.field404; + } + + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButton0; + MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_x0; + MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_y0; + MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_millis0; + MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButton0; + MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedX0; + MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedY0; + MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis0; + MouseHandler.MouseHandler_lastButton0 = 0; + } + + if (WorldMapManager.mouseWheel != null) { + var6 = WorldMapManager.mouseWheel.useRotation(); + mouseWheelRotation = var6; + } + + if (gameState == 0) { + Timer.load(); + WallDecoration.method3291(); + } else if (gameState == 5) { + VarbitDefinition.method4484(this); + Timer.load(); + WallDecoration.method3291(); + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + VarbitDefinition.method4484(this); + this.doCycleLoggedOut(); + } else if (gameState == 25) { + PacketBufferNode.method3628(); + } + } else { + VarbitDefinition.method4484(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("ag") + @ObfuscatedSignature( + signature = "(ZB)V", + garbageValue = "-5" + ) + @Export("draw") + protected final void draw(boolean var1) { + boolean var2; + label168: { + try { + if (class197.field2402 == 2) { + if (UserComparator10.musicTrack == null) { + UserComparator10.musicTrack = MusicTrack.readTrack(GrandExchangeOfferNameComparator.musicTrackArchive, class197.musicTrackGroupId, class197.musicTrackFileId); + if (UserComparator10.musicTrack == null) { + var2 = false; + break label168; + } + } + + if (WorldMapLabelSize.soundCache == null) { + WorldMapLabelSize.soundCache = new SoundCache(class197.soundEffectsArchive, class197.musicSamplesArchive); + } + + if (Interpreter.midiPcmStream.loadMusicTrack(UserComparator10.musicTrack, class197.musicPatchesArchive, WorldMapLabelSize.soundCache, 22050)) { + Interpreter.midiPcmStream.clearAll(); + Interpreter.midiPcmStream.method3706(ScriptFrame.field529); + Interpreter.midiPcmStream.setMusicTrack(UserComparator10.musicTrack, BuddyRankComparator.musicTrackBoolean); + class197.field2402 = 0; + UserComparator10.musicTrack = null; + WorldMapLabelSize.soundCache = null; + GrandExchangeOfferNameComparator.musicTrackArchive = null; + var2 = true; + break label168; + } + } + } catch (Exception var6) { + var6.printStackTrace(); + Interpreter.midiPcmStream.clear(); + class197.field2402 = 0; + UserComparator10.musicTrack = null; + WorldMapLabelSize.soundCache = null; + GrandExchangeOfferNameComparator.musicTrackArchive = null; + } + + var2 = false; + } + + if (var2 && field699 && class80.pcmPlayer0 != null) { + class80.pcmPlayer0.tryDiscard(); + } + + if ((gameState == 10 || gameState == 20 || gameState == 30) && field868 != 0L && DirectByteArrayCopier.currentTimeMs() > field868) { + Clock.setWindowedMode(AbstractWorldMapIcon.getWindowedMode()); + } + + int var4; + if (var1) { + for (var4 = 0; var4 < 100; ++var4) { + field843[var4] = true; + } + } + + if (gameState == 0) { + this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); + } else if (gameState == 5) { + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + } else if (gameState == 25) { + if (field709 == 1) { + if (field705 > field706) { + field706 = field705; + } + + var4 = (field706 * 50 - field705 * 50) / field706; + TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else if (field709 == 2) { + if (field707 > field896) { + field896 = field707; + } + + var4 = (field896 * 50 - field707 * 50) / field896 + 50; + TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else { + TriBool.drawLoadingMessage("Loading - please wait.", false); + } + } else if (gameState == 30) { + this.drawLoggedIn(); + } else if (gameState == 40) { + TriBool.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); + } else if (gameState == 45) { + TriBool.drawLoadingMessage("Please wait...", false); + } + } else { + class189.drawTitle(WorldMapIcon_1.fontBold12, Coord.fontPlain11, class169.fontPlain12); + } + + if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + if (field861[var4]) { + MusicPatchPcmStream.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]); + field861[var4] = false; + } + } + } else if (gameState > 0) { + MusicPatchPcmStream.rasterProvider.drawFull(0, 0); + + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + field861[var4] = false; + } + } + + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1344457794" + ) + @Export("kill0") + protected final void kill0() { + if (Clock.varcs.hasUnwrittenChanges()) { + Clock.varcs.write(); + } + + if (class40.mouseRecorder != null) { + class40.mouseRecorder.isRunning = false; + } + + class40.mouseRecorder = null; + packetWriter.close(); + FloorDecoration.method2842(); + Widget.method4091(); + WorldMapManager.mouseWheel = null; + if (class80.pcmPlayer0 != null) { + class80.pcmPlayer0.shutdown(); + } + + if (class190.pcmPlayer1 != null) { + class190.pcmPlayer1.shutdown(); + } + + if (NetCache.NetCache_socket != null) { + NetCache.NetCache_socket.close(); + } + + Players.method2093(); + if (SequenceDefinition.urlRequester != null) { + SequenceDefinition.urlRequester.close(); + SequenceDefinition.urlRequester = null; + } + + try { + class167.dat2File.close(); + + for (int var1 = 0; var1 < class40.idxCount; ++var1) { + class167.idxFiles[var1].close(); + } + + class167.idx255File.close(); + class167.randomDat.close(); + } catch (Exception var3) { + } + + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-779141254" + ) + protected final void vmethod1273() { + } + + public final void init() { + try { + if (this.checkHost()) { + ClientParameter[] var1 = FaceNormal.ClientParameter_values(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + ClientParameter var3 = var1[var2]; + String var4 = this.getParameter(var3.id); + if (var4 != null) { + switch(Integer.parseInt(var3.id)) { + case 1: + useBufferedSocket = Integer.parseInt(var4) != 0; + case 2: + case 11: + case 13: + case 16: + default: + break; + case 3: + if (var4.equalsIgnoreCase("true")) { + isMembersWorld = true; + } else { + isMembersWorld = false; + } + break; + case 4: + if (clientType == -1) { + clientType = Integer.parseInt(var4); + } + break; + case 5: + worldProperties = Integer.parseInt(var4); + break; + case 6: + int var6 = Integer.parseInt(var4); + class190 var11; + if (var6 >= 0 && var6 < class190.field2355.length) { + var11 = class190.field2355[var6]; + } else { + var11 = null; + } + + ScriptFrame.field528 = var11; + break; + case 7: + PacketBufferNode.field2337 = ServerBuild.valueOf(Integer.parseInt(var4)); + break; + case 8: + if (var4.equalsIgnoreCase("true")) { + } + break; + case 9: + class294.field3695 = var4; + break; + case 10: + StudioGame[] var5 = new StudioGame[]{StudioGame.field3110, StudioGame.field3107, StudioGame.field3109, StudioGame.field3106, StudioGame.field3108, StudioGame.field3112}; + WorldMapRegion.field248 = (StudioGame)SoundSystem.findEnumerated(var5, Integer.parseInt(var4)); + if (WorldMapRegion.field248 == StudioGame.field3110) { + class40.loginType = LoginType.field4052; + } else { + class40.loginType = LoginType.field4056; + } + break; + case 12: + worldId = Integer.parseInt(var4); + break; + case 14: + InvDefinition.field3199 = Integer.parseInt(var4); + break; + case 15: + gameBuild = Integer.parseInt(var4); + break; + case 17: + WorldMapArea.field213 = var4; + } + } + } + + class215.method4022(); + ClientPreferences.worldHost = this.getCodeBase().getHost(); + String var9 = PacketBufferNode.field2337.name; + byte var10 = 0; + + try { + UserComparator6.method3440("oldschool", var9, var10, 21); + } catch (Exception var7) { + HitSplatDefinition.sendStackTrace((String)null, var7); + } + + WorldMapSprite.client = this; + RunException.field4066 = clientType; + this.startThread(765, 503, 181); + } + } catch (RuntimeException var8) { + throw UserComparator9.method3390(var8, "client.init(" + ')'); + } + } + + @ObfuscatedName("es") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1600104353" + ) + @Export("doCycleJs5") + void doCycleJs5() { + if (gameState != 1000) { + boolean var1 = WorldMapArea.method365(); + if (!var1) { + this.doCycleJs5Connect(); + } + + } + } + + @ObfuscatedName("ez") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1712345498" + ) + @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; + } + + field682 = 3000; + NetCache.NetCache_ioExceptions = 3; + } + + if (--field682 + 1 <= 0) { + try { + if (js5ConnectState == 0) { + class191.js5SocketTask = GameShell.taskHandler.newSocketTask(ClientPreferences.worldHost, Varcs.port3); + ++js5ConnectState; + } + + if (js5ConnectState == 1) { + if (class191.js5SocketTask.status == 2) { + this.js5Error(-1); + return; + } + + if (class191.js5SocketTask.status == 1) { + ++js5ConnectState; + } + } + + if (js5ConnectState == 2) { + if (useBufferedSocket) { + HealthBarUpdate.js5Socket = BZip2State.newBufferedNetSocket((Socket)class191.js5SocketTask.result, 40000, 5000); + } else { + HealthBarUpdate.js5Socket = new NetSocket((Socket)class191.js5SocketTask.result, GameShell.taskHandler, 5000); + } + + Buffer var1 = new Buffer(5); + var1.writeByte(15); + var1.writeInt(181); + HealthBarUpdate.js5Socket.write(var1.array, 0, 5); + ++js5ConnectState; + class192.field2382 = DirectByteArrayCopier.currentTimeMs(); + } + + if (js5ConnectState == 3) { + if (HealthBarUpdate.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { + int var2 = HealthBarUpdate.js5Socket.readUnsignedByte(); + if (var2 != 0) { + this.js5Error(var2); + return; + } + + ++js5ConnectState; + } else if (DirectByteArrayCopier.currentTimeMs() - class192.field2382 > 30000L) { + this.js5Error(-2); + return; + } + } + + if (js5ConnectState == 4) { + DynamicObject.method2193(HealthBarUpdate.js5Socket, gameState > 20); + class191.js5SocketTask = null; + HealthBarUpdate.js5Socket = null; + js5ConnectState = 0; + js5Errors = 0; + } + } catch (IOException var3) { + this.js5Error(-3); + } + + } + } + } + + @ObfuscatedName("ex") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "3" + ) + @Export("js5Error") + void js5Error(int var1) { + class191.js5SocketTask = null; + HealthBarUpdate.js5Socket = null; + js5ConnectState = 0; + if (class190.port1 == Varcs.port3) { + Varcs.port3 = Skeleton.port2; + } else { + Varcs.port3 = class190.port1; + } + + ++js5Errors; + if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { + if (gameState <= 5) { + this.error("js5connect_full"); + gameState = 1000; + } else { + field682 = 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 { + field682 = 3000; + } + } + + } + + @ObfuscatedName("ea") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1078015369" + ) + @Export("doCycleLoggedOut") + final void doCycleLoggedOut() { + Object var1 = packetWriter.getSocket(); + PacketBuffer var2 = packetWriter.packetBuffer; + + try { + if (loginState == 0) { + if (WorldMapIcon_1.secureRandom == null && (secureRandomFuture.isDone() || field687 > 250)) { + WorldMapIcon_1.secureRandom = secureRandomFuture.get(); + secureRandomFuture.shutdown(); + secureRandomFuture = null; + } + + if (WorldMapIcon_1.secureRandom != null) { + if (var1 != null) { + ((AbstractSocket)var1).close(); + var1 = null; + } + + Ignored.socketTask = null; + field701 = false; + field687 = 0; + loginState = 1; + } + } + + if (loginState == 1) { + if (Ignored.socketTask == null) { + Ignored.socketTask = GameShell.taskHandler.newSocketTask(ClientPreferences.worldHost, Varcs.port3); + } + + if (Ignored.socketTask.status == 2) { + throw new IOException(); + } + + if (Ignored.socketTask.status == 1) { + if (useBufferedSocket) { + var1 = BZip2State.newBufferedNetSocket((Socket)Ignored.socketTask.result, 40000, 5000); + } else { + var1 = new NetSocket((Socket)Ignored.socketTask.result, GameShell.taskHandler, 5000); + } + + packetWriter.setSocket((AbstractSocket)var1); + Ignored.socketTask = null; + loginState = 2; + } + } + + if (loginState == 2) { + packetWriter.method2218(); + PacketBufferNode var4; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var4 = new PacketBufferNode(); + } else { + var4 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var4.clientPacket = null; + var4.clientPacketLength = 0; + var4.packetBuffer = new PacketBuffer(5000); + var4.packetBuffer.writeByte(LoginPacket.field2306.id); + packetWriter.method2219(var4); + packetWriter.method2234(); + var2.offset = 0; + loginState = 3; + } + + boolean var14; + int var15; + if (loginState == 3) { + if (class80.pcmPlayer0 != null) { + class80.pcmPlayer0.method2407(); + } + + if (class190.pcmPlayer1 != null) { + class190.pcmPlayer1.method2407(); + } + + var14 = true; + if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { + var14 = false; + } + + if (var14) { + var15 = ((AbstractSocket)var1).readUnsignedByte(); + if (class80.pcmPlayer0 != null) { + class80.pcmPlayer0.method2407(); + } + + if (class190.pcmPlayer1 != null) { + class190.pcmPlayer1.method2407(); + } + + if (var15 != 0) { + WorldMapIcon_1.method296(var15); + return; + } + + var2.offset = 0; + loginState = 4; + } + } + + int var30; + if (loginState == 4) { + if (var2.offset < 8) { + var30 = ((AbstractSocket)var1).available(); + if (var30 > 8 - var2.offset) { + var30 = 8 - var2.offset; + } + + if (var30 > 0) { + ((AbstractSocket)var1).read(var2.array, var2.offset, var30); + var2.offset += var30; + } + } + + if (var2.offset == 8) { + var2.offset = 0; + Entity.field1872 = var2.readLong(); + loginState = 5; + } + } + + if (loginState == 5) { + packetWriter.packetBuffer.offset = 0; + packetWriter.method2218(); + PacketBuffer var3 = new PacketBuffer(500); + int[] var24 = new int[]{WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt(), WorldMapIcon_1.secureRandom.nextInt()}; + var3.offset = 0; + var3.writeByte(1); + var3.writeInt(var24[0]); + var3.writeInt(var24[1]); + var3.writeInt(var24[2]); + var3.writeInt(var24[3]); + var3.writeLong(Entity.field1872); + if (gameState == 40) { + var3.writeInt(FriendSystem.field1074[0]); + var3.writeInt(FriendSystem.field1074[1]); + var3.writeInt(FriendSystem.field1074[2]); + var3.writeInt(FriendSystem.field1074[3]); + } else { + var3.writeByte(field690.rsOrdinal()); + switch(field690.field2003) { + case 0: + var3.writeInt((Integer)WorldMapLabelSize.clientPreferences.parameters.get(ViewportMouse.method2971(Login.Login_username))); + break; + case 1: + case 2: + var3.writeMedium(GrandExchangeOffer.field65); + ++var3.offset; + break; + case 3: + var3.offset += 4; + } + + var3.writeByte(class313.field3837.rsOrdinal()); + var3.writeStringCp1252NullTerminated(Login.Login_password); + } + + var3.encryptRsa(class83.field1165, class83.field1162); + FriendSystem.field1074 = var24; + PacketBufferNode var6; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var6 = new PacketBufferNode(); + } else { + var6 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var6.clientPacket = null; + var6.clientPacketLength = 0; + var6.packetBuffer = new PacketBuffer(5000); + var6.packetBuffer.offset = 0; + if (gameState == 40) { + var6.packetBuffer.writeByte(LoginPacket.field2311.id); + } else { + var6.packetBuffer.writeByte(LoginPacket.field2308.id); + } + + var6.packetBuffer.writeShort(0); + int var16 = var6.packetBuffer.offset; + var6.packetBuffer.writeInt(181); + var6.packetBuffer.writeInt(1); + var6.packetBuffer.writeByte(clientType); + var6.packetBuffer.writeBytes(var3.array, 0, var3.offset); + int var8 = var6.packetBuffer.offset; + var6.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); + var6.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); + var6.packetBuffer.writeShort(GrandExchangeEvent.canvasWidth); + var6.packetBuffer.writeShort(ParamDefinition.canvasHeight); + PacketBuffer var9 = var6.packetBuffer; + int var12; + if (field693 != null) { + var9.writeBytes(field693, 0, field693.length); + } else { + byte[] var11 = new byte[24]; + + try { + class167.randomDat.seek(0L); + class167.randomDat.readFully(var11); + + for (var12 = 0; var12 < 24 && var11[var12] == 0; ++var12) { + } + + if (var12 >= 24) { + throw new IOException(); + } + } catch (Exception var21) { + for (int var13 = 0; var13 < 24; ++var13) { + var11[var13] = -1; + } + } + + var9.writeBytes(var11, 0, var11.length); + } + + var6.packetBuffer.writeStringCp1252NullTerminated(class294.field3695); + var6.packetBuffer.writeInt(InvDefinition.field3199); + Buffer var10 = new Buffer(WorldMapRectangle.platformInfo.size()); + WorldMapRectangle.platformInfo.write(var10); + var6.packetBuffer.writeBytes(var10.array, 0, var10.array.length); + var6.packetBuffer.writeByte(clientType); + var6.packetBuffer.writeInt(0); + var6.packetBuffer.writeInt(class197.archive0.hash); + var6.packetBuffer.writeInt(class167.archive1.hash); + var6.packetBuffer.writeInt(class215.archive2.hash); + var6.packetBuffer.writeInt(class43.archive3.hash); + var6.packetBuffer.writeInt(class13.archive4.hash); + var6.packetBuffer.writeInt(WorldMapCacheName.archive5.hash); + var6.packetBuffer.writeInt(WorldMapRegion.archive6.hash); + var6.packetBuffer.writeInt(NPCDefinition.archive7.hash); + var6.packetBuffer.writeInt(archive8.hash); + var6.packetBuffer.writeInt(class4.archive9.hash); + var6.packetBuffer.writeInt(WorldMapLabelSize.archive10.hash); + var6.packetBuffer.writeInt(class32.archive11.hash); + var6.packetBuffer.writeInt(UserComparator4.archive12.hash); + var6.packetBuffer.writeInt(class2.archive13.hash); + var6.packetBuffer.writeInt(Tile.archive14.hash); + var6.packetBuffer.writeInt(GrandExchangeOfferOwnWorldComparator.archive15.hash); + var6.packetBuffer.writeInt(0); + var6.packetBuffer.writeInt(WorldMapSprite.archive17.hash); + var6.packetBuffer.writeInt(archive18.hash); + var6.packetBuffer.writeInt(ItemDefinition.archive19.hash); + var6.packetBuffer.writeInt(Entity.archive20.hash); + var6.packetBuffer.xteaEncrypt(var24, var8, var6.packetBuffer.offset); + var6.packetBuffer.writeLengthShort(var6.packetBuffer.offset - var16); + packetWriter.method2219(var6); + packetWriter.method2234(); + packetWriter.isaacCipher = new IsaacCipher(var24); + int[] var29 = new int[4]; + + for (var12 = 0; var12 < 4; ++var12) { + var29[var12] = var24[var12] + 50; + } + + var2.newIsaacCipher(var29); + loginState = 6; + } + + if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { + var30 = ((AbstractSocket)var1).readUnsignedByte(); + if (var30 == 21 && gameState == 20) { + loginState = 9; + } else if (var30 == 2) { + loginState = 11; + } else if (var30 == 15 && gameState == 40) { + packetWriter.serverPacketLength = -1; + loginState = 16; + } else if (var30 == 64) { + loginState = 7; + } else if (var30 == 23 && field688 < 1) { + ++field688; + loginState = 0; + } else { + if (var30 != 29) { + WorldMapIcon_1.method296(var30); + return; + } + + loginState = 14; + } + } + + if (loginState == 7 && ((AbstractSocket)var1).available() > 0) { + class323.field3884 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 8; + } + + if (loginState == 8 && ((AbstractSocket)var1).available() >= class323.field3884) { + ((AbstractSocket)var1).read(var2.array, 0, class323.field3884); + var2.offset = 0; + loginState = 6; + } + + if (loginState == 9 && ((AbstractSocket)var1).available() > 0) { + field836 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; + loginState = 10; + } + + if (loginState == 10) { + field687 = 0; + class268.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field836 / 60 + " seconds."); + if (--field836 <= 0) { + loginState = 0; + } + + } else { + if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) { + EnumDefinition.field3324 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 12; + } + + if (loginState == 12 && ((AbstractSocket)var1).available() >= EnumDefinition.field3324) { + var14 = ((AbstractSocket)var1).readUnsignedByte() == 1; + ((AbstractSocket)var1).read(var2.array, 0, 4); + var2.offset = 0; + boolean var31 = false; + if (var14) { + var15 = var2.readByteIsaac() << 24; + var15 |= var2.readByteIsaac() << 16; + var15 |= var2.readByteIsaac() << 8; + var15 |= var2.readByteIsaac(); + int var18 = ViewportMouse.method2971(Login.Login_username); + if (WorldMapLabelSize.clientPreferences.parameters.size() >= 10 && !WorldMapLabelSize.clientPreferences.parameters.containsKey(var18)) { + Iterator var28 = WorldMapLabelSize.clientPreferences.parameters.entrySet().iterator(); + var28.next(); + var28.remove(); + } + + WorldMapLabelSize.clientPreferences.parameters.put(var18, var15); + } + + if (Login_isUsernameRemembered) { + WorldMapLabelSize.clientPreferences.rememberedUsername = Login.Login_username; + } else { + WorldMapLabelSize.clientPreferences.rememberedUsername = null; + } + + ReflectionCheck.savePreferences(); + staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); + playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; + localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); + localPlayerIndex <<= 8; + localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); + field771 = ((AbstractSocket)var1).readUnsignedByte(); + ((AbstractSocket)var1).read(var2.array, 0, 1); + var2.offset = 0; + ServerPacket[] var5 = Interpreter.ServerPacket_values(); + int var19 = var2.readSmartByteShortIsaac(); + if (var19 < 0 || var19 >= var5.length) { + throw new IOException(var19 + " " + var2.offset); + } + + packetWriter.serverPacket = var5[var19]; + packetWriter.serverPacketLength = packetWriter.serverPacket.length; + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + packetWriter.serverPacketLength = var2.readUnsignedShort(); + + try { + Client var7 = WorldMapSprite.client; + JSObject.getWindow(var7).call("zap", (Object[])null); + } 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.method5014(); + FaceNormal.method3264(); + WorldMapSectionType.updatePlayer(var2); + Canvas.field418 = -1; + Tiles.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; + AbstractWorldMapData.field155 = var2.readUnsignedShort(); + loginState = 15; + } + + if (loginState == 15 && ((AbstractSocket)var1).available() >= AbstractWorldMapData.field155) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, AbstractWorldMapData.field155); + var2.offset = 0; + String var23 = var2.readStringCp1252NullTerminated(); + String var25 = var2.readStringCp1252NullTerminated(); + String var26 = var2.readStringCp1252NullTerminated(); + class268.setLoginResponseString(var23, var25, var26); + class96.updateGameState(10); + } + + if (loginState != 16) { + ++field687; + if (field687 > 2000) { + if (field688 < 1) { + if (class190.port1 == Varcs.port3) { + Varcs.port3 = Skeleton.port2; + } else { + Varcs.port3 = class190.port1; + } + + ++field688; + loginState = 0; + } else { + WorldMapIcon_1.method296(-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; + var30 = packetWriter.serverPacketLength; + timer.method5000(); + packetWriter.method2218(); + packetWriter.packetBuffer.offset = 0; + packetWriter.serverPacket = null; + packetWriter.field1309 = null; + packetWriter.field1321 = null; + packetWriter.field1317 = null; + packetWriter.serverPacketLength = 0; + packetWriter.field1318 = 0; + rebootTimer = 0; + Strings.method4121(); + minimapState = 0; + destinationX = 0; + + for (var15 = 0; var15 < 2048; ++var15) { + players[var15] = null; + } + + localPlayer = null; + + for (var15 = 0; var15 < npcs.length; ++var15) { + NPC var27 = npcs[var15]; + if (var27 != null) { + var27.targetIndex = -1; + var27.false0 = false; + } + } + + ItemContainer.itemContainers = new NodeHashTable(32); + class96.updateGameState(30); + + for (var15 = 0; var15 < 100; ++var15) { + field843[var15] = true; + } + + HealthBarUpdate.method1677(); + WorldMapSectionType.updatePlayer(var2); + if (var30 != var2.offset) { + throw new RuntimeException(); + } + } + } + } + } + } catch (IOException var22) { + if (field688 < 1) { + if (Varcs.port3 == class190.port1) { + Varcs.port3 = Skeleton.port2; + } else { + Varcs.port3 = class190.port1; + } + + ++field688; + loginState = 0; + } else { + WorldMapIcon_1.method296(-2); + } + } + } + + @ObfuscatedName("fg") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1319159959" + ) + @Export("doCycleLoggedIn") + final void doCycleLoggedIn() { + if (rebootTimer > 1) { + --rebootTimer; + } + + if (field700 > 0) { + --field700; + } + + if (field701) { + field701 = false; + ScriptFrame.method1090(); + } else { + if (!isMenuOpen) { + GraphicsObject.resetMenuEntries(); + } + + int var1; + for (var1 = 0; var1 < 100 && this.method1451(packetWriter); ++var1) { + } + + if (gameState == 30) { + int var2; + PacketBufferNode var15; + while (MidiPcmStream.method3811()) { + var15 = Archive.method4265(ClientPacket.field2252, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + var2 = var15.packetBuffer.offset; + HealthBarUpdate.method1671(var15.packetBuffer); + var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); + packetWriter.method2219(var15); + } + + if (timer.field3605) { + var15 = Archive.method4265(ClientPacket.field2217, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + var2 = var15.packetBuffer.offset; + timer.write(var15.packetBuffer); + var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); + packetWriter.method2219(var15); + timer.method4998(); + } + + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + synchronized(class40.mouseRecorder.lock) { + if (!field912) { + class40.mouseRecorder.index = 0; + } else if (MouseHandler.MouseHandler_lastButton != 0 || class40.mouseRecorder.index >= 40) { + PacketBufferNode var16 = null; + var3 = 0; + var4 = 0; + var5 = 0; + var6 = 0; + + for (var7 = 0; var7 < class40.mouseRecorder.index && (var16 == null || var16.packetBuffer.offset - var3 < 246); ++var7) { + var4 = var7; + var8 = class40.mouseRecorder.ys[var7]; + if (var8 < -1) { + var8 = -1; + } else if (var8 > 65534) { + var8 = 65534; + } + + var9 = class40.mouseRecorder.xs[var7]; + if (var9 < -1) { + var9 = -1; + } else if (var9 > 65534) { + var9 = 65534; + } + + if (var9 != field717 || var8 != field665) { + if (var16 == null) { + var16 = Archive.method4265(ClientPacket.field2237, packetWriter.isaacCipher); + var16.packetBuffer.writeByte(0); + var3 = var16.packetBuffer.offset; + PacketBuffer var10000 = var16.packetBuffer; + var10000.offset += 2; + var5 = 0; + var6 = 0; + } + + if (-1L != field666) { + var10 = var9 - field717; + var11 = var8 - field665; + var12 = (int)((class40.mouseRecorder.millis[var7] - field666) / 20L); + var5 = (int)((long)var5 + (class40.mouseRecorder.millis[var7] - field666) % 20L); + } else { + var10 = var9; + var11 = var8; + var12 = Integer.MAX_VALUE; + } + + field717 = var9; + field665 = var8; + if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { + var10 += 32; + var11 += 32; + var16.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); + } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { + var10 += 128; + var11 += 128; + var16.packetBuffer.writeByte(var12 + 128); + var16.packetBuffer.writeShort(var11 + (var10 << 8)); + } else if (var12 < 32) { + var16.packetBuffer.writeByte(var12 + 192); + if (var9 != -1 && var8 != -1) { + var16.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var16.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } else { + var16.packetBuffer.writeShort((var12 & 8191) + 57344); + if (var9 != -1 && var8 != -1) { + var16.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var16.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } + + ++var6; + field666 = class40.mouseRecorder.millis[var7]; + } + } + + if (var16 != null) { + var16.packetBuffer.writeLengthByte(var16.packetBuffer.offset - var3); + var7 = var16.packetBuffer.offset; + var16.packetBuffer.offset = var3; + var16.packetBuffer.writeByte(var5 / var6); + var16.packetBuffer.writeByte(var5 % var6); + var16.packetBuffer.offset = var7; + packetWriter.method2219(var16); + } + + if (var4 >= class40.mouseRecorder.index) { + class40.mouseRecorder.index = 0; + } else { + MouseRecorder var43 = class40.mouseRecorder; + var43.index -= var4; + System.arraycopy(class40.mouseRecorder.xs, var4, class40.mouseRecorder.xs, 0, class40.mouseRecorder.index); + System.arraycopy(class40.mouseRecorder.ys, var4, class40.mouseRecorder.ys, 0, class40.mouseRecorder.index); + System.arraycopy(class40.mouseRecorder.millis, var4, class40.mouseRecorder.millis, 0, class40.mouseRecorder.index); + } + } + } + + PacketBufferNode var19; + if (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { + long var17 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; + if (var17 > 4095L) { + var17 = 4095L; + } + + mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; + var3 = MouseHandler.MouseHandler_lastPressedY; + if (var3 < 0) { + var3 = 0; + } else if (var3 > ParamDefinition.canvasHeight) { + var3 = ParamDefinition.canvasHeight; + } + + var4 = MouseHandler.MouseHandler_lastPressedX; + if (var4 < 0) { + var4 = 0; + } else if (var4 > GrandExchangeEvent.canvasWidth) { + var4 = GrandExchangeEvent.canvasWidth; + } + + var5 = (int)var17; + var19 = Archive.method4265(ClientPacket.field2234, packetWriter.isaacCipher); + var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); + var19.packetBuffer.writeShort(var4); + var19.packetBuffer.writeShort(var3); + packetWriter.method2219(var19); + } + + if (KeyHandler.field386 > 0) { + var15 = Archive.method4265(ClientPacket.field2270, packetWriter.isaacCipher); + var15.packetBuffer.writeShort(0); + var2 = var15.packetBuffer.offset; + long var20 = DirectByteArrayCopier.currentTimeMs(); + + for (var5 = 0; var5 < KeyHandler.field386; ++var5) { + long var22 = var20 - field879; + if (var22 > 16777215L) { + var22 = 16777215L; + } + + field879 = var20; + var15.packetBuffer.method5521(KeyHandler.field401[var5]); + var15.packetBuffer.writeMedium((int)var22); + } + + var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var2); + packetWriter.method2219(var15); + } + + if (field822 > 0) { + --field822; + } + + if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { + field878 = true; + } + + if (field878 && field822 <= 0) { + field822 = 20; + field878 = false; + var15 = Archive.method4265(ClientPacket.field2242, packetWriter.isaacCipher); + var15.packetBuffer.method5475(camAngleX); + var15.packetBuffer.writeShortLE(camAngleY); + packetWriter.method2219(var15); + } + + if (class267.field3557 && !field667) { + field667 = true; + var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(1); + packetWriter.method2219(var15); + } + + if (!class267.field3557 && field667) { + field667 = false; + var15 = Archive.method4265(ClientPacket.field2276, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + packetWriter.method2219(var15); + } + + if (BoundaryObject.worldMap != null) { + BoundaryObject.worldMap.method6299(); + } + + KeyHandler.method801(); + int[] var37; + if (field747 != class42.plane) { + field747 = class42.plane; + var1 = class42.plane; + var37 = RouteStrategy.sceneMinimapSprite.pixels; + var3 = var37.length; + + for (var4 = 0; var4 < var3; ++var4) { + var37[var4] = 0; + } + + for (var4 = 1; var4 < 103; ++var4) { + var5 = (103 - var4) * 2048 + 24628; + + for (var6 = 1; var6 < 103; ++var6) { + if ((Tiles.Tiles_renderFlags[var1][var6][var4] & 24) == 0) { + GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1, var6, var4); + } + + if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var6][var4] & 8) != 0) { + GrandExchangeOfferWorldComparator.scene.drawTileMinimap(var37, var5, 512, var1 + 1, var6, var4); + } + + var5 += 4; + } + } + + var4 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); + var5 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; + RouteStrategy.sceneMinimapSprite.setRaster(); + + for (var6 = 1; var6 < 103; ++var6) { + for (var7 = 1; var7 < 103; ++var7) { + if ((Tiles.Tiles_renderFlags[var1][var7][var6] & 24) == 0) { + class3.drawObject(var1, var7, var6, var4, var5); + } + + if (var1 < 3 && (Tiles.Tiles_renderFlags[var1 + 1][var7][var6] & 8) != 0) { + class3.drawObject(var1 + 1, var7, var6, var4, var5); + } + } + } + + mapIconCount = 0; + + for (var6 = 0; var6 < 104; ++var6) { + for (var7 = 0; var7 < 104; ++var7) { + long var24 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(class42.plane, var6, var7); + if (0L != var24) { + var10 = class43.method770(var24); + var11 = ViewportMouse.getObjectDefinition(var10).mapIconId; + if (var11 >= 0) { + mapIcons[mapIconCount] = class222.getWorldMapElement(var11).getSpriteBool(false); + mapIconXs[mapIconCount] = var6; + mapIconYs[mapIconCount] = var7; + ++mapIconCount; + } + } + } + } + + MusicPatchPcmStream.rasterProvider.apply(); + } + + if (gameState == 30) { + for (PendingSpawn var35 = (PendingSpawn)pendingSpawns.last(); var35 != null; var35 = (PendingSpawn)pendingSpawns.previous()) { + if (var35.hitpoints > 0) { + --var35.hitpoints; + } + + if (var35.hitpoints == 0) { + if (var35.field935 < 0 || Players.method2091(var35.field935, var35.field933)) { + DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.field935, var35.field936, var35.field933); + var35.remove(); + } + } else { + if (var35.delay > 0) { + --var35.delay; + } + + if (var35.delay == 0 && var35.x >= 1 && var35.y >= 1 && var35.x <= 102 && var35.y <= 102 && (var35.id < 0 || Players.method2091(var35.id, var35.field940))) { + DirectByteArrayCopier.addPendingSpawnToScene(var35.plane, var35.type, var35.x, var35.y, var35.id, var35.orientation, var35.field940); + var35.delay = -1; + if (var35.id == var35.field935 && var35.field935 == -1) { + var35.remove(); + } else if (var35.field935 == var35.id && var35.field936 == var35.orientation && var35.field933 == var35.field940) { + var35.remove(); + } + } + } + } + + KitDefinition.method4461(); + ++packetWriter.field1318; + if (packetWriter.field1318 > 750) { + ScriptFrame.method1090(); + } else { + var1 = Players.Players_count; + var37 = Players.Players_indices; + + for (var3 = 0; var3 < var1; ++var3) { + Player var26 = players[var37[var3]]; + if (var26 != null) { + StructDefinition.calculateActorPosition(var26, 1); + } + } + + MouseRecorder.method1141(); + Player.processOverheadText(); + ++field718; + if (mouseCrossColor != 0) { + mouseCrossState = mouseCrossState * 400 + 400; + if (mouseCrossState * 20 >= 400) { + mouseCrossColor = 0; + } + } + + if (ItemContainer.field549 != null) { + ++field759; + if (field759 >= 15) { + Strings.method4120(ItemContainer.field549); + ItemContainer.field549 = null; + } + } + + Widget var36 = LoginScreenAnimation.mousedOverWidgetIf1; + Widget var38 = class32.field284; + LoginScreenAnimation.mousedOverWidgetIf1 = null; + class32.field284 = null; + draggedOnWidget = null; + field745 = false; + field873 = false; + field754 = 0; + + while (class218.method4109() && field754 < 128) { + if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ReflectionCheck.field1338 == 66) { + String var27 = UrlRequester.getChatMessagesAsString(); + WorldMapSprite.client.clipboardSetString(var27); + } else if (oculusOrbState != 1 || Calendar.field2508 <= 0) { + field921[field754] = ReflectionCheck.field1338; + field877[field754] = Calendar.field2508; + ++field754; + } + } + + boolean var33 = staffModLevel >= 2; + if (var33 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { + var4 = localPlayer.plane - mouseWheelRotation; + if (var4 < 0) { + var4 = 0; + } else if (var4 > 3) { + var4 = 3; + } + + if (var4 != localPlayer.plane) { + WorldMapLabel.method418(localPlayer.pathX[0] + MusicPatchNode2.baseX * 64, localPlayer.pathY[0] + class1.baseY * 64, var4, false); + } + + mouseWheelRotation = 0; + } + + if (rootInterface != -1) { + Skills.updateRootInterface(rootInterface, 0, 0, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, 0, 0); + } + + ++cycleCntr; + + while (true) { + Widget var28; + Widget var39; + ScriptEvent var41; + do { + var41 = (ScriptEvent)field852.removeLast(); + if (var41 == null) { + while (true) { + do { + var41 = (ScriptEvent)field856.removeLast(); + if (var41 == null) { + while (true) { + do { + var41 = (ScriptEvent)scriptEvents.removeLast(); + if (var41 == null) { + this.method1333(); + SpotAnimationDefinition.method4415(); + if (clickedWidget != null) { + this.method1641(); + } + + if (WorldMapIcon_0.dragInventoryWidget != null) { + Strings.method4120(WorldMapIcon_0.dragInventoryWidget); + ++itemDragDuration; + if (MouseHandler.MouseHandler_currentButton == 0) { + if (field874) { + if (class294.field3697 == WorldMapIcon_0.dragInventoryWidget && dragItemSlotDestination != dragItemSlotSource) { + Widget var42 = WorldMapIcon_0.dragInventoryWidget; + byte var34 = 0; + if (field809 == 1 && var42.contentType == 206) { + var34 = 1; + } + + if (var42.itemIds[dragItemSlotDestination] <= 0) { + var34 = 0; + } + + if (UserComparator4.method3382(class268.getWidgetClickMask(var42))) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; + var42.itemIds[var7] = var42.itemIds[var6]; + var42.itemQuantities[var7] = var42.itemQuantities[var6]; + var42.itemIds[var6] = -1; + var42.itemQuantities[var6] = 0; + } else if (var34 == 1) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; + + while (var6 != var7) { + if (var6 > var7) { + var42.swapItems(var6 - 1, var6); + --var6; + } else if (var6 < var7) { + var42.swapItems(var6 + 1, var6); + ++var6; + } + } + } else { + var42.swapItems(dragItemSlotDestination, dragItemSlotSource); + } + + var19 = Archive.method4265(ClientPacket.field2283, packetWriter.isaacCipher); + var19.packetBuffer.writeShort(dragItemSlotDestination); + var19.packetBuffer.writeShortLE(dragItemSlotSource); + var19.packetBuffer.writeInt(WorldMapIcon_0.dragInventoryWidget.id); + var19.packetBuffer.method5521(var34); + packetWriter.method2219(var19); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(field654, field763); + } else if (menuOptionsCount > 0) { + var4 = field654; + var5 = field763; + MenuAction var40 = tempMenuAction; + Messages.menuAction(var40.argument1, var40.argument2, var40.opcode, var40.argument0, var40.action, var40.action, var4, var5); + tempMenuAction = null; + } + + field759 = 10; + MouseHandler.MouseHandler_lastButton = 0; + WorldMapIcon_0.dragInventoryWidget = null; + } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field654 + 5 || MouseHandler.MouseHandler_x < field654 - 5 || MouseHandler.MouseHandler_y > field763 + 5 || MouseHandler.MouseHandler_y < field763 - 5)) { + field874 = true; + } + } + + if (Scene.method3105()) { + var4 = Scene.Scene_selectedX; + var5 = Scene.Scene_selectedY; + var19 = Archive.method4265(ClientPacket.field2299, packetWriter.isaacCipher); + var19.packetBuffer.writeByte(5); + var19.packetBuffer.method5530(class1.baseY * 64 + var5); + var19.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var4); + var19.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + packetWriter.method2219(var19); + Scene.method3222(); + mouseCrossX = MouseHandler.MouseHandler_lastPressedX; + mouseCrossY = MouseHandler.MouseHandler_lastPressedY; + mouseCrossColor = 1; + mouseCrossState = 0; + destinationX = var4; + destinationY = var5; + } + + if (var36 != LoginScreenAnimation.mousedOverWidgetIf1) { + if (var36 != null) { + Strings.method4120(var36); + } + + if (LoginScreenAnimation.mousedOverWidgetIf1 != null) { + Strings.method4120(LoginScreenAnimation.mousedOverWidgetIf1); + } + } + + if (var38 != class32.field284 && field840 == field833) { + if (var38 != null) { + Strings.method4120(var38); + } + + if (class32.field284 != null) { + Strings.method4120(class32.field284); + } + } + + if (class32.field284 != null) { + if (field840 < field833) { + ++field840; + if (field840 == field833) { + Strings.method4120(class32.field284); + } + } + } else if (field840 > 0) { + --field840; + } + + class80.method1982(); + if (isCameraLocked) { + var4 = DevicePcmPlayerProvider.field412 * 16384 + 64; + var5 = class210.field2516 * 16384 + 64; + var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - class190.field2345; + if (PacketBuffer.cameraX < var4) { + PacketBuffer.cameraX = (var4 - PacketBuffer.cameraX) * class96.field1327 / 1000 + PacketBuffer.cameraX + class83.field1166; + if (PacketBuffer.cameraX > var4) { + PacketBuffer.cameraX = var4; + } + } + + if (PacketBuffer.cameraX > var4) { + PacketBuffer.cameraX -= class96.field1327 * (PacketBuffer.cameraX - var4) / 1000 + class83.field1166; + if (PacketBuffer.cameraX < var4) { + PacketBuffer.cameraX = var4; + } + } + + if (class43.cameraY < var6) { + class43.cameraY = (var6 - class43.cameraY) * class96.field1327 / 1000 + class43.cameraY + class83.field1166; + if (class43.cameraY > var6) { + class43.cameraY = var6; + } + } + + if (class43.cameraY > var6) { + class43.cameraY -= class96.field1327 * (class43.cameraY - var6) / 1000 + class83.field1166; + if (class43.cameraY < var6) { + class43.cameraY = var6; + } + } + + if (class1.cameraZ < var5) { + class1.cameraZ = (var5 - class1.cameraZ) * class96.field1327 / 1000 + class1.cameraZ + class83.field1166; + if (class1.cameraZ > var5) { + class1.cameraZ = var5; + } + } + + if (class1.cameraZ > var5) { + class1.cameraZ -= class96.field1327 * (class1.cameraZ - var5) / 1000 + class83.field1166; + if (class1.cameraZ < var5) { + class1.cameraZ = var5; + } + } + + var4 = HealthBarUpdate.field1017 * 16384 + 64; + var5 = class30.field259 * 16384 + 64; + var6 = ScriptEvent.getTileHeight(var4, var5, class42.plane) - WorldMapID.field268; + var7 = var4 - PacketBuffer.cameraX; + var8 = var6 - class43.cameraY; + var9 = var5 - class1.cameraZ; + var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); + var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; + var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; + if (var11 < 128) { + var11 = 128; + } + + if (var11 > 383) { + var11 = 383; + } + + if (GrandExchangeOfferNameComparator.cameraPitch < var11) { + GrandExchangeOfferNameComparator.cameraPitch = (var11 - GrandExchangeOfferNameComparator.cameraPitch) * Tiles.field501 / 1000 + GrandExchangeOfferNameComparator.cameraPitch + ScriptFrame.field526; + if (GrandExchangeOfferNameComparator.cameraPitch > var11) { + GrandExchangeOfferNameComparator.cameraPitch = var11; + } + } + + if (GrandExchangeOfferNameComparator.cameraPitch > var11) { + GrandExchangeOfferNameComparator.cameraPitch -= Tiles.field501 * (GrandExchangeOfferNameComparator.cameraPitch - var11) / 1000 + ScriptFrame.field526; + if (GrandExchangeOfferNameComparator.cameraPitch < var11) { + GrandExchangeOfferNameComparator.cameraPitch = var11; + } + } + + int var29 = var12 - Interpreter.cameraYaw; + if (var29 > 1024) { + var29 -= 2048; + } + + if (var29 < -1024) { + var29 += 2048; + } + + if (var29 > 0) { + Interpreter.cameraYaw = var29 * Tiles.field501 / 1000 + Interpreter.cameraYaw + ScriptFrame.field526; + Interpreter.cameraYaw &= 2047; + } + + if (var29 < 0) { + Interpreter.cameraYaw -= -var29 * Tiles.field501 / 1000 + ScriptFrame.field526; + Interpreter.cameraYaw &= 2047; + } + + int var14 = var12 - Interpreter.cameraYaw; + if (var14 > 1024) { + var14 -= 2048; + } + + if (var14 < -1024) { + var14 += 2048; + } + + if (var14 < 0 && var29 > 0 || var14 > 0 && var29 < 0) { + Interpreter.cameraYaw = var12; + } + } + + for (var4 = 0; var4 < 5; ++var4) { + int var10002 = field904[var4]++; + } + + Clock.varcs.tryWrite(); + var4 = ++MouseHandler.MouseHandler_idleCycles - 1; + var6 = KeyHandler.KeyHandler_idleCycles; + PacketBufferNode var30; + if (var4 > 15000 && var6 > 15000) { + field700 = 250; + MouseHandler.MouseHandler_idleCycles = 14500; + var30 = Archive.method4265(ClientPacket.field2300, packetWriter.isaacCipher); + packetWriter.method2219(var30); + } + + ArchiveLoader.friendSystem.method1762(); + ++packetWriter.field1319; + if (packetWriter.field1319 > 50) { + var30 = Archive.method4265(ClientPacket.field2225, packetWriter.isaacCipher); + packetWriter.method2219(var30); + } + + try { + packetWriter.method2234(); + } catch (IOException var31) { + ScriptFrame.method1090(); + } + + return; + } + + var28 = var41.widget; + if (var28.childIndex < 0) { + break; + } + + var39 = class80.getWidget(var28.parentId); + } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); + + LoginPacket.runScriptEvent(var41); + } + } + + var28 = var41.widget; + if (var28.childIndex < 0) { + break; + } + + var39 = class80.getWidget(var28.parentId); + } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); + + LoginPacket.runScriptEvent(var41); + } + } + + var28 = var41.widget; + if (var28.childIndex < 0) { + break; + } + + var39 = class80.getWidget(var28.parentId); + } while(var39 == null || var39.children == null || var28.childIndex >= var39.children.length || var28 != var39.children[var28.childIndex]); + + LoginPacket.runScriptEvent(var41); + } + } + } + } + } + } + + @ObfuscatedName("fq") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1617101116" + ) + @Export("resizeJS") + void resizeJS() { + int var1 = GrandExchangeEvent.canvasWidth; + int var2 = ParamDefinition.canvasHeight; + if (super.contentWidth < var1) { + var1 = super.contentWidth; + } + + if (super.contentHeight < var2) { + var2 = super.contentHeight; + } + + if (WorldMapLabelSize.clientPreferences != null) { + try { + class47.method806(WorldMapSprite.client, "resize", new Object[]{AbstractWorldMapIcon.getWindowedMode()}); + } catch (Throwable var4) { + } + } + + } + + @ObfuscatedName("fc") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2072838249" + ) + @Export("drawLoggedIn") + final void drawLoggedIn() { + if (rootInterface != -1) { + Archive.method4269(rootInterface); + } + + int var1; + for (var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field843[var1]) { + field861[var1] = true; + } + + field862[var1] = field843[var1]; + field843[var1] = false; + } + + field741 = cycle; + field803 = -1; + field804 = -1; + class294.field3697 = null; + if (rootInterface != -1) { + rootWidgetCount = 0; + class191.drawWidgets(rootInterface, 0, 0, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, 0, 0, -1); + } + + Rasterizer2D.Rasterizer2D_resetClip(); + if (showMouseCross) { + if (mouseCrossColor == 1) { + Occluder.crossSprites[mouseCrossState * 20 / 100].drawAt2(mouseCrossX - 8, mouseCrossY - 8); + } + + if (mouseCrossColor == 2) { + Occluder.crossSprites[mouseCrossState * 20 / 100 + 4].drawAt2(mouseCrossX - 8, mouseCrossY - 8); + } + } + + int var2; + int var3; + int var4; + int var6; + int var7; + int var13; + if (!isMenuOpen) { + if (field803 != -1) { + WorldMapSprite.drawMenuActionTextAt(field803, field804); + } + } else { + var1 = class247.menuX; + var2 = class30.menuY; + var3 = class42.menuWidth; + var4 = ObjectSound.menuHeight; + int var14 = 6116423; + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var14); + Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); + WorldMapIcon_1.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var14, -1); + var6 = MouseHandler.MouseHandler_x; + var7 = MouseHandler.MouseHandler_y; + + int var15; + int var16; + for (var13 = 0; var13 < menuOptionsCount; ++var13) { + var15 = var2 + (menuOptionsCount - 1 - var13) * 15 + 31; + var16 = 16777215; + if (var6 > var1 && var6 < var1 + var3 && var7 > var15 - 13 && var7 < var15 + 3) { + var16 = 16776960; + } + + WorldMapIcon_1.fontBold12.draw(WorldMapLabel.method417(var13), var1 + 3, var15, var16, 0); + } + + var13 = class247.menuX; + var15 = class30.menuY; + var16 = class42.menuWidth; + int var17 = ObjectSound.menuHeight; + + for (int var12 = 0; var12 < rootWidgetCount; ++var12) { + if (rootWidgetXs[var12] + rootWidgetWidths[var12] > var13 && rootWidgetXs[var12] < var13 + var16 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var15 && rootWidgetYs[var12] < var15 + var17) { + field861[var12] = true; + } + } + } + + if (gameDrawingMode == 3) { + for (var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field862[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); + } else if (field861[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); + } + } + } + + var1 = class42.plane; + var2 = localPlayer.x; + var3 = localPlayer.y; + var4 = field718; + + for (ObjectSound var5 = (ObjectSound)ObjectSound.objectSounds.last(); var5 != null; var5 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var5.soundEffectId != -1 || var5.soundEffectIds != null) { + var6 = 0; + if (var2 > var5.field1077 * 128) { + var6 += var2 - var5.field1077 * 128; + } else if (var2 < var5.field1083 * 16384) { + var6 += var5.field1083 * 16384 - var2; + } + + if (var3 > var5.field1082 * 128) { + var6 += var3 - var5.field1082 * 128; + } else if (var3 < var5.field1090 * 128) { + var6 += var5.field1090 * 128 - var3; + } + + if (var6 - 64 <= var5.field1091 && field892 != 0 && var1 == var5.field1078) { + var6 -= 64; + if (var6 < 0) { + var6 = 0; + } + + var7 = (var5.field1091 - var6) * field892 / var5.field1091; + Object var10000; + if (var5.stream1 == null) { + if (var5.soundEffectId >= 0) { + var10000 = null; + SoundEffect var8 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectId, 0); + if (var8 != null) { + RawSound var9 = var8.toRawSound().resample(AttackOption.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7); + var10.setNumLoops(-1); + SecureRandomCallable.pcmStreamMixer.addSubStream(var10); + var5.stream1 = var10; + } + } + } else { + var5.stream1.method2527(var7); + } + + if (var5.stream2 == null) { + if (var5.soundEffectIds != null && (var5.field1089 -= var4) <= 0) { + var13 = (int)(Math.random() * (double)var5.soundEffectIds.length); + var10000 = null; + SoundEffect var18 = SoundEffect.readSoundEffect(class13.archive4, var5.soundEffectIds[var13], 0); + if (var18 != null) { + RawSound var19 = var18.toRawSound().resample(AttackOption.decimator); + RawPcmStream var11 = RawPcmStream.createRawPcmStream(var19, 100, var7); + var11.setNumLoops(0); + SecureRandomCallable.pcmStreamMixer.addSubStream(var11); + var5.stream2 = var11; + var5.field1089 = var5.field1086 + (int)(Math.random() * (double)(var5.field1081 - var5.field1086)); + } + } + } else { + var5.stream2.method2527(var7); + if (!var5.stream2.hasNext()) { + var5.stream2 = null; + } + } + } else { + if (var5.stream1 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream1); + var5.stream1 = null; + } + + if (var5.stream2 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var5.stream2); + var5.stream2 = null; + } + } + } + } + + field718 = 0; + } + + @ObfuscatedName("gg") + @ObfuscatedSignature( + signature = "(Lcg;I)Z", + garbageValue = "1494391815" + ) + final boolean method1451(PacketWriter var1) { + AbstractSocket var2 = var1.getSocket(); + PacketBuffer var3 = var1.packetBuffer; + if (var2 == null) { + return false; + } else { + int var17; + String var18; + try { + int var5; + if (var1.serverPacket == null) { + if (var1.field1322) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 0, 1); + var1.field1318 = 0; + var1.field1322 = false; + } + + var3.offset = 0; + if (var3.method5441()) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 1, 1); + var1.field1318 = 0; + } + + var1.field1322 = true; + ServerPacket[] var4 = Interpreter.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.field1318 = 0; + timer.method5005(); + var1.field1317 = var1.field1321; + var1.field1321 = var1.field1309; + var1.field1309 = var1.serverPacket; + Widget var6; + int var16; + boolean var47; + if (ServerPacket.field2136 == var1.serverPacket) { + var16 = var3.readInt(); + var47 = var3.readUnsignedByte() == 1; + var6 = class80.getWidget(var16); + if (var47 != var6.isHidden) { + var6.isHidden = var47; + Strings.method4120(var6); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2115 == var1.serverPacket) { + minimapState = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2200 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + SoundCache.method2491(var16); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2128 == var1.serverPacket) { + class1.method10(class185.field2320); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2168 == var1.serverPacket) { + byte var60 = var3.method5694(); + var5 = var3.method5518(); + Varps.Varps_temp[var5] = var60; + if (Varps.Varps_main[var5] != var60) { + Varps.Varps_main[var5] = var60; + } + + GrandExchangeOfferUnitPriceComparator.method124(var5); + field863[++field806 - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2179 == var1.serverPacket) { + DefaultsGroup.field3819 = var3.readUnsignedByteNegate(); + ChatChannel.field1306 = var3.method5525(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2161 == var1.serverPacket) { + var16 = var3.method5532(); + GroundItemPile.method2764(var16); + field888[++field671 - 1 & 31] = var16 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2149 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + class192.method3675(var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2137 == var1.serverPacket) { + class1.method10(class185.field2315); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2187 == var1.serverPacket) { + rebootTimer = var3.readUnsignedShort() * 30; + field844 = cycleCntr; + var1.serverPacket = null; + return true; + } + + int var7; + Widget var8; + if (ServerPacket.field2123 == var1.serverPacket) { + var16 = var3.method5534(); + var5 = var3.method5534(); + var17 = var3.method5534(); + var7 = var3.method5543(); + var8 = class80.getWidget(var7); + if (var16 != var8.modelAngleX || var17 != var8.modelAngleY || var5 != var8.modelZoom) { + var8.modelAngleX = var16; + var8.modelAngleY = var17; + var8.modelZoom = var5; + Strings.method4120(var8); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2120 == var1.serverPacket) { + ChatChannel.field1306 = var3.method5525(); + DefaultsGroup.field3819 = var3.readUnsignedByteNegate(); + + while (var3.offset < var1.serverPacketLength) { + var16 = var3.readUnsignedByte(); + class185 var58 = GrandExchangeEvents.method70()[var16]; + class1.method10(var58); + } + + var1.serverPacket = null; + return true; + } + + Widget var19; + if (ServerPacket.field2125 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var5 == 65535) { + var5 = -1; + } + + var17 = var3.method5543(); + var19 = class80.getWidget(var16); + ItemDefinition var43; + if (!var19.isIf3) { + if (var5 == -1) { + var19.modelType = 0; + var1.serverPacket = null; + return true; + } + + var43 = WorldMapArea.getItemDefinition(var5); + var19.modelType = 4; + var19.modelId = var5; + var19.modelAngleX = var43.xan2d; + var19.modelAngleY = var43.yan2d; + var19.modelZoom = var43.zoom2d * 100 / var17; + Strings.method4120(var19); + } else { + var19.itemId = var5; + var19.itemQuantity = var17; + var43 = WorldMapArea.getItemDefinition(var5); + var19.modelAngleX = var43.xan2d; + var19.modelAngleY = var43.yan2d; + var19.modelAngleZ = var43.zan2d; + var19.modelOffsetX = var43.offsetX2d; + var19.modelOffsetY = var43.offsetY2d; + var19.modelZoom = var43.zoom2d; + if (var43.isStackable == 1) { + var19.itemQuantityMode = 1; + } else { + var19.itemQuantityMode = 2; + } + + if (var19.field2619 > 0) { + var19.modelZoom = var19.modelZoom * 32 / var19.field2619; + } else if (var19.rawWidth > 0) { + var19.modelZoom = var19.modelZoom * 32 / var19.rawWidth; + } + + Strings.method4120(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2158 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.readUnsignedByte(); + var17 = var3.readUnsignedShort(); + class81.queueSoundEffect(var16, var5, var17); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2154 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + var5 = var3.readUnsignedByte(); + var17 = var3.readUnsignedByte(); + var7 = var3.readUnsignedByte(); + field886[var16] = true; + field901[var16] = var5; + field902[var16] = var17; + field903[var16] = var7; + field904[var16] = 0; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2166 == var1.serverPacket) { + Tiles.loadRegions(true, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2194 == var1.serverPacket) { + InterfaceParent.updatePlayers(var3, var1.serverPacketLength); + ObjectSound.method1827(); + var1.serverPacket = null; + return true; + } + + int var9; + int var10; + int var20; + if (ServerPacket.field2198 == var1.serverPacket) { + isCameraLocked = true; + HealthBarUpdate.field1017 = var3.readUnsignedByte() * 128; + class30.field259 = var3.readUnsignedByte() * 128; + WorldMapID.field268 = var3.readUnsignedShort(); + ScriptFrame.field526 = var3.readUnsignedByte(); + Tiles.field501 = var3.readUnsignedByte(); + if (Tiles.field501 >= 100) { + var16 = HealthBarUpdate.field1017 * 16384 + 64; + var5 = class30.field259 * 16384 + 64; + var17 = ScriptEvent.getTileHeight(var16, var5, class42.plane) - WorldMapID.field268; + var7 = var16 - PacketBuffer.cameraX; + var20 = var17 - class43.cameraY; + var9 = var5 - class1.cameraZ; + var10 = (int)Math.sqrt((double)(var9 * var9 + var7 * var7)); + GrandExchangeOfferNameComparator.cameraPitch = (int)(Math.atan2((double)var20, (double)var10) * 325.949D) & 2047; + Interpreter.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; + if (GrandExchangeOfferNameComparator.cameraPitch < 128) { + GrandExchangeOfferNameComparator.cameraPitch = 128; + } + + if (GrandExchangeOfferNameComparator.cameraPitch > 383) { + GrandExchangeOfferNameComparator.cameraPitch = 383; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2116 == var1.serverPacket) { + RouteStrategy.method3593(); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2150 == var1.serverPacket) { + World var40 = new World(); + var40.host = var3.readStringCp1252NullTerminated(); + var40.id = var3.readUnsignedShort(); + var5 = var3.readInt(); + var40.properties = var5; + class96.updateGameState(45); + var2.close(); + var2 = null; + MusicPatchPcmStream.changeWorld(var40); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2157 == var1.serverPacket) { + class1.method10(class185.field2318); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2164 == var1.serverPacket) { + class1.method10(class185.field2324); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2145 == var1.serverPacket) { + var16 = var3.method5543(); + var5 = var3.method5534(); + var6 = class80.getWidget(var16); + if (var6 != null && var6.type == 0) { + if (var5 > var6.scrollHeight - var6.height) { + var5 = var6.scrollHeight - var6.height; + } + + if (var5 < 0) { + var5 = 0; + } + + if (var5 != var6.scrollY) { + var6.scrollY = var5; + Strings.method4120(var6); + } + } + + var1.serverPacket = null; + return true; + } + + long var21; + if (ServerPacket.field2163 == var1.serverPacket) { + var16 = var3.method5541(); + var5 = var3.method5518(); + if (var5 == 65535) { + var5 = -1; + } + + var17 = var3.method5543(); + var7 = var3.readUnsignedShort(); + if (var7 == 65535) { + var7 = -1; + } + + for (var20 = var7; var20 <= var5; ++var20) { + var21 = (long)var20 + ((long)var17 << 32); + Node var46 = widgetClickMasks.get(var21); + if (var46 != null) { + var46.remove(); + } + + widgetClickMasks.put(new IntegerNode(var16), var21); + } + + var1.serverPacket = null; + return true; + } + + Widget var53; + if (ServerPacket.field2122 == var1.serverPacket) { + var16 = var3.method5542(); + var53 = class80.getWidget(var16); + + for (var17 = 0; var17 < var53.itemIds.length; ++var17) { + var53.itemIds[var17] = -1; + var53.itemIds[var17] = 0; + } + + Strings.method4120(var53); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2165 == var1.serverPacket) { + var16 = var3.readInt(); + if (var16 != field855) { + field855 = var16; + Actor.method1670(); + } + + var1.serverPacket = null; + return true; + } + + InterfaceParent var52; + if (ServerPacket.field2192 == var1.serverPacket) { + var16 = var3.method5722(); + var5 = var3.method5542(); + var17 = var3.method5534(); + var52 = (InterfaceParent)interfaceParents.get((long)var5); + if (var52 != null) { + class197.closeInterface(var52, var17 != var52.group); + } + + PendingSpawn.method1652(var5, var17, var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2183 == var1.serverPacket) { + class226.field3072 = NetSocket.method3530(var3.readUnsignedByte()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2138 == var1.serverPacket) { + var16 = var3.method5534(); + if (var16 == 65535) { + var16 = -1; + } + + GrandExchangeOfferTotalQuantityComparator.method93(var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2155 == var1.serverPacket) { + var16 = var3.method5591(); + var5 = var3.method5518(); + if (var5 == 65535) { + var5 = -1; + } + + WorldMapLabelSize.method188(var5, var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2124 == var1.serverPacket) { + var16 = var3.readShort(); + var5 = var3.method5543(); + var6 = class80.getWidget(var5); + if (var16 != var6.sequenceId || var16 == -1) { + var6.sequenceId = var16; + var6.modelFrame = 0; + var6.modelFrameCycle = 0; + Strings.method4120(var6); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2147 == var1.serverPacket) { + ArchiveLoader.friendSystem.ignoreList.read(var3, var1.serverPacketLength); + class2.method28(); + field672 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2196 == var1.serverPacket) { + ScriptFrame.updateNpcs(true, var3); + var1.serverPacket = null; + return true; + } + + long var12; + long var23; + long var25; + String var37; + if (ServerPacket.field2142 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var23 = var3.readLong(); + var25 = (long)var3.readUnsignedShort(); + var21 = (long)var3.readMedium(); + PlayerType var11 = (PlayerType)SoundSystem.findEnumerated(UserComparator5.PlayerType_values(), var3.readUnsignedByte()); + var12 = (var25 << 32) + var21; + boolean var49 = false; + + for (int var15 = 0; var15 < 100; ++var15) { + if (field922[var15] == var12) { + var49 = true; + break; + } + } + + if (var11.isUser && ArchiveLoader.friendSystem.isIgnored(new Username(var37, class40.loginType))) { + var49 = true; + } + + if (!var49 && field767 == 0) { + field922[field875] = var12; + field875 = (field875 + 1) % 100; + String var27 = AbstractFont.escapeBrackets(class1.method17(DefaultsGroup.method5898(var3))); + if (var11.modIcon != -1) { + class14.addChatMessage(9, WorldMapSection1.getModIconString(var11.modIcon) + var37, var27, class215.method4023(var23)); + } else { + class14.addChatMessage(9, var37, var27, class215.method4023(var23)); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2177 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + Object[] var57 = new Object[var37.length() + 1]; + + for (var17 = var37.length() - 1; var17 >= 0; --var17) { + if (var37.charAt(var17) == 's') { + var57[var17 + 1] = var3.readStringCp1252NullTerminated(); + } else { + var57[var17 + 1] = new Integer(var3.readInt()); + } + } + + var57[0] = new Integer(var3.readInt()); + ScriptEvent var48 = new ScriptEvent(); + var48.args = var57; + LoginPacket.runScriptEvent(var48); + var1.serverPacket = null; + return true; + } + + String var44; + if (ServerPacket.field2133 == var1.serverPacket) { + byte[] var39 = new byte[var1.serverPacketLength]; + var3.method5443(var39, 0, var39.length); + Buffer var55 = new Buffer(var39); + var44 = var55.readStringCp1252NullTerminated(); + GrandExchangeOfferWorldComparator.openURL(var44, true, false); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2162 == var1.serverPacket) { + if (var1.serverPacketLength == 0) { + DevicePcmPlayerProvider.clanChat = null; + } else { + if (DevicePcmPlayerProvider.clanChat == null) { + DevicePcmPlayerProvider.clanChat = new ClanChat(class40.loginType, WorldMapSprite.client); + } + + DevicePcmPlayerProvider.clanChat.readUpdate(var3); + } + + class267.method4986(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2143 == 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.field2189 == var1.serverPacket) { + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.method5234(var3); + } + + class267.method4986(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2121 == var1.serverPacket) { + isCameraLocked = true; + DevicePcmPlayerProvider.field412 = var3.readUnsignedByte() * 128; + class210.field2516 = var3.readUnsignedByte() * 128; + class190.field2345 = var3.readUnsignedShort(); + class83.field1166 = var3.readUnsignedByte(); + class96.field1327 = var3.readUnsignedByte(); + if (class96.field1327 >= 100) { + PacketBuffer.cameraX = DevicePcmPlayerProvider.field412 * 16384 + 64; + class1.cameraZ = class210.field2516 * 16384 + 64; + class43.cameraY = ScriptEvent.getTileHeight(PacketBuffer.cameraX, class1.cameraZ, class42.plane) - class190.field2345; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2117 == var1.serverPacket) { + isCameraLocked = false; + + for (var16 = 0; var16 < 5; ++var16) { + field886[var16] = false; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2127 == var1.serverPacket) { + class1.method10(class185.field2319); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2144 == var1.serverPacket) { + ArchiveLoader.friendSystem.method1760(); + field672 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2191 == var1.serverPacket) { + class65.method1176(); + var16 = var3.method5541(); + var5 = var3.readUnsignedByteNegate(); + var17 = var3.readUnsignedByte(); + experience[var5] = var16; + currentLevels[var5] = var17; + 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.field2190 == var1.serverPacket) { + class1.method10(class185.field2317); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2129 == var1.serverPacket) { + class1.method10(class185.field2321); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2130 == var1.serverPacket) { + class1.method10(class185.field2322); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2173 == var1.serverPacket) { + var16 = var3.method5722(); + var5 = var3.method5722(); + var44 = var3.readStringCp1252NullTerminated(); + if (var5 >= 1 && var5 <= 8) { + if (var44.equalsIgnoreCase("null")) { + var44 = null; + } + + playerMenuActions[var5 - 1] = var44; + playerOptionsPriorities[var5 - 1] = var16 == 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2176 == var1.serverPacket) { + var16 = var3.readInt(); + InterfaceParent var54 = (InterfaceParent)interfaceParents.get((long)var16); + if (var54 != null) { + class197.closeInterface(var54, true); + } + + if (field850 != null) { + Strings.method4120(field850); + field850 = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2170 == 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); + } + + field915 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2188 == 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]; + GrandExchangeOfferUnitPriceComparator.method124(var16); + field863[++field806 - 1 & 31] = var16; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2118 == var1.serverPacket) { + var16 = var3.method5534(); + var5 = var3.method5543(); + var6 = class80.getWidget(var5); + if (var6.modelType != 2 || var16 != var6.modelId) { + var6.modelType = 2; + var6.modelId = var16; + Strings.method4120(var6); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2174 == var1.serverPacket) { + var16 = var3.method5542(); + var5 = var3.method5500(); + var17 = var3.method5535(); + var19 = class80.getWidget(var16); + if (var17 != var19.rawX || var5 != var19.rawY || var19.xAlignment != 0 || var19.yAlignment != 0) { + var19.rawX = var17; + var19.rawY = var5; + var19.xAlignment = 0; + var19.yAlignment = 0; + Strings.method4120(var19); + this.alignWidget(var19); + if (var19.type == 0) { + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var16 >> 16], var19, false); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2160 == var1.serverPacket) { + Tiles.loadRegions(false, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2152 == var1.serverPacket) { + var16 = var3.readUShortSmart(); + var47 = var3.readUnsignedByte() == 1; + var44 = ""; + boolean var45 = false; + if (var47) { + var44 = var3.readStringCp1252NullTerminated(); + if (ArchiveLoader.friendSystem.isIgnored(new Username(var44, class40.loginType))) { + var45 = true; + } + } + + String var42 = var3.readStringCp1252NullTerminated(); + if (!var45) { + ScriptEvent.addGameMessage(var16, var44, var42); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2119 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.readInt(); + Varps.Varps_temp[var16] = var5; + if (Varps.Varps_main[var16] != var5) { + Varps.Varps_main[var16] = var5; + } + + GrandExchangeOfferUnitPriceComparator.method124(var16); + field863[++field806 - 1 & 31] = var16; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2140 == var1.serverPacket) { + ChatChannel.field1306 = var3.readUnsignedByteNegate(); + DefaultsGroup.field3819 = var3.readUnsignedByte(); + + for (var16 = DefaultsGroup.field3819; var16 < DefaultsGroup.field3819 + 8; ++var16) { + for (var5 = ChatChannel.field1306; var5 < ChatChannel.field1306 + 8; ++var5) { + if (groundItems[class42.plane][var16][var5] != null) { + groundItems[class42.plane][var16][var5] = null; + GrandExchangeOfferWorldComparator.updateItemPile(var16, var5); + } + } + } + + for (PendingSpawn var38 = (PendingSpawn)pendingSpawns.last(); var38 != null; var38 = (PendingSpawn)pendingSpawns.previous()) { + if (var38.x >= DefaultsGroup.field3819 && var38.x < DefaultsGroup.field3819 + 8 && var38.y >= ChatChannel.field1306 && var38.y < ChatChannel.field1306 + 8 && var38.plane == class42.plane) { + var38.hitpoints = 0; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2184 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readInt(); + var17 = SoundSystem.method2479(); + PacketBufferNode var56 = Archive.method4265(ClientPacket.field2236, packetWriter.isaacCipher); + var56.packetBuffer.method5521(var17); + var56.packetBuffer.writeByte(GameShell.fps); + var56.packetBuffer.writeIntME(var16); + var56.packetBuffer.writeIntLE(var5); + packetWriter.method2219(var56); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2199 == var1.serverPacket) { + var16 = var3.method5534(); + rootInterface = var16; + this.resizeRoot(false); + GrandExchangeOfferAgeComparator.method146(var16); + Canvas.runWidgetOnLoadListener(rootInterface); + + for (var5 = 0; var5 < 100; ++var5) { + field843[var5] = true; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2181 == var1.serverPacket) { + var16 = var3.method5543(); + var53 = class80.getWidget(var16); + var53.modelType = 3; + var53.modelId = localPlayer.appearance.getChatHeadId(); + Strings.method4120(var53); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2180 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var18 = AbstractFont.escapeBrackets(class1.method17(DefaultsGroup.method5898(var3))); + ScriptEvent.addGameMessage(6, var37, var18); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2153 == var1.serverPacket) { + ChatChannel.method2213(var3, var1.serverPacketLength); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2151 == var1.serverPacket) { + hintArrowType = var3.readUnsignedByte(); + if (hintArrowType == 1) { + hintArrowNpcIndex = var3.readUnsignedShort(); + } + + if (hintArrowType >= 2 && hintArrowType <= 6) { + if (hintArrowType == 2) { + hintArrowSubX = 4096; + hintArrowSubY = 64; + } + + if (hintArrowType == 3) { + hintArrowSubX = 0; + hintArrowSubY = 64; + } + + if (hintArrowType == 4) { + hintArrowSubX = 8192; + hintArrowSubY = 64; + } + + if (hintArrowType == 5) { + hintArrowSubX = 4096; + hintArrowSubY = 0; + } + + if (hintArrowType == 6) { + hintArrowSubX = 4096; + hintArrowSubY = 128; + } + + 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.field2178 == var1.serverPacket) { + class1.method10(class185.field2323); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2193 == var1.serverPacket) { + for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) { + VarpDefinition var51 = GrandExchangeOfferWorldComparator.method61(var16); + if (var51 != null) { + Varps.Varps_temp[var16] = 0; + Varps.Varps_main[var16] = 0; + } + } + + class65.method1176(); + field806 += 32; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2171 == var1.serverPacket) { + var16 = var3.offset + var1.serverPacketLength; + var5 = var3.readUnsignedShort(); + var17 = var3.readUnsignedShort(); + if (var5 != rootInterface) { + rootInterface = var5; + this.resizeRoot(false); + GrandExchangeOfferAgeComparator.method146(rootInterface); + Canvas.runWidgetOnLoadListener(rootInterface); + + for (var7 = 0; var7 < 100; ++var7) { + field843[var7] = true; + } + } + + InterfaceParent var59; + for (; var17-- > 0; var59.field567 = true) { + var7 = var3.readInt(); + var20 = var3.readUnsignedShort(); + var9 = var3.readUnsignedByte(); + var59 = (InterfaceParent)interfaceParents.get((long)var7); + if (var59 != null && var20 != var59.group) { + class197.closeInterface(var59, true); + var59 = null; + } + + if (var59 == null) { + var59 = PendingSpawn.method1652(var7, var20, var9); + } + } + + for (var52 = (InterfaceParent)interfaceParents.first(); var52 != null; var52 = (InterfaceParent)interfaceParents.next()) { + if (var52.field567) { + var52.field567 = false; + } else { + class197.closeInterface(var52, true); + } + } + + widgetClickMasks = new NodeHashTable(512); + + while (var3.offset < var16) { + var7 = var3.readInt(); + var20 = var3.readUnsignedShort(); + var9 = var3.readUnsignedShort(); + var10 = var3.readInt(); + + for (int var29 = var20; var29 <= var9; ++var29) { + var12 = ((long)var7 << 32) + (long)var29; + widgetClickMasks.put(new IntegerNode(var10), var12); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2185 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var6 = class80.getWidget(var16); + } else { + var6 = null; + } + + if (var6 != null) { + for (var7 = 0; var7 < var6.itemIds.length; ++var7) { + var6.itemIds[var7] = 0; + var6.itemQuantities[var7] = 0; + } + } + + GrandExchangeOfferAgeComparator.clearItemContainer(var5); + var7 = var3.readUnsignedShort(); + + for (var20 = 0; var20 < var7; ++var20) { + var9 = var3.readUnsignedShort(); + var10 = var3.readUnsignedByte(); + if (var10 == 255) { + var10 = var3.method5543(); + } + + if (var6 != null && var20 < var6.itemIds.length) { + var6.itemIds[var20] = var9; + var6.itemQuantities[var20] = var10; + } + + GrandExchangeOfferAgeComparator.itemContainerSetItem(var5, var20, var9 - 1, var10); + } + + if (var6 != null) { + Strings.method4120(var6); + } + + class65.method1176(); + field888[++field671 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2182 == 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.field2186 == var1.serverPacket) { + class65.method1176(); + weight = var3.readShort(); + field844 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2195 == var1.serverPacket) { + field872 = var3.readUnsignedByteNegate(); + publicChatMode = var3.readUnsignedByteNegate(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2134 == var1.serverPacket) { + var16 = var3.readInt(); + var18 = var3.readStringCp1252NullTerminated(); + var6 = class80.getWidget(var16); + if (!var18.equals(var6.text)) { + var6.text = var18; + Strings.method4120(var6); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2167 == var1.serverPacket) { + if (rootInterface != -1) { + WorldMapLabelSize.method175(rootInterface, 0); + } + + var1.serverPacket = null; + return true; + } + + boolean var50; + if (ServerPacket.field2131 == var1.serverPacket) { + var50 = var3.readBoolean(); + if (var50) { + if (PendingSpawn.field944 == null) { + PendingSpawn.field944 = new class237(); + } + } else { + PendingSpawn.field944 = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2135 == var1.serverPacket) { + var50 = var3.readUnsignedByte() == 1; + if (var50) { + Buddy.field3632 = DirectByteArrayCopier.currentTimeMs() - var3.readLong(); + PendingSpawn.grandExchangeEvents = new GrandExchangeEvents(var3, true); + } else { + PendingSpawn.grandExchangeEvents = null; + } + + field851 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2139 == var1.serverPacket) { + var16 = var3.method5542(); + var5 = var3.method5518(); + var17 = var5 >> 10 & 31; + var7 = var5 >> 5 & 31; + var20 = var5 & 31; + var9 = (var7 << 11) + (var17 << 19) + (var20 << 3); + Widget var28 = class80.getWidget(var16); + if (var9 != var28.color) { + var28.color = var9; + Strings.method4120(var28); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2172 == var1.serverPacket) { + var3.offset += 28; + if (var3.checkCrc()) { + WorldMapSprite.method407(var3, var3.offset - 28); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2126 == var1.serverPacket) { + class1.method10(class185.field2316); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2197 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readInt(); + InterfaceParent var41 = (InterfaceParent)interfaceParents.get((long)var5); + var52 = (InterfaceParent)interfaceParents.get((long)var16); + if (var52 != null) { + class197.closeInterface(var52, var41 == null || var41.group != var52.group); + } + + if (var41 != null) { + var41.remove(); + interfaceParents.put(var41, (long)var16); + } + + var8 = class80.getWidget(var5); + if (var8 != null) { + Strings.method4120(var8); + } + + var8 = class80.getWidget(var16); + if (var8 != null) { + Strings.method4120(var8); + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var8.id >>> 16], var8, true); + } + + if (rootInterface != -1) { + WorldMapLabelSize.method175(rootInterface, 1); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2141 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var23 = (long)var3.readUnsignedShort(); + var25 = (long)var3.readMedium(); + PlayerType var30 = (PlayerType)SoundSystem.findEnumerated(UserComparator5.PlayerType_values(), var3.readUnsignedByte()); + long var31 = (var23 << 32) + var25; + boolean var33 = false; + + for (int var13 = 0; var13 < 100; ++var13) { + if (var31 == field922[var13]) { + var33 = true; + break; + } + } + + if (ArchiveLoader.friendSystem.isIgnored(new Username(var37, class40.loginType))) { + var33 = true; + } + + if (!var33 && field767 == 0) { + field922[field875] = var31; + field875 = (field875 + 1) % 100; + String var34 = AbstractFont.escapeBrackets(class1.method17(DefaultsGroup.method5898(var3))); + byte var14; + if (var30.isPrivileged) { + var14 = 7; + } else { + var14 = 3; + } + + if (var30.modIcon != -1) { + ScriptEvent.addGameMessage(var14, WorldMapSection1.getModIconString(var30.modIcon) + var37, var34); + } else { + ScriptEvent.addGameMessage(var14, var37, var34); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2148 == var1.serverPacket) { + ScriptFrame.updateNpcs(false, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2156 == var1.serverPacket) { + var16 = var3.method5518(); + var5 = var3.method5532(); + var17 = var3.method5542(); + var19 = class80.getWidget(var17); + var19.field2575 = var16 + (var5 << 16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2132 == var1.serverPacket) { + ArchiveLoader.friendSystem.method1805(var3, var1.serverPacketLength); + field672 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2175 == var1.serverPacket) { + var16 = var3.method5543(); + var5 = var3.method5534(); + var6 = class80.getWidget(var16); + if (var6.modelType != 1 || var5 != var6.modelId) { + var6.modelType = 1; + var6.modelId = var5; + Strings.method4120(var6); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2159 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var6 = class80.getWidget(var16); + } else { + var6 = null; + } + + for (; var3.offset < var1.serverPacketLength; GrandExchangeOfferAgeComparator.itemContainerSetItem(var5, var7, var20 - 1, var9)) { + var7 = var3.readUShortSmart(); + var20 = var3.readUnsignedShort(); + var9 = 0; + if (var20 != 0) { + var9 = var3.readUnsignedByte(); + if (var9 == 255) { + var9 = var3.readInt(); + } + } + + if (var6 != null && var7 >= 0 && var7 < var6.itemIds.length) { + var6.itemIds[var7] = var20; + var6.itemQuantities[var7] = var9; + } + } + + if (var6 != null) { + Strings.method4120(var6); + } + + class65.method1176(); + field888[++field671 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2202 == var1.serverPacket) { + class14.method155(var3.readStringCp1252NullTerminated()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2169 == var1.serverPacket) { + class65.method1176(); + runEnergy = var3.readUnsignedByte(); + field844 = cycleCntr; + var1.serverPacket = null; + return true; + } + + HitSplatDefinition.sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1321 != null ? var1.field1321.id : -1) + "," + (var1.field1317 != null ? var1.field1317.id : -1) + "," + var1.serverPacketLength, (Throwable)null); + RouteStrategy.method3593(); + } catch (IOException var35) { + ScriptFrame.method1090(); + } catch (Exception var36) { + var18 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1321 != null ? var1.field1321.id : -1) + "," + (var1.field1317 != null ? var1.field1317.id : -1) + "," + var1.serverPacketLength + "," + (localPlayer.pathX[0] + MusicPatchNode2.baseX * 64) + "," + (localPlayer.pathY[0] + class1.baseY * 64) + ","; + + for (var17 = 0; var17 < var1.serverPacketLength && var17 < 50; ++var17) { + var18 = var18 + var3.array[var17] + ","; + } + + HitSplatDefinition.sendStackTrace(var18, var36); + RouteStrategy.method3593(); + } + + return true; + } + } + + @ObfuscatedName("hy") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "116" + ) + final void method1333() { + 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 = menuTargetNames[var2]; + menuTargetNames[var2] = menuTargetNames[var2 + 1]; + menuTargetNames[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 = menuArguments0[var2]; + menuArguments0[var2] = menuArguments0[var2 + 1]; + menuArguments0[var2 + 1] = var5; + boolean var6 = menuShiftClick[var2]; + menuShiftClick[var2] = menuShiftClick[var2 + 1]; + menuShiftClick[var2 + 1] = var6; + var1 = false; + } + } + } + + if (WorldMapIcon_0.dragInventoryWidget == null) { + if (clickedWidget == null) { + int var20 = MouseHandler.MouseHandler_lastButton; + int var8; + int var9; + int var10; + int var14; + int var15; + int var21; + if (isMenuOpen) { + if (var20 != 1 && (DevicePcmPlayerProvider.mouseCam || var20 != 4)) { + var2 = MouseHandler.MouseHandler_x; + var14 = MouseHandler.MouseHandler_y; + if (var2 < class247.menuX - 10 || var2 > class247.menuX + class42.menuWidth + 10 || var14 < class30.menuY - 10 || var14 > class30.menuY + ObjectSound.menuHeight + 10) { + isMenuOpen = false; + ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); + } + } + + if (var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) { + var2 = class247.menuX; + var14 = class30.menuY; + var15 = class42.menuWidth; + var5 = MouseHandler.MouseHandler_lastPressedX; + var21 = MouseHandler.MouseHandler_lastPressedY; + int var22 = -1; + + for (var8 = 0; var8 < menuOptionsCount; ++var8) { + var9 = (menuOptionsCount - 1 - var8) * 15 + var14 + 31; + if (var5 > var2 && var5 < var15 + var2 && var21 > var9 - 13 && var21 < var9 + 3) { + var22 = var8; + } + } + + if (var22 != -1 && var22 >= 0) { + var8 = menuArguments1[var22]; + var9 = menuArguments2[var22]; + var10 = menuOpcodes[var22]; + int var19 = menuArguments0[var22]; + String var12 = menuActions[var22]; + String var13 = menuTargetNames[var22]; + Messages.menuAction(var8, var9, var10, var19, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + isMenuOpen = false; + ChatChannel.method2215(class247.menuX, class30.menuY, class42.menuWidth, ObjectSound.menuHeight); + } + } else { + label281: { + var2 = class13.method151(); + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && var2 >= 0) { + var14 = menuOpcodes[var2]; + if (var14 == 39 || var14 == 40 || var14 == 41 || var14 == 42 || var14 == 43 || var14 == 33 || var14 == 34 || var14 == 35 || var14 == 36 || var14 == 37 || var14 == 38 || var14 == 1005) { + var15 = menuArguments1[var2]; + var5 = menuArguments2[var2]; + Widget var16 = class80.getWidget(var5); + var8 = class268.getWidgetClickMask(var16); + boolean var7 = (var8 >> 28 & 1) != 0; + if (var7) { + break label281; + } + + Object var10000 = null; + if (UserComparator4.method3382(class268.getWidgetClickMask(var16))) { + break label281; + } + } + } + + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && this.shouldLeftClickOpenMenu()) { + var20 = 2; + } + + if ((var20 == 1 || !DevicePcmPlayerProvider.mouseCam && var20 == 4) && menuOptionsCount > 0 && var2 >= 0) { + var14 = menuArguments1[var2]; + var15 = menuArguments2[var2]; + var5 = menuOpcodes[var2]; + var21 = menuArguments0[var2]; + String var17 = menuActions[var2]; + String var18 = menuTargetNames[var2]; + Messages.menuAction(var14, var15, var5, var21, var17, var18, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + if (var20 == 2 && menuOptionsCount > 0) { + this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + return; + } + + if (WorldMapIcon_0.dragInventoryWidget != null && !field874 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { + var9 = field654; + var10 = field763; + MenuAction var11 = tempMenuAction; + Messages.menuAction(var11.argument1, var11.argument2, var11.opcode, var11.argument0, var11.action, var11.action, var9, var10); + tempMenuAction = null; + } + + field874 = false; + itemDragDuration = 0; + if (WorldMapIcon_0.dragInventoryWidget != null) { + Strings.method4120(WorldMapIcon_0.dragInventoryWidget); + } + + WorldMapIcon_0.dragInventoryWidget = class80.getWidget(var5); + dragItemSlotSource = var15; + field654 = MouseHandler.MouseHandler_lastPressedX; + field763 = MouseHandler.MouseHandler_lastPressedY; + if (var2 >= 0) { + Decimator.method2510(var2); + } + + Strings.method4120(WorldMapIcon_0.dragInventoryWidget); + return; + } + + } + } + } + + @ObfuscatedName("hd") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-246080062" + ) + @Export("shouldLeftClickOpenMenu") + final boolean shouldLeftClickOpenMenu() { + int var1 = class13.method151(); + return (field789 == 1 && menuOptionsCount > 2 || Interpreter.method1936(var1)) && !menuShiftClick[var1]; + } + + @ObfuscatedName("hj") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1898435320" + ) + @Export("openMenu") + final void openMenu(int var1, int var2) { + NetCache.method4312(var1, var2); + GrandExchangeOfferWorldComparator.scene.menuOpen(class42.plane, var1, var2, false); + isMenuOpen = true; + } + + @ObfuscatedName("ik") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "831397747" + ) + @Export("resizeRoot") + final void resizeRoot(boolean var1) { + WorldMapSprite.method416(rootInterface, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, var1); + } + + @ObfuscatedName("iw") + @ObfuscatedSignature( + signature = "(Lhj;I)V", + garbageValue = "2120964597" + ) + @Export("alignWidget") + void alignWidget(Widget var1) { + Widget var2 = var1.parentId == -1 ? null : class80.getWidget(var1.parentId); + int var3; + int var4; + if (var2 == null) { + var3 = GrandExchangeEvent.canvasWidth; + var4 = ParamDefinition.canvasHeight; + } else { + var3 = var2.width; + var4 = var2.height; + } + + class219.alignWidgetSize(var1, var3, var4, false); + PcmPlayer.alignWidgetPosition(var1, var3, var4); + } + + @ObfuscatedName("jh") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "41" + ) + final void method1641() { + Strings.method4120(clickedWidget); + ++class80.widgetDragDuration; + if (field745 && field873) { + int var1 = MouseHandler.MouseHandler_x; + int var2 = MouseHandler.MouseHandler_y; + var1 -= widgetClickX; + var2 -= widgetClickY; + if (var1 < field834) { + var1 = field834; + } + + if (var1 + clickedWidget.width > field834 + clickedWidgetParent.width) { + var1 = field834 + clickedWidgetParent.width - clickedWidget.width; + } + + if (var2 < field835) { + var2 = field835; + } + + if (var2 + clickedWidget.height > field835 + clickedWidgetParent.height) { + var2 = field835 + clickedWidgetParent.height - clickedWidget.height; + } + + int var3 = var1 - field837; + int var4 = var2 - field838; + int var5 = clickedWidget.dragZoneSize; + if (class80.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { + isDraggingWidget = true; + } + + int var6 = var1 - field834 + clickedWidgetParent.scrollX; + int var7 = var2 - field835 + 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; + LoginPacket.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; + LoginPacket.runScriptEvent(var8); + } + + if (draggedOnWidget != null) { + Widget var9 = clickedWidget; + int var10 = class32.method545(class268.getWidgetClickMask(var9)); + Widget var15; + if (var10 == 0) { + var15 = null; + } else { + int var11 = 0; + + while (true) { + if (var11 >= var10) { + var15 = var9; + break; + } + + var9 = class80.getWidget(var9.parentId); + if (var9 == null) { + var15 = null; + break; + } + + ++var11; + } + } + + if (var15 != null) { + PacketBufferNode var16 = Archive.method4265(ClientPacket.field2260, packetWriter.isaacCipher); + var16.packetBuffer.method5530(clickedWidget.childIndex); + var16.packetBuffer.method5530(draggedOnWidget.itemId); + var16.packetBuffer.writeShort(draggedOnWidget.childIndex); + var16.packetBuffer.writeIntLE(clickedWidget.id); + var16.packetBuffer.writeIntME(draggedOnWidget.id); + var16.packetBuffer.writeShort(clickedWidget.itemId); + packetWriter.method2219(var16); + } + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(widgetClickX + field837, widgetClickY + field838); + } else if (menuOptionsCount > 0) { + int var13 = widgetClickX + field837; + int var14 = field838 + widgetClickY; + MenuAction var12 = tempMenuAction; + Messages.menuAction(var12.argument1, var12.argument2, var12.opcode, var12.argument0, var12.action, var12.action, var13, var14); + tempMenuAction = null; + } + + clickedWidget = null; + } + + } else { + if (class80.widgetDragDuration > 1) { + clickedWidget = null; + } + + } + } + + @ObfuscatedName("ku") + @ObfuscatedSignature( + signature = "(B)Ljv;", + garbageValue = "-19" + ) + @Export("username") + public Username username() { + return localPlayer != null ? localPlayer.username : null; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(III)Lhj;", + garbageValue = "323433634" + ) + @Export("getWidgetChild") + public static Widget getWidgetChild(int var0, int var1) { + Widget var2 = class80.getWidget(var0); + if (var1 == -1) { + return var2; + } else { + return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "([Lbw;II[I[IB)V", + garbageValue = "-109" + ) + @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 (var12 != var11) { + 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); + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1487250543" + ) + static final void method1650(String var0) { + StringBuilder var10000 = (new StringBuilder()).append(var0); + Object var10001 = null; + String var1 = var10000.append(" is already on your ignore list").toString(); + ScriptEvent.addGameMessage(30, "", var1); + } } diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index cc684eabd8..370fece8c0 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -4,650 +4,876 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gs") +@ObfuscatedName("gx") @Implements("ClientPacket") -public class ClientPacket implements ClientPacketMarker { - @ObfuscatedName("qh") - @ObfuscatedGetter( - intValue = 1076448827 - ) - static int field221; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field222; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field223; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field224; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field225; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field226; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field227; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field228; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field229; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field230; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field231; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field232; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field233; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field234; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field235; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field236; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field237; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field238; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field239; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field240; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field241; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field242; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field243; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field244; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field245; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field246; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field247; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field248; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field249; - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field250; - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field251; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field252; - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field253; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field254; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field255; - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field256; - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field257; - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field258; - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field259; - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field260; - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field261; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field262; - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field263; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field264; - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "Lgs;" - ) - static final ClientPacket field265; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field266; - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field267; - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field268; - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field269; - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field270; - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field271; - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field272; - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field273; - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field274; - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field275; - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field276; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field277; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field278; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field279; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field280; - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field281; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field282; - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field283; - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field284; - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field285; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field286; - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field287; - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field288; - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field289; - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field290; - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field291; - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field292; - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field293; - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field294; - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field295; - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field296; - @ObfuscatedName("be") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field297; - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field298; - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field299; - @ObfuscatedName("cr") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field300; - @ObfuscatedName("cv") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field301; - @ObfuscatedName("ce") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field302; - @ObfuscatedName("cy") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field303; - @ObfuscatedName("cs") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field304; - @ObfuscatedName("cm") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field305; - @ObfuscatedName("cj") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field306; - @ObfuscatedName("cu") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field307; - @ObfuscatedName("cb") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field308; - @ObfuscatedName("ck") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field309; - @ObfuscatedName("cn") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field310; - @ObfuscatedName("cq") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field311; - @ObfuscatedName("ch") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field312; - @ObfuscatedName("cw") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field313; - @ObfuscatedName("cg") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field314; - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field315; - @ObfuscatedName("cp") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field316; - @ObfuscatedName("cl") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field317; - @ObfuscatedName("ct") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field318; - @ObfuscatedName("cz") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field319; - @ObfuscatedName("cc") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public static final ClientPacket field320; - @ObfuscatedName("ci") - @ObfuscatedSignature( - signature = "Lgs;" - ) - static final ClientPacket field321; - @ObfuscatedName("cd") - @ObfuscatedGetter( - intValue = -286923745 - ) - @Export("id") - final int id; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = -1759434223 - ) - @Export("length") - final int length; +public class ClientPacket implements class181 { + @ObfuscatedName("ng") + @ObfuscatedGetter( + intValue = -1373117165 + ) + static int field2305; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2289; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2204; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2232; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2259; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2217; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2208; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2269; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2281; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2211; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2212; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2213; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2236; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2215; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2216; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2251; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2294; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2219; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2220; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2221; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2222; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2223; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2255; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2225; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2207; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2227; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2228; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2229; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2230; + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2231; + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2203; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2233; + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2214; + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2235; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2254; + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2237; + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2238; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2244; + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2240; + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2205; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2242; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2243; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2234; + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2245; + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "Lgx;" + ) + static final ClientPacket field2246; + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2247; + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2248; + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2249; + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2250; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2206; + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2300; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2253; + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2218; + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2262; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2293; + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2224; + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2277; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2301; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2260; + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2261; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2303; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2263; + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2296; + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2209; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2266; + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2267; + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2268; + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2264; + @ObfuscatedName("by") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2270; + @ObfuscatedName("bt") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2271; + @ObfuscatedName("bq") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2272; + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2273; + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2274; + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2265; + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2276; + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2256; + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2278; + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2279; + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2280; + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2286; + @ObfuscatedName("cf") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2282; + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2283; + @ObfuscatedName("cl") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2284; + @ObfuscatedName("cn") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2285; + @ObfuscatedName("cy") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2241; + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2287; + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2288; + @ObfuscatedName("cp") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2304; + @ObfuscatedName("ch") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2290; + @ObfuscatedName("co") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2291; + @ObfuscatedName("cw") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2292; + @ObfuscatedName("ca") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2210; + @ObfuscatedName("cb") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2252; + @ObfuscatedName("cx") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2295; + @ObfuscatedName("cu") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2257; + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2226; + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2298; + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2299; + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2258; + @ObfuscatedName("cz") + @ObfuscatedSignature( + signature = "Lgx;" + ) + public static final ClientPacket field2239; + @ObfuscatedName("cm") + @ObfuscatedSignature( + signature = "Lgx;" + ) + static final ClientPacket field2302; + @ObfuscatedName("ck") + @ObfuscatedGetter( + intValue = 690809523 + ) + @Export("id") + final int id; + @ObfuscatedName("cc") + @ObfuscatedGetter( + intValue = -571017815 + ) + @Export("length") + final int length; - ClientPacket(int var1, int var2) { - this.id = var1; - this.length = var2; - } + static { + field2289 = new ClientPacket(0, 8); + field2204 = new ClientPacket(1, 3); + field2232 = new ClientPacket(2, 14); + field2259 = new ClientPacket(3, 7); + field2217 = new ClientPacket(4, -1); + field2208 = new ClientPacket(5, 7); + field2269 = new ClientPacket(6, 7); + field2281 = new ClientPacket(7, 8); + field2211 = new ClientPacket(8, -1); + field2212 = new ClientPacket(9, 4); + field2213 = new ClientPacket(10, 7); + field2236 = new ClientPacket(11, 10); + field2215 = new ClientPacket(12, 13); + field2216 = new ClientPacket(13, -1); + field2251 = new ClientPacket(14, 8); + field2294 = new ClientPacket(15, 3); + field2219 = new ClientPacket(16, -2); + field2220 = new ClientPacket(17, 4); + field2221 = new ClientPacket(18, 15); + field2222 = new ClientPacket(19, 8); + field2223 = new ClientPacket(20, 0); + field2255 = new ClientPacket(21, 8); + field2225 = new ClientPacket(22, 0); + field2207 = new ClientPacket(23, 11); + field2227 = new ClientPacket(24, 2); + field2228 = new ClientPacket(25, -2); + field2229 = new ClientPacket(26, 8); + field2230 = new ClientPacket(27, 3); + field2231 = new ClientPacket(28, -1); + field2203 = new ClientPacket(29, 7); + field2233 = new ClientPacket(30, 2); + field2214 = new ClientPacket(31, 3); + field2235 = new ClientPacket(32, 8); + field2254 = new ClientPacket(33, 3); + field2237 = new ClientPacket(34, -1); + field2238 = new ClientPacket(35, 5); + field2244 = new ClientPacket(36, 2); + field2240 = new ClientPacket(37, 0); + field2205 = new ClientPacket(38, -1); + field2242 = new ClientPacket(39, 4); + field2243 = new ClientPacket(40, 8); + field2234 = new ClientPacket(41, 6); + field2245 = new ClientPacket(42, 2); + field2246 = new ClientPacket(43, -1); + field2247 = new ClientPacket(44, 15); + field2248 = new ClientPacket(45, 4); + field2249 = new ClientPacket(46, 8); + field2250 = new ClientPacket(47, 3); + field2206 = new ClientPacket(48, 8); + field2300 = new ClientPacket(49, 0); + field2253 = new ClientPacket(50, 3); + field2218 = new ClientPacket(51, 7); + field2262 = new ClientPacket(52, -1); + field2293 = new ClientPacket(53, 13); + field2224 = new ClientPacket(54, -1); + field2277 = new ClientPacket(55, 9); + field2301 = new ClientPacket(56, 3); + field2260 = new ClientPacket(57, 16); + field2261 = new ClientPacket(58, 8); + field2303 = new ClientPacket(59, 3); + field2263 = new ClientPacket(60, -1); + field2296 = new ClientPacket(61, 9); + field2209 = new ClientPacket(62, 3); + field2266 = new ClientPacket(63, 16); + field2267 = new ClientPacket(64, 8); + field2268 = new ClientPacket(65, 8); + field2264 = new ClientPacket(66, 8); + field2270 = new ClientPacket(67, -2); + field2271 = new ClientPacket(68, 8); + field2272 = new ClientPacket(69, 4); + field2273 = new ClientPacket(70, 6); + field2274 = new ClientPacket(71, 3); + field2265 = new ClientPacket(72, 8); + field2276 = new ClientPacket(73, 1); + field2256 = new ClientPacket(74, 7); + field2278 = new ClientPacket(75, 3); + field2279 = new ClientPacket(76, 0); + field2280 = new ClientPacket(77, -1); + field2286 = new ClientPacket(78, -1); + field2282 = new ClientPacket(79, 7); + field2283 = new ClientPacket(80, 9); + field2284 = new ClientPacket(81, 11); + field2285 = new ClientPacket(82, 16); + field2241 = new ClientPacket(83, 3); + field2287 = new ClientPacket(84, 8); + field2288 = new ClientPacket(85, 8); + field2304 = new ClientPacket(86, 9); + field2290 = new ClientPacket(87, 8); + field2291 = new ClientPacket(88, -1); + field2292 = new ClientPacket(89, 7); + field2210 = new ClientPacket(90, -1); + field2252 = new ClientPacket(91, -1); + field2295 = new ClientPacket(92, 13); + field2257 = new ClientPacket(93, 3); + field2226 = new ClientPacket(94, 7); + field2298 = new ClientPacket(95, -1); + field2299 = new ClientPacket(96, -1); + field2258 = new ClientPacket(97, -1); + field2239 = new ClientPacket(98, 8); + field2302 = new ClientPacket(99, 7); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)[Lis;", - garbageValue = "-26" - ) - public static StudioGame[] method3664() { - return new StudioGame[]{StudioGame.field889, StudioGame.field887, StudioGame.field891, StudioGame.field892, StudioGame.field888, StudioGame.field890}; - } + ClientPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)[Lcj;", - garbageValue = "-43" - ) - static AttackOption[] method3665() { - return new AttackOption[]{AttackOption.AttackOption_hidden, AttackOption.AttackOption_leftClickWhereAvailable, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_dependsOnCombatLevels}; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + garbageValue = "-231155257" + ) + public static String method3612(CharSequence var0) { + int var2 = var0.length(); + char[] var3 = new char[var2]; - static { - field222 = new ClientPacket(0, 8); - field223 = new ClientPacket(1, 3); - field224 = new ClientPacket(2, 14); - field225 = new ClientPacket(3, 7); - field226 = new ClientPacket(4, -1); - field227 = new ClientPacket(5, 7); - field228 = new ClientPacket(6, 7); - field229 = new ClientPacket(7, 8); - field230 = new ClientPacket(8, -1); - field231 = new ClientPacket(9, 4); - field232 = new ClientPacket(10, 7); - field233 = new ClientPacket(11, 10); - field234 = new ClientPacket(12, 13); - field235 = new ClientPacket(13, -1); - field236 = new ClientPacket(14, 8); - field237 = new ClientPacket(15, 3); - field238 = new ClientPacket(16, -2); - field239 = new ClientPacket(17, 4); - field240 = new ClientPacket(18, 15); - field241 = new ClientPacket(19, 8); - field242 = new ClientPacket(20, 0); - field243 = new ClientPacket(21, 8); - field244 = new ClientPacket(22, 0); - field245 = new ClientPacket(23, 11); - field246 = new ClientPacket(24, 2); - field247 = new ClientPacket(25, -2); - field248 = new ClientPacket(26, 8); - field249 = new ClientPacket(27, 3); - field250 = new ClientPacket(28, -1); - field251 = new ClientPacket(29, 7); - field252 = new ClientPacket(30, 2); - field253 = new ClientPacket(31, 3); - field254 = new ClientPacket(32, 8); - field255 = new ClientPacket(33, 3); - field256 = new ClientPacket(34, -1); - field257 = new ClientPacket(35, 5); - field258 = new ClientPacket(36, 2); - field259 = new ClientPacket(37, 0); - field260 = new ClientPacket(38, -1); - field261 = new ClientPacket(39, 4); - field262 = new ClientPacket(40, 8); - field263 = new ClientPacket(41, 6); - field264 = new ClientPacket(42, 2); - field265 = new ClientPacket(43, -1); - field266 = new ClientPacket(44, 15); - field267 = new ClientPacket(45, 4); - field268 = new ClientPacket(46, 8); - field269 = new ClientPacket(47, 3); - field270 = new ClientPacket(48, 8); - field271 = new ClientPacket(49, 0); - field272 = new ClientPacket(50, 3); - field273 = new ClientPacket(51, 7); - field274 = new ClientPacket(52, -1); - field275 = new ClientPacket(53, 13); - field276 = new ClientPacket(54, -1); - field277 = new ClientPacket(55, 9); - field278 = new ClientPacket(56, 3); - field279 = new ClientPacket(57, 16); - field280 = new ClientPacket(58, 8); - field281 = new ClientPacket(59, 3); - field282 = new ClientPacket(60, -1); - field283 = new ClientPacket(61, 9); - field284 = new ClientPacket(62, 3); - field285 = new ClientPacket(63, 16); - field286 = new ClientPacket(64, 8); - field287 = new ClientPacket(65, 8); - field288 = new ClientPacket(66, 8); - field289 = new ClientPacket(67, -2); - field290 = new ClientPacket(68, 8); - field291 = new ClientPacket(69, 4); - field292 = new ClientPacket(70, 6); - field293 = new ClientPacket(71, 3); - field294 = new ClientPacket(72, 8); - field295 = new ClientPacket(73, 1); - field296 = new ClientPacket(74, 7); - field297 = new ClientPacket(75, 3); - field298 = new ClientPacket(76, 0); - field299 = new ClientPacket(77, -1); - field300 = new ClientPacket(78, -1); - field301 = new ClientPacket(79, 7); - field302 = new ClientPacket(80, 9); - field303 = new ClientPacket(81, 11); - field304 = new ClientPacket(82, 16); - field305 = new ClientPacket(83, 3); - field306 = new ClientPacket(84, 8); - field307 = new ClientPacket(85, 8); - field308 = new ClientPacket(86, 9); - field309 = new ClientPacket(87, 8); - field310 = new ClientPacket(88, -1); - field311 = new ClientPacket(89, 7); - field312 = new ClientPacket(90, -1); - field313 = new ClientPacket(91, -1); - field314 = new ClientPacket(92, 13); - field315 = new ClientPacket(93, 3); - field316 = new ClientPacket(94, 7); - field317 = new ClientPacket(95, -1); - field318 = new ClientPacket(96, -1); - field319 = new ClientPacket(97, -1); - field320 = new ClientPacket(98, 8); - field321 = new ClientPacket(99, 7); - } + for (int var4 = 0; var4 < var2; ++var4) { + var3[var4] = '*'; + } + + String var1 = new String(var3); + return var1; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(IIIIIIILer;Lfv;I)V", + garbageValue = "1078750200" + ) + static final void method3611(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { + ObjectDefinition var9 = ViewportMouse.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[var12][var14] + var16[var13][var14] + var16[var12][var15] + var16[var13][var15] >> 2; + int var18 = (var2 << 7) + (var10 << 6); + int var19 = (var3 << 7) + (var11 << 6); + long var20 = Tile.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.method3562(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.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); + if (var9.interactType != 0) { + var8.method3560(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.field512[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3559(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.field513[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3559(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.field512[var5], Tiles.field512[var29], var20, var22); + if (var9.interactType != 0) { + var8.method3559(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.field513[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3559(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.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); + if (var9.interactType != 0) { + var8.method3560(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.field512[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 = ViewportMouse.getObjectDefinition(class43.method770(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.field512[var5], 0, var29 * Tiles.field514[var5], var29 * Tiles.field520[var5], var20, var22); + } else if (var6 == 6) { + var29 = 8; + var30 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = ViewportMouse.getObjectDefinition(class43.method770(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.field509[var5], var29 * Tiles.field517[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 = ViewportMouse.getObjectDefinition(class43.method770(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.field509[var5], var29 * Tiles.field517[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.method3076(var0, var2, var3, var17, var10, var11, (Entity)var23, var6 == 11 ? 256 : 0, var20, var22); + } + + if (var9.interactType != 0) { + var8.method3560(var2, var3, var10, var11, var9.boolean1); + } + + } + } } diff --git a/runescape-client/src/main/java/ClientPacketMarker.java b/runescape-client/src/main/java/ClientPacketMarker.java deleted file mode 100644 index 610094e054..0000000000 --- a/runescape-client/src/main/java/ClientPacketMarker.java +++ /dev/null @@ -1,7 +0,0 @@ -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("gb") -@Implements("ClientPacketMarker") -public interface ClientPacketMarker { -} diff --git a/runescape-client/src/main/java/ClientParameter.java b/runescape-client/src/main/java/ClientParameter.java index 85eddcd51d..249c00cc34 100644 --- a/runescape-client/src/main/java/ClientParameter.java +++ b/runescape-client/src/main/java/ClientParameter.java @@ -1,184 +1,157 @@ -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("ji") +@ObfuscatedName("jj") @Implements("ClientParameter") public class ClientParameter { - @ObfuscatedName("se") - @ObfuscatedSignature( - signature = "Liu;" - ) - public static class248 field3645; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field322; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field323; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field324; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field325; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field326; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field327; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field328; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field329; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field330; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field331; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field332; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field333; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lji;" - ) - public static final ClientParameter field334; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lji;" - ) - public static final ClientParameter field335; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field336; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field337; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field338; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field339; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lji;" - ) - static final ClientParameter field340; - @ObfuscatedName("fp") - @ObfuscatedSignature( - signature = "Lfu;" - ) - static AbstractSocket field341; - @ObfuscatedName("y") - @Export("id") - public final String id; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3589; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3582; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3583; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3591; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3585; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3581; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3584; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3588; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3600; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3593; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3590; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3592; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Ljj;" + ) + public static final ClientParameter field3587; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ljj;" + ) + public static final ClientParameter field3594; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3595; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3596; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3586; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3598; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Ljj;" + ) + static final ClientParameter field3599; + @ObfuscatedName("t") + @Export("id") + public final String id; - ClientParameter(String var1, String var2) { - this.id = var2; - } + static { + field3589 = new ClientParameter("8", "8"); + field3582 = new ClientParameter("15", "15"); + field3583 = new ClientParameter("7", "7"); + field3591 = new ClientParameter("10", "10"); + field3585 = new ClientParameter("16", "16"); + field3581 = new ClientParameter("12", "12"); + field3584 = new ClientParameter("3", "3"); + field3588 = new ClientParameter("6", "6"); + field3600 = new ClientParameter("17", "17"); + field3593 = new ClientParameter("5", "5"); + field3590 = new ClientParameter("9", "9"); + field3592 = new ClientParameter("14", "14"); + field3587 = new ClientParameter("18", "18"); + field3594 = new ClientParameter("13", "13"); + field3595 = new ClientParameter("4", "4"); + field3596 = new ClientParameter("1", "1"); + field3586 = new ClientParameter("11", "11"); + field3598 = new ClientParameter("2", "2"); + field3599 = new ClientParameter("19", "19"); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1723515140" - ) - @Export("loadWorlds") - static boolean loadWorlds() { - try { - if (FriendLoginUpdate.field356 == null) { - FriendLoginUpdate.field356 = TriBool.urlRequester.request(new URL(ServerBuild.worldsUrl)); - } else if (FriendLoginUpdate.field356.isDone()) { - byte[] var0 = FriendLoginUpdate.field356.getResponse(); - Buffer var1 = new Buffer(var0); - var1.readInt(); - World.worldsCount = var1.readUnsignedShort(); - ItemContainer.worlds = new World[World.worldsCount]; + ClientParameter(String var1, String var2) { + this.id = var2; + } - World var2; - for (int var3 = 0; var3 < World.worldsCount; var2.index = var3++) { - var2 = ItemContainer.worlds[var3] = new World(); - var2.id = var1.readUnsignedShort(); - var2.properties = var1.readInt(); - var2.host = var1.readStringCp1252NullTerminated(); - var2.activity = var1.readStringCp1252NullTerminated(); - var2.location = var1.readUnsignedByte(); - var2.population = var1.readShort(); - } + @ObfuscatedName("q") + static double method4991(double var0) { + return Math.exp(-var0 * var0 / 2.0D) / Math.sqrt(6.283185307179586D); + } - MilliClock.sortWorlds(ItemContainer.worlds, 0, ItemContainer.worlds.length - 1, World.sortOption1, World.sortOption2); - FriendLoginUpdate.field356 = null; - return true; - } - } catch (Exception var4) { - var4.printStackTrace(); - FriendLoginUpdate.field356 = null; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(DDII)[D", + garbageValue = "-694088627" + ) + public static double[] method4992(double var0, double var2, int var4) { + int var5 = var4 * 2 + 1; + double[] var6 = new double[var5]; + int var7 = -var4; - return false; - } + for (int var8 = 0; var7 <= var4; ++var8) { + double var11 = method4991(((double)var7 - var0) / var2) / var2; + var6[var8] = var11; + ++var7; + } - static { - field322 = new ClientParameter("8", "8"); - field323 = new ClientParameter("15", "15"); - field324 = new ClientParameter("7", "7"); - field325 = new ClientParameter("10", "10"); - field326 = new ClientParameter("16", "16"); - field327 = new ClientParameter("12", "12"); - field328 = new ClientParameter("3", "3"); - field329 = new ClientParameter("6", "6"); - field330 = new ClientParameter("17", "17"); - field331 = new ClientParameter("5", "5"); - field332 = new ClientParameter("9", "9"); - field333 = new ClientParameter("14", "14"); - field334 = new ClientParameter("18", "18"); - field335 = new ClientParameter("13", "13"); - field336 = new ClientParameter("4", "4"); - field337 = new ClientParameter("1", "1"); - field338 = new ClientParameter("11", "11"); - field339 = new ClientParameter("2", "2"); - field340 = new ClientParameter("19", "19"); - } + return var6; + } } diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index 3abd42b636..58ad6c0134 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -6,156 +6,494 @@ 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("bf") +@ObfuscatedName("bk") @Implements("ClientPreferences") public class ClientPreferences { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1548448409 - ) - static int field342; - @ObfuscatedName("gr") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("headIconPrayerSprites") - static Sprite[] headIconPrayerSprites; - @ObfuscatedName("q") - @Export("roofsHidden") - boolean roofsHidden; - @ObfuscatedName("w") - @Export("titleMusicDisabled") - boolean titleMusicDisabled; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -359530975 - ) - @Export("windowMode") - int windowMode; - @ObfuscatedName("u") - @Export("rememberedUsername") - String rememberedUsername; - @ObfuscatedName("g") - @Export("hideUsername") - boolean hideUsername; - @ObfuscatedName("l") - @Export("parameters") - LinkedHashMap parameters; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -802793057 + ) + @Export("ClientPreferences_optionCount") + static int ClientPreferences_optionCount; + @ObfuscatedName("ef") + @Export("worldHost") + static String worldHost; + @ObfuscatedName("e") + @Export("roofsHidden") + boolean roofsHidden; + @ObfuscatedName("p") + @Export("titleMusicDisabled") + boolean titleMusicDisabled; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1863029767 + ) + @Export("windowMode") + int windowMode; + @ObfuscatedName("l") + @Export("rememberedUsername") + String rememberedUsername; + @ObfuscatedName("b") + @Export("hideUsername") + boolean hideUsername; + @ObfuscatedName("i") + @Export("parameters") + LinkedHashMap parameters; - ClientPreferences() { - this.windowMode = 1; - this.rememberedUsername = null; - this.hideUsername = false; - this.parameters = new LinkedHashMap(); - this.method89(true); - } + static { + ClientPreferences_optionCount = 6; + } - @ObfuscatedSignature( - signature = "(Lgr;)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 <= field342) { - if (var1.readUnsignedByte() == 1) { - this.roofsHidden = true; - } + ClientPreferences() { + this.windowMode = 1; + this.rememberedUsername = null; + this.hideUsername = false; + this.parameters = new LinkedHashMap(); + this.method1749(true); + } - if (var2 > 1) { - this.titleMusicDisabled = var1.readUnsignedByte() == 1; - } + @ObfuscatedSignature( + signature = "(Lkf;)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 > 3) { - this.windowMode = var1.readUnsignedByte(); - } + if (var2 > 1) { + this.titleMusicDisabled = var1.readUnsignedByte() == 1; + } - if (var2 > 2) { - int var3 = var1.readUnsignedByte(); + if (var2 > 3) { + this.windowMode = var1.readUnsignedByte(); + } - for (int var4 = 0; var4 < var3; ++var4) { - int var5 = var1.readInt(); - int var6 = var1.readInt(); - this.parameters.put(var5, var6); - } - } + if (var2 > 2) { + int var3 = var1.readUnsignedByte(); - if (var2 > 4) { - this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); - } + for (int var4 = 0; var4 < var3; ++var4) { + int var5 = var1.readInt(); + int var6 = var1.readInt(); + this.parameters.put(var5, var6); + } + } - if (var2 > 5) { - this.hideUsername = var1.readBoolean(); - } - } else { - this.method89(true); - } - } else { - this.method89(true); - } + if (var2 > 4) { + this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); + } - } + if (var2 > 5) { + this.hideUsername = var1.readBoolean(); + } + } else { + this.method1749(true); + } + } else { + this.method1749(true); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "1213718182" - ) - void method89(boolean var1) { - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Lgr;", - garbageValue = "-469810794" - ) - @Export("toBuffer") - Buffer toBuffer() { - Buffer var1 = new Buffer(100); - var1.writeByte(field342); - 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(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(ZS)V", + garbageValue = "-11262" + ) + void method1749(boolean var1) { + } - while (var2.hasNext()) { - Entry var3 = (Entry)var2.next(); - var1.writeInt((Integer)var3.getKey()); - var1.writeInt((Integer)var3.getValue()); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Lkf;", + garbageValue = "-2138331500" + ) + @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(); - var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); - var1.writeBoolean(this.hideUsername); - return var1; - } + while (var2.hasNext()) { + Entry var3 = (Entry)var2.next(); + var1.writeInt((Integer)var3.getKey()); + var1.writeInt((Integer)var3.getValue()); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-1" - ) - public static int method1808(int var0) { - return HitSplatDefinition.method4972(ViewportMouse.ViewportMouse_entityTags[var0]); - } + var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); + var1.writeBoolean(this.hideUsername); + return var1; + } - @ObfuscatedName("jl") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "0" - ) - static final void method1809(int var0) { - if (GroundItemPile.loadInterface(var0)) { - NetFileRequest.method4555(Widget.interfaceComponents[var0], -1); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "([BIII)Ljava/lang/String;", + garbageValue = "917330802" + ) + public static String method1755(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; + } + } - static { - field342 = 6; - } + return new String(var3, 0, var4); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "-844505624" + ) + @Export("colorStartTag") + static String colorStartTag(int var0) { + return ""; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "-46" + ) + public static int method1757(int var0, int var1) { + int var2; + for (var2 = 0; var1 > 0; --var1) { + var2 = var2 << 1 | var0 & 1; + var0 >>>= 1; + } + + return var2; + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "-94" + ) + static int method1753(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.publicChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + Client.publicChatMode = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + class226.field3072 = NetSocket.method3530(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + if (class226.field3072 == null) { + class226.field3072 = class310.field3816; + } + + Client.field872 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + PacketBufferNode var18 = Archive.method4265(ClientPacket.field2294, Client.packetWriter.isaacCipher); + var18.packetBuffer.writeByte(Client.publicChatMode); + var18.packetBuffer.writeByte(class226.field3072.field3815); + var18.packetBuffer.writeByte(Client.field872); + Client.packetWriter.method2219(var18); + return 1; + } else { + String var3; + int var4; + if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + HealthBarUpdate.Interpreter_intStackSize -= 2; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + PacketBufferNode var6 = Archive.method4265(ClientPacket.field2205, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var3) + 2); + var6.packetBuffer.writeStringCp1252NullTerminated(var3); + var6.packetBuffer.writeByte(var4 - 1); + var6.packetBuffer.writeByte(var5); + Client.packetWriter.method2219(var6); + return 1; + } else { + int var10; + if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Message var15 = GroundItem.method2049(var10, var4); + if (var15 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.count; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.cycle; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var15.sender != null ? var15.sender : ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var15.prefix != null ? var15.prefix : ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var15.text != null ? var15.text : ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.isFromFriend() ? 1 : (var15.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Message var16 = WorldMapIcon_1.method297(var10); + if (var16 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.type; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.cycle; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var16.sender != null ? var16.sender : ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var16.prefix != null ? var16.prefix : ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var16.text != null ? var16.text : ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.isFromFriend() ? 1 : (var16.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { + if (class226.field3072 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class226.field3072.field3815; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.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 (ScriptFrame.field528 != class190.field2348) { + 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 (class190.field2348 != ScriptFrame.field528) { + 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 = Archive.method4265(ClientPacket.field2258, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(0); + int var9 = var8.packetBuffer.offset; + var8.packetBuffer.writeByte(var4); + var8.packetBuffer.writeByte(var17); + var8.packetBuffer.writeByte(var7); + Skeleton.method3063(var8.packetBuffer, var3); + var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); + Client.packetWriter.method2219(var8); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { + Skills.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize]; + String var12 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1]; + PacketBufferNode var11 = Archive.method4265(ClientPacket.field2228, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeShort(0); + int var13 = var11.packetBuffer.offset; + var11.packetBuffer.writeStringCp1252NullTerminated(var3); + Skeleton.method3063(var11.packetBuffer, var12); + var11.packetBuffer.writeLengthShort(var11.packetBuffer.offset - var13); + Client.packetWriter.method2219(var11); + return 1; + } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.field872; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = LoginScreenAnimation.method1744(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = MusicPatchNode2.method3686(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class192.method3669(var10); + return 1; + } else if (var0 == ScriptOpcodes.DOCHEAT) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + UserComparator1.doCheat(var3); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { + Client.field762 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize].toLowerCase().trim(); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = Client.field762; + return 1; + } else if (var0 == 5023) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + System.out.println(var3); + return 1; + } else { + return 2; + } + } else { + if (Client.localPlayer != null && Client.localPlayer.username != null) { + var3 = Client.localPlayer.username.getName(); + } else { + var3 = ""; + } + + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3; + return 1; + } + } + } + } } diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java index 914273354c..fd5b6ab917 100644 --- a/runescape-client/src/main/java/Clock.java +++ b/runescape-client/src/main/java/Clock.java @@ -3,87 +3,58 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fa") +@ObfuscatedName("fu") @Implements("Clock") public abstract class Clock { - @ObfuscatedName("lu") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("mousedOverWidgetIf1") - static Widget mousedOverWidgetIf1; + @ObfuscatedName("oi") + @ObfuscatedSignature( + signature = "Lca;" + ) + @Export("varcs") + static Varcs varcs; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "61" - ) - @Export("mark") - public abstract void mark(); + Clock() { + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-126803683" - ) - @Export("wait") - public abstract int wait(int cycleMs, int minSleepMs); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1402657312" + ) + @Export("mark") + public abstract void mark(); - @ObfuscatedName("m") - public static String method3534(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (0L == var0 % 37L) { - return null; - } else { - int var2 = 0; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-333181863" + ) + @Export("wait") + public abstract int wait(int var1, int var2); - for (long var3 = var0; var3 != 0L; var3 /= 37L) { - ++var2; - } + @ObfuscatedName("fx") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1434133306" + ) + @Export("setWindowedMode") + static void setWindowedMode(int var0) { + Client.field868 = 0L; + if (var0 >= 2) { + Client.isResizable = true; + } else { + Client.isResizable = false; + } - StringBuilder var4; - char var8; - for (var4 = new StringBuilder(var2); var0 != 0L; var4.append(var8)) { - long var5 = var0; - var0 /= 37L; - var8 = class306.base37Table[(int)(var5 - 37L * var0)]; - if (var8 == '_') { - int var7 = var4.length() - 1; - var4.setCharAt(var7, Character.toUpperCase(var4.charAt(var7))); - var8 = 160; - } - } + if (AbstractWorldMapIcon.getWindowedMode() == 1) { + WorldMapSprite.client.setMaxCanvasSize(765, 503); + } else { + WorldMapSprite.client.setMaxCanvasSize(7680, 2160); + } - var4.reverse(); - var4.setCharAt(0, Character.toUpperCase(var4.charAt(0))); - return var4.toString(); - } - } else { - return null; - } - } + if (Client.gameState >= 25) { + HealthBarUpdate.method1677(); + } - @ObfuscatedName("kz") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1555959688" - ) - static void method3533(String var0) { - class21.field1123 = var0; - - try { - String var1 = TextureProvider.client.getParameter(ClientParameter.field334.id); - String var2 = TextureProvider.client.getParameter(ClientParameter.field335.id); - 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=" + WorldMapSectionType.getDateString(class203.currentTimeMs() + 94608000000L) + "; Max-Age=" + 94608000L; - } - - class46.method850(TextureProvider.client, "document.cookie=\"" + var3 + "\""); - } catch (Throwable var4) { - } - - } + } } diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index 07d8425e12..ba7fc666c0 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -4,505 +4,486 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fy") +@ObfuscatedName("fv") @Implements("CollisionMap") public class CollisionMap { - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 264774249 - ) - @Export("xInset") - int xInset; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -1037712787 - ) - @Export("yInset") - int yInset; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 674483785 - ) - @Export("xSize") - int xSize; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -871458249 - ) - @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("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1687025486" - ) - @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("f") - @ObfuscatedSignature( - signature = "(IIIIZB)V", - garbageValue = "2" - ) - public void method90(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; - var2 -= this.yInset; - if (var3 == 0) { - if (var4 == 0) { - this.method94(var1, var2, 128); - this.method94(var1 - 1, var2, 8); - } - - if (var4 == 1) { - this.method94(var1, var2, 2); - this.method94(var1, var2 + 1, 32); - } - - if (var4 == 2) { - this.method94(var1, var2, 8); - this.method94(var1 + 1, var2, 128); - } - - if (var4 == 3) { - this.method94(var1, var2, 32); - this.method94(var1, var2 - 1, 2); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method94(var1, var2, 1); - this.method94(var1 - 1, var2 + 1, 16); - } - - if (var4 == 1) { - this.method94(var1, var2, 4); - this.method94(var1 + 1, var2 + 1, 64); - } - - if (var4 == 2) { - this.method94(var1, var2, 16); - this.method94(var1 + 1, var2 - 1, 1); - } - - if (var4 == 3) { - this.method94(var1, var2, 64); - this.method94(var1 - 1, var2 - 1, 4); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.method94(var1, var2, 130); - this.method94(var1 - 1, var2, 8); - this.method94(var1, var2 + 1, 32); - } - - if (var4 == 1) { - this.method94(var1, var2, 10); - this.method94(var1, var2 + 1, 32); - this.method94(var1 + 1, var2, 128); - } - - if (var4 == 2) { - this.method94(var1, var2, 40); - this.method94(var1 + 1, var2, 128); - this.method94(var1, var2 - 1, 2); - } - - if (var4 == 3) { - this.method94(var1, var2, 160); - this.method94(var1, var2 - 1, 2); - this.method94(var1 - 1, var2, 8); - } - } - - if (var5) { - if (var3 == 0) { - if (var4 == 0) { - this.method94(var1, var2, 65536); - this.method94(var1 - 1, var2, 4096); - } - - if (var4 == 1) { - this.method94(var1, var2, 1024); - this.method94(var1, var2 + 1, 16384); - } - - if (var4 == 2) { - this.method94(var1, var2, 4096); - this.method94(var1 + 1, var2, 65536); - } - - if (var4 == 3) { - this.method94(var1, var2, 16384); - this.method94(var1, var2 - 1, 1024); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method94(var1, var2, 512); - this.method94(var1 - 1, var2 + 1, 8192); - } - - if (var4 == 1) { - this.method94(var1, var2, 2048); - this.method94(var1 + 1, var2 + 1, 32768); - } - - if (var4 == 2) { - this.method94(var1, var2, 8192); - this.method94(var1 + 1, var2 - 1, 512); - } - - if (var4 == 3) { - this.method94(var1, var2, 32768); - this.method94(var1 - 1, var2 - 1, 2048); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.method94(var1, var2, 66560); - this.method94(var1 - 1, var2, 4096); - this.method94(var1, var2 + 1, 16384); - } - - if (var4 == 1) { - this.method94(var1, var2, 5120); - this.method94(var1, var2 + 1, 16384); - this.method94(var1 + 1, var2, 65536); - } - - if (var4 == 2) { - this.method94(var1, var2, 20480); - this.method94(var1 + 1, var2, 65536); - this.method94(var1, var2 - 1, 1024); - } - - if (var4 == 3) { - this.method94(var1, var2, 81920); - this.method94(var1, var2 - 1, 1024); - this.method94(var1 - 1, var2, 4096); - } - } - } - - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIIIZI)V", - garbageValue = "1813281219" - ) - public void method91(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.method94(var7, var8, var6); - } - } - } - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1082834717" - ) - public void method92(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var3 = this.flags[var1]; - var3[var2] |= 2097152; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "2022671149" - ) - public void method93(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var3 = this.flags[var1]; - var3[var2] |= 262144; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "953350100" - ) - void method94(int var1, int var2, int var3) { - int[] var4 = this.flags[var1]; - var4[var2] |= var3; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIIZB)V", - garbageValue = "54" - ) - public void method95(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; - var2 -= this.yInset; - if (var3 == 0) { - if (var4 == 0) { - this.method97(var1, var2, 128); - this.method97(var1 - 1, var2, 8); - } - - if (var4 == 1) { - this.method97(var1, var2, 2); - this.method97(var1, var2 + 1, 32); - } - - if (var4 == 2) { - this.method97(var1, var2, 8); - this.method97(var1 + 1, var2, 128); - } - - if (var4 == 3) { - this.method97(var1, var2, 32); - this.method97(var1, var2 - 1, 2); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method97(var1, var2, 1); - this.method97(var1 - 1, var2 + 1, 16); - } - - if (var4 == 1) { - this.method97(var1, var2, 4); - this.method97(var1 + 1, var2 + 1, 64); - } - - if (var4 == 2) { - this.method97(var1, var2, 16); - this.method97(var1 + 1, var2 - 1, 1); - } - - if (var4 == 3) { - this.method97(var1, var2, 64); - this.method97(var1 - 1, var2 - 1, 4); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.method97(var1, var2, 130); - this.method97(var1 - 1, var2, 8); - this.method97(var1, var2 + 1, 32); - } - - if (var4 == 1) { - this.method97(var1, var2, 10); - this.method97(var1, var2 + 1, 32); - this.method97(var1 + 1, var2, 128); - } - - if (var4 == 2) { - this.method97(var1, var2, 40); - this.method97(var1 + 1, var2, 128); - this.method97(var1, var2 - 1, 2); - } - - if (var4 == 3) { - this.method97(var1, var2, 160); - this.method97(var1, var2 - 1, 2); - this.method97(var1 - 1, var2, 8); - } - } - - if (var5) { - if (var3 == 0) { - if (var4 == 0) { - this.method97(var1, var2, 65536); - this.method97(var1 - 1, var2, 4096); - } - - if (var4 == 1) { - this.method97(var1, var2, 1024); - this.method97(var1, var2 + 1, 16384); - } - - if (var4 == 2) { - this.method97(var1, var2, 4096); - this.method97(var1 + 1, var2, 65536); - } - - if (var4 == 3) { - this.method97(var1, var2, 16384); - this.method97(var1, var2 - 1, 1024); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.method97(var1, var2, 512); - this.method97(var1 - 1, var2 + 1, 8192); - } - - if (var4 == 1) { - this.method97(var1, var2, 2048); - this.method97(var1 + 1, var2 + 1, 32768); - } - - if (var4 == 2) { - this.method97(var1, var2, 8192); - this.method97(var1 + 1, var2 - 1, 512); - } - - if (var4 == 3) { - this.method97(var1, var2, 32768); - this.method97(var1 - 1, var2 - 1, 2048); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.method97(var1, var2, 66560); - this.method97(var1 - 1, var2, 4096); - this.method97(var1, var2 + 1, 16384); - } - - if (var4 == 1) { - this.method97(var1, var2, 5120); - this.method97(var1, var2 + 1, 16384); - this.method97(var1 + 1, var2, 65536); - } - - if (var4 == 2) { - this.method97(var1, var2, 20480); - this.method97(var1 + 1, var2, 65536); - this.method97(var1, var2 - 1, 1024); - } - - if (var4 == 3) { - this.method97(var1, var2, 81920); - this.method97(var1, var2 - 1, 1024); - this.method97(var1 - 1, var2, 4096); - } - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIIIZB)V", - garbageValue = "23" - ) - public void method96(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.method97(var8, var9, var7); - } - } - } - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "52290294" - ) - void method97(int var1, int var2, int var3) { - int[] var4 = this.flags[var1]; - var4[var2] &= ~var3; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "37" - ) - public void method98(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var3 = this.flags[var1]; - var3[var2] &= -262145; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIB)I", - garbageValue = "108" - ) - public static int method3632(int var0, int var1, int var2) { - var2 &= 3; - return var2 == 0 ? var0 : (var2 == 1 ? var1 : (var2 == 2 ? 7 - var0 : 7 - var1)); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(CII)I", - garbageValue = "616878226" - ) - static int method3631(char var0, int var1) { - int var2 = var0 << 4; - if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { - var0 = Character.toLowerCase(var0); - var2 = (var0 << 4) + 1; - } - - return var2; - } + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1785681501 + ) + @Export("PcmPlayer_sampleRate") + public static int PcmPlayer_sampleRate; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1007844033 + ) + @Export("xInset") + public int xInset; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 97844873 + ) + @Export("yInset") + public int yInset; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1249565113 + ) + @Export("xSize") + int xSize; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 1188758843 + ) + @Export("ySize") + int ySize; + @ObfuscatedName("aj") + @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("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1772918444" + ) + @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("w") + @ObfuscatedSignature( + signature = "(IIIIZB)V", + garbageValue = "91" + ) + public void method3559(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.method3568(var1, var2, 128); + this.method3568(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.method3568(var1, var2, 2); + this.method3568(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.method3568(var1, var2, 8); + this.method3568(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.method3568(var1, var2, 32); + this.method3568(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.method3568(var1, var2, 1); + this.method3568(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.method3568(var1, var2, 4); + this.method3568(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.method3568(var1, var2, 16); + this.method3568(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.method3568(var1, var2, 64); + this.method3568(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.method3568(var1, var2, 130); + this.method3568(var1 - 1, var2, 8); + this.method3568(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.method3568(var1, var2, 10); + this.method3568(var1, var2 + 1, 32); + this.method3568(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.method3568(var1, var2, 40); + this.method3568(var1 + 1, var2, 128); + this.method3568(var1, var2 - 1, 2); + } + + if (var4 == 3) { + this.method3568(var1, var2, 160); + this.method3568(var1, var2 - 1, 2); + this.method3568(var1 - 1, var2, 8); + } + } + + if (var5) { + if (var3 == 0) { + if (var4 == 0) { + this.method3568(var1, var2, 65536); + this.method3568(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.method3568(var1, var2, 1024); + this.method3568(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.method3568(var1, var2, 4096); + this.method3568(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.method3568(var1, var2, 16384); + this.method3568(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.method3568(var1, var2, 512); + this.method3568(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.method3568(var1, var2, 2048); + this.method3568(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.method3568(var1, var2, 8192); + this.method3568(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.method3568(var1, var2, 32768); + this.method3568(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.method3568(var1, var2, 66560); + this.method3568(var1 - 1, var2, 4096); + this.method3568(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.method3568(var1, var2, 5120); + this.method3568(var1, var2 + 1, 16384); + this.method3568(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.method3568(var1, var2, 20480); + this.method3568(var1 + 1, var2, 65536); + this.method3568(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.method3568(var1, var2, 81920); + this.method3568(var1, var2 - 1, 1024); + this.method3568(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "-1502680936" + ) + public void method3560(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.method3568(var7, var8, var6); + } + } + } + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-2087203619" + ) + public void method3561(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] |= 2097152; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-363679248" + ) + public void method3562(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] |= 262144; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-883048141" + ) + void method3568(int var1, int var2, int var3) { + int[] var10000 = this.flags[var1]; + var10000[var2] |= var3; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "-1166825819" + ) + public void method3564(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.method3566(var1, var2, 128); + this.method3566(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.method3566(var1, var2, 2); + this.method3566(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.method3566(var1, var2, 8); + this.method3566(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.method3566(var1, var2, 32); + this.method3566(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.method3566(var1, var2, 1); + this.method3566(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.method3566(var1, var2, 4); + this.method3566(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.method3566(var1, var2, 16); + this.method3566(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.method3566(var1, var2, 64); + this.method3566(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.method3566(var1, var2, 130); + this.method3566(var1 - 1, var2, 8); + this.method3566(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.method3566(var1, var2, 10); + this.method3566(var1, var2 + 1, 32); + this.method3566(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.method3566(var1, var2, 40); + this.method3566(var1 + 1, var2, 128); + this.method3566(var1, var2 - 1, 2); + } + + if (var4 == 3) { + this.method3566(var1, var2, 160); + this.method3566(var1, var2 - 1, 2); + this.method3566(var1 - 1, var2, 8); + } + } + + if (var5) { + if (var3 == 0) { + if (var4 == 0) { + this.method3566(var1, var2, 65536); + this.method3566(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.method3566(var1, var2, 1024); + this.method3566(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.method3566(var1, var2, 4096); + this.method3566(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.method3566(var1, var2, 16384); + this.method3566(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.method3566(var1, var2, 512); + this.method3566(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.method3566(var1, var2, 2048); + this.method3566(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.method3566(var1, var2, 8192); + this.method3566(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.method3566(var1, var2, 32768); + this.method3566(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.method3566(var1, var2, 66560); + this.method3566(var1 - 1, var2, 4096); + this.method3566(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.method3566(var1, var2, 5120); + this.method3566(var1, var2 + 1, 16384); + this.method3566(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.method3566(var1, var2, 20480); + this.method3566(var1 + 1, var2, 65536); + this.method3566(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.method3566(var1, var2, 81920); + this.method3566(var1, var2 - 1, 1024); + this.method3566(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(IIIIIZB)V", + garbageValue = "-77" + ) + public void method3565(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.method3566(var8, var9, var7); + } + } + } + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1617846942" + ) + void method3566(int var1, int var2, int var3) { + int[] var10000 = this.flags[var1]; + var10000[var2] &= ~var3; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-34" + ) + public void method3567(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] &= -262145; + } } diff --git a/runescape-client/src/main/java/Coord.java b/runescape-client/src/main/java/Coord.java index b50902a475..af93ca4c6b 100644 --- a/runescape-client/src/main/java/Coord.java +++ b/runescape-client/src/main/java/Coord.java @@ -4,93 +4,129 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hu") +@ObfuscatedName("hv") @Implements("Coord") public class Coord { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 503621925 - ) - @Export("plane") - public int plane; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1225620013 - ) - @Export("x") - public int x; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 154740833 - ) - @Export("y") - public int y; + @ObfuscatedName("fy") + @ObfuscatedSignature( + signature = "Lke;" + ) + @Export("fontPlain11") + static Font fontPlain11; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -618740747 + ) + @Export("plane") + public int plane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -224554023 + ) + @Export("x") + public int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1025191447 + ) + @Export("y") + public int y; - @ObfuscatedSignature( - signature = "(Lhu;)V" - ) - public Coord(Coord var1) { - this.plane = var1.plane; - this.x = var1.x; - this.y = var1.y; - } + @ObfuscatedSignature( + signature = "(Lhv;)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, 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; - } + 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("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1645833361" - ) - @Export("packed") - public int packed() { - return this.plane << 28 | this.x << 14 | this.y; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1529444039" + ) + @Export("packed") + public int packed() { + return this.plane << 28 | this.x << 14 | this.y; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lhu;B)Z", - garbageValue = "-1" - ) - @Export("equalsCoord") - boolean equalsCoord(Coord other) { - return this.plane != other.plane ? false : (this.x != other.x ? false : this.y == other.y); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lhv;I)Z", + garbageValue = "2096599249" + ) + @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("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "997364398" - ) - @Export("toString") - String toString(String separator) { - return this.plane + separator + (this.x >> 6) + separator + (this.y >> 6) + separator + (this.x & 63) + separator + (this.y & 63); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1242820641" + ) + @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) { - return this == var1 ? true : (!(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1)); - } + public int hashCode() { + return this.packed(); + } - public int hashCode() { - return this.packed(); - } + public boolean equals(Object var1) { + if (this == var1) { + return true; + } else { + return !(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1); + } + } - public String toString() { - return this.toString(","); - } + public String toString() { + return this.toString(","); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1626401232" + ) + @Export("ParamDefinition_clearCached") + public static void ParamDefinition_clearCached() { + ParamDefinition.ParamDefinition_cached.clear(); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-40" + ) + static void method3990() { + Login.loginIndex = 24; + class268.setLoginResponseString("", "You were disconnected from the server.", ""); + } } diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index 3a8f3dd9e9..ebe5355063 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -3,247 +3,809 @@ 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("dp") +@ObfuscatedName("dz") @Implements("Decimator") public class Decimator { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1376358157 - ) - @Export("inputRate") - int inputRate; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -876645877 - ) - @Export("outputRate") - int outputRate; - @ObfuscatedName("u") - @Export("table") - int[][] table; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("options_buttons_2Sprite") + static IndexedSprite options_buttons_2Sprite; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1067673039 + ) + @Export("inputRate") + int inputRate; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1870278153 + ) + @Export("outputRate") + int outputRate; + @ObfuscatedName("l") + @Export("table") + int[][] table; - public Decimator(int var1, int var2) { - if (var2 != var1) { - int var3 = var1; - int var4 = var2; - if (var2 > var1) { - var3 = var2; - var4 = var1; - } + public Decimator(int var1, int var2) { + if (var2 != var1) { + int var3 = FriendSystem.method1819(var1, var2); + var1 /= var3; + var2 /= var3; + this.inputRate = var1; + this.outputRate = var2; + this.table = new int[var1][14]; - int var5; - while (var4 != 0) { - var5 = var3 % var4; - var3 = var4; - var4 = var5; - } + for (int var4 = 0; var4 < var1; ++var4) { + int[] var5 = this.table[var4]; + double var6 = (double)var4 / (double)var1 + 6.0D; + int var8 = (int)Math.floor(1.0D + (var6 - 7.0D)); + if (var8 < 0) { + var8 = 0; + } - var1 /= var3; - var2 /= var3; - this.inputRate = var1; - this.outputRate = var2; - this.table = new int[var1][14]; + int var9 = (int)Math.ceil(7.0D + var6); + if (var9 > 14) { + var9 = 14; + } - for (var5 = 0; var5 < var1; ++var5) { - int[] var6 = this.table[var5]; - double var7 = (double)var5 / (double)var1 + 6.0D; - int var9 = (int)Math.floor(var7 - 7.0D + 1.0D); - if (var9 < 0) { - var9 = 0; - } + for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) { + double var12 = 3.141592653589793D * ((double)var8 - var6); + double var14 = var10; + if (var12 < -1.0E-4D || var12 > 1.0E-4D) { + var14 = var10 * (Math.sin(var12) / var12); + } - int var10 = (int)Math.ceil(var7 + 7.0D); - if (var10 > 14) { - var10 = 14; - } + var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D); + var5[var8] = (int)Math.floor(0.5D + var14 * 65536.0D); + } + } - for (double var11 = (double)var2 / (double)var1; var9 < var10; ++var9) { - double var13 = ((double)var9 - var7) * 3.141592653589793D; - double var15 = var11; - if (var13 < -1.0E-4D || var13 > 1.0E-4D) { - var15 = var11 * (Math.sin(var13) / var13); - } + } + } - var15 *= 0.54D + 0.46D * Math.cos(((double)var9 - var7) * 0.2243994752564138D); - var6[var9] = (int)Math.floor(0.5D + var15 * 65536.0D); - } - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BB)[B", + garbageValue = "68" + ) + @Export("resample") + byte[] resample(byte[] var1) { + if (this.table != null) { + int var2 = (int)((long)this.outputRate * (long)var1.length / (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]; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BI)[B", - garbageValue = "1292206986" - ) - @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 var9; + for (var9 = 0; var9 < 14; ++var9) { + var3[var4 + var9] += var7 * var8[var9]; + } - int var6; - for (var6 = 0; var6 < var1.length; ++var6) { - byte var7 = var1[var6]; - int[] var8 = this.table[var5]; + var5 += this.outputRate; + var9 = var5 / this.inputRate; + var4 += var9; + var5 -= var9 * this.inputRate; + } - int var9; - for (var9 = 0; var9 < 14; ++var9) { - var3[var9 + var4] += var8[var9] * var7; - } + var1 = new byte[var2]; - var5 += this.outputRate; - var9 = var5 / this.inputRate; - var4 += var9; - var5 -= var9 * this.inputRate; - } + 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; + } + } + } - var1 = new byte[var2]; + return var1; + } - 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; - } - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1569802818" + ) + @Export("scaleRate") + int scaleRate(int var1) { + if (this.table != null) { + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate); + } - return var1; - } + return var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1419232405" - ) - @Export("scaleRate") - int scaleRate(int rate) { - if (this.table != null) { - rate = (int)((long)this.outputRate * (long)rate / (long)this.inputRate); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1732624791" + ) + @Export("scalePosition") + int scalePosition(int var1) { + if (this.table != null) { + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; + } - return rate; - } + return var1; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "25" - ) - @Export("scalePosition") - int scalePosition(int position) { - if (this.table != null) { - position = (int)((long)this.outputRate * (long)position / (long)this.inputRate) + 6; - } + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "1" + ) + static final int method2517(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 position; - } + return var1; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1214582149" - ) - public static final boolean method2490() { - KeyHandler var0 = KeyHandler.KeyHandler_instance; - synchronized(KeyHandler.KeyHandler_instance) { - if (KeyHandler.field453 == KeyHandler.field455) { - return false; - } else { - ArchiveDiskAction.field411 = KeyHandler.field450[KeyHandler.field453]; - GzipDecompressor.field378 = KeyHandler.field449[KeyHandler.field453]; - KeyHandler.field453 = KeyHandler.field453 + 1 & 127; - return true; - } - } - } + return (var0 & 65408) + var1; + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ldu;IIII)Z", - garbageValue = "555449756" - ) - @Export("boundingBoxCheck") - static final boolean boundingBoxCheck(Model model, int x, int y, int z) { - boolean var4 = ViewportMouse.ViewportMouse_isInViewport; - if (!var4) { - return false; - } else { - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var13; - if (!ViewportMouse.ViewportMouse_false0) { - var5 = Scene.Scene_cameraPitchSine; - var6 = Scene.Scene_cameraPitchCosine; - var7 = Scene.Scene_cameraYawSine; - var8 = Scene.Scene_cameraYawCosine; - byte var14 = 50; - short var15 = 3500; - var9 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var14 / Rasterizer3D.Rasterizer3D_zoom; - var10 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var14 / Rasterizer3D.Rasterizer3D_zoom; - var11 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var15 / Rasterizer3D.Rasterizer3D_zoom; - int var16 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var15 / Rasterizer3D.Rasterizer3D_zoom; - int var17 = Rasterizer3D.rot1(var10, var14, var6, var5); - var12 = Rasterizer3D.rot2(var10, var14, var6, var5); - var10 = var17; - var17 = Rasterizer3D.rot1(var16, var15, var6, var5); - var13 = Rasterizer3D.rot2(var16, var15, var6, var5); - var16 = var17; - var17 = Rasterizer3D.rot3(var9, var12, var8, var7); - var12 = Rasterizer3D.rot4(var9, var12, var8, var7); - var9 = var17; - var17 = Rasterizer3D.rot3(var11, var13, var8, var7); - var13 = Rasterizer3D.rot4(var11, var13, var8, var7); - AccessFile.field7 = (var9 + var17) / 2; - ViewportMouse.field951 = (var16 + var10) / 2; - ViewportMouse.field952 = (var13 + var12) / 2; - ViewportMouse.field953 = (var17 - var9) / 2; - DefaultsGroup.field1156 = (var16 - var10) / 2; - Skeleton.field874 = (var13 - var12) / 2; - GraphicsObject.field377 = Math.abs(ViewportMouse.field953); - ViewportMouse.field954 = Math.abs(DefaultsGroup.field1156); - class248.field1142 = Math.abs(Skeleton.field874); - } + @ObfuscatedName("ge") + @ObfuscatedSignature( + signature = "(Lbq;IIIIII)V", + garbageValue = "-1193836953" + ) + @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(); + } - var5 = model.xMid + x; - var6 = y + model.yMid; - var7 = z + model.zMid; - var8 = model.xMidOffset; - var12 = model.yMidOffset; - var13 = model.zMidOffset; - var9 = AccessFile.field7 - var5; - var10 = ViewportMouse.field951 - var6; - var11 = ViewportMouse.field952 - var7; - return Math.abs(var9) > var8 + GraphicsObject.field377 ? false : (Math.abs(var10) > var12 + ViewportMouse.field954 ? false : (Math.abs(var11) > var13 + class248.field1142 ? false : (Math.abs(var11 * DefaultsGroup.field1156 - var10 * Skeleton.field874) > var13 * ViewportMouse.field954 + var12 * class248.field1142 ? false : (Math.abs(var9 * Skeleton.field874 - var11 * ViewportMouse.field953) > var8 * class248.field1142 + var13 * GraphicsObject.field377 ? false : Math.abs(var10 * ViewportMouse.field953 - var9 * DefaultsGroup.field1156) <= var8 * ViewportMouse.field954 + var12 * GraphicsObject.field377)))); - } - } + if (var6 == null) { + return; + } + } - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-858740470" - ) - static int method2492(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.LOGOUT) { - Client.field175 = 250; - return 1; - } else { - return 2; - } - } + int var75 = Players.Players_count; + int[] var7 = Players.Players_indices; + byte var8 = 0; + Player var10; + if (var1 < var75 && var0.playerCycle == Client.cycle) { + var10 = (Player)var0; + boolean var9; + if (Client.field774 == 0) { + var9 = false; + } else { + boolean var78; + if (var10 != Client.localPlayer) { + var78 = (Client.field774 & 4) != 0; + boolean var79 = var78; + boolean var13; + if (!var78) { + var13 = (Client.field774 & 1) != 0; + var79 = var13 && var10.isFriend(); + } + + var13 = var79; + if (!var79) { + boolean var80 = (Client.field774 & 2) != 0; + var13 = var80 && var10.isClanMember(); + } + + var9 = var13; + } else { + var78 = (Client.field774 & 8) != 0; + var9 = var78; + } + } + + if (var9) { + Player var11 = (Player)var0; + if (var1 < var75) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + AbstractFont var12 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); + byte var92 = 9; + var12.drawCentered(var11.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var92, 16777215, 0); + var8 = 18; + } + } + } + + int var87 = -2; + int var15; + int var22; + int var23; + if (!var0.healthBars.isEmpty()) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + + for (HealthBar var88 = (HealthBar)var0.healthBars.last(); var88 != null; var88 = (HealthBar)var0.healthBars.previous()) { + HealthBarUpdate var89 = var88.get(Client.cycle); + if (var89 == null) { + if (var88.isEmpty()) { + var88.remove(); + } + } else { + HealthBarDefinition var91 = var88.definition; + Sprite var76 = var91.getBackSprite(); + Sprite var14 = var91.getFrontSprite(); + int var16 = 0; + if (var76 != null && var14 != null) { + if (var91.widthPadding * 2 < var14.subWidth) { + var16 = var91.widthPadding; + } + + var15 = var14.subWidth - var16 * 2; + } else { + var15 = var91.width; + } + + int var17 = 255; + boolean var18 = true; + int var19 = Client.cycle - var89.cycle; + int var20 = var15 * var89.health2 / var91.width; + int var21; + int var93; + if (var89.cycleOffset > var19) { + var21 = var91.int4 == 0 ? 0 : var91.int4 * (var19 / var91.int4); + var22 = var15 * var89.health / var91.width; + var93 = var21 * (var20 - var22) / var89.cycleOffset + var22; + } else { + var93 = var20; + var21 = var89.cycleOffset + var91.int5 - var19; + if (var91.int3 >= 0) { + var17 = (var21 << 8) / (var91.int5 - var91.int3); + } + } + + if (var89.health2 > 0 && var93 < 1) { + var93 = 1; + } + + if (var76 != null && var14 != null) { + if (var93 == var15) { + var93 += var16 * 2; + } else { + var93 += var16; + } + + var21 = var76.subHeight; + var87 += var21; + var22 = var2 + Client.viewportTempX - (var15 >> 1); + var23 = var3 + Client.viewportTempY - var87; + var22 -= var16; + if (var17 >= 0 && var17 < 255) { + var76.method6129(var22, var23, var17); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23); + var14.method6129(var22, var23, var17); + } else { + var76.drawAt2(var22, var23); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var21 + var23); + var14.drawAt2(var22, var23); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); + var87 += 2; + } else { + var87 += 5; + if (Client.viewportTempX > -1) { + var21 = var2 + Client.viewportTempX - (var15 >> 1); + var22 = var3 + Client.viewportTempY - var87; + Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var93, 5, 65280); + Rasterizer2D.Rasterizer2D_fillRectangle(var21 + var93, var22, var15 - var93, 5, 16711680); + } + + var87 += 2; + } + } + } + } + + if (var87 == -2) { + var87 += 7; + } + + var87 += var8; + if (var1 < var75) { + var10 = (Player)var0; + if (var10.isHidden) { + return; + } + + if (var10.headIconPk != -1 || var10.headIconPrayer != -1) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + if (var10.headIconPk != -1) { + var87 += 25; + UserComparator3.headIconPkSprites[var10.headIconPk].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + + if (var10.headIconPrayer != -1) { + var87 += 25; + SoundCache.headIconPrayerSprites[var10.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + } + } + + if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + var87 += class173.headIconHintSprites[1].subHeight; + class173.headIconHintSprites[1].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + } + } else { + NPCDefinition var90 = ((NPC)var0).definition; + if (var90.transforms != null) { + var90 = var90.transform(); + } + + if (var90.headIconPrayer >= 0 && var90.headIconPrayer < SoundCache.headIconPrayerSprites.length) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + SoundCache.headIconPrayerSprites[var90.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); + } + } + + if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { + class219.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + class173.headIconHintSprites[0].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); + } + } + } + + if (var0.overheadText != null && (var1 >= var75 || !var0.field998 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { + class219.getActorScreenLocation(var0, var0.defaultHeight); + if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { + Client.overheadTextXOffsets[Client.overheadTextCount] = WorldMapIcon_1.fontBold12.stringWidth(var0.overheadText) / 2; + Client.overheadTextAscents[Client.overheadTextCount] = WorldMapIcon_1.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 var77 = 0; var77 < 4; ++var77) { + int var96 = var0.hitSplatCycles[var77]; + int var97 = var0.hitSplatTypes[var77]; + HitSplatDefinition var95 = null; + int var98 = 0; + if (var97 >= 0) { + if (var96 <= Client.cycle) { + continue; + } + + var95 = Projectile.getHitSplatDefinition(var0.hitSplatTypes[var77]); + var98 = var95.field3344; + if (var95 != null && var95.transforms != null) { + var95 = var95.transform(); + if (var95 == null) { + var0.hitSplatCycles[var77] = -1; + continue; + } + } + } else if (var96 < 0) { + continue; + } + + var15 = var0.hitSplatTypes2[var77]; + HitSplatDefinition var81 = null; + if (var15 >= 0) { + var81 = Projectile.getHitSplatDefinition(var15); + if (var81 != null && var81.transforms != null) { + var81 = var81.transform(); + } + } + + if (var96 - var98 <= Client.cycle) { + if (var95 == null) { + var0.hitSplatCycles[var77] = -1; + } else { + class219.getActorScreenLocation(var0, var0.defaultHeight / 2); + if (Client.viewportTempX > -1) { + if (var77 == 1) { + Client.viewportTempY -= 20; + } + + if (var77 == 2) { + Client.viewportTempX -= 15; + Client.viewportTempY -= 10; + } + + if (var77 == 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 = var95.method4551(); + int var43; + if (var82 != null) { + var22 = var82.subWidth; + var43 = var82.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var26 = var82.yOffset; + } + + var83 = var95.method4557(); + if (var83 != null) { + var23 = var83.subWidth; + var43 = var83.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var27 = var83.yOffset; + } + + var84 = var95.method4558(); + if (var84 != null) { + var24 = var84.subWidth; + var43 = var84.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var28 = var84.yOffset; + } + + var85 = var95.method4583(); + if (var85 != null) { + var25 = var85.subWidth; + var43 = var85.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var29 = var85.yOffset; + } + + if (var81 != null) { + var30 = var81.method4551(); + if (var30 != null) { + var34 = var30.subWidth; + var43 = var30.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var38 = var30.yOffset; + } + + var31 = var81.method4557(); + if (var31 != null) { + var35 = var31.subWidth; + var43 = var31.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var39 = var31.yOffset; + } + + var32 = var81.method4558(); + if (var32 != null) { + var36 = var32.subWidth; + var43 = var32.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var40 = var32.yOffset; + } + + var33 = var81.method4583(); + if (var33 != null) { + var37 = var33.subWidth; + var43 = var33.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var41 = var33.yOffset; + } + } + + Font var86 = var95.getFont(); + if (var86 == null) { + var86 = Coord.fontPlain11; + } + + Font var44; + if (var81 != null) { + var44 = var81.getFont(); + if (var44 == null) { + var44 = Coord.fontPlain11; + } + } else { + var44 = Coord.fontPlain11; + } + + String var45 = null; + String var46 = null; + boolean var47 = false; + int var48 = 0; + var45 = var95.getString(var0.hitSplatValues[var77]); + int var94 = var86.stringWidth(var45); + if (var81 != null) { + var46 = var81.getString(var0.hitSplatValues2[var77]); + var48 = var44.stringWidth(var46); + } + + int var49 = 0; + int var50 = 0; + if (var23 > 0) { + if (var84 == null && var85 == null) { + var49 = 1; + } else { + var49 = var94 / 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 - var94) / 2; + } else { + var51 += var94; + } + + 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 = var50 * var35; + var51 += var62; + var61 += (var62 - var48) / 2; + } else { + var51 += var48; + } + + var60 = var51; + if (var37 > 0) { + var51 += var37; + } + } + + var62 = var0.hitSplatCycles[var77] - Client.cycle; + int var63 = var95.field3335 - var62 * var95.field3335 / var95.field3344; + int var64 = var62 * var95.field3340 / var95.field3344 + -var95.field3340; + 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 + var95.field3328 + 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.field3328 + 15; + var73 = var72 - var44.maxAscent; + var74 = var72 + var44.maxDescent; + if (var73 < var67) { + ; + } + + if (var74 > var68) { + ; + } + } + + var73 = 255; + if (var95.field3341 >= 0) { + var73 = (var62 << 8) / (var95.field3344 - var95.field3341); + } + + if (var73 >= 0 && var73 < 255) { + if (var82 != null) { + var82.method6129(var65 + var52 - var26, var66, var73); + } + + if (var84 != null) { + var84.method6129(var65 + var53 - var28, var66, var73); + } + + if (var83 != null) { + for (var74 = 0; var74 < var49; ++var74) { + var83.method6129(var23 * var74 + (var54 + var65 - var27), var66, var73); + } + } + + if (var85 != null) { + var85.method6129(var56 + var65 - var29, var66, var73); + } + + var86.drawAlpha(var45, var55 + var65, var69, var95.field3333, 0, var73); + if (var81 != null) { + if (var30 != null) { + var30.method6129(var65 + var57 - var38, var66, var73); + } + + if (var32 != null) { + var32.method6129(var65 + var58 - var40, var66, var73); + } + + if (var31 != null) { + for (var74 = 0; var74 < var50; ++var74) { + var31.method6129(var74 * var35 + (var65 + var59 - var39), var66, var73); + } + } + + if (var33 != null) { + var33.method6129(var60 + var65 - var41, var66, var73); + } + + var44.drawAlpha(var46, var65 + var61, var72, var81.field3333, 0, var73); + } + } else { + if (var82 != null) { + var82.drawAt2(var52 + var65 - var26, var66); + } + + if (var84 != null) { + var84.drawAt2(var53 + var65 - var28, var66); + } + + if (var83 != null) { + for (var74 = 0; var74 < var49; ++var74) { + var83.drawAt2(var74 * var23 + (var65 + var54 - var27), var66); + } + } + + if (var85 != null) { + var85.drawAt2(var65 + var56 - var29, var66); + } + + var86.draw(var45, var65 + var55, var69, var95.field3333 | -16777216, 0); + if (var81 != null) { + if (var30 != null) { + var30.drawAt2(var57 + var65 - var38, var66); + } + + if (var32 != null) { + var32.drawAt2(var58 + var65 - var40, var66); + } + + if (var31 != null) { + for (var74 = 0; var74 < var50; ++var74) { + var31.drawAt2(var74 * var35 + (var65 + var59 - var39), var66); + } + } + + if (var33 != null) { + var33.drawAt2(var60 + var65 - var41, var66); + } + + var44.draw(var46, var61 + var65, var72, var81.field3333 | -16777216, 0); + } + } + } + } + } + } + + } + } + + @ObfuscatedName("je") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1767057302" + ) + static void method2510(int var0) { + Client.tempMenuAction = new MenuAction(); + Client.tempMenuAction.argument1 = Client.menuArguments1[var0]; + Client.tempMenuAction.argument2 = Client.menuArguments2[var0]; + Client.tempMenuAction.opcode = Client.menuOpcodes[var0]; + Client.tempMenuAction.argument0 = Client.menuArguments0[var0]; + Client.tempMenuAction.action = Client.menuActions[var0]; + } } diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index 03f11c56c7..4cf01ba6cc 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -4,41 +4,40 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ka") +@ObfuscatedName("kt") @Implements("DefaultsGroup") public class DefaultsGroup { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lka;" - ) - @Export("DefaultsGroup_graphics") - static final DefaultsGroup DefaultsGroup_graphics; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -2077113503 - ) - static int field1156; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -800980069 - ) - @Export("group") - final int group; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lkt;" + ) + static final DefaultsGroup field3821; + @ObfuscatedName("go") + @ObfuscatedGetter( + intValue = -909445377 + ) + static int field3819; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1207021413 + ) + @Export("group") + final int group; - DefaultsGroup(int var1) { - this.group = var1; - } + static { + field3821 = new DefaultsGroup(3); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Llj;", - garbageValue = "-2017595575" - ) - public static RectangleMode[] method5822() { - return new RectangleMode[]{RectangleMode.GRADIENT_COLOR, RectangleMode.SOLID, RectangleMode.GRADIENT_ALPHA}; - } + DefaultsGroup(int var1) { + this.group = var1; + } - static { - DefaultsGroup_graphics = new DefaultsGroup(3); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)Ljava/lang/String;", + garbageValue = "39" + ) + public static String method5898(Buffer var0) { + return WorldMapIcon_0.method194(var0, 32767); + } } diff --git a/runescape-client/src/main/java/DemotingHashTable.java b/runescape-client/src/main/java/DemotingHashTable.java index 0ff369a59b..10663458e9 100644 --- a/runescape-client/src/main/java/DemotingHashTable.java +++ b/runescape-client/src/main/java/DemotingHashTable.java @@ -3,139 +3,154 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ec") +@ObfuscatedName("ed") @Implements("DemotingHashTable") public final class DemotingHashTable { - @ObfuscatedName("m") - @Export("capacity") - int capacity; - @ObfuscatedName("f") - @Export("remaining") - int remaining; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ljc;" - ) - @Export("queue") - IterableDualNodeQueue queue; + @ObfuscatedName("q") + @Export("capacity") + int capacity; + @ObfuscatedName("w") + @Export("remaining") + int remaining; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljk;" + ) + @Export("queue") + IterableDualNodeQueue queue; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lep;" + ) + class146 field1966; - public DemotingHashTable(int var1, int var2) { - this.queue = new IterableDualNodeQueue(); - this.capacity = var1; - this.remaining = var1; + 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) { - } + int var3; + for (var3 = 1; var3 + var3 < var1 && var3 < var2; var3 += var3) { + } - this.hashTable = new IterableNodeHashTable(var3); - } + this.hashTable = new IterableNodeHashTable(var3); + } - @ObfuscatedName("m") - @Export("get") - public Object get(long key) { - Wrapper var3 = (Wrapper)this.hashTable.get(key); - 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; - } + @ObfuscatedName("q") + @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; - } - } - } + return var4; + } + } + } - @ObfuscatedName("f") - @Export("remove") - void remove(long key) { - Wrapper var3 = (Wrapper)this.hashTable.get(key); - this.removeWrapper(var3); - } + @ObfuscatedName("w") + @Export("remove") + void remove(long var1) { + Wrapper var3 = (Wrapper)this.hashTable.get(var1); + this.removeWrapper(var3); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Leu;)V" - ) - @Export("removeWrapper") - void removeWrapper(Wrapper wrapper) { - if (wrapper != null) { - wrapper.remove(); - wrapper.removeDual(); - this.remaining += wrapper.size; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lew;)V" + ) + @Export("removeWrapper") + void removeWrapper(Wrapper var1) { + if (var1 != null) { + var1.remove(); + var1.removeDual(); + this.remaining += var1.size; + } - } + } - @ObfuscatedName("w") - @Export("put") - public void put(Object value, long key, int size) { - if (size > this.capacity) { - throw new IllegalStateException(); - } else { - this.remove(key); - this.remaining -= size; + @ObfuscatedName("p") + @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(); - this.removeWrapper(var5); - } + while (this.remaining < 0) { + Wrapper var5 = (Wrapper)this.queue.removeLast(); + if (var5 == null) { + throw new RuntimeException(""); + } - DirectWrapper var6 = new DirectWrapper(value, size); - this.hashTable.put(var6, key); - this.queue.add(var6); - var6.keyDual = 0L; - } - } + if (!var5.isSoft()) { + } - @ObfuscatedName("o") - @Export("demote") - public void demote(int softeningLevel) { - 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)softeningLevel) { - SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size); - this.hashTable.put(var3, var2.key); - DualNodeDeque.DualNodeDeque_addBefore(var3, var2); - var2.remove(); - var2.removeDual(); - } - } + this.removeWrapper(var5); + if (this.field1966 != null) { + this.field1966.method3338(var5.get()); + } + } - } + DirectWrapper var6 = new DirectWrapper(var1, var4); + this.hashTable.put(var6, var2); + this.queue.add(var6); + var6.keyDual = 0L; + } + } - @ObfuscatedName("u") - @Export("clear") - public void clear() { - this.queue.clear(); - this.hashTable.clear(); - this.remaining = this.capacity; - } + @ObfuscatedName("k") + @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("l") + @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 0bf9ad7997..d078152649 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -1,189 +1,206 @@ 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("lu") +@ObfuscatedName("lf") @Implements("DesktopPlatformInfoProvider") public class DesktopPlatformInfoProvider implements PlatformInfoProvider { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Llb;", - garbageValue = "-843739713" - ) - @Export("get") - public PlatformInfo get() { - byte var1; - if (WorldMapSection1.osNameLowerCase.startsWith("win")) { - var1 = 1; - } else if (WorldMapSection1.osNameLowerCase.startsWith("mac")) { - var1 = 2; - } else if (WorldMapSection1.osNameLowerCase.startsWith("linux")) { - var1 = 3; - } else { - var1 = 4; - } + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1888864715 + ) + int field3930; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1057820263 + ) + int field3928; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1079401835 + ) + int field3926; - String var2; - try { - var2 = System.getProperty("os.arch").toLowerCase(); - } catch (Exception var25) { - var2 = ""; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Llo;", + garbageValue = "1619784372" + ) + @Export("get") + public PlatformInfo get() { + byte var1; + if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("win")) { + var1 = 1; + } else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("mac")) { + var1 = 2; + } else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("linux")) { + var1 = 3; + } else { + var1 = 4; + } - String var3; - try { - var3 = System.getProperty("os.version").toLowerCase(); - } catch (Exception var24) { - var3 = ""; - } + String var2; + try { + var2 = System.getProperty("os.arch").toLowerCase(); + } catch (Exception var27) { + var2 = ""; + } - String var4 = "Unknown"; - String var5 = "1.1"; + String var3; + try { + var3 = System.getProperty("os.version").toLowerCase(); + } catch (Exception var26) { + var3 = ""; + } - try { - var4 = System.getProperty("java.vendor"); - var5 = System.getProperty("java.version"); - } catch (Exception var23) { - } + String var4 = "Unknown"; + String var5 = "1.1"; - boolean var6; - if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { - var6 = false; - } else { - var6 = true; - } + try { + var4 = System.getProperty("java.vendor"); + var5 = System.getProperty("java.version"); + } catch (Exception var25) { + } - 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; - } - } + boolean var24; + if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { + var24 = false; + } else { + var24 = true; + } - 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; - } + 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; + } + } - int var9 = 2; - int var10 = 0; + 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; + } - try { - while (var9 < var5.length()) { - char var11 = var5.charAt(var9); - if (var11 < '0' || var11 > '9') { - break; - } + this.method6258(var5); + Runtime.getRuntime(); + int var10 = (int)((long)((new Random()).nextInt(31457280) + 230686720) / 1048576L) + 1; + int var11; + if (this.field3930 > 3) { + var11 = Runtime.getRuntime().availableProcessors(); + } else { + var11 = 0; + } - var10 = var10 * 10 + (var11 - '0'); - ++var9; - } - } catch (Exception var28) { - } + 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.field3930, this.field3928, this.field3926, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); + } - int var29 = var10; - var9 = var5.indexOf(46, 2) + 1; - var10 = 0; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1874796410" + ) + void method6258(String var1) { + if (var1.startsWith("1.")) { + this.method6260(var1); + } else { + this.method6261(var1); + } - try { - while (var9 < var5.length()) { - char var12 = var5.charAt(var9); - if (var12 < '0' || var12 > '9') { - break; - } + } - var10 = var12 - '0' + var10 * 10; - ++var9; - } - } catch (Exception var27) { - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "93" + ) + void method6260(String var1) { + String[] var2 = var1.split("\\."); - int var30 = var10; - var9 = var5.indexOf(95, 4) + 1; - var10 = 0; + try { + this.field3930 = Integer.parseInt(var2[1]); + var2 = var2[2].split("_"); + this.field3928 = Integer.parseInt(var2[0]); + this.field3926 = Integer.parseInt(var2[1]); + } catch (Exception var4) { + } - try { - while (var9 < var5.length()) { - char var13 = var5.charAt(var9); - if (var13 < '0' || var13 > '9') { - break; - } + } - var10 = var13 - '0' + var10 * 10; - ++var9; - } - } catch (Exception var26) { - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-265029998" + ) + void method6261(String var1) { + String[] var2 = var1.split("\\."); - Runtime.getRuntime(); - int var31 = (int)((long)((new Random()).nextInt(31457280) + 230686720) / 1048576L) + 1; - int var14; - if (var29 > 3) { - var14 = Runtime.getRuntime().availableProcessors(); - } else { - var14 = 0; - } + try { + this.field3930 = Integer.parseInt(var2[0]); + this.field3928 = Integer.parseInt(var2[1]); + this.field3926 = Integer.parseInt(var2[2]); + } catch (Exception var4) { + } - byte var15 = 0; - String var16 = ""; - String var17 = ""; - String var18 = ""; - String var19 = ""; - String var20 = ""; - String var21 = ""; - int[] var22 = new int[3]; - return new PlatformInfo(var1, var6, var7, var8, var29, var30, var10, false, var31, var14, var15, 0, var16, var17, var18, var19, 0, 0, 0, 0, var20, var21, var22, 0, ""); - } + } } diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index e3d9693070..b8d9eba5bb 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -9,118 +9,127 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ax") +@ObfuscatedName("af") @Implements("DevicePcmPlayer") public class DevicePcmPlayer extends PcmPlayer { - @ObfuscatedName("m") - @Export("format") - AudioFormat format; - @ObfuscatedName("f") - @Export("line") - SourceDataLine line; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -106586673 - ) - @Export("capacity2") - int capacity2; - @ObfuscatedName("w") - @Export("byteSamples") - byte[] byteSamples; + @ObfuscatedName("q") + @Export("format") + AudioFormat format; + @ObfuscatedName("w") + @Export("line") + SourceDataLine line; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1783357217 + ) + @Export("capacity2") + int capacity2; + @ObfuscatedName("p") + @Export("byteSamples") + byte[] byteSamples; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "949670609" - ) - @Export("init") - protected void init() { - this.format = new AudioFormat((float)class309.PcmPlayer_sampleRate, 16, PcmPlayer.isStereo ? 2 : 1, true, false); - this.byteSamples = new byte[256 << (PcmPlayer.isStereo ? 2 : 1)]; - } + DevicePcmPlayer() { + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1738349775" - ) - @Export("open") - protected void open(int bufferSize) throws LineUnavailableException { - try { - Info var2 = new Info(SourceDataLine.class, this.format, bufferSize << (PcmPlayer.isStereo ? 2 : 1)); - this.line = (SourceDataLine)AudioSystem.getLine(var2); - this.line.open(); - this.line.start(); - this.capacity2 = bufferSize; - } catch (LineUnavailableException var5) { - int var3 = (bufferSize >>> 1 & 1431655765) + (bufferSize & 1431655765); - var3 = (var3 >>> 2 & 858993459) + (var3 & 858993459); - var3 = (var3 >>> 4) + var3 & 252645135; - var3 += var3 >>> 8; - var3 += var3 >>> 16; - int var4 = var3 & 255; - if (var4 == 1) { - this.line = null; - throw var5; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1518489339" + ) + @Export("init") + protected void init() { + this.format = new AudioFormat((float)CollisionMap.PcmPlayer_sampleRate, 16, class169.isStereo ? 2 : 1, true, false); + this.byteSamples = new byte[256 << (class169.isStereo ? 2 : 1)]; + } - this.open(World.method1759(bufferSize)); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "2" + ) + @Export("open") + protected void open(int var1) throws LineUnavailableException { + try { + Info var2 = new Info(SourceDataLine.class, this.format, var1 << (class169.isStereo ? 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("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "97" + ) + @Export("position") + protected int position() { + return this.capacity2 - (this.line.available() >> (class169.isStereo ? 2 : 1)); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("position") - protected int position() { - return this.capacity2 - (this.line.available() >> (PcmPlayer.isStereo ? 2 : 1)); - } + @ObfuscatedName("p") + @Export("write") + protected void write() { + int var1 = 256; + if (class169.isStereo) { + var1 <<= 1; + } - @ObfuscatedName("w") - @Export("write") - protected void write() { - int var1 = 256; - if (PcmPlayer.isStereo) { - var1 <<= 1; - } + for (int var2 = 0; var2 < var1; ++var2) { + int var3 = super.samples[var2]; + if ((var3 + 8388608 & -16777216) != 0) { + var3 = 8388607 ^ var3 >> 31; + } - 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.byteSamples[var2 * 2] = (byte)(var3 >> 8); - this.byteSamples[var2 * 2 + 1] = (byte)(var3 >> 16); - } + this.line.write(this.byteSamples, 0, var1 << 1); + } - this.line.write(this.byteSamples, 0, var1 << 1); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "57" + ) + @Export("close") + protected void close() { + if (this.line != null) { + this.line.close(); + this.line = null; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "244995961" - ) - @Export("close") - protected void close() { - if (this.line != null) { - this.line.close(); - this.line = null; - } + } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-191421600" - ) - @Export("discard") - protected void discard() { - this.line.flush(); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-313753219" + ) + @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 77a7a67d3f..7d288eeb6d 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -1,797 +1,52 @@ -import java.io.File; -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("az") +@ObfuscatedName("ak") @Implements("DevicePcmPlayerProvider") -public class DevicePcmPlayerProvider implements PcmPlayerProvider { - @ObfuscatedName("fu") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("fontPlain12") - static Font fontPlain12; - @ObfuscatedName("jf") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("dragInventoryWidget") - static Widget dragInventoryWidget; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)Lco;", - garbageValue = "-49" - ) - @Export("player") - public PcmPlayer player() { - return new DevicePcmPlayer(); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/io/File;ZI)Z", - garbageValue = "248065919" - ) - public static boolean method847(File var0, boolean var1) { - try { - RandomAccessFile var2 = new RandomAccessFile(var0, "rw"); - int var3 = var2.read(); - var2.seek(0L); - var2.write(var3); - var2.seek(0L); - var2.close(); - if (var1) { - var0.delete(); - } - - return true; - } catch (Exception var4) { - return false; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1746647997" - ) - public static void method841() { - KitDefinition.KitDefinition_cached.clear(); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "([BB)V", - garbageValue = "-9" - ) - @Export("decodeSprite") - static void decodeSprite(byte[] var0) { - Buffer var1 = new Buffer(var0); - var1.index = var0.length - 2; - class328.indexedSpriteCount = var1.readUnsignedShort(); - class328.indexedSpriteOffsetXs = new int[class328.indexedSpriteCount]; - class328.indexedSpriteOffsetYs = new int[class328.indexedSpriteCount]; - VarbitDefinition.indexedSpriteWidths = new int[class328.indexedSpriteCount]; - SecureRandomCallable.indexedSpriteHeights = new int[class328.indexedSpriteCount]; - class328.spritePixels = new byte[class328.indexedSpriteCount][]; - var1.index = var0.length - 7 - class328.indexedSpriteCount * 8; - class328.indexedSpriteWidth = var1.readUnsignedShort(); - class328.indexedSpriteHeight = var1.readUnsignedShort(); - int var2 = (var1.readUnsignedByte() & 255) + 1; - - int var3; - for (var3 = 0; var3 < class328.indexedSpriteCount; ++var3) { - class328.indexedSpriteOffsetXs[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class328.indexedSpriteCount; ++var3) { - class328.indexedSpriteOffsetYs[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class328.indexedSpriteCount; ++var3) { - VarbitDefinition.indexedSpriteWidths[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class328.indexedSpriteCount; ++var3) { - SecureRandomCallable.indexedSpriteHeights[var3] = var1.readUnsignedShort(); - } - - var1.index = var0.length - 7 - class328.indexedSpriteCount * 8 - (var2 - 1) * 3; - class328.indexedSpritePalette = new int[var2]; - - for (var3 = 1; var3 < var2; ++var3) { - class328.indexedSpritePalette[var3] = var1.readMedium(); - if (class328.indexedSpritePalette[var3] == 0) { - class328.indexedSpritePalette[var3] = 1; - } - } - - var1.index = 0; - - for (var3 = 0; var3 < class328.indexedSpriteCount; ++var3) { - int var4 = VarbitDefinition.indexedSpriteWidths[var3]; - int var5 = SecureRandomCallable.indexedSpriteHeights[var3]; - int var6 = var4 * var5; - byte[] var7 = new byte[var6]; - class328.spritePixels[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 + var10 * var4] = var1.readByte(); - } - } - } - } - - } - - @ObfuscatedName("ga") - @ObfuscatedSignature( - signature = "(Lbz;II)V", - garbageValue = "-1590224882" - ) - static final void method840(Actor var0, int var1) { - WorldMapLabel.worldToScreen(var0.x, var0.y, var1); - } - - @ObfuscatedName("ir") - @ObfuscatedSignature( - signature = "([Lho;IIIIIIIII)V", - garbageValue = "-1516599170" - ) - @Export("drawInterface") - static final void drawInterface(Widget[] components, int interfaceID, int xStart, int yStart, int xEnd, int yEnd, int var6, int var7, int rootIndex) { - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - - for (int var9 = 0; var9 < components.length; ++var9) { - Widget var10 = components[var9]; - if (var10 != null && (var10.parentId == interfaceID || interfaceID == 0xabcdabcd && var10 == Client.clickedWidget)) { - int var11; - if (rootIndex == -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 = rootIndex; - } - - var10.rootIndex = var11; - var10.cycle = Client.cycle; - if (!var10.isIf3 || !PacketBufferNode.isComponentHidden(var10)) { - if (var10.contentType > 0) { - class15.method186(var10); - } - - int var12 = var10.x + var6; - int var13 = var7 + var10.y; - int var14 = var10.transparency; - int var15; - int var16; - if (var10 == Client.clickedWidget) { - if (interfaceID != 0xabcdabcd && !var10.isScrollBar) { - class279.field1145 = components; - class54.field1161 = var6; - BuddyRankComparator.field1114 = var7; - continue; - } - - if (Client.isDraggingWidget && Client.field106) { - var15 = MouseHandler.MouseHandler_x; - var16 = MouseHandler.MouseHandler_y; - var15 -= Client.widgetClickX; - var16 -= Client.widgetClickY; - if (var15 < Client.field108) { - var15 = Client.field108; - } - - if (var15 + var10.width > Client.field108 + Client.clickedWidgetParent.width) { - var15 = Client.field108 + Client.clickedWidgetParent.width - var10.width; - } - - if (var16 < Client.field109) { - var16 = Client.field109; - } - - if (var16 + var10.height > Client.field109 + Client.clickedWidgetParent.height) { - var16 = Client.field109 + 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 = xStart; - var16 = yStart; - var17 = xEnd; - var18 = yEnd; - } else if (var10.type == 9) { - var22 = var12; - var19 = var13; - var20 = var12 + var10.width; - var21 = var13 + var10.height; - if (var20 < var12) { - var22 = var20; - var20 = var12; - } - - if (var21 < var13) { - var19 = var21; - var21 = var13; - } - - ++var20; - ++var21; - var15 = var22 > xStart ? var22 : xStart; - var16 = var19 > yStart ? var19 : yStart; - var17 = var20 < xEnd ? var20 : xEnd; - var18 = var21 < yEnd ? var21 : yEnd; - } else { - var22 = var12 + var10.width; - var19 = var13 + var10.height; - var15 = var12 > xStart ? var12 : xStart; - var16 = var13 > yStart ? var13 : yStart; - var17 = var22 < xEnd ? var22 : xEnd; - var18 = var19 < yEnd ? var19 : yEnd; - } - - if (!var10.isIf3 || var15 < var17 && var16 < var18) { - if (var10.contentType != 0) { - if (var10.contentType == 1336) { - if (Client.displayFps) { - var13 += 15; - fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 16776960, -1); - var13 += 15; - Runtime var34 = Runtime.getRuntime(); - var19 = (int)((var34.totalMemory() - var34.freeMemory()) / 1024L); - var20 = 16776960; - if (var19 > 327680 && !Client.isLowDetail) { - var20 = 16711680; - } - - fontPlain12.drawRightAligned("Mem:" + var19 + "k", var12 + var10.width, var13, var20, -1); - var13 += 15; - } - continue; - } - - if (var10.contentType == 1337) { - Client.field216 = var12; - Client.field217 = var13; - class40.drawEntities(var12, var13, var10.width, var10.height); - Client.field100[var10.rootIndex] = true; - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - continue; - } - - if (var10.contentType == 1338) { - MouseRecorder.drawMinimap(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - continue; - } - - if (var10.contentType == 1339) { - WorldMapRectangle.method296(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - continue; - } - - if (var10.contentType == 1400) { - class60.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); - } - - if (var10.contentType == 1401) { - class60.worldMap.drawOverview(var12, var13, var10.width, var10.height); - } - - if (var10.contentType == 1402) { - class16.loginScreenRunesAnimation.method1782(var12, Client.cycle); - } - } - - if (var10.type == 0) { - if (!var10.isIf3 && PacketBufferNode.isComponentHidden(var10) && var10 != Clock.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(components, 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 var23 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); - if (var23 != null) { - Interpreter.drawWidgets(var23.group, var15, var16, var17, var18, var12, var13, var11); - } - - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - } - - if (Client.isResizable || Client.field101[var11] || Client.gameDrawingMode > 1) { - if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { - GrandExchangeOfferNameComparator.method148(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); - } - - if (var10.type != 1) { - int var24; - int var25; - int var26; - int var33; - if (var10.type == 2) { - var22 = 0; - - for (var19 = 0; var19 < var10.rawHeight; ++var19) { - for (var20 = 0; var20 < var10.rawWidth; ++var20) { - var21 = var12 + var20 * (var10.paddingX + 32); - var26 = var13 + var19 * (var10.paddingY + 32); - if (var22 < 20) { - var21 += var10.inventoryXOffsets[var22]; - var26 += var10.inventoryYOffsets[var22]; - } - - if (var10.itemIds[var22] <= 0) { - if (var10.inventorySprites != null && var22 < 20) { - Sprite var36 = var10.getInventorySprite(var22); - if (var36 != null) { - var36.drawAt2(var21, var26); - } else if (Widget.field957) { - WorldMapRectangle.method295(var10); - } - } - } else { - boolean var35 = false; - boolean var46 = false; - var25 = var10.itemIds[var22] - 1; - if (var21 + 32 > xStart && var21 < xEnd && var26 + 32 > yStart && var26 < yEnd || var10 == dragInventoryWidget && var22 == Client.dragItemSlotSource) { - Sprite var42; - if (Client.isItemSelected == 1 && var22 == HealthBarDefinition.selectedItemSlot && var10.id == ServerPacket.selectedItemWidget) { - var42 = class226.getItemSprite(var25, var10.itemQuantities[var22], 2, 0, 2, false); - } else { - var42 = class226.getItemSprite(var25, var10.itemQuantities[var22], 1, 3153952, 2, false); - } - - if (var42 != null) { - if (var10 == dragInventoryWidget && var22 == Client.dragItemSlotSource) { - var33 = MouseHandler.MouseHandler_x - Client.field205; - var24 = MouseHandler.MouseHandler_y - Client.field206; - if (var33 < 5 && var33 > -5) { - var33 = 0; - } - - if (var24 < 5 && var24 > -5) { - var24 = 0; - } - - if (Client.itemDragDuration < 5) { - var33 = 0; - var24 = 0; - } - - var42.method310(var21 + var33, var26 + var24, 128); - if (interfaceID != -1) { - Widget var47 = components[interfaceID & 65535]; - int var45; - if (var26 + var24 < Rasterizer2D.Rasterizer2D_yClipStart && var47.scrollY > 0) { - var45 = (Rasterizer2D.Rasterizer2D_yClipStart - var26 - var24) * Client.field183 / 3; - if (var45 > Client.field183 * 10) { - var45 = Client.field183 * 10; - } - - if (var45 > var47.scrollY) { - var45 = var47.scrollY; - } - - var47.scrollY -= var45; - Client.field206 += var45; - WorldMapRectangle.method295(var47); - } - - if (var24 + var26 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var47.scrollY < var47.scrollHeight - var47.height) { - var45 = (var26 + var24 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field183 / 3; - if (var45 > Client.field183 * 10) { - var45 = Client.field183 * 10; - } - - if (var45 > var47.scrollHeight - var47.height - var47.scrollY) { - var45 = var47.scrollHeight - var47.height - var47.scrollY; - } - - var47.scrollY += var45; - Client.field206 -= var45; - WorldMapRectangle.method295(var47); - } - } - } else if (var10 == BoundaryObject.field40 && var22 == Client.field204) { - var42.method310(var21, var26, 128); - } else { - var42.drawAt2(var21, var26); - } - } else { - WorldMapRectangle.method295(var10); - } - } - } - - ++var22; - } - } - } else if (var10.type == 3) { - if (class238.runCs1(var10)) { - var22 = var10.color2; - if (var10 == Clock.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var22 = var10.mouseOverColor2; - } - } else { - var22 = var10.color; - if (var10 == Clock.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var22 = var10.mouseOverColor; - } - } - - if (var10.fill) { - switch(var10.rectangleMode.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.transparency & 255), 255 - (var10.field960 & 255)); - break; - default: - if (var14 == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var22); - } else { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var22, 256 - (var14 & 255)); - } - } - } else if (var14 == 0) { - Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var22); - } else { - Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var22, 256 - (var14 & 255)); - } - } else { - Font var27; - if (var10.type == 4) { - var27 = var10.getFont(); - if (var27 == null) { - if (Widget.field957) { - WorldMapRectangle.method295(var10); - } - } else { - String var38 = var10.text; - if (class238.runCs1(var10)) { - var19 = var10.color2; - if (var10 == Clock.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var19 = var10.mouseOverColor2; - } - - if (var10.text2.length() > 0) { - var38 = var10.text2; - } - } else { - var19 = var10.color; - if (var10 == Clock.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var19 = var10.mouseOverColor; - } - } - - if (var10.isIf3 && var10.itemId != -1) { - ItemDefinition var41 = Skills.getItemDefinition(var10.itemId); - var38 = var41.name; - if (var38 == null) { - var38 = "null"; - } - - if ((var41.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { - var38 = BufferedFile.colorStartTag(16748608) + var38 + " " + 'x' + GrandExchangeEvent.method88(var10.itemQuantity); - } - } - - if (var10 == Client.field127) { - var38 = "Please wait..."; - var19 = var10.color; - } - - if (!var10.isIf3) { - var38 = MouseRecorder.method1194(var38, var10); - } - - var27.drawLines(var38, var12, var13, var10.width, var10.height, var19, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); - } - } else if (var10.type == 5) { - Sprite var37; - if (!var10.isIf3) { - var37 = var10.getSprite(class238.runCs1(var10)); - if (var37 != null) { - var37.drawAt2(var12, var13); - } else if (Widget.field957) { - WorldMapRectangle.method295(var10); - } - } else { - if (var10.itemId != -1) { - var37 = class226.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); - } else { - var37 = var10.getSprite(false); - } - - if (var37 == null) { - if (Widget.field957) { - WorldMapRectangle.method295(var10); - } - } else { - var19 = var37.width; - var20 = var37.height; - if (!var10.spriteTiling) { - var21 = var10.width * 4096 / var19; - if (var10.spriteAngle != 0) { - var37.method317(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var21); - } else if (var14 != 0) { - var37.method311(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); - } else if (var19 == var10.width && var20 == var10.height) { - var37.drawAt2(var12, var13); - } else { - var37.method309(var12, var13, var10.width, var10.height); - } - } else { - Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); - var21 = (var19 - 1 + var10.width) / var19; - var26 = (var20 - 1 + var10.height) / var20; - - for (var33 = 0; var33 < var21; ++var33) { - for (var24 = 0; var24 < var26; ++var24) { - if (var10.spriteAngle != 0) { - var37.method317(var19 / 2 + var12 + var19 * var33, var20 / 2 + var13 + var24 * var20, var10.spriteAngle, 4096); - } else if (var14 != 0) { - var37.method310(var12 + var19 * var33, var13 + var20 * var24, 256 - (var14 & 255)); - } else { - var37.drawAt2(var12 + var19 * var33, var13 + var24 * var20); - } - } - } - - Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); - } - } - } - } else { - ItemDefinition var28; - if (var10.type == 6) { - boolean var40 = class238.runCs1(var10); - if (var40) { - var19 = var10.sequenceId2; - } else { - var19 = var10.sequenceId; - } - - Model var43 = null; - var21 = 0; - if (var10.itemId != -1) { - var28 = Skills.getItemDefinition(var10.itemId); - if (var28 != null) { - var28 = var28.getCountObj(var10.itemQuantity); - var43 = var28.getModel(1); - if (var43 != null) { - var43.calculateBoundsCylinder(); - var21 = var43.height / 2; - } else { - WorldMapRectangle.method295(var10); - } - } - } else if (var10.modelType == 5) { - if (var10.modelId == 0) { - var43 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); - } else { - var43 = Canvas.localPlayer.getModel(); - } - } else if (var19 == -1) { - var43 = var10.getModel((SequenceDefinition)null, -1, var40, Canvas.localPlayer.appearance); - if (var43 == null && Widget.field957) { - WorldMapRectangle.method295(var10); - } - } else { - SequenceDefinition var44 = WorldMapAreaData.getSequenceDefinition(var19); - var43 = var10.getModel(var44, var10.modelFrame, var40, Canvas.localPlayer.appearance); - if (var43 == null && Widget.field957) { - WorldMapRectangle.method295(var10); - } - } - - Rasterizer3D.method2989(var10.width / 2 + var12, var10.height / 2 + var13); - var26 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; - var33 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; - if (var43 != null) { - if (!var10.isIf3) { - var43.method199(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var26, var33); - } else { - var43.calculateBoundsCylinder(); - if (var10.modelOrthog) { - var43.method200(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var21 + var26 + var10.modelOffsetY, var33 + var10.modelOffsetY, var10.modelZoom); - } else { - var43.method199(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var26 + var21 + var10.modelOffsetY, var33 + var10.modelOffsetY); - } - } - } - - Rasterizer3D.Rasterizer3D_method3(); - } else { - if (var10.type == 7) { - var27 = var10.getFont(); - if (var27 == null) { - if (Widget.field957) { - WorldMapRectangle.method295(var10); - } - continue; - } - - var19 = 0; - - for (var20 = 0; var20 < var10.rawHeight; ++var20) { - for (var21 = 0; var21 < var10.rawWidth; ++var21) { - if (var10.itemIds[var19] > 0) { - var28 = Skills.getItemDefinition(var10.itemIds[var19] - 1); - String var29; - if (var28.isStackable != 1 && var10.itemQuantities[var19] == 1) { - var29 = BufferedFile.colorStartTag(16748608) + var28.name + ""; - } else { - var29 = BufferedFile.colorStartTag(16748608) + var28.name + " " + 'x' + GrandExchangeEvent.method88(var10.itemQuantities[var19]); - } - - var24 = var21 * (var10.paddingX + 115) + var12; - var25 = var20 * (var10.paddingY + 12) + var13; - if (var10.textXAlignment == 0) { - var27.draw(var29, var24, var25, var10.color, var10.textShadowed ? 0 : -1); - } else if (var10.textXAlignment == 1) { - var27.drawCentered(var29, var10.width / 2 + var24, var25, var10.color, var10.textShadowed ? 0 : -1); - } else { - var27.drawRightAligned(var29, var24 + var10.width - 1, var25, var10.color, var10.textShadowed ? 0 : -1); - } - } - - ++var19; - } - } - } - - if (var10.type == 8 && var10 == AccessFile.field8 && Client.field219 == Client.field218) { - var22 = 0; - var19 = 0; - Font var39 = fontPlain12; - String var30 = var10.text; - - String var31; - for (var30 = MouseRecorder.method1194(var30, var10); var30.length() > 0; var19 = var19 + var39.ascent + 1) { - var33 = var30.indexOf("
"); - if (var33 != -1) { - var31 = var30.substring(0, var33); - var30 = var30.substring(var33 + 4); - } else { - var31 = var30; - var30 = ""; - } - - var24 = var39.stringWidth(var31); - if (var24 > var22) { - var22 = var24; - } - } - - var22 += 6; - var19 += 7; - var33 = var12 + var10.width - 5 - var22; - var24 = var13 + var10.height + 5; - if (var33 < var12 + 5) { - var33 = var12 + 5; - } - - if (var22 + var33 > xEnd) { - var33 = xEnd - var22; - } - - if (var24 + var19 > yEnd) { - var24 = yEnd - var19; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(var33, var24, var22, var19, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(var33, var24, var22, var19, 0); - var30 = var10.text; - var25 = var24 + var39.ascent + 2; - - for (var30 = MouseRecorder.method1194(var30, var10); var30.length() > 0; var25 = var25 + var39.ascent + 1) { - int var32 = var30.indexOf("
"); - if (var32 != -1) { - var31 = var30.substring(0, var32); - var30 = var30.substring(var32 + 4); - } else { - var31 = var30; - var30 = ""; - } - - var39.draw(var31, var33 + 3, var25, 0, -1); - } - } - - if (var10.type == 9) { - if (var10.field961) { - var22 = var12; - var19 = var13 + var10.height; - var20 = var12 + var10.width; - var21 = var13; - } else { - var22 = var12; - var19 = var13; - var20 = var12 + var10.width; - var21 = var13 + var10.height; - } - - if (var10.lineWid == 1) { - Rasterizer2D.Rasterizer2D_drawLine(var22, var19, var20, var21, var10.color); - } else { - class190.method3669(var22, var19, var20, var21, var10.color, var10.lineWid); - } - } - } - } - } - } - } - } - } - } - } - - } - - @ObfuscatedName("jy") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1666917204" - ) - static final void method845(int var0) { - if (GroundItemPile.loadInterface(var0)) { - Widget[] var1 = Widget.interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3 != null) { - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - } - } - } - - } +public class DevicePcmPlayerProvider implements class99 { + @ObfuscatedName("pf") + @ObfuscatedSignature( + signature = "Ljx;" + ) + @Export("clanChat") + static ClanChat clanChat; + @ObfuscatedName("qn") + @ObfuscatedGetter( + intValue = 490221952 + ) + static int field412; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 95792887242414313L + ) + static long field416; + @ObfuscatedName("ci") + @Export("mouseCam") + static boolean mouseCam; + + DevicePcmPlayerProvider() { + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Ldn;", + garbageValue = "1" + ) + @Export("player") + public PcmPlayer player() { + return new DevicePcmPlayer(); + } + + @ObfuscatedName("kn") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-5" + ) + static void method805() { + Client.packetWriter.method2219(Archive.method4265(ClientPacket.field2240, Client.packetWriter.isaacCipher)); + Client.oculusOrbState = 0; + } } diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index e0280788db..a5e48b5cb1 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -4,35 +4,144 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gv") +@ObfuscatedName("gn") @Implements("DirectByteArrayCopier") public class DirectByteArrayCopier extends AbstractByteArrayCopier { - @ObfuscatedName("m") - @Export("directBuffer") - ByteBuffer directBuffer; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_fontsArchive") + static AbstractArchive Widget_fontsArchive; + @ObfuscatedName("gh") + @Export("regions") + static int[] regions; + @ObfuscatedName("q") + @Export("directBuffer") + ByteBuffer directBuffer; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[B", - garbageValue = "-1219910462" - ) - @Export("get") - byte[] get() { - byte[] var1 = new byte[this.directBuffer.capacity()]; - this.directBuffer.position(0); - this.directBuffer.get(var1); - return var1; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)[B", + garbageValue = "1071129091" + ) + @Export("get") + byte[] get() { + byte[] var1 = new byte[this.directBuffer.capacity()]; + this.directBuffer.position(0); + this.directBuffer.get(var1); + return var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "-2034091753" - ) - @Export("set") - void set(byte[] array) { - this.directBuffer = ByteBuffer.allocateDirect(array.length); - this.directBuffer.position(0); - this.directBuffer.put(array); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "594076777" + ) + @Export("set") + public void set(byte[] var1) { + this.directBuffer = ByteBuffer.allocateDirect(var1.length); + this.directBuffer.position(0); + this.directBuffer.put(var1); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)J", + garbageValue = "-960689616" + ) + @Export("currentTimeMs") + public static final synchronized long currentTimeMs() { + long var0 = System.currentTimeMillis(); + if (var0 < DevicePcmPlayerProvider.field416) { + class2.field4 += DevicePcmPlayerProvider.field416 - var0; + } + + DevicePcmPlayerProvider.field416 = var0; + return class2.field4 + var0; + } + + @ObfuscatedName("gz") + @ObfuscatedSignature( + signature = "(IIIIIIII)V", + garbageValue = "1456819139" + ) + @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 != class42.plane) { + return; + } + + long var7 = 0L; + boolean var9 = true; + boolean var10 = false; + boolean var11 = false; + if (var1 == 0) { + var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(var0, var2, var3); + } + + if (var1 == 1) { + var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(var0, var2, var3); + } + + if (var1 == 2) { + var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(var0, var2, var3); + } + + if (var1 == 3) { + var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var2, var3); + } + + int var12; + if (0L != var7) { + var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var2, var3, var7); + int var14 = class43.method770(var7); + int var15 = var12 & 31; + int var16 = var12 >> 6 & 3; + ObjectDefinition var13; + if (var1 == 0) { + GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(var0, var2, var3); + var13 = ViewportMouse.getObjectDefinition(var14); + if (var13.interactType != 0) { + Client.collisionMaps[var0].method3564(var2, var3, var15, var16, var13.boolean1); + } + } + + if (var1 == 1) { + GrandExchangeOfferWorldComparator.scene.removeWallDecoration(var0, var2, var3); + } + + if (var1 == 2) { + GrandExchangeOfferWorldComparator.scene.method3154(var0, var2, var3); + var13 = ViewportMouse.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].method3565(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); + } + } + + if (var1 == 3) { + GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(var0, var2, var3); + var13 = ViewportMouse.getObjectDefinition(var14); + if (var13.interactType == 1) { + Client.collisionMaps[var0].method3567(var2, var3); + } + } + } + + if (var4 >= 0) { + var12 = var0; + if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { + var12 = var0 + 1; + } + + ClientPacket.method3611(var0, var12, var2, var3, var4, var5, var6, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps[var0]); + } + } + + } } diff --git a/runescape-client/src/main/java/DirectWrapper.java b/runescape-client/src/main/java/DirectWrapper.java index 64bb73c154..b9f21a2ab5 100644 --- a/runescape-client/src/main/java/DirectWrapper.java +++ b/runescape-client/src/main/java/DirectWrapper.java @@ -2,27 +2,27 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ew") +@ObfuscatedName("eq") @Implements("DirectWrapper") public class DirectWrapper extends Wrapper { - @ObfuscatedName("m") - @Export("obj") - Object obj; + @ObfuscatedName("q") + @Export("obj") + Object obj; - DirectWrapper(Object var1, int var2) { - super(var2); - this.obj = var1; - } + DirectWrapper(Object var1, int var2) { + super(var2); + this.obj = var1; + } - @ObfuscatedName("m") - @Export("get") - Object get() { - return this.obj; - } + @ObfuscatedName("q") + @Export("get") + Object get() { + return this.obj; + } - @ObfuscatedName("f") - @Export("isSoft") - boolean isSoft() { - return false; - } + @ObfuscatedName("w") + @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 640d22b969..8ffd672bd2 100644 --- a/runescape-client/src/main/java/DualNode.java +++ b/runescape-client/src/main/java/DualNode.java @@ -3,34 +3,33 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fn") +@ObfuscatedName("fb") @Implements("DualNode") public class DualNode extends Node { - @ObfuscatedName("cg") - @Export("keyDual") - public long keyDual; - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("previousDual") - public DualNode previousDual; - @ObfuscatedName("cp") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("nextDual") - public DualNode nextDual; + @ObfuscatedName("cx") + @Export("keyDual") + public long keyDual; + @ObfuscatedName("cu") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("previousDual") + public DualNode previousDual; + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("nextDual") + public DualNode nextDual; - @ObfuscatedName("cg") - @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; - } - - } + @ObfuscatedName("cm") + @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 38ead2b123..ae485b993c 100644 --- a/runescape-client/src/main/java/DualNodeDeque.java +++ b/runescape-client/src/main/java/DualNodeDeque.java @@ -3,105 +3,61 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jp") +@ObfuscatedName("ix") @Implements("DualNodeDeque") public final class DualNodeDeque { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("sentinel") - DualNode sentinel; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("sentinel") + DualNode sentinel; - public DualNodeDeque() { - this.sentinel = new DualNode(); - this.sentinel.previousDual = this.sentinel; - this.sentinel.nextDual = this.sentinel; - } + public DualNodeDeque() { + this.sentinel = new DualNode(); + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addFirst") - public void addFirst(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lfb;)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; - } + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addLast") - public void addLast(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfb;)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; - } + var1.nextDual = this.sentinel; + var1.previousDual = this.sentinel.previousDual; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; - if (var1 == this.sentinel) { - return null; - } else { - var1.removeDual(); - return var1; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("last") - public DualNode last() { - DualNode var1 = this.sentinel.previousDual; - return var1 == this.sentinel ? null : var1; - } - - @ObfuscatedName("u") - @Export("clear") - public void clear() { - while (true) { - DualNode var1 = this.sentinel.previousDual; - if (var1 == this.sentinel) { - return; - } - - var1.removeDual(); - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lfn;Lfn;)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; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "()Lfb;" + ) + @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 883d1b027c..7aa1512f23 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -1,645 +1,301 @@ -import java.lang.management.GarbageCollectorMXBean; -import java.lang.management.ManagementFactory; -import java.util.Iterator; +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("cf") +@ObfuscatedName("cu") @Implements("DynamicObject") public class DynamicObject extends Entity { - @ObfuscatedName("df") - @ObfuscatedSignature( - signature = "Lfu;" - ) - @Export("js5Socket") - static AbstractSocket js5Socket; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1369707199 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1713856147 - ) - @Export("type") - int type; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 141031459 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 844945979 - ) - @Export("plane") - int plane; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -351084819 - ) - @Export("x") - int x; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -126308963 - ) - @Export("y") - int y; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljh;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2017547185 - ) - @Export("frame") - int frame; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1596313489 - ) - @Export("cycleStart") - int cycleStart; + @ObfuscatedName("x") + static int[] field1301; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -982722193 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1770938715 + ) + @Export("type") + int type; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 187564889 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 618802147 + ) + @Export("plane") + int plane; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 490427017 + ) + @Export("x") + int x; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 660251733 + ) + @Export("y") + int y; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lis;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1570424885 + ) + @Export("frame") + int frame; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1283893717 + ) + @Export("cycleStart") + int cycleStart; - @ObfuscatedSignature( - signature = "(IIIIIIIZLex;)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 = WorldMapAreaData.getSequenceDefinition(var7); - this.frame = 0; - this.cycleStart = Client.cycle - 1; - if (this.sequenceDefinition.field783 == 0 && var9 != null && var9 instanceof DynamicObject) { - DynamicObject var10 = (DynamicObject)var9; - if (this.sequenceDefinition == var10.sequenceDefinition) { - this.frame = var10.frame; - this.cycleStart = var10.cycleStart; - return; - } - } + @ObfuscatedSignature( + signature = "(IIIIIIIZLeo;)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 = GrandExchangeEvent.getSequenceDefinition(var7); + this.frame = 0; + this.cycleStart = Client.cycle - 1; + if (this.sequenceDefinition.field3529 == 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]); - } - } + 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("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @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; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @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; + } - label47: { - do { - do { - if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { - break label47; - } + 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); + 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.frame -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - this.sequenceDefinition = null; - } + this.sequenceDefinition = null; + } - this.cycleStart = Client.cycle - var1; - } + this.cycleStart = Client.cycle - var1; + } - ObjectDefinition var12 = class50.getObjectDefinition(this.id); - if (var12.transforms != null) { - var12 = var12.transform(); - } + ObjectDefinition var12 = ViewportMouse.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; - } + 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); - } - } + 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[var4][var6] + var8[var5][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("f") - @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SIII)V", - garbageValue = "1172859329" - ) - @Export("sortItemsByName") - static void sortItemsByName(String[] itemNames, short[] itemIds, int lowestUnsorted, int highestUnsorted) { - if (lowestUnsorted < highestUnsorted) { - int var4 = (highestUnsorted + lowestUnsorted) / 2; - int var5 = lowestUnsorted; - String var6 = itemNames[var4]; - itemNames[var4] = itemNames[highestUnsorted]; - itemNames[highestUnsorted] = var6; - short var7 = itemIds[var4]; - itemIds[var4] = itemIds[highestUnsorted]; - itemIds[highestUnsorted] = var7; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lky;ZS)V", + garbageValue = "-31468" + ) + public static void method2193(AbstractSocket var0, boolean var1) { + if (NetCache.NetCache_socket != null) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var8) { + } - for (int var8 = lowestUnsorted; var8 < highestUnsorted; ++var8) { - if (var6 == null || itemNames[var8] != null && itemNames[var8].compareTo(var6) < (var8 & 1)) { - String var9 = itemNames[var8]; - itemNames[var8] = itemNames[var5]; - itemNames[var5] = var9; - short var10 = itemIds[var8]; - itemIds[var8] = itemIds[var5]; - itemIds[var5++] = var10; - } - } + NetCache.NetCache_socket = null; + } - itemNames[highestUnsorted] = itemNames[var5]; - itemNames[var5] = var6; - itemIds[highestUnsorted] = itemIds[var5]; - itemIds[var5] = var7; - sortItemsByName(itemNames, itemIds, lowestUnsorted, var5 - 1); - sortItemsByName(itemNames, itemIds, var5 + 1, highestUnsorted); - } + NetCache.NetCache_socket = var0; + Buffer var2; + if (NetCache.NetCache_socket != null) { + try { + var2 = new Buffer(4); + var2.writeByte(var1 ? 2 : 3); + var2.writeMedium(0); + NetCache.NetCache_socket.write(var2.array, 0, 4); + } catch (IOException var7) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var6) { + } - } + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "-83" - ) - static int method2223(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.publicChatMode; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { - RouteStrategy.Interpreter_intStackSize -= 3; - Client.publicChatMode = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - ArchiveLoader.field512 = WorldMapElement.method4783(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - if (ArchiveLoader.field512 == null) { - ArchiveLoader.field512 = class310.field3805; - } + NetCache.NetCache_responseHeaderBuffer.offset = 0; + class226.NetCache_currentResponse = null; + VarpDefinition.NetCache_responseArchiveBuffer = null; + NetCache.field3175 = 0; - Client.field138 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - PacketBufferNode var15 = Interpreter.method1915(ClientPacket.field237, Client.packetWriter.isaacCipher); - var15.packetBuffer.writeByte(Client.publicChatMode); - var15.packetBuffer.writeByte(ArchiveLoader.field512.field3804); - var15.packetBuffer.writeByte(Client.field138); - Client.packetWriter.method241(var15); - return 1; - } else { - String var3; - int var4; - int var5; - if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - RouteStrategy.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - PacketBufferNode var12 = Interpreter.method1915(ClientPacket.field260, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var3) + 2); - var12.packetBuffer.writeStringCp1252NullTerminated(var3); - var12.packetBuffer.writeByte(var4 - 1); - var12.packetBuffer.writeByte(var5); - Client.packetWriter.method241(var12); - return 1; - } else { - Message var6; - if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { - RouteStrategy.Interpreter_intStackSize -= 2; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var6 = Message.method1226(var5, var4); - if (var6 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.count; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.sender != null ? var6.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.prefix != null ? var6.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.text != null ? var6.text : ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.isFromFriend() ? 1 : (var6.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.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[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + while (true) { + NetFileRequest var9 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); + if (var9 == null) { + while (true) { + var9 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); + if (var9 == null) { + if (NetCache.field3181 != 0) { + try { + var2 = new Buffer(4); + var2.writeByte(4); + var2.writeByte(NetCache.field3181); + var2.writeShort(0); + NetCache.NetCache_socket.write(var2.array, 0, 4); + } catch (IOException var5) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var4) { + } - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = NetCache.method4708(var5); - if (var6 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.type; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.cycle; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.sender != null ? var6.sender : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.prefix != null ? var6.prefix : ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.text != null ? var6.text : ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.isFromFriend() ? 1 : (var6.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.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[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { - if (ArchiveLoader.field512 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ArchiveLoader.field512.field3804; - } + NetCache.field3163 = 0; + NetCache.field3169 = DirectByteArrayCopier.currentTimeMs(); + return; + } - return 1; - } else { - String var7; - if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var7 = var3.toLowerCase(); - byte var13 = 0; - if (var7.startsWith("yellow:")) { - var13 = 0; - var3 = var3.substring("yellow:".length()); - } else if (var7.startsWith("red:")) { - var13 = 1; - var3 = var3.substring("red:".length()); - } else if (var7.startsWith("green:")) { - var13 = 2; - var3 = var3.substring("green:".length()); - } else if (var7.startsWith("cyan:")) { - var13 = 3; - var3 = var3.substring("cyan:".length()); - } else if (var7.startsWith("purple:")) { - var13 = 4; - var3 = var3.substring("purple:".length()); - } else if (var7.startsWith("white:")) { - var13 = 5; - var3 = var3.substring("white:".length()); - } else if (var7.startsWith("flash1:")) { - var13 = 6; - var3 = var3.substring("flash1:".length()); - } else if (var7.startsWith("flash2:")) { - var13 = 7; - var3 = var3.substring("flash2:".length()); - } else if (var7.startsWith("flash3:")) { - var13 = 8; - var3 = var3.substring("flash3:".length()); - } else if (var7.startsWith("glow1:")) { - var13 = 9; - var3 = var3.substring("glow1:".length()); - } else if (var7.startsWith("glow2:")) { - var13 = 10; - var3 = var3.substring("glow2:".length()); - } else if (var7.startsWith("glow3:")) { - var13 = 11; - var3 = var3.substring("glow3:".length()); - } else if (Client.language != 0) { - if (var7.startsWith("yellow:")) { - var13 = 0; - var3 = var3.substring("yellow:".length()); - } else if (var7.startsWith("red:")) { - var13 = 1; - var3 = var3.substring("red:".length()); - } else if (var7.startsWith("green:")) { - var13 = 2; - var3 = var3.substring("green:".length()); - } else if (var7.startsWith("cyan:")) { - var13 = 3; - var3 = var3.substring("cyan:".length()); - } else if (var7.startsWith("purple:")) { - var13 = 4; - var3 = var3.substring("purple:".length()); - } else if (var7.startsWith("white:")) { - var13 = 5; - var3 = var3.substring("white:".length()); - } else if (var7.startsWith("flash1:")) { - var13 = 6; - var3 = var3.substring("flash1:".length()); - } else if (var7.startsWith("flash2:")) { - var13 = 7; - var3 = var3.substring("flash2:".length()); - } else if (var7.startsWith("flash3:")) { - var13 = 8; - var3 = var3.substring("flash3:".length()); - } else if (var7.startsWith("glow1:")) { - var13 = 9; - var3 = var3.substring("glow1:".length()); - } else if (var7.startsWith("glow2:")) { - var13 = 10; - var3 = var3.substring("glow2:".length()); - } else if (var7.startsWith("glow3:")) { - var13 = 11; - var3 = var3.substring("glow3:".length()); - } - } + NetCache.NetCache_pendingWritesQueue.addLast(var9); + NetCache.NetCache_pendingWrites.put(var9, var9.key); + ++NetCache.NetCache_pendingWritesCount; + --NetCache.NetCache_pendingResponsesCount; + } + } - var7 = var3.toLowerCase(); - byte var14 = 0; - if (var7.startsWith("wave:")) { - var14 = 1; - var3 = var3.substring("wave:".length()); - } else if (var7.startsWith("wave2:")) { - var14 = 2; - var3 = var3.substring("wave2:".length()); - } else if (var7.startsWith("shake:")) { - var14 = 3; - var3 = var3.substring("shake:".length()); - } else if (var7.startsWith("scroll:")) { - var14 = 4; - var3 = var3.substring("scroll:".length()); - } else if (var7.startsWith("slide:")) { - var14 = 5; - var3 = var3.substring("slide:".length()); - } else if (Client.language != 0) { - if (var7.startsWith("wave:")) { - var14 = 1; - var3 = var3.substring("wave:".length()); - } else if (var7.startsWith("wave2:")) { - var14 = 2; - var3 = var3.substring("wave2:".length()); - } else if (var7.startsWith("shake:")) { - var14 = 3; - var3 = var3.substring("shake:".length()); - } else if (var7.startsWith("scroll:")) { - var14 = 4; - var3 = var3.substring("scroll:".length()); - } else if (var7.startsWith("slide:")) { - var14 = 5; - var3 = var3.substring("slide:".length()); - } - } + NetCache.NetCache_pendingPriorityWrites.put(var9, var9.key); + ++NetCache.NetCache_pendingPriorityWritesCount; + --NetCache.NetCache_pendingPriorityResponsesCount; + } + } - PacketBufferNode var10 = Interpreter.method1915(ClientPacket.field319, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeByte(0); - int var11 = var10.packetBuffer.index; - var10.packetBuffer.writeByte(var4); - var10.packetBuffer.writeByte(var13); - var10.packetBuffer.writeByte(var14); - TextureProvider.method2777(var10.packetBuffer, var3); - var10.packetBuffer.writeLengthByte(var10.packetBuffer.index - var11); - Client.packetWriter.method241(var10); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { - Interpreter.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - var7 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - PacketBufferNode var8 = Interpreter.method1915(ClientPacket.field247, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(0); - int var9 = var8.packetBuffer.index; - var8.packetBuffer.writeStringCp1252NullTerminated(var3); - TextureProvider.method2777(var8.packetBuffer, var7); - var8.packetBuffer.writeLengthShort(var8.packetBuffer.index - var9); - Client.packetWriter.method241(var8); - return 1; - } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.field138; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = InterfaceParent.method1174(var5); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = GrandExchangeOfferAgeComparator.method161(var5); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = SpriteMask.method4391(var5); - return 1; - } else if (var0 == ScriptOpcodes.DOCHEAT) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - BoundaryObject.doCheat(var3); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { - Client.field158 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize].toLowerCase().trim(); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Client.field158; - return 1; - } else if (var0 == 5023) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - System.out.println(var3); - return 1; - } else { - return 2; - } - } else { - if (Canvas.localPlayer != null && Canvas.localPlayer.username != null) { - var3 = Canvas.localPlayer.username.getName(); - } else { - var3 = ""; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lbw;Lbw;IZB)I", + garbageValue = "24" + ) + @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; + } - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - return 1; - } - } - } - } - } + if (var5 == -1) { + var5 = 2001; + } + } - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "47188688" - ) - protected static int method2222() { - int var0 = 0; - if (AbstractArchive.garbageCollector == null || !AbstractArchive.garbageCollector.isValid()) { - try { - Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); + 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.method1698() ? (var1.method1698() ? 0 : 1) : (var1.method1698() ? -1 : 0); + } else if (var2 == 5) { + return var0.method1682() ? (var1.method1682() ? 0 : 1) : (var1.method1682() ? -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; + } + } - while (var1.hasNext()) { - GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); - if (var2.isValid()) { - AbstractArchive.garbageCollector = var2; - GameShell.garbageCollectorLastCheckTimeMs = -1L; - GameShell.garbageCollectorLastCollectionTime = -1L; - } - } - } catch (Throwable var9) { - } - } - - if (AbstractArchive.garbageCollector != null) { - long var10 = class203.currentTimeMs(); - long var3 = AbstractArchive.garbageCollector.getCollectionTime(); - if (GameShell.garbageCollectorLastCollectionTime != -1L) { - long var5 = var3 - GameShell.garbageCollectorLastCollectionTime; - long var7 = var10 - GameShell.garbageCollectorLastCheckTimeMs; - if (0L != var7) { - var0 = (int)(var5 * 100L / var7); - } - } - - GameShell.garbageCollectorLastCollectionTime = var3; - GameShell.garbageCollectorLastCheckTimeMs = var10; - } - - return var0; - } - - @ObfuscatedName("hx") - @ObfuscatedSignature( - signature = "(IIZI)V", - garbageValue = "2072073729" - ) - static final void method2224(int var0, int var1, boolean var2) { - if (!var2 || var0 != GameObject.field359 || WorldMapLabelSize.field1041 != var1) { - GameObject.field359 = var0; - WorldMapLabelSize.field1041 = var1; - GameShell.updateGameState(25); - PendingSpawn.drawLoadingMessage("Loading - please wait.", true); - int var3 = class50.baseX; - int var4 = GraphicsObject.baseY; - class50.baseX = (var0 - 6) * 8; - GraphicsObject.baseY = (var1 - 6) * 8; - int var5 = class50.baseX - var3; - int var6 = GraphicsObject.baseY - var4; - var3 = class50.baseX; - var4 = GraphicsObject.baseY; - - int var7; - int var8; - int[] var9; - for (var7 = 0; var7 < 32768; ++var7) { - NPC var10 = Client.npcs[var7]; - if (var10 != null) { - for (var8 = 0; var8 < 10; ++var8) { - var9 = var10.pathX; - var9[var8] -= var5; - var9 = var10.pathY; - var9[var8] -= var6; - } - - var10.x -= var5 * 128; - var10.y -= var6 * 128; - } - } - - for (var7 = 0; var7 < 2048; ++var7) { - Player var21 = Client.players[var7]; - if (var21 != null) { - for (var8 = 0; var8 < 10; ++var8) { - var9 = var21.pathX; - var9[var8] -= var5; - var9 = var21.pathY; - var9[var8] -= var6; - } - - var21.x -= var5 * 128; - var21.y -= var6 * 128; - } - } - - byte var22 = 0; - byte var11 = 104; - byte var12 = 1; - if (var5 < 0) { - var22 = 103; - var11 = -1; - var12 = -1; - } - - byte var13 = 0; - byte var14 = 104; - byte var15 = 1; - if (var6 < 0) { - var13 = 103; - var14 = -1; - var15 = -1; - } - - int var16; - for (int var17 = var22; var17 != var11; var17 += var12) { - for (var16 = var13; var14 != var16; var16 += var15) { - int var18 = var17 + var5; - int var19 = var16 + var6; - - for (int var20 = 0; var20 < 4; ++var20) { - if (var18 >= 0 && var19 >= 0 && var18 < 104 && var19 < 104) { - Client.groundItems[var20][var17][var16] = Client.groundItems[var20][var18][var19]; - } else { - Client.groundItems[var20][var17][var16] = null; - } - } - } - } - - for (PendingSpawn var23 = (PendingSpawn)Client.pendingSpawns.last(); var23 != null; var23 = (PendingSpawn)Client.pendingSpawns.previous()) { - var23.x -= var5; - var23.y -= var6; - if (var23.x < 0 || var23.y < 0 || var23.x >= 104 || var23.y >= 104) { - var23.remove(); - } - } - - if (Client.destinationX != 0) { - Client.destinationX -= var5; - Client.destinationY -= var6; - } - - Client.soundEffectCount = 0; - Client.isCameraLocked = false; - WorldMapSection2.cameraX -= var5 << 7; - GrandExchangeOfferNameComparator.cameraZ -= var6 << 7; - MouseHandler.oculusOrbFocalPointX -= var5 << 7; - ScriptEvent.oculusOrbFocalPointY -= var6 << 7; - Client.field125 = -1; - Client.graphicsObjects.clear(); - Client.projectiles.clear(); - - for (var16 = 0; var16 < 4; ++var16) { - Client.collisionMaps[var16].clear(); - } - } - - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Lbw;", + garbageValue = "-1381660129" + ) + @Export("worldListStart") + static World worldListStart() { + World.worldListWorldCount = 0; + return Canvas.getNextWorldListWorld(); + } } diff --git a/runescape-client/src/main/java/Entity.java b/runescape-client/src/main/java/Entity.java index 556d76c21a..8ce08c3e31 100644 --- a/runescape-client/src/main/java/Entity.java +++ b/runescape-client/src/main/java/Entity.java @@ -4,38 +4,71 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ex") +@ObfuscatedName("eo") @Implements("Entity") public abstract class Entity extends DualNode { - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = 849583845 - ) - @Export("height") - public int height; + @ObfuscatedName("ev") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive20") + static Archive archive20; + @ObfuscatedName("fz") + @ObfuscatedGetter( + longValue = -4807383784337722267L + ) + static long field1872; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -1527077961 + ) + @Export("height") + public int height; - protected Entity() { - this.height = 1000; - } + protected Entity() { + this.height = 1000; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected Model getModel() { - return null; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected Model getModel() { + return null; + } - @ObfuscatedName("cy") - @Export("draw") - void draw(int yaw, int cameraPitchSine, int cameraPitchCosine, int cameraYawSine, int cameraYawCosine, int x, int y, int var8, long tag) { - Model var11 = this.getModel(); - if (var11 != null) { - this.height = var11.height; - var11.draw(yaw, cameraPitchSine, cameraPitchCosine, cameraYawSine, cameraYawCosine, x, y, var8, tag); - } + @ObfuscatedName("ct") + @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("hn") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V", + garbageValue = "-224975698" + ) + @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.menuTargetNames[Client.menuOptionsCount] = var1; + Client.menuOpcodes[Client.menuOptionsCount] = var2; + Client.menuArguments0[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/EnumDefinition.java b/runescape-client/src/main/java/EnumDefinition.java index 428f82137e..de88296796 100644 --- a/runescape-client/src/main/java/EnumDefinition.java +++ b/runescape-client/src/main/java/EnumDefinition.java @@ -3,126 +3,301 @@ 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("jw") +@ObfuscatedName("iv") @Implements("EnumDefinition") public class EnumDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("EnumDefinition_archive") - public static AbstractArchive EnumDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("EnumDefinition_cached") - static EvictingDualNodeHashTable EnumDefinition_cached; - @ObfuscatedName("q") - @Export("inputType") - public char inputType; - @ObfuscatedName("w") - @Export("outputType") - public char outputType; - @ObfuscatedName("o") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1948115527 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -12324053 - ) - @Export("outputCount") - public int outputCount; - @ObfuscatedName("l") - @Export("keys") - public int[] keys; - @ObfuscatedName("e") - @Export("intVals") - public int[] intVals; - @ObfuscatedName("x") - @Export("strVals") - public String[] strVals; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("EnumDefinition_archive") + public static AbstractArchive EnumDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("EnumDefinition_cached") + static EvictingDualNodeHashTable EnumDefinition_cached; + @ObfuscatedName("ez") + @ObfuscatedGetter( + intValue = -1722936721 + ) + static int field3324; + @ObfuscatedName("e") + @Export("inputType") + public char inputType; + @ObfuscatedName("p") + @Export("outputType") + public char outputType; + @ObfuscatedName("k") + @Export("defaultStr") + public String defaultStr; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1879425987 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1202748617 + ) + @Export("outputCount") + public int outputCount; + @ObfuscatedName("i") + @Export("keys") + public int[] keys; + @ObfuscatedName("c") + @Export("intVals") + public int[] intVals; + @ObfuscatedName("f") + @Export("strVals") + public String[] strVals; - EnumDefinition() { - this.defaultStr = "null"; - this.outputCount = 0; - } + static { + EnumDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-230039710" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + EnumDefinition() { + this.defaultStr = "null"; + this.outputCount = 0; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "49" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1255400805" - ) - @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]; + this.decodeNext(var1, var2); + } + } - 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]; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "19" + ) + @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.intVals[var3] = var1.readInt(); - } - } - } + 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("w") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "1" - ) - @Export("size") - public int size() { - return this.outputCount; - } + } - static { - EnumDefinition_cached = new EvictingDualNodeHashTable(64); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-54" + ) + @Export("size") + public int size() { + return this.outputCount; + } + + @ObfuscatedName("q") + public static final void method4550(long var0) { + if (var0 > 0L) { + if (0L == var0 % 10L) { + 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("ar") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-2052329100" + ) + static int method4532(int var0, Script var1, boolean var2) { + int var3; + int var4; + if (var0 == ScriptOpcodes.ADD) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4 + var3; + return 1; + } else if (var0 == ScriptOpcodes.SUB) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 - var4; + return 1; + } else if (var0 == ScriptOpcodes.MULTIPLY) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 * var4; + return 1; + } else if (var0 == ScriptOpcodes.DIV) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 / var4; + return 1; + } else if (var0 == ScriptOpcodes.RANDOM) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); + return 1; + } else if (var0 == ScriptOpcodes.RANDOMINC) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); + return 1; + } else if (var0 == ScriptOpcodes.INTERPOLATE) { + HealthBarUpdate.Interpreter_intStackSize -= 5; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + int var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 4]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 + (var7 - var5) * (var4 - var3) / (var6 - var5); + return 1; + } else if (var0 == ScriptOpcodes.ADDPERCENT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 + var4 * var3 / 100; + return 1; + } else if (var0 == ScriptOpcodes.SETBIT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 | 1 << var4; + return 1; + } else if (var0 == ScriptOpcodes.CLEARBIT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); + return 1; + } else if (var0 == ScriptOpcodes.TESTBIT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.MOD) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 % var4; + return 1; + } else if (var0 == ScriptOpcodes.POW) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.INVPOW) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + switch(var4) { + case 0: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; + break; + case 1: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3; + break; + case 2: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); + break; + case 3: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); + break; + case 4: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); + break; + default: + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); + } + + return 1; + } + } else if (var0 == ScriptOpcodes.AND) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 & var4; + return 1; + } else if (var0 == ScriptOpcodes.OR) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3 | var4; + return 1; + } else if (var0 == ScriptOpcodes.SCALE) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + long var9 = (long)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + long var11 = (long)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + long var13 = (long)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (int)(var13 * var9 / var11); + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Enumerated.java b/runescape-client/src/main/java/Enumerated.java index 65f99d25ad..a6314ed7fd 100644 --- a/runescape-client/src/main/java/Enumerated.java +++ b/runescape-client/src/main/java/Enumerated.java @@ -1,16 +1,14 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gc") +@ObfuscatedName("go") @Implements("Enumerated") public interface Enumerated { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - int rsOrdinal(); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + int rsOrdinal(); } diff --git a/runescape-client/src/main/java/EvictingDualNodeHashTable.java b/runescape-client/src/main/java/EvictingDualNodeHashTable.java index 9ab1d0b28a..bcb22c8131 100644 --- a/runescape-client/src/main/java/EvictingDualNodeHashTable.java +++ b/runescape-client/src/main/java/EvictingDualNodeHashTable.java @@ -3,101 +3,101 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("er") +@ObfuscatedName("el") @Implements("EvictingDualNodeHashTable") public final class EvictingDualNodeHashTable { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfn;" - ) - DualNode field343; - @ObfuscatedName("f") - @Export("capacity") - int capacity; - @ObfuscatedName("q") - @Export("remainingCapacity") - int remainingCapacity; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("hashTable") - NodeHashTable hashTable; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Ljp;" - ) - @Export("deque") - DualNodeDeque deque; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfb;" + ) + DualNode field1959; + @ObfuscatedName("w") + @Export("capacity") + int capacity; + @ObfuscatedName("e") + @Export("remainingCapacity") + int remainingCapacity; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ljk;" + ) + @Export("deque") + IterableDualNodeQueue deque; - public EvictingDualNodeHashTable(int var1) { - this.field343 = new DualNode(); - this.deque = new DualNodeDeque(); - this.capacity = var1; - this.remainingCapacity = var1; + public EvictingDualNodeHashTable(int var1) { + this.field1959 = new DualNode(); + this.deque = new IterableDualNodeQueue(); + this.capacity = var1; + this.remainingCapacity = var1; - int var2; - for (var2 = 1; var2 + var2 < var1; var2 += var2) { - } + int var2; + for (var2 = 1; var2 + var2 < var1; var2 += var2) { + } - this.hashTable = new NodeHashTable(var2); - } + this.hashTable = new IterableNodeHashTable(var2); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(J)Lfn;" - ) - @Export("get") - public DualNode get(long key) { - DualNode var3 = (DualNode)this.hashTable.get(key); - if (var3 != null) { - this.deque.addFirst(var3); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(J)Lfb;" + ) + @Export("get") + public DualNode get(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + this.deque.add(var3); + } - return var3; - } + return var3; + } - @ObfuscatedName("f") - @Export("remove") - public void remove(long key) { - DualNode var3 = (DualNode)this.hashTable.get(key); - if (var3 != null) { - var3.remove(); - var3.removeDual(); - ++this.remainingCapacity; - } + @ObfuscatedName("w") + @Export("remove") + public void remove(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + var3.remove(); + var3.removeDual(); + ++this.remainingCapacity; + } - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lfn;J)V" - ) - @Export("put") - public void put(DualNode value, long key) { - if (this.remainingCapacity == 0) { - DualNode var4 = this.deque.removeLast(); - var4.remove(); - var4.removeDual(); - if (var4 == this.field343) { - var4 = this.deque.removeLast(); - var4.remove(); - var4.removeDual(); - } - } else { - --this.remainingCapacity; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lfb;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.field1959) { + var4 = this.deque.removeLast(); + var4.remove(); + var4.removeDual(); + } + } else { + --this.remainingCapacity; + } - this.hashTable.put(value, key); - this.deque.addFirst(value); - } + this.hashTable.put(var1, var2); + this.deque.add(var1); + } - @ObfuscatedName("w") - @Export("clear") - public void clear() { - this.deque.clear(); - this.hashTable.clear(); - this.field343 = new DualNode(); - this.remainingCapacity = this.capacity; - } + @ObfuscatedName("p") + @Export("clear") + public void clear() { + this.deque.clear(); + this.hashTable.clear(); + this.field1959 = 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 26e5f7bfec..8e347efdb4 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -1,116 +1,216 @@ -import java.applet.Applet; -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("el") +@ObfuscatedName("en") @Implements("FaceNormal") public class FaceNormal { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 422473713 - ) - public static int field344; - @ObfuscatedName("gm") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("redHintArrowSprite") - static Sprite redHintArrowSprite; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -2074333261 - ) - int field346; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1376860893 - ) - int field347; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 2619977 - ) - int field348; + @ObfuscatedName("v") + static int[][][] field1887; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 2130535467 + ) + int field1889; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 522108407 + ) + int field1890; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1566565487 + ) + int field1888; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIII)Lcg;", - garbageValue = "-1788849120" - ) - static Script method3236(int var0, int var1, int var2) { - int var3 = GrandExchangeOfferUnitPriceComparator.method125(var1, var0); - Script var4 = InterfaceParent.method1175(var3, var0); - if (var4 != null) { - return var4; - } else { - var3 = PacketBuffer.method4081(var2, var0); - var4 = InterfaceParent.method1175(var3, var0); - return var4 != null ? var4 : null; - } - } + FaceNormal() { + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ILjava/lang/String;I)Z", - garbageValue = "-1495992318" - ) - static boolean method3237(String var0, int var1, String var2) { - if (var1 == 0) { - try { - if (!class50.field1160.startsWith("win")) { - throw new Exception(); - } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { - throw new Exception(); - } else { - String var11 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Ljj;", + garbageValue = "1137342160" + ) + @Export("ClientParameter_values") + public static ClientParameter[] ClientParameter_values() { + return new ClientParameter[]{ClientParameter.field3593, ClientParameter.field3589, ClientParameter.field3594, ClientParameter.field3591, ClientParameter.field3600, ClientParameter.field3599, ClientParameter.field3592, ClientParameter.field3595, ClientParameter.field3585, ClientParameter.field3587, ClientParameter.field3582, ClientParameter.field3586, ClientParameter.field3581, ClientParameter.field3598, ClientParameter.field3590, ClientParameter.field3588, ClientParameter.field3584, ClientParameter.field3596, ClientParameter.field3583}; + } - for (int var12 = 0; var12 < var0.length(); ++var12) { - if (var11.indexOf(var0.charAt(var12)) == -1) { - throw new Exception(); - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;B)V", + garbageValue = "-92" + ) + @Export("setNpcDefinitionArchives") + public static void setNpcDefinitionArchives(AbstractArchive var0, AbstractArchive var1) { + NPCDefinition.NpcDefinition_archive = var0; + NPCDefinition.NpcDefinition_modelArchive = var1; + } - Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); - return true; - } - } catch (Throwable var6) { - return false; - } - } else if (var1 == 1) { - try { - Applet var3 = class50.applet; - Object[] var4 = new Object[]{(new URL(class50.applet.getCodeBase(), var0)).toString()}; - Object var5 = JSObject.getWindow(var3).call(var2, var4); - return var5 != null; - } catch (Throwable var7) { - return false; - } - } else if (var1 == 2) { - try { - class50.applet.getAppletContext().showDocument(new URL(class50.applet.getCodeBase(), var0), "_blank"); - return true; - } catch (Exception var8) { - return false; - } - } else if (var1 == 3) { - try { - class46.method851(class50.applet, "loggedout"); - } catch (Throwable var10) { - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-545171198" + ) + static void method3266(boolean var0) { + Login.Login_response1 = ""; + Login.Login_response2 = "Enter your username/email & password."; + Login.Login_response3 = ""; + Login.loginIndex = 2; + if (var0) { + Login.Login_password = ""; + } - try { - class50.applet.getAppletContext().showDocument(new URL(class50.applet.getCodeBase(), var0), "_top"); - return true; - } catch (Exception var9) { - return false; - } - } else { - throw new IllegalArgumentException(); - } - } + class49.method815(); + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + + } + + @ObfuscatedName("eh") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1702335616" + ) + static void method3264() { + Client.mouseLastLastPressedTimeMillis = 1L; + class40.mouseRecorder.index = 0; + class267.field3557 = true; + Client.field667 = true; + Client.field879 = -1L; + class192.method3678(); + Client.packetWriter.method2218(); + Client.packetWriter.packetBuffer.offset = 0; + Client.packetWriter.serverPacket = null; + Client.packetWriter.field1309 = null; + Client.packetWriter.field1321 = null; + Client.packetWriter.field1317 = null; + Client.packetWriter.serverPacketLength = 0; + Client.packetWriter.field1318 = 0; + Client.rebootTimer = 0; + Client.field700 = 0; + Client.hintArrowType = 0; + Strings.method4121(); + 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; + PendingSpawn.field944 = null; + Client.minimapState = 0; + Client.field747 = -1; + Client.destinationX = 0; + Client.destinationY = 0; + Client.playerAttackOption = AttackOption.AttackOption_hidden; + Client.npcAttackOption = AttackOption.AttackOption_hidden; + Client.npcCount = 0; + Players.Players_count = 0; + + int var0; + for (var0 = 0; var0 < 2048; ++var0) { + Players.field1254[var0] = null; + Players.field1250[var0] = 1; + } + + 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(); + + int var2; + for (var0 = 0; var0 < 4; ++var0) { + for (int var1 = 0; var1 < 104; ++var1) { + for (var2 = 0; var2 < 104; ++var2) { + Client.groundItems[var0][var1][var2] = null; + } + } + } + + Client.pendingSpawns = new NodeDeque(); + ArchiveLoader.friendSystem.clear(); + + for (var0 = 0; var0 < VarpDefinition.VarpDefinition_fileCount; ++var0) { + VarpDefinition var3 = GrandExchangeOfferWorldComparator.method61(var0); + if (var3 != null) { + Varps.Varps_temp[var0] = 0; + Varps.Varps_main[var0] = 0; + } + } + + Clock.varcs.clearTransient(); + Client.followerIndex = -1; + if (Client.rootInterface != -1) { + var0 = Client.rootInterface; + if (var0 != -1 && ViewportMouse.loadedInterfaces[var0]) { + Widget.Widget_archive.clearFilesGroup(var0); + if (Widget.Widget_interfaceComponents[var0] != null) { + boolean var5 = true; + + for (var2 = 0; var2 < Widget.Widget_interfaceComponents[var0].length; ++var2) { + if (Widget.Widget_interfaceComponents[var0][var2] != null) { + if (Widget.Widget_interfaceComponents[var0][var2].type != 2) { + Widget.Widget_interfaceComponents[var0][var2] = null; + } else { + var5 = false; + } + } + } + + if (var5) { + Widget.Widget_interfaceComponents[var0] = null; + } + + ViewportMouse.loadedInterfaces[var0] = false; + } + } + } + + for (InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.first(); var4 != null; var4 = (InterfaceParent)Client.interfaceParents.next()) { + class197.closeInterface(var4, true); + } + + Client.rootInterface = -1; + Client.interfaceParents = new NodeHashTable(8); + Client.field850 = null; + Strings.method4121(); + 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; + } + + ItemContainer.itemContainers = new NodeHashTable(32); + Client.isLoading = true; + + for (var0 = 0; var0 < 100; ++var0) { + Client.field843[var0] = true; + } + + HealthBarUpdate.method1677(); + DevicePcmPlayerProvider.clanChat = null; + + for (var0 = 0; var0 < 8; ++var0) { + Client.grandExchangeOffers[var0] = new GrandExchangeOffer(); + } + + PendingSpawn.grandExchangeEvents = null; + } } diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index b5f03505cc..86367606b4 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -1,117 +1,121 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; import net.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") +@ObfuscatedName("dq") @Implements("FloorDecoration") public final class FloorDecoration { - @ObfuscatedName("sm") - @ObfuscatedSignature( - signature = "Lg;" - ) - @Export("grandExchangeEvents") - static GrandExchangeEvents grandExchangeEvents; - @ObfuscatedName("my") - @ObfuscatedGetter( - intValue = -1344682613 - ) - @Export("selectedSpellFlags") - static int selectedSpellFlags; - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = -5063688075016130813L - ) - @Export("tag") - public long tag; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1358154703 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1309467119 - ) - @Export("x") - int x; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 318503957 - ) - @Export("y") - int y; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity") - public Entity entity; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1241982749 - ) - @Export("flags") - int flags; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -311515591 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1344271777 + ) + @Export("x") + int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -779439179 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity") + public Entity entity; + @ObfuscatedName("k") + @ObfuscatedGetter( + longValue = -3653968665269180135L + ) + @Export("tag") + public long tag; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1094759427 + ) + @Export("flags") + int flags; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;I)I", - garbageValue = "-1749538901" - ) - static int method2853(AbstractArchive var0, AbstractArchive var1) { - int var2 = 0; - if (var0.tryLoadFileByNames("title.jpg", "")) { - ++var2; - } + FloorDecoration() { + } - if (var1.tryLoadFileByNames("logo", "")) { - ++var2; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "3762" + ) + public static void method2842() { + if (KeyHandler.KeyHandler_instance != null) { + synchronized(KeyHandler.KeyHandler_instance) { + KeyHandler.KeyHandler_instance = null; + } + } - if (var1.tryLoadFileByNames("logo_deadman_mode", "")) { - ++var2; - } + } - if (var1.tryLoadFileByNames("titlebox", "")) { - ++var2; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/Throwable;B)Ljava/lang/String;", + garbageValue = "1" + ) + static String method2843(Throwable var0) throws IOException { + String var1; + if (var0 instanceof RunException) { + RunException var2 = (RunException)var0; + var1 = var2.string + " | "; + var0 = var2.throwable; + } else { + var1 = ""; + } - if (var1.tryLoadFileByNames("titlebutton", "")) { - ++var2; - } + 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(); - if (var1.tryLoadFileByNames("runes", "")) { - ++var2; - } + while (true) { + while (true) { + String var7 = var5.readLine(); + if (var7 == null) { + var1 = var1 + "| " + var6; + return var1; + } - if (var1.tryLoadFileByNames("title_mute", "")) { - ++var2; - } + 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; + } - if (var1.tryLoadFileByNames("options_radio_buttons,0", "")) { - ++var2; - } + var7 = var7.substring(0, var8); + } - if (var1.tryLoadFileByNames("options_radio_buttons,2", "")) { - ++var2; - } - - if (var1.tryLoadFileByNames("options_radio_buttons,4", "")) { - ++var2; - } - - if (var1.tryLoadFileByNames("options_radio_buttons,6", "")) { - ++var2; - } - - var1.tryLoadFileByNames("sl_back", ""); - var1.tryLoadFileByNames("sl_flags", ""); - var1.tryLoadFileByNames("sl_arrows", ""); - var1.tryLoadFileByNames("sl_stars", ""); - var1.tryLoadFileByNames("sl_button", ""); - return var2; - } + var7 = var7.trim(); + var7 = var7.substring(var7.lastIndexOf(32) + 1); + var7 = var7.substring(var7.lastIndexOf(9) + 1); + var1 = var1 + var7 + ' '; + } + } + } } diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index 79c2455a5b..e2588621d3 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -4,244 +4,267 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jf") +@ObfuscatedName("it") @Implements("FloorOverlayDefinition") public class FloorOverlayDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("FloorOverlayDefinition_archive") - public static AbstractArchive FloorOverlayDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("FloorOverlayDefinition_cached") - public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -111851793 - ) - @Export("rgb") - public int rgb; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 733377225 - ) - @Export("texture") - public int texture; - @ObfuscatedName("o") - public boolean field665; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 528865753 - ) - @Export("rgb2") - public int rgb2; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2013422835 - ) - @Export("hue") - public int hue; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1719896767 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -624223733 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -122393061 - ) - @Export("hue2") - public int hue2; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1514187401 - ) - @Export("saturation2") - public int saturation2; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 127639041 - ) - @Export("lightness2") - public int lightness2; + @ObfuscatedName("sh") + @ObfuscatedGetter( + intValue = -739683293 + ) + @Export("foundItemIdCount") + static int foundItemIdCount; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("FloorOverlayDefinition_archive") + public static AbstractArchive FloorOverlayDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("FloorOverlayDefinition_cached") + public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1387781245 + ) + @Export("primaryRgb") + public int primaryRgb; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -138481691 + ) + @Export("texture") + public int texture; + @ObfuscatedName("k") + @Export("hideUnderlay") + public boolean hideUnderlay; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1829885045 + ) + @Export("secondaryRgb") + public int secondaryRgb; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1785369295 + ) + @Export("hue") + public int hue; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 844527765 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -649539923 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1982106487 + ) + @Export("secondaryHue") + public int secondaryHue; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -241902903 + ) + @Export("secondarySaturation") + public int secondarySaturation; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -2090498171 + ) + @Export("secondaryLightness") + public int secondaryLightness; - public FloorOverlayDefinition() { - this.rgb = 0; - this.texture = -1; - this.field665 = true; - this.rgb2 = -1; - } + static { + FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "867788548" - ) - @Export("postDecode") - public void postDecode() { - if (this.rgb2 != -1) { - this.setHsl(this.rgb2); - this.hue2 = this.hue; - this.saturation2 = this.saturation; - this.lightness2 = this.lightness; - } + public FloorOverlayDefinition() { + this.primaryRgb = 0; + this.texture = -1; + this.hideUnderlay = true; + this.secondaryRgb = -1; + } - this.setHsl(this.rgb); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-866326245" + ) + @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; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-424203051" - ) - @Export("decode") - public void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); - if (var3 == 0) { - return; - } + this.setHsl(this.primaryRgb); + } - this.decodeNext(var1, var3, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "-93" + ) + @Export("decode") + public void decode(Buffer var1, int var2) { + while (true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;III)V", - garbageValue = "2094105763" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { - this.rgb = var1.readMedium(); - } else if (var2 == 2) { - this.texture = var1.readUnsignedByte(); - } else if (var2 == 5) { - this.field665 = false; - } else if (var2 == 7) { - this.rgb2 = var1.readMedium(); - } else if (var2 == 8) { - } + this.decodeNext(var1, var3, var2); + } + } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;IIB)V", + garbageValue = "0" + ) + @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("o") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "489697731" - ) - @Export("setHsl") - void setHsl(int rgb) { - double var2 = (double)(rgb >> 16 & 255) / 256.0D; - double var4 = (double)(rgb >> 8 & 255) / 256.0D; - double var6 = (double)(rgb & 255) / 256.0D; - double var8 = var2; - if (var4 < var2) { - var8 = var4; - } + } - if (var6 < var8) { - var8 = var6; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1232631755" + ) + @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; + } - double var10 = var2; - if (var4 > var2) { - var10 = var4; - } + if (var6 < var8) { + var8 = var6; + } - if (var6 > var10) { - var10 = var6; - } + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } - 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 (var6 > var10) { + var10 = var6; + } - if (var16 >= 0.5D) { - var14 = (var10 - var8) / (2.0D - var10 - var8); - } + 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 (var10 == var2) { - var12 = (var4 - var6) / (var10 - var8); - } else if (var10 == var4) { - var12 = (var6 - var2) / (var10 - var8) + 2.0D; - } else if (var10 == var6) { - var12 = (var2 - var4) / (var10 - var8) + 4.0D; - } - } + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } - var12 /= 6.0D; - this.hue = (int)(var12 * 256.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 (var2 == var10) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var10 == var6) { + var12 = 4.0D + (var2 - var4) / (var10 - var8); + } + } - if (this.lightness < 0) { - this.lightness = 0; - } else if (this.lightness > 255) { - this.lightness = 255; - } + var12 /= 6.0D; + this.hue = (int)(256.0D * var12); + 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; + } - @ObfuscatedName("iw") - @ObfuscatedSignature( - signature = "(Lho;IIB)V", - garbageValue = "30" - ) - @Export("alignWidgetPosition") - static void alignWidgetPosition(Widget component, int parentWidth, int parentHeight) { - if (component.xAlignment == 0) { - component.x = component.rawX; - } else if (component.xAlignment == 1) { - component.x = component.rawX + (parentWidth - component.width) / 2; - } else if (component.xAlignment == 2) { - component.x = parentWidth - component.width - component.rawX; - } else if (component.xAlignment == 3) { - component.x = component.rawX * parentWidth >> 14; - } else if (component.xAlignment == 4) { - component.x = (component.rawX * parentWidth >> 14) + (parentWidth - component.width) / 2; - } else { - component.x = parentWidth - component.width - (component.rawX * parentWidth >> 14); - } + } - if (component.yAlignment == 0) { - component.y = component.rawY; - } else if (component.yAlignment == 1) { - component.y = (parentHeight - component.height) / 2 + component.rawY; - } else if (component.yAlignment == 2) { - component.y = parentHeight - component.height - component.rawY; - } else if (component.yAlignment == 3) { - component.y = parentHeight * component.rawY >> 14; - } else if (component.yAlignment == 4) { - component.y = (parentHeight * component.rawY >> 14) + (parentHeight - component.height) / 2; - } else { - component.y = parentHeight - component.height - (parentHeight * component.rawY >> 14); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lhj;I[B[BI)V", + garbageValue = "610677249" + ) + static final void method4756(Widget var0, int var1, byte[] var2, byte[] var3) { + if (var0.field2650 == null) { + if (var2 == null) { + return; + } - } + var0.field2650 = new byte[11][]; + var0.field2625 = new byte[11][]; + var0.field2641 = new int[11]; + var0.field2588 = new int[11]; + } - static { - FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); - } + var0.field2650[var1] = var2; + if (var2 != null) { + var0.field2704 = true; + } else { + var0.field2704 = false; + + for (int var4 = 0; var4 < var0.field2650.length; ++var4) { + if (var0.field2650[var4] != null) { + var0.field2704 = true; + break; + } + } + } + + var0.field2625[var1] = var3; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(IIIB)I", + garbageValue = "127" + ) + static final int method4757(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 = GroundItemPile.method2765(var3, var5); + int var8 = GroundItemPile.method2765(var3 + 1, var5); + int var9 = GroundItemPile.method2765(var3, var5 + 1); + int var10 = GroundItemPile.method2765(var3 + 1, var5 + 1); + int var11 = class4.method49(var7, var8, var4, var2); + int var12 = class4.method49(var9, var10, var4, var2); + return class4.method49(var11, var12, var6, var2); + } } diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index e4c30b8774..aa6d4adb82 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -3,184 +3,211 @@ 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("ih") +@ObfuscatedName("ic") @Implements("FloorUnderlayDefinition") public class FloorUnderlayDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("FloorUnderlayDefinition_archive") - static AbstractArchive FloorUnderlayDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("FloorUnderlayDefinition_cached") - static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -635678213 - ) - @Export("rgb") - int rgb; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1465372343 - ) - @Export("hue") - public int hue; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 2031118785 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1691813081 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1484542081 - ) - @Export("hueMultiplier") - public int hueMultiplier; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("FloorUnderlayDefinition_archive") + public static AbstractArchive FloorUnderlayDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("FloorUnderlayDefinition_cached") + public static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -361069037 + ) + @Export("rgb") + int rgb; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1680352847 + ) + @Export("hue") + public int hue; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1411467289 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 223485885 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -907654805 + ) + @Export("hueMultiplier") + public int hueMultiplier; - FloorUnderlayDefinition() { - this.rgb = 0; - } + static { + FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-782326269" - ) - @Export("postDecode") - void postDecode() { - this.setHsl(this.rgb); - } + public FloorUnderlayDefinition() { + this.rgb = 0; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-336010991" - ) - @Export("decode") - void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); - if (var3 == 0) { - return; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-165448710" + ) + @Export("postDecode") + public void postDecode() { + this.setHsl(this.rgb); + } - this.decodeNext(var1, var3, var2); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "1618503924" + ) + @Export("decode") + public void decode(Buffer var1, int var2) { + while (true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;III)V", - garbageValue = "137131494" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { - this.rgb = var1.readMedium(); - } + this.decodeNext(var1, var3, var2); + } + } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;IIB)V", + garbageValue = "115" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2, int var3) { + if (var2 == 1) { + this.rgb = var1.readMedium(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-107" - ) - @Export("setHsl") - void setHsl(int rgb) { - double var2 = (double)(rgb >> 16 & 255) / 256.0D; - double var4 = (double)(rgb >> 8 & 255) / 256.0D; - double var6 = (double)(rgb & 255) / 256.0D; - double var8 = var2; - if (var4 < var2) { - var8 = var4; - } + } - if (var6 < var8) { - var8 = var6; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1792138465" + ) + @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; + } - double var10 = var2; - if (var4 > var2) { - var10 = var4; - } + if (var6 < var8) { + var8 = var6; + } - if (var6 > var10) { - var10 = var6; - } + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } - double var12 = 0.0D; - double var14 = 0.0D; - double var16 = (var10 + var8) / 2.0D; - if (var10 != var8) { - if (var16 < 0.5D) { - var14 = (var10 - var8) / (var10 + var8); - } + if (var6 > var10) { + var10 = var6; + } - if (var16 >= 0.5D) { - var14 = (var10 - var8) / (2.0D - var10 - var8); - } + double var12 = 0.0D; + double var14 = 0.0D; + double var16 = (var8 + var10) / 2.0D; + if (var10 != var8) { + if (var16 < 0.5D) { + var14 = (var10 - var8) / (var10 + var8); + } - if (var2 == var10) { - var12 = (var4 - var6) / (var10 - var8); - } else if (var4 == var10) { - var12 = 2.0D + (var6 - var2) / (var10 - var8); - } else if (var10 == var6) { - var12 = (var2 - var4) / (var10 - var8) + 4.0D; - } - } + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } - 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 (var2 == var10) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var10 == var6) { + var12 = (var2 - var4) / (var10 - var8) + 4.0D; + } + } - if (this.lightness < 0) { - this.lightness = 0; - } else if (this.lightness > 255) { - this.lightness = 255; - } + 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 (var16 > 0.5D) { - this.hueMultiplier = (int)(var14 * (1.0D - var16) * 512.0D); - } else { - this.hueMultiplier = (int)(var16 * var14 * 512.0D); - } + if (this.lightness < 0) { + this.lightness = 0; + } else if (this.lightness > 255) { + this.lightness = 255; + } - if (this.hueMultiplier < 1) { - this.hueMultiplier = 1; - } + if (var16 > 0.5D) { + this.hueMultiplier = (int)((1.0D - var16) * var14 * 512.0D); + } else { + this.hueMultiplier = (int)(var14 * var16 * 512.0D); + } - this.hue = (int)((double)this.hueMultiplier * var12); - } + if (this.hueMultiplier < 1) { + this.hueMultiplier = 1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Lip;", - garbageValue = "618327716" - ) - static VerticalAlignment[] method4839() { - return new VerticalAlignment[]{VerticalAlignment.field3277, VerticalAlignment.field3273, VerticalAlignment.field3274}; - } + this.hue = (int)(var12 * (double)this.hueMultiplier); + } - static { - FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1586535295" + ) + static int method4433(int var0, Script var1, boolean var2) { + Widget var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = HealthBar.method1957(class268.getWidgetClickMask(var3)); + return 1; + } else if (var0 != ScriptOpcodes.IF_GETOP) { + if (var0 == ScriptOpcodes.IF_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } } diff --git a/runescape-client/src/main/java/Font.java b/runescape-client/src/main/java/Font.java index e3b2eefcd1..e7a0f9fff6 100644 --- a/runescape-client/src/main/java/Font.java +++ b/runescape-client/src/main/java/Font.java @@ -2,100 +2,98 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("kk") +@ObfuscatedName("ke") @Implements("Font") public final class Font extends AbstractFont { - public Font(byte[] data, int[] leftBearings, int[] topBearings, int[] widths, int[] heights, int[] var6, byte[][] pixels) { - super(data, leftBearings, topBearings, widths, heights, var6, pixels); - } + 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); - } + public Font(byte[] var1) { + super(var1); + } - @ObfuscatedName("m") - @Export("drawGlyph") - final void drawGlyph(byte[] pixels, int x, int y, int width, int height, int color) { - int var7 = y * Rasterizer2D.Rasterizer2D_width + x; - int var8 = Rasterizer2D.Rasterizer2D_width - width; - int var9 = 0; - int var10 = 0; - int var11; - if (y < Rasterizer2D.Rasterizer2D_yClipStart) { - var11 = Rasterizer2D.Rasterizer2D_yClipStart - y; - height -= var11; - y = Rasterizer2D.Rasterizer2D_yClipStart; - var10 += var11 * width; - var7 += var11 * Rasterizer2D.Rasterizer2D_width; - } + @ObfuscatedName("q") + @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 (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) { - height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd; - } + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (x < Rasterizer2D.Rasterizer2D_xClipStart) { - var11 = Rasterizer2D.Rasterizer2D_xClipStart - x; - width -= var11; - x = Rasterizer2D.Rasterizer2D_xClipStart; - var10 += var11; - var7 += var11; - var9 += var11; - var8 += var11; - } + 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 (x + width > Rasterizer2D.Rasterizer2D_xClipEnd) { - var11 = x + width - Rasterizer2D.Rasterizer2D_xClipEnd; - width -= var11; - var9 += var11; - var8 += var11; - } + if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; + var4 -= var11; + var9 += var11; + var8 += var11; + } - if (width > 0 && height > 0) { - AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var10, var7, width, height, var8, var9); - } + if (var4 > 0 && var5 > 0) { + AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); + } + } - } + @ObfuscatedName("w") + @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; + } - @ObfuscatedName("f") - @Export("drawGlyphAlpha") - final void drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha) { - int var8 = y * Rasterizer2D.Rasterizer2D_width + x; - int var9 = Rasterizer2D.Rasterizer2D_width - width; - int var10 = 0; - int var11 = 0; - int var12; - if (y < Rasterizer2D.Rasterizer2D_yClipStart) { - var12 = Rasterizer2D.Rasterizer2D_yClipStart - y; - height -= var12; - y = Rasterizer2D.Rasterizer2D_yClipStart; - var11 += var12 * width; - var8 += var12 * Rasterizer2D.Rasterizer2D_width; - } + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) { - height -= y + height - 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 (x < Rasterizer2D.Rasterizer2D_xClipStart) { - var12 = Rasterizer2D.Rasterizer2D_xClipStart - x; - width -= var12; - x = 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 (x + width > Rasterizer2D.Rasterizer2D_xClipEnd) { - var12 = x + width - Rasterizer2D.Rasterizer2D_xClipEnd; - width -= var12; - var10 += var12; - var9 += var12; - } - - if (width > 0 && height > 0) { - AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var11, var8, width, height, var9, var10, alpha); - } - - } + 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 240d144441..0e5b9d0e59 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -4,587 +4,830 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("kx") +@ObfuscatedName("kd") @Implements("FontName") public class FontName { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_plain11") - public static final FontName FontName_plain11; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_plain12") - public static final FontName FontName_plain12; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_bold12") - public static final FontName FontName_bold12; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_verdana11") - public static final FontName FontName_verdana11; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_verdana13") - public static final FontName FontName_verdana13; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("FontName_verdana15") - public static final FontName FontName_verdana15; - @ObfuscatedName("g") - String field349; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_plain11") + public static final FontName FontName_plain11; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_plain12") + public static final FontName FontName_plain12; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_bold12") + public static final FontName FontName_bold12; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_verdana11") + public static final FontName FontName_verdana11; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_verdana13") + public static final FontName FontName_verdana13; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("FontName_verdana15") + public static final FontName FontName_verdana15; + @ObfuscatedName("b") + @Export("name") + String name; - FontName(String var1) { - this.field349 = var1; - } + 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"); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIIZII)J", - garbageValue = "1039369805" - ) - @Export("calculateTag") - public static long calculateTag(int x, int y, int type, boolean isNotInteractable, int identifier) { - long var5 = (long)((x & 127) << 0 | (y & 127) << 7 | (type & 3) << 14) | ((long)identifier & 4294967295L) << 17; - if (isNotInteractable) { - var5 |= 65536L; - } + FontName(String var1) { + this.name = var1; + } - return var5; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-201583329" + ) + public static void method5317() { + ItemDefinition.ItemDefinition_cachedSprites.clear(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1587423260" - ) - @Export("closeWorldSelect") - static void closeWorldSelect() { - Login.worldSelectOpen = false; - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - Fonts.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - WorldMapSectionType.logoSprite.drawAt(Login.xPadding + 382 - WorldMapSectionType.logoSprite.subWidth / 2, 18); - } + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-225592066" + ) + static int method5316(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.OC_NAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.getItemDefinition(var3).name; + return 1; + } else { + int var4; + ItemDefinition var5; + if (var0 == ScriptOpcodes.OC_OP) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var5 = WorldMapArea.getItemDefinition(var3); + if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)V", - garbageValue = "-871458249" - ) - static final void method5638(String var0, int var1) { - PacketBufferNode var2 = Interpreter.method1915(ClientPacket.field299, Client.packetWriter.isaacCipher); - var2.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var0) + 1); - var2.packetBuffer.writeStringCp1252NullTerminated(var0); - var2.packetBuffer.writeByte(var1); - Client.packetWriter.method241(var2); - } + return 1; + } else if (var0 == ScriptOpcodes.OC_IOP) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var5 = WorldMapArea.getItemDefinition(var3); + if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-1336396061" - ) - static int method5639(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.FRIEND_COUNT) { - if (WorldMapArea.friendSystem.field357 == 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -2; - } else if (WorldMapArea.friendSystem.field357 == 1) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapArea.friendSystem.friendsList.size(); - } + return 1; + } else if (var0 == ScriptOpcodes.OC_COST) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).price; + return 1; + } else if (var0 == ScriptOpcodes.OC_STACKABLE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isStackable == 1 ? 1 : 0; + return 1; + } else { + ItemDefinition var6; + if (var0 == ScriptOpcodes.OC_CERT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = WorldMapArea.getItemDefinition(var3); + if (var6.noteTemplate == -1 && var6.note >= 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3; + } - return 1; - } else { - int var3; - if (var0 == ScriptOpcodes.FRIEND_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.friendsList.size()) { - Friend var6 = (Friend)WorldMapArea.friendSystem.friendsList.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getName(); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + return 1; + } else if (var0 == ScriptOpcodes.OC_UNCERT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = WorldMapArea.getItemDefinition(var3); + if (var6.noteTemplate >= 0 && var6.note >= 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3; + } - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.friendsList.size()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.friendSystem.friendsList.get(var3)).world; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + return 1; + } else if (var0 == ScriptOpcodes.OC_MEMBERS) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isMembersOnly ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = WorldMapArea.getItemDefinition(var3); + if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3; + } - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.friendsList.size()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.friendSystem.friendsList.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + return 1; + } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = WorldMapArea.getItemDefinition(var3); + if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3; + } - return 1; - } else { - String var4; - if (var0 == ScriptOpcodes.FRIEND_SETRANK) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - int var8 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - method5638(var4, var8); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_ADD) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapArea.friendSystem.addFriend(var4); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_DEL) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapArea.friendSystem.removeFriend(var4); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_ADD) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapArea.friendSystem.addIgnore(var4); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_DEL) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapArea.friendSystem.removeIgnore(var4); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_TEST) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = NPCDefinition.method5161(var4); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapArea.friendSystem.isFriended(new Username(var4, KeyHandler.loginType), false) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { - if (PacketWriter.clanChat != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketWriter.clanChat.name; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + return 1; + } else if (var0 == ScriptOpcodes.OC_FIND) { + String var7 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + WorldMapDecoration.findItemDefinitions(var7, var4 == 1); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = FloorOverlayDefinition.foundItemIdCount; + return 1; + } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { + if (var0 == ScriptOpcodes.OC_FINDRESET) { + class32.foundItemIndex = 0; + return 1; + } else { + return 2; + } + } else { + if (WorldMapData_1.foundItemIds != null && class32.foundItemIndex < FloorOverlayDefinition.foundItemIdCount) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapData_1.foundItemIds[++class32.foundItemIndex - 1] & '\uffff'; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { - if (PacketWriter.clanChat != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat.size(); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + return 1; + } + } + } + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketWriter.clanChat.get(var3).getUsername().getName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + @ObfuscatedName("ii") + @ObfuscatedSignature( + signature = "([Lhj;IIIIIIIII)V", + garbageValue = "-414433713" + ) + @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(); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)PacketWriter.clanChat.get(var3)).getWorld(); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + 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; + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)PacketWriter.clanChat.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + var10.rootIndex = var11; + var10.cycle = Client.cycle; + if (!var10.isIf3 || !ScriptEvent.isComponentHidden(var10)) { + if (var10.contentType > 0) { + GrandExchangeOfferTotalQuantityComparator.method85(var10); + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat != null ? PacketWriter.clanChat.minKick : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - ArchiveDiskActionHandler.clanKickUser(var4); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat != null ? PacketWriter.clanChat.rank : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - class31.method574(var4); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { - GrandExchangeOfferAgeComparator.method158(); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { - if (!WorldMapArea.friendSystem.method99()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapArea.friendSystem.ignoreList.size(); - } + 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) { + WorldMapIcon_1.field188 = var0; + WorldMapDecorationType.field2742 = var6; + ClientPacket.field2305 = var7; + continue; + } - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.ignoreList.size()) { - Ignored var7 = (Ignored)WorldMapArea.friendSystem.ignoreList.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.getName(); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + if (Client.isDraggingWidget && Client.field873) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + var15 -= Client.widgetClickX; + var16 -= Client.widgetClickY; + if (var15 < Client.field834) { + var15 = Client.field834; + } - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_TEST) { - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = NPCDefinition.method5161(var4); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapArea.friendSystem.isIgnored(new Username(var4, KeyHandler.loginType)) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size() && PacketWriter.clanChat.get(var3).getUsername().equals(Canvas.localPlayer.username)) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + if (var15 + var10.width > Client.field834 + Client.clickedWidgetParent.width) { + var15 = Client.field834 + Client.clickedWidgetParent.width - var10.width; + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { - if (PacketWriter.clanChat != null && PacketWriter.clanChat.owner != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketWriter.clanChat.owner; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + if (var16 < Client.field835) { + var16 = Client.field835; + } - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size() && ((ClanMate)PacketWriter.clanChat.get(var3)).isFriend()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + if (var16 + var10.height > Client.field835 + Client.clickedWidgetParent.height) { + var16 = Client.field835 + Client.clickedWidgetParent.height - var10.height; + } - return 1; - } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { - if (var0 == 3628) { - WorldMapArea.friendSystem.friendsList.removeComparator(); - return 1; - } else { - boolean var5; - if (var0 == 3629) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator1(var5)); - return 1; - } else if (var0 == 3630) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator2(var5)); - return 1; - } else if (var0 == 3631) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator3(var5)); - return 1; - } else if (var0 == 3632) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator4(var5)); - return 1; - } else if (var0 == 3633) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator5(var5)); - return 1; - } else if (var0 == 3634) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator6(var5)); - return 1; - } else if (var0 == 3635) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator7(var5)); - return 1; - } else if (var0 == 3636) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator8(var5)); - return 1; - } else if (var0 == 3637) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator9(var5)); - return 1; - } else if (var0 == 3638) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new UserComparator10(var5)); - return 1; - } else if (var0 == 3639) { - WorldMapArea.friendSystem.friendsList.sort(); - return 1; - } else if (var0 == 3640) { - WorldMapArea.friendSystem.ignoreList.removeComparator(); - return 1; - } else if (var0 == 3641) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.ignoreList.addComparator(new UserComparator1(var5)); - return 1; - } else if (var0 == 3642) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.ignoreList.addComparator(new UserComparator2(var5)); - return 1; - } else if (var0 == 3643) { - WorldMapArea.friendSystem.ignoreList.sort(); - return 1; - } else if (var0 == 3644) { - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.removeComparator(); - } + var12 = var15; + var13 = var16; + } - return 1; - } else if (var0 == 3645) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator1(var5)); - } + if (!var10.isScrollBar) { + var14 = 128; + } + } - return 1; - } else if (var0 == 3646) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator2(var5)); - } + 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; + } - return 1; - } else if (var0 == 3647) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator3(var5)); - } + if (var22 < var13) { + var20 = var22; + var22 = var13; + } - return 1; - } else if (var0 == 3648) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator4(var5)); - } + ++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; + } - return 1; - } else if (var0 == 3649) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator5(var5)); - } + if (!var10.isIf3 || var15 < var17 && var16 < var18) { + if (var10.contentType != 0) { + if (var10.contentType == 1336) { + if (Client.displayFps) { + var13 += 15; + class169.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; + } - return 1; - } else if (var0 == 3650) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator6(var5)); - } + class169.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); + var13 += 15; + } + continue; + } - return 1; - } else if (var0 == 3651) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator7(var5)); - } + if (var10.contentType == 1337) { + Client.field803 = var12; + Client.field804 = var13; + class4.drawEntities(var12, var13, var10.width, var10.height); + Client.field843[var10.rootIndex] = true; + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } - return 1; - } else if (var0 == 3652) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator8(var5)); - } + if (var10.contentType == 1338) { + ArchiveLoader.drawMinimap(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } - return 1; - } else if (var0 == 3653) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator9(var5)); - } + if (var10.contentType == 1339) { + WorldMapIcon_0.drawCompass(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } - return 1; - } else if (var0 == 3654) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new UserComparator10(var5)); - } + if (var10.contentType == 1400) { + BoundaryObject.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); + } - return 1; - } else if (var0 == 3655) { - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.sort(); - } + if (var10.contentType == 1401) { + BoundaryObject.worldMap.drawOverview(var12, var13, var10.width, var10.height); + } - return 1; - } else if (var0 == 3656) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapArea.friendSystem.friendsList.addComparator(new BuddyRankComparator(var5)); - return 1; - } else if (var0 == 3657) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.addComparator(new BuddyRankComparator(var5)); - } + if (var10.contentType == 1402) { + Ignored.loginScreenRunesAnimation.draw(var12, Client.cycle); + } + } - return 1; - } else { - return 2; - } - } - } else { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size() && ((ClanMate)PacketWriter.clanChat.get(var3)).isIgnored()) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + if (var10.type == 0) { + if (!var10.isIf3 && ScriptEvent.isComponentHidden(var10) && var10 != LoginScreenAnimation.mousedOverWidgetIf1) { + continue; + } - return 1; - } - } - } - } + if (!var10.isIf3) { + if (var10.scrollY > var10.scrollHeight - var10.height) { + var10.scrollY = var10.scrollHeight - var10.height; + } - @ObfuscatedName("fp") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1831101083" - ) - static final void method5641() { - class4.method55(); - Tile.method2867(); - DevicePcmPlayerProvider.method841(); - WorldMapManager.method673(); - WorldMapLabel.method440(); - LoginScreenAnimation.method1780(); - SequenceDefinition.SequenceDefinition_cached.clear(); - SequenceDefinition.SequenceDefinition_cachedFrames.clear(); - UserComparator3.method3379(); - VarbitDefinition.VarbitDefinition_cached.clear(); - VarpDefinition.VarpDefinition_cached.clear(); - GrandExchangeEvents.method69(); - Buffer.clearHealthbarCaches(); - StructDefinition.StructDefinition_cached.clear(); - InvDefinition.method4754(); - Projectile.method2089(); - PlayerAppearance.PlayerAppearance_cachedModels.clear(); - BuddyRankComparator.method3382(); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); - Script.Script_cached.clear(); - AbstractArchive.archive0.clearFiles(); - Skeleton.archive1.clearFiles(); - WorldMapIcon1.archive3.clearFiles(); - WorldMapDecoration.archive4.clearFiles(); - SecureRandomFuture.archive5.clearFiles(); - UserComparator3.archive6.clearFiles(); - class40.archive7.clearFiles(); - WorldMapSection1.archive8.clearFiles(); - class238.archive9.clearFiles(); - class16.archive10.clearFiles(); - Login.archive11.clearFiles(); - Formatting.archive12.clearFiles(); - } + if (var10.scrollY < 0) { + var10.scrollY = 0; + } + } - @ObfuscatedName("gg") - @ObfuscatedSignature( - signature = "(IIIIZI)V", - garbageValue = "-2003105831" - ) - @Export("setViewportShape") - static final void setViewportShape(int x, int y, int width, int height, boolean clear) { - if (width < 1) { - width = 1; - } + 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); + } - if (height < 1) { - height = 1; - } + InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); + if (var30 != null) { + class191.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); + } - int var5 = height - 334; - int var6; - if (var5 < 0) { - var6 = Client.field130; - } else if (var5 >= 100) { - var6 = Client.field131; - } else { - var6 = (Client.field131 - Client.field130) * var5 / 100 + Client.field130; - } + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + } - int var7 = height * var6 * 512 / (width * 334); - int var8; - int var9; - short var10; - if (var7 < Client.field132) { - var10 = Client.field132; - var6 = var10 * width * 334 / (height * 512); - if (var6 > Client.field134) { - var6 = Client.field134; - var8 = height * var6 * 512 / (var10 * 334); - var9 = (width - var8) / 2; - if (clear) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(x, y, var9, height, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(x + width - var9, y, var9, height, -16777216); - } + if (Client.isResizable || Client.field862[var11] || Client.gameDrawingMode > 1) { + if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { + NetFileRequest.method4139(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); + } - x += var9; - width -= var9 * 2; - } - } else if (var7 > Client.field133) { - var10 = Client.field133; - var6 = var10 * width * 334 / (height * 512); - if (var6 < Client.field135) { - var6 = Client.field135; - var8 = var10 * width * 334 / (var6 * 512); - var9 = (height - var8) / 2; - if (clear) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(x, y, width, var9, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(x, height + y - var9, width, var9, -16777216); - } + if (var10.type != 1) { + int var23; + int var24; + int var25; + int var26; + if (var10.type == 2) { + var19 = 0; - y += var9; - height -= var9 * 2; - } - } + 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]; + } - Client.viewportZoom = height * var6 / 334; - if (width != Client.viewportWidth || height != Client.viewportHeight) { - ScriptEvent.method1183(width, height); - } + if (var10.itemIds[var19] <= 0) { + if (var10.inventorySprites != null && var19 < 20) { + Sprite var46 = var10.getInventorySprite(var19); + if (var46 != null) { + var46.drawAt2(var22, var23); + } else if (Widget.field2562) { + Strings.method4120(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 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + Sprite var27; + if (Client.isItemSelected == 1 && var19 == WorldMapIcon_1.selectedItemSlot && var10.id == MouseRecorder.selectedItemWidget) { + var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); + } else { + var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); + } - Client.viewportOffsetX = x; - Client.viewportOffsetY = y; - Client.viewportWidth = width; - Client.viewportHeight = height; - } + if (var27 != null) { + if (var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + var24 = MouseHandler.MouseHandler_x - Client.field654; + var25 = MouseHandler.MouseHandler_y - Client.field763; + if (var24 < 5 && var24 > -5) { + var24 = 0; + } - @ObfuscatedName("km") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "51" - ) - static final void method5635() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsInClanChat(); - } + if (var25 < 5 && var25 > -5) { + var25 = 0; + } - } + if (Client.itemDragDuration < 5) { + var24 = 0; + var25 = 0; + } - 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"); - } + var27.method6129(var24 + var22, 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.field718 / 3; + if (var29 > Client.field718 * 10) { + var29 = Client.field718 * 10; + } + + if (var29 > var28.scrollY) { + var29 = var28.scrollY; + } + + var28.scrollY -= var29; + Client.field763 += var29; + Strings.method4120(var28); + } + + if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { + var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field718 / 3; + if (var29 > Client.field718 * 10) { + var29 = Client.field718 * 10; + } + + if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { + var29 = var28.scrollHeight - var28.height - var28.scrollY; + } + + var28.scrollY += var29; + Client.field763 -= var29; + Strings.method4120(var28); + } + } + } else if (var10 == ItemContainer.field549 && var19 == Client.field698) { + var27.method6129(var22, var23, 128); + } else { + var27.drawAt2(var22, var23); + } + } else { + Strings.method4120(var10); + } + } + } + + ++var19; + } + } + } else if (var10.type == 3) { + if (ChatChannel.runCs1(var10)) { + var19 = var10.color2; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var19 = var10.mouseOverColor2; + } + } else { + var19 = var10.color; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var19 = var10.mouseOverColor; + } + } + + if (var10.fill) { + switch(var10.fillMode.field3886) { + 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.field2562) { + Strings.method4120(var10); + } + } else { + String var44 = var10.text; + if (ChatChannel.runCs1(var10)) { + var20 = var10.color2; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var20 = var10.mouseOverColor2; + } + + if (var10.text2.length() > 0) { + var44 = var10.text2; + } + } else { + var20 = var10.color; + if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var20 = var10.mouseOverColor; + } + } + + if (var10.isIf3 && var10.itemId != -1) { + ItemDefinition var45 = WorldMapArea.getItemDefinition(var10.itemId); + var44 = var45.name; + if (var44 == null) { + var44 = "null"; + } + + if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { + var44 = ClientPreferences.colorStartTag(16748608) + var44 + "" + " " + 'x' + class188.method3631(var10.itemQuantity); + } + } + + if (var10 == Client.field850) { + var44 = "Please wait..."; + var20 = var10.color; + } + + if (!var10.isIf3) { + var44 = GrandExchangeOfferTotalQuantityComparator.method92(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(ChatChannel.runCs1(var10)); + if (var40 != null) { + var40.drawAt2(var12, var13); + } else if (Widget.field2562) { + Strings.method4120(var10); + } + } else { + if (var10.itemId != -1) { + var40 = WorldMapSection0.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); + } else { + var40 = var10.getSprite(false); + } + + if (var40 == null) { + if (Widget.field2562) { + Strings.method4120(var10); + } + } else { + var20 = var40.width; + var21 = var40.height; + if (!var10.spriteTiling) { + var22 = var10.width * 4096 / var20; + if (var10.spriteAngle != 0) { + var40.method6186(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); + } else if (var14 != 0) { + var40.method6131(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); + } else if (var20 == var10.width && var21 == var10.height) { + var40.drawAt2(var12, var13); + } else { + var40.method6125(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.method6186(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096); + } else if (var14 != 0) { + var40.method6129(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255)); + } else { + var40.drawAt2(var12 + var24 * var20, var13 + var21 * var25); + } + } + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + } + } + } + } else { + ItemDefinition var33; + if (var10.type == 6) { + boolean var36 = ChatChannel.runCs1(var10); + if (var36) { + var20 = var10.sequenceId2; + } else { + var20 = var10.sequenceId; + } + + Model var41 = null; + var22 = 0; + if (var10.itemId != -1) { + var33 = WorldMapArea.getItemDefinition(var10.itemId); + if (var33 != null) { + var33 = var33.getCountObj(var10.itemQuantity); + var41 = var33.getModel(1); + if (var41 != null) { + var41.calculateBoundsCylinder(); + var22 = var41.height / 2; + } else { + Strings.method4120(var10); + } + } + } else if (var10.modelType == 5) { + if (var10.modelId == 0) { + var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); + } else { + var41 = Client.localPlayer.getModel(); + } + } else if (var20 == -1) { + var41 = var10.getModel((SequenceDefinition)null, -1, var36, Client.localPlayer.appearance); + if (var41 == null && Widget.field2562) { + Strings.method4120(var10); + } + } else { + SequenceDefinition var47 = GrandExchangeEvent.getSequenceDefinition(var20); + var41 = var10.getModel(var47, var10.modelFrame, var36, Client.localPlayer.appearance); + if (var41 == null && Widget.field2562) { + Strings.method4120(var10); + } + } + + Rasterizer3D.method2976(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.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); + } else { + var41.calculateBoundsCylinder(); + if (var10.modelOrthog) { + var41.method2876(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); + } else { + var41.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.field2562) { + Strings.method4120(var10); + } + continue; + } + + var20 = 0; + + for (var21 = 0; var21 < var10.rawHeight; ++var21) { + for (var22 = 0; var22 < var10.rawWidth; ++var22) { + if (var10.itemIds[var20] > 0) { + var33 = WorldMapArea.getItemDefinition(var10.itemIds[var20] - 1); + String var34; + if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { + var34 = ClientPreferences.colorStartTag(16748608) + var33.name + ""; + } else { + var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "" + " " + 'x' + class188.method3631(var10.itemQuantities[var20]); + } + + var25 = var22 * (var10.paddingX + 115) + var12; + var26 = var21 * (var10.paddingY + 12) + var13; + if (var10.textXAlignment == 0) { + var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else if (var10.textXAlignment == 1) { + var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else { + var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1); + } + } + + ++var20; + } + } + } + + if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) { + var19 = 0; + var20 = 0; + Font var31 = class169.fontPlain12; + String var32 = var10.text; + + String var43; + for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) { + var24 = var32.indexOf("
"); + if (var24 != -1) { + var43 = var32.substring(0, var24); + var32 = var32.substring(var24 + 4); + } else { + var43 = var32; + var32 = ""; + } + + 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 (var24 + var19 > 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); + var32 = var10.text; + var26 = var25 + var31.ascent + 2; + + for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) { + int var35 = var32.indexOf("
"); + if (var35 != -1) { + var43 = var32.substring(0, var35); + var32 = var32.substring(var35 + 4); + } else { + var43 = var32; + var32 = ""; + } + + var31.draw(var43, var24 + 3, var26, 0, -1); + } + } + + if (var10.type == 9) { + if (var10.field2598) { + 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 { + MusicPatchPcmStream.method3912(var19, var20, var21, var22, var10.color, var10.lineWid); + } + } + } + } + } + } + } + } + } + } + } + + } + + @ObfuscatedName("ka") + @ObfuscatedSignature( + signature = "(Lhj;B)Ljava/lang/String;", + garbageValue = "70" + ) + static String method5318(Widget var0) { + if (HealthBar.method1957(class268.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/Fonts.java b/runescape-client/src/main/java/Fonts.java index 35a8a067e8..e9fac31b4b 100644 --- a/runescape-client/src/main/java/Fonts.java +++ b/runescape-client/src/main/java/Fonts.java @@ -4,86 +4,59 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kz") +@ObfuscatedName("ku") @Implements("Fonts") public class Fonts { - @ObfuscatedName("sc") - @ObfuscatedSignature( - signature = "Lff;" - ) - @Export("masterDisk") - static ArchiveDisk masterDisk; - @ObfuscatedName("o") - static byte[][][] field350; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("rightTitleSprite") - static Sprite rightTitleSprite; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("spritesArchive") - AbstractArchive spritesArchive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("fontsArchive") - AbstractArchive fontsArchive; - @ObfuscatedName("q") - @Export("map") - HashMap map; + @ObfuscatedName("r") + static int[] field3689; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("spritesArchive") + AbstractArchive spritesArchive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("fontsArchive") + AbstractArchive fontsArchive; + @ObfuscatedName("e") + @Export("map") + HashMap map; - @ObfuscatedSignature( - signature = "(Lir;Lir;)V" - ) - public Fonts(AbstractArchive var1, AbstractArchive var2) { - this.spritesArchive = var1; - this.fontsArchive = var2; - this.map = new HashMap(); - } + @ObfuscatedSignature( + signature = "(Lhp;Lhp;)V" + ) + public Fonts(AbstractArchive var1, AbstractArchive var2) { + this.spritesArchive = var1; + this.fontsArchive = var2; + this.map = new HashMap(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([Lkx;I)Ljava/util/HashMap;", - garbageValue = "-1683788995" - ) - @Export("createMap") - public HashMap createMap(FontName[] var1) { - HashMap var2 = new HashMap(); - FontName[] var3 = var1; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([Lkd;I)Ljava/util/HashMap;", + garbageValue = "-354104614" + ) + @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 var6 = this.spritesArchive; - AbstractArchive var7 = this.fontsArchive; - String var8 = var5.field349; - int var9 = var6.getGroupId(var8); - int var10 = var6.getFileId(var9, ""); - Font var11 = GraphicsDefaults.loadFont(var6, var7, var9, var10); - if (var11 != null) { - this.map.put(var5, var11); - var2.put(var5, var11); - } - } - } + 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 = class287.method5258(this.spritesArchive, this.fontsArchive, var5.name, ""); + if (var6 != null) { + this.map.put(var5, var6); + var2.put(var5, var6); + } + } + } - return var2; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Lbt;", - garbageValue = "2102006478" - ) - @Export("getNextWorldListWorld") - static World getNextWorldListWorld() { - return World.worldListWorldCount < World.worldsCount ? ItemContainer.worlds[++World.worldListWorldCount - 1] : null; - } + return var2; + } } diff --git a/runescape-client/src/main/java/Formatting.java b/runescape-client/src/main/java/Formatting.java deleted file mode 100644 index e70709cc5a..0000000000 --- a/runescape-client/src/main/java/Formatting.java +++ /dev/null @@ -1,126 +0,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("cy") -@Implements("Formatting") -public class Formatting { - @ObfuscatedName("d") - static int[] field353; - @ObfuscatedName("dh") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive12") - static Archive archive12; - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1654486766" - ) - static int method2023(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.itemId; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { - if (var3.itemId != -1) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_GETID) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.childIndex; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-162828509" - ) - static int method2022(int var0, Script var1, boolean var2) { - int var3; - int var4; - int var5; - EnumDefinition var6; - if (var0 == ScriptOpcodes.ENUM_STRING) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var6 = Interpreter.getEnum(var3); - if (var6.outputType != 's') { - } - - for (var5 = 0; var5 < var6.outputCount; ++var5) { - if (var4 == var6.keys[var5]) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.strVals[var5]; - var6 = null; - break; - } - } - - if (var6 != null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.defaultStr; - } - - return 1; - } else if (var0 != ScriptOpcodes.ENUM) { - if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Interpreter.getEnum(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.size(); - return 1; - } else { - return 2; - } - } else { - RouteStrategy.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - int var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - EnumDefinition var8 = Interpreter.getEnum(var7); - if (var3 == var8.inputType && var4 == var8.outputType) { - for (int var9 = 0; var9 < var8.outputCount; ++var9) { - if (var5 == var8.keys[var9]) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.strVals[var9]; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var8.intVals[var9]; - } - - var8 = null; - break; - } - } - - if (var8 != null) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.defaultStr; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var8.defaultInt; - } - } - - return 1; - } else { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "null"; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } -} diff --git a/runescape-client/src/main/java/Frames.java b/runescape-client/src/main/java/Frames.java index e73b844bf2..a7c0cd0b1f 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -3,89 +3,249 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("en") +@ObfuscatedName("ek") @Implements("Frames") public class Frames extends DualNode { - @ObfuscatedName("o") - @Export("ArchiveDiskActionHandler_thread") - static Thread ArchiveDiskActionHandler_thread; - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("worldSelectFlagSprites") - static IndexedSprite[] worldSelectFlagSprites; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "[Ldz;" - ) - @Export("frames") - Animation[] frames; + @ObfuscatedName("i") + @Export("SpriteBuffer_spritePalette") + public static int[] SpriteBuffer_spritePalette; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[Lda;" + ) + @Export("frames") + Animation[] frames; - @ObfuscatedSignature( - signature = "(Lir;Lir;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); + @ObfuscatedSignature( + signature = "(Lhp;Lhp;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 (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; - } - } + 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); - } + if (var10 == null) { + byte[] var13; + if (var4) { + var13 = var2.getFile(0, var11); + } else { + var13 = var2.getFile(var11, 0); + } - this.frames[var7[var8]] = new Animation(var9, var10); - } + var10 = new Skeleton(var11, var13); + var5.addFirst(var10); + } - } + this.frames[var7[var8]] = new Animation(var9, var10); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1018278334" - ) - @Export("hasAlphaTransform") - public boolean hasAlphaTransform(int frame) { - return this.frames[frame].hasAlphaTransform; - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;I)V", - garbageValue = "1204337492" - ) - @Export("setVarcIntArchive") - public static void setVarcIntArchive(AbstractArchive var0) { - VarcInt.VarcInt_archive = var0; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1644534064" + ) + @Export("hasAlphaTransform") + public boolean hasAlphaTransform(int var1) { + return this.frames[var1].hasAlphaTransform; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Llh;ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "1776656760" - ) - static String method3238(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; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IILfl;Lfv;I)Z", + garbageValue = "4377134" + ) + public static final boolean method3267(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.vmethod3594(2, var4, var5, var3)) { + class173.field2088 = var4; + class218.field2707 = 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.field2088 = var4; + class218.field2707 = var5; + return false; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Ldm;IIIB)Z", + garbageValue = "44" + ) + @Export("boundingBoxCheck") + static final boolean boundingBoxCheck(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.rot1(var12, var9, var6, var5); + var16 = Rasterizer3D.rot2(var12, var9, var6, var5); + var12 = var15; + var15 = Rasterizer3D.rot1(var14, var10, var6, var5); + var17 = Rasterizer3D.rot2(var14, var10, var6, var5); + var14 = var15; + var15 = Rasterizer3D.rot3(var11, var16, var8, var7); + var16 = Rasterizer3D.rot4(var11, var16, var8, var7); + var11 = var15; + var15 = Rasterizer3D.rot3(var13, var17, var8, var7); + var17 = Rasterizer3D.rot4(var13, var17, var8, var7); + ModelData0.field1871 = (var11 + var15) / 2; + ViewportMouse.field1745 = (var12 + var14) / 2; + ViewportMouse.field1746 = (var16 + var17) / 2; + GroundItem.field1242 = (var15 - var11) / 2; + GrandExchangeEvent.field48 = (var14 - var12) / 2; + Canvas.field422 = (var17 - var16) / 2; + ScriptFrame.field527 = Math.abs(GroundItem.field1242); + ViewportMouse.field1741 = Math.abs(GrandExchangeEvent.field48); + MenuAction.field1160 = Math.abs(Canvas.field422); + } + + var5 = var0.xMid + var1; + var6 = var2 + var0.yMid; + var7 = var3 + var0.zMid; + var8 = var0.xMidOffset; + var16 = var0.yMidOffset; + var17 = var0.zMidOffset; + var11 = ModelData0.field1871 - var5; + var12 = ViewportMouse.field1745 - var6; + var13 = ViewportMouse.field1746 - var7; + if (Math.abs(var11) > var8 + ScriptFrame.field527) { + return false; + } else if (Math.abs(var12) > var16 + ViewportMouse.field1741) { + return false; + } else if (Math.abs(var13) > var17 + MenuAction.field1160) { + return false; + } else if (Math.abs(var13 * GrandExchangeEvent.field48 - var12 * Canvas.field422) > var17 * ViewportMouse.field1741 + var16 * MenuAction.field1160) { + return false; + } else if (Math.abs(var11 * Canvas.field422 - var13 * GroundItem.field1242) > var8 * MenuAction.field1160 + var17 * ScriptFrame.field527) { + return false; + } else { + return Math.abs(var12 * GroundItem.field1242 - var11 * GrandExchangeEvent.field48) <= var16 * ScriptFrame.field527 + var8 * ViewportMouse.field1741; + } + } + } } diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index 4203d642d2..81cbfa3ed8 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -1,41 +1,155 @@ -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("kq") +@ObfuscatedName("js") @Implements("Friend") public class Friend extends Buddy { - @ObfuscatedName("l") - @Export("soundSystemExecutor") - static ScheduledExecutorService soundSystemExecutor; - @ObfuscatedName("m") - boolean field354; - @ObfuscatedName("f") - boolean field355; + @ObfuscatedName("q") + boolean field3650; + @ObfuscatedName("w") + boolean field3651; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lkq;I)I", - garbageValue = "-1559116693" - ) - @Export("compareToFriend") - int compareToFriend(Friend other) { - return super.world == Client.worldId && Client.worldId != other.world ? -1 : (Client.worldId == other.world && super.world != Client.worldId ? 1 : (super.world != 0 && other.world == 0 ? -1 : (other.world != 0 && super.world == 0 ? 1 : (this.field354 && !other.field354 ? -1 : (!this.field354 && other.field354 ? 1 : (this.field355 && !other.field355 ? -1 : (!this.field355 && other.field355 ? 1 : (super.world != 0 ? super.int2 - other.int2 : other.int2 - super.int2)))))))); - } + Friend() { + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljs;I)I", - garbageValue = "1627362569" - ) - @Export("compareToUser") - public int compareToUser(User var1) { - return this.compareToFriend((Friend)var1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljs;I)I", + garbageValue = "-1814764429" + ) + @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.field3650 && !var1.field3650) { + return -1; + } else if (!this.field3650 && var1.field3650) { + return 1; + } else if (this.field3651 && !var1.field3651) { + return -1; + } else if (!this.field3651 && var1.field3651) { + return 1; + } else { + return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; + } + } - public int compareTo(Object var1) { - return this.compareToFriend((Friend)var1); - } + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(Ljd;I)I", + garbageValue = "-1938562722" + ) + @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("c") + @ObfuscatedSignature( + signature = "(Lhp;IIB)Z", + garbageValue = "-3" + ) + @Export("SpriteBuffer_loadSprite") + public static boolean SpriteBuffer_loadSprite(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + if (var3 == null) { + return false; + } else { + class185.SpriteBuffer_decode(var3); + return true; + } + } + + @ObfuscatedName("fv") + @ObfuscatedSignature( + signature = "(Lbq;I)V", + garbageValue = "230469601" + ) + static final void method5226(Actor var0) { + if (var0.field948 != 0) { + if (var0.targetIndex != -1) { + Object var1 = null; + if (var0.targetIndex < 32768) { + var1 = Client.npcs[var0.targetIndex]; + } else if (var0.targetIndex >= 32768) { + var1 = Client.players[var0.targetIndex - 32768]; + } + + if (var1 != null) { + int var2 = var0.x - ((Actor)var1).x; + int var3 = var0.y - ((Actor)var1).y; + if (var2 != 0 || var3 != 0) { + var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047; + } + } else if (var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + } + + if (var0.field976 != -1 && (var0.pathLength == 0 || var0.field1007 > 0)) { + var0.orientation = var0.field976; + var0.field976 = -1; + } + + int var4 = var0.orientation - var0.field950 & 2047; + if (var4 == 0 && var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + + if (var4 != 0) { + ++var0.field1009; + boolean var6; + if (var4 > 1024) { + var0.field950 -= var0.field948; + var6 = true; + if (var4 < var0.field948 || var4 > 2048 - var0.field948) { + var0.field950 = var0.orientation; + var6 = false; + } + + if (var0.movementSequence == var0.readySequence && (var0.field1009 > 25 || var6)) { + if (var0.turnLeftSequence != -1) { + var0.movementSequence = var0.turnLeftSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } else { + var0.field950 += var0.field948; + var6 = true; + if (var4 < var0.field948 || var4 > 2048 - var0.field948) { + var0.field950 = var0.orientation; + var6 = false; + } + + if (var0.readySequence == var0.movementSequence && (var0.field1009 > 25 || var6)) { + if (var0.turnRightSequence != -1) { + var0.movementSequence = var0.turnRightSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } + + var0.field950 &= 2047; + } else { + var0.field1009 = 0; + } + + } + } } diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 19b191955c..9c8d6813a8 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -4,36 +4,30 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kn") +@ObfuscatedName("kc") @Implements("FriendLoginUpdate") public class FriendLoginUpdate extends Link { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ley;" - ) - static UrlRequest field356; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1390885889 - ) - @Export("time") - public int time; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lkp;" - ) - @Export("username") - public Username username; - @ObfuscatedName("o") - @Export("world") - public short world; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1546177207 + ) + public int field3661; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("username") + public Username username; + @ObfuscatedName("k") + @Export("world") + public short world; - @ObfuscatedSignature( - signature = "(Lkp;I)V" - ) - FriendLoginUpdate(Username var1, int var2) { - this.time = (int)(class203.currentTimeMs() / 1000L); - this.username = var1; - this.world = (short)var2; - } + @ObfuscatedSignature( + signature = "(Ljv;I)V" + ) + FriendLoginUpdate(Username var1, int var2) { + this.field3661 = (int)(DirectByteArrayCopier.currentTimeMs() / 1000L); + this.username = var1; + this.world = (short)var2; + } } diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index 9976c7a2e0..7639a44560 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -5,333 +5,490 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bh") +@ObfuscatedName("bf") @Implements("FriendSystem") public class FriendSystem { - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Llx;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lkg;" - ) - @Export("friendsList") - public final FriendsList friendsList; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lkj;" - ) - @Export("ignoreList") - public final IgnoreList ignoreList; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1477282369 - ) - int field357; + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("worldSelectStars") + static IndexedSprite[] worldSelectStars; + @ObfuscatedName("ed") + static int[] field1074; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lmu;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ljc;" + ) + @Export("friendsList") + public final FriendsList friendsList; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ljf;" + ) + @Export("ignoreList") + public final IgnoreList ignoreList; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1533704569 + ) + int field1076; - @ObfuscatedSignature( - signature = "(Llx;)V" - ) - FriendSystem(LoginType var1) { - this.field357 = 0; - this.loginType = var1; - this.friendsList = new FriendsList(var1); - this.ignoreList = new IgnoreList(var1); - } + @ObfuscatedSignature( + signature = "(Lmu;)V" + ) + FriendSystem(LoginType var1) { + this.field1076 = 0; + this.loginType = var1; + this.friendsList = new FriendsList(var1); + this.ignoreList = new IgnoreList(var1); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-114" - ) - boolean method99() { - return this.field357 == 2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1493055205" + ) + boolean method1791() { + return this.field1076 == 2; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2125539725" - ) - final void method100() { - this.field357 = 1; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2033101779" + ) + final void method1760() { + this.field1076 = 1; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1440726810" - ) - final void method101(Buffer var1, int var2) { - this.friendsList.read(var1, var2); - this.field357 = 2; - GrandExchangeOffer.method121(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "499123399" + ) + final void method1805(Buffer var1, int var2) { + this.friendsList.read(var1, var2); + this.field1076 = 2; + VertexNormal.method2972(); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1408945788" - ) - final void method102() { - for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { - if ((long)var1.time < class203.currentTimeMs() / 1000L - 5L) { - if (var1.world > 0) { - WorldMapIcon1.addGameMessage(5, "", var1.username + " has logged in."); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "9" + ) + final void method1762() { + for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { + if ((long)var1.field3661 < DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) { + if (var1.world > 0) { + ScriptEvent.addGameMessage(5, "", var1.username + " has logged in."); + } - if (var1.world == 0) { - WorldMapIcon1.addGameMessage(5, "", var1.username + " has logged out."); - } + if (var1.world == 0) { + ScriptEvent.addGameMessage(5, "", var1.username + " has logged out."); + } - var1.remove(); - } - } + var1.remove(); + } + } - } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1170844364" - ) - @Export("clear") - final void clear() { - this.field357 = 0; - this.friendsList.clear(); - this.ignoreList.clear(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "487" + ) + @Export("clear") + final void clear() { + this.field1076 = 0; + this.friendsList.clear(); + this.ignoreList.clear(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkp;ZI)Z", - garbageValue = "2057092629" - ) - @Export("isFriended") - final boolean isFriended(Username var1, boolean var2) { - return var1 != null && (var1.equals(Canvas.localPlayer.username) || this.friendsList.isFriended(var1, var2)); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljv;ZI)Z", + garbageValue = "277105745" + ) + @Export("isFriended") + final boolean isFriended(Username var1, boolean var2) { + if (var1 == null) { + return false; + } else if (var1.equals(Client.localPlayer.username)) { + return true; + } else { + return this.friendsList.isFriended(var1, var2); + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkp;I)Z", - garbageValue = "1482725020" - ) - @Export("isIgnored") - final boolean isIgnored(Username var1) { - return var1 != null && this.ignoreList.contains(var1); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Ljv;B)Z", + garbageValue = "-1" + ) + @Export("isIgnored") + final boolean isIgnored(Username var1) { + if (var1 == null) { + return false; + } else { + return this.ignoreList.contains(var1); + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1721017960" - ) - @Export("addFriend") - final void addFriend(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - StringBuilder var3; - String var4; - if (this.canAddFriend()) { - var3 = null; - var4 = "Your friend list is full. Max of 200 for free users, and 400 for members"; - WorldMapIcon1.addGameMessage(30, "", var4); - } else if (Canvas.localPlayer.username.equals(var2)) { - var3 = null; - var4 = "You can't add yourself to your own friend list"; - WorldMapIcon1.addGameMessage(30, "", var4); - } else { - Object var5; - if (this.isFriended(var2, false)) { - var3 = (new StringBuilder()).append(var1); - var5 = null; - var4 = var3.append(" is already on your friend list").toString(); - WorldMapIcon1.addGameMessage(30, "", var4); - } else if (this.isIgnored(var2)) { - var3 = new StringBuilder(); - var5 = null; - var3 = var3.append("Please remove ").append(var1); - var5 = null; - var4 = var3.append(" from your ignore list first").toString(); - WorldMapIcon1.addGameMessage(30, "", var4); - } else { - PacketBufferNode var6 = Interpreter.method1915(ClientPacket.field310, Client.packetWriter.isaacCipher); - var6.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var1)); - var6.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.method241(var6); - } - } - } - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1616773862" + ) + @Export("addFriend") + final void addFriend(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.canAddFriend()) { + MouseRecorder.method1138(); + } else { + StringBuilder var10000; + String var4; + if (Client.localPlayer.username.equals(var2)) { + var10000 = null; + var4 = "You can't add yourself to your own friend list"; + ScriptEvent.addGameMessage(30, "", var4); + } else if (this.isFriended(var2, false)) { + WorldMapManager.method633(var1); + } else if (this.isIgnored(var2)) { + var10000 = new StringBuilder(); + Object var10001 = null; + var10000 = var10000.append("Please remove ").append(var1); + var10001 = null; + var4 = var10000.append(" from your ignore list first").toString(); + ScriptEvent.addGameMessage(30, "", var4); + } else { + PacketBufferNode var3 = Archive.method4265(ClientPacket.field2291, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.method2219(var3); + } + } + } + } + } - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1832843555" + ) + @Export("canAddFriend") + final boolean canAddFriend() { + return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field771 != 1; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "57" - ) - @Export("canAddFriend") - final boolean canAddFriend() { - return this.friendsList.isFull() || this.friendsList.size() >= 200 && Client.field209 != 1; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "1" + ) + @Export("addIgnore") + final void addIgnore(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.canAddIgnore()) { + Object var10000 = null; + String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; + ScriptEvent.addGameMessage(30, "", var3); + } else if (Client.localPlayer.username.equals(var2)) { + WorldMapEvent.method737(); + } else if (this.isIgnored(var2)) { + Client.method1650(var1); + } else if (this.isFriended(var2, false)) { + WorldMapID.method541(var1); + } else { + class219.method4111(var1); + } + } + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "30" - ) - @Export("addIgnore") - final void addIgnore(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - StringBuilder var3; - String var4; - if (this.canAddIgnore()) { - var3 = null; - var4 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; - WorldMapIcon1.addGameMessage(30, "", var4); - } else if (Canvas.localPlayer.username.equals(var2)) { - var3 = null; - var4 = "You can't add yourself to your own ignore list"; - WorldMapIcon1.addGameMessage(30, "", var4); - } else if (this.isIgnored(var2)) { - WorldMapRectangle.method294(var1); - } else { - PacketBufferNode var5; - if (this.isFriended(var2, false)) { - var3 = new StringBuilder(); - var5 = null; - var3 = var3.append("Please remove ").append(var1); - var5 = null; - var4 = var3.append(" from your friend list first").toString(); - WorldMapIcon1.addGameMessage(30, "", var4); - } else { - var5 = Interpreter.method1915(ClientPacket.field312, Client.packetWriter.isaacCipher); - var5.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var1)); - var5.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.method241(var5); - } - } - } - } + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-81479393" + ) + @Export("canAddIgnore") + final boolean canAddIgnore() { + return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field771 != 1; + } - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1086170142" + ) + @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.field672 = Client.cycleCntr; + PacketBufferNode var3 = Archive.method4265(ClientPacket.field2224, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.method2219(var3); + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "120" - ) - @Export("canAddIgnore") - final boolean canAddIgnore() { - return this.ignoreList.isFull() || this.ignoreList.size() >= 100 && Client.field209 != 1; - } + VertexNormal.method2972(); + } + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-2122207917" - ) - @Export("removeFriend") - final void removeFriend(String name) { - if (name != null) { - Username var2 = new Username(name, this.loginType); - if (var2.hasCleanName()) { - if (this.friendsList.removeByUsername(var2)) { - WorldMapManager.method668(); - PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field276, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(name)); - var3.packetBuffer.writeStringCp1252NullTerminated(name); - Client.packetWriter.method241(var3); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "8" + ) + @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.field672 = Client.cycleCntr; + PacketBufferNode var3 = Archive.method4265(ClientPacket.field2231, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.method2219(var3); + } - GrandExchangeOffer.method121(); - } - } + class2.method28(); + } + } + } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljv;I)Z", + garbageValue = "1053718867" + ) + @Export("isFriendAndHasWorld") + final boolean isFriendAndHasWorld(Username var1) { + Friend var2 = (Friend)this.friendsList.getByUsername(var1); + return var2 != null && var2.hasWorld(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1673636127" - ) - @Export("removeIgnore") - final void removeIgnore(String name) { - if (name != null) { - Username var2 = new Username(name, this.loginType); - if (var2.hasCleanName()) { - if (this.ignoreList.removeByUsername(var2)) { - WorldMapManager.method668(); - PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field250, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(name)); - var3.packetBuffer.writeStringCp1252NullTerminated(name); - Client.packetWriter.method241(var3); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "1745629182" + ) + public static int method1819(int var0, int var1) { + int var2; + if (var1 > var0) { + var2 = var0; + var0 = var1; + var1 = var2; + } - class229.method4512(); - } - } + while (var1 != 0) { + var2 = var0 % var1; + var0 = var1; + var1 = var2; + } - } + return var0; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkp;S)Z", - garbageValue = "-543" - ) - @Export("isFriendAndHasWorld") - final boolean isFriendAndHasWorld(Username var1) { - Friend var2 = (Friend)this.friendsList.getByUsername(var1); - return var2 != null && var2.hasWorld(); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BIIB)Ljava/lang/String;", + garbageValue = "52" + ) + @Export("decodeStringCp1252") + public static String decodeStringCp1252(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "866157286" - ) - static int method1867(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - } else { - var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } + for (int var5 = 0; var5 < var2; ++var5) { + int var6 = var0[var5 + var1] & 255; + if (var6 != 0) { + if (var6 >= 128 && var6 < 160) { + char var7 = class288.cp1252AsciiExtension[var6 - 128]; + if (var7 == 0) { + var7 = '?'; + } - if (var0 == ScriptOpcodes.CC_CALLONRESIZE) { - if (Interpreter.field425 >= 10) { - throw new RuntimeException(); - } else if (var3.onResize == null) { - return 0; - } else { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args0 = var3.onResize; - var4.field772 = Interpreter.field425 + 1; - Client.scriptEvents.addFirst(var4); - return 1; - } - } else { - return 2; - } - } + var6 = var7; + } - @ObfuscatedName("kb") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "0" - ) - @Export("jmodCheck") - public static boolean jmodCheck() { - return Client.staffModLevel >= 2; - } + var3[var4++] = (char)var6; + } + } + + return new String(var3, 0, var4); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-77884497" + ) + public static int method1784(int var0) { + return class43.method770(ViewportMouse.ViewportMouse_entityTags[var0]); + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-680519065" + ) + static int method1817(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; + return 1; + } else { + int var12; + if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 2 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 5 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var12 == 1 ? 1 : 0; + return 1; + } else { + boolean var13; + if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { + var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (PendingSpawn.grandExchangeEvents != null) { + PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { + var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (PendingSpawn.grandExchangeEvents != null) { + PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var13 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] == 1; + boolean var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1] == 1; + if (PendingSpawn.grandExchangeEvents != null) { + Client.GrandExchangeEvents_worldComparator.filterWorlds = var4; + PendingSpawn.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { + var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (PendingSpawn.grandExchangeEvents != null) { + PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { + var13 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (PendingSpawn.grandExchangeEvents != null) { + PendingSpawn.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = PendingSpawn.grandExchangeEvents == null ? 0 : PendingSpawn.grandExchangeEvents.events.size(); + return 1; + } else { + GrandExchangeEvent var11; + if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.world; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var11.getOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var11.getPreviousOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + long var5 = DirectByteArrayCopier.currentTimeMs() - Buddy.field3632 - 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[++Skills.Interpreter_stringStackSize - 1] = var10; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)PendingSpawn.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.id; + return 1; + } else { + return 2; + } + } + } + } + } } diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index c9fbb3601f..feaf9d0bc1 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -4,154 +4,158 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kg") +@ObfuscatedName("jc") @Implements("FriendsList") public class FriendsList extends UserList { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llx;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -217526077 - ) - int field358; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Ljy;" - ) - @Export("friendLoginUpdates") - public LinkDeque friendLoginUpdates; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lmu;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -374978569 + ) + int field3643; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lje;" + ) + @Export("friendLoginUpdates") + public LinkDeque friendLoginUpdates; - @ObfuscatedSignature( - signature = "(Llx;)V" - ) - public FriendsList(LoginType var1) { - super(400); - this.field358 = 1; - this.friendLoginUpdates = new LinkDeque(); - this.loginType = var1; - } + @ObfuscatedSignature( + signature = "(Lmu;)V" + ) + public FriendsList(LoginType var1) { + super(400); + this.field3643 = 1; + this.friendLoginUpdates = new LinkDeque(); + this.loginType = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljs;", - garbageValue = "-2063112195" - ) - @Export("newInstance") - User newInstance() { - return new Friend(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Ljd;", + garbageValue = "2016619159" + ) + @Export("newInstance") + User newInstance() { + return new Friend(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)[Ljs;", - garbageValue = "861814350" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Friend[var1]; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)[Ljd;", + garbageValue = "2126056206" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Friend[var1]; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lkp;ZI)Z", - garbageValue = "1557073132" - ) - @Export("isFriended") - public boolean isFriended(Username var1, boolean var2) { - Friend var3 = (Friend)this.getByUsername(var1); - return var3 != null && (!var2 || var3.world != 0); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljv;ZI)Z", + garbageValue = "547540517" + ) + @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("x") - @ObfuscatedSignature( - signature = "(Lgr;IB)V", - garbageValue = "-11" - ) - @Export("read") - public void read(Buffer buffer, int var2) { - while (true) { - if (buffer.index < var2) { - boolean var3 = buffer.readUnsignedByte() == 1; - Username var4 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType); - Username var5 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType); - int var6 = buffer.readUnsignedShort(); - int var7 = buffer.readUnsignedByte(); - int var8 = buffer.readUnsignedByte(); - boolean var9 = (var8 & 2) != 0; - boolean var10 = (var8 & 1) != 0; - if (var6 > 0) { - buffer.readStringCp1252NullTerminated(); - buffer.readUnsignedByte(); - buffer.readInt(); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "2066125669" + ) + @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(); + } - buffer.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; - } - } - } + 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; + 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; - } - } - } + 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.size() >= 400) { - continue; - } + if (var14) { + this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); + } + } + } else { + if (this.getSize() >= 400) { + continue; + } - var11 = (Friend)this.addLast(var4, var5); - } + var11 = (Friend)this.addLast(var4, var5); + } - if (var6 != var11.world) { - var11.int2 = ++this.field358 - 1; - if (var11.world == -1 && var6 == 0) { - var11.int2 = -(var11.int2 * -1377538447) * 120689297; - } + if (var6 != var11.world) { + var11.int2 = ++this.field3643 - 1; + if (var11.world == -1 && var6 == 0) { + var11.int2 = -(var11.int2 * -782754599) * -1246846103; + } - var11.world = var6; - } + var11.world = var6; + } - var11.rank = var7; - var11.field354 = var9; - var11.field355 = var10; - continue; - } + var11.rank = var7; + var11.field3650 = var9; + var11.field3651 = var10; + continue; + } - throw new IllegalStateException(); - } + throw new IllegalStateException(); + } - this.sort(); - return; - } - } + this.sort(); + return; + } + } } diff --git a/runescape-client/src/main/java/GameObject.java b/runescape-client/src/main/java/GameObject.java index 48cdc5d053..5ec3ae7f8a 100644 --- a/runescape-client/src/main/java/GameObject.java +++ b/runescape-client/src/main/java/GameObject.java @@ -4,106 +4,105 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eh") +@ObfuscatedName("es") @Implements("GameObject") public final class GameObject { - @ObfuscatedName("ds") - @ObfuscatedGetter( - longValue = -6104270600047501055L - ) - @Export("js5StartTimeMs") - static long js5StartTimeMs; - @ObfuscatedName("fy") - @ObfuscatedGetter( - intValue = -457229589 - ) - static int field359; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1393658667 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 2095667225 - ) - @Export("plane") - int plane; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1791908691 - ) - @Export("height") - int height; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 109300811 - ) - @Export("centerX") - int centerX; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 714046631 - ) - @Export("centerY") - int centerY; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity") - public Entity entity; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1017836867 - ) - @Export("startX") - int startX; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -379698951 - ) - @Export("endX") - int endX; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1519796265 - ) - @Export("startY") - int startY; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -607228629 - ) - @Export("endY") - int endY; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1941106389 - ) - int field360; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1043687633 - ) - @Export("lastDrawn") - int lastDrawn; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = -114546124748632877L - ) - @Export("tag") - public long tag; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -161115901 - ) - @Export("flags") - int flags; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1570301061 + ) + @Export("plane") + int plane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1372995053 + ) + @Export("height") + int height; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 3597047 + ) + @Export("centerX") + int centerX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1286023919 + ) + @Export("centerY") + int centerY; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity") + public Entity entity; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1679497939 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 2072838249 + ) + @Export("startX") + int startX; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1679068867 + ) + @Export("endX") + int endX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1593954751 + ) + @Export("startY") + int startY; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 614764075 + ) + @Export("endY") + int endY; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -2081842773 + ) + int field1939; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1806951057 + ) + @Export("lastDrawn") + int lastDrawn; + @ObfuscatedName("x") + @ObfuscatedGetter( + longValue = -3308425322664563893L + ) + @Export("tag") + public long tag; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -320745509 + ) + @Export("flags") + int flags; - GameObject() { - this.tag = 0L; - this.flags = 0; - } + GameObject() { + this.tag = 0L; + this.flags = 0; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;III)Lke;", + garbageValue = "-1252480817" + ) + @Export("loadFont") + public static Font loadFont(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { + return !Friend.SpriteBuffer_loadSprite(var0, var2, var3) ? null : WallDecoration.getWorldMapSprite(var1.takeFile(var2, var3)); + } } diff --git a/runescape-client/src/main/java/GameShell.java b/runescape-client/src/main/java/GameShell.java index 480fbc2be3..af9ff53b65 100644 --- a/runescape-client/src/main/java/GameShell.java +++ b/runescape-client/src/main/java/GameShell.java @@ -24,1058 +24,985 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ba") +@ObfuscatedName("bz") @Implements("GameShell") public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfz;" - ) - @Export("taskHandler") - protected static TaskHandler taskHandler; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lba;" - ) - @Export("gameShell") - static GameShell gameShell; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -281664295 - ) - static int field361; - @ObfuscatedName("o") - @ObfuscatedGetter( - longValue = 5666519919949401915L - ) - @Export("stopTimeMs") - static long stopTimeMs; - @ObfuscatedName("u") - @Export("isKilled") - static boolean isKilled; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1179083285 - ) - static int field362; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1698831905 - ) - static int field363; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 425367827 - ) - static int field364; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1789653893 - ) - @Export("fps") - protected static int fps; - @ObfuscatedName("a") - static long[] field365; - @ObfuscatedName("j") - static long[] field366; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -2078849253 - ) - static int field367; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1042005999 - ) - static int field368; - @ObfuscatedName("an") - @Export("hasFocus") - static volatile boolean hasFocus; - @ObfuscatedName("ao") - @ObfuscatedGetter( - longValue = 1013162399149344707L - ) - @Export("garbageCollectorLastCollectionTime") - static long garbageCollectorLastCollectionTime; - @ObfuscatedName("aa") - @ObfuscatedGetter( - longValue = -3607118089363666005L - ) - @Export("garbageCollectorLastCheckTimeMs") - static long garbageCollectorLastCheckTimeMs; - @ObfuscatedName("kl") - @ObfuscatedGetter( - intValue = 1875936371 - ) - @Export("menuY") - static int menuY; - @ObfuscatedName("g") - @Export("hasErrored") - boolean hasErrored; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1854329683 - ) - @Export("contentWidth") - protected int contentWidth; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -628781469 - ) - @Export("contentHeight") - protected int contentHeight; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 781373219 - ) - @Export("canvasX") - int canvasX; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 198681537 - ) - @Export("canvasY") - int canvasY; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 740831949 - ) - @Export("contentWidth0") - int contentWidth0; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -2057041525 - ) - @Export("contentHeight0") - int contentHeight0; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -2071955075 - ) - @Export("maxCanvasWidth") - int maxCanvasWidth; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1911308233 - ) - @Export("maxCanvasHeight") - int maxCanvasHeight; - @ObfuscatedName("ac") - @Export("frame") - Frame frame; - @ObfuscatedName("ay") - @Export("canvas") - java.awt.Canvas canvas; - @ObfuscatedName("ah") - volatile boolean field369; - @ObfuscatedName("al") - @Export("resizeCanvasNextFrame") - boolean resizeCanvasNextFrame; - @ObfuscatedName("ab") - @Export("isCanvasInvalid") - volatile boolean isCanvasInvalid; - @ObfuscatedName("ae") - @ObfuscatedGetter( - longValue = 956221087975405011L - ) - @Export("canvasSetTimeMs") - volatile long canvasSetTimeMs; - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Lam;" - ) - @Export("mouseWheelHandler") - MouseWheelHandler mouseWheelHandler; - @ObfuscatedName("as") - @Export("clipboard") - Clipboard clipboard; - @ObfuscatedName("am") - @Export("eventQueue") - final EventQueue eventQueue; - - protected GameShell() { - this.hasErrored = false; - this.canvasX = 0; - this.canvasY = 0; - this.field369 = true; - this.resizeCanvasNextFrame = false; - this.isCanvasInvalid = false; - this.canvasSetTimeMs = 0L; - EventQueue var1 = null; - - try { - var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); - } catch (Throwable var3) { - } - - this.eventQueue = var1; - DevicePcmPlayerProvider var2 = new DevicePcmPlayerProvider(); - class65.pcmPlayerProvider = var2; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "-90" - ) - @Export("setMaxCanvasSize") - protected final void setMaxCanvasSize(int var1, int var2) { - if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { - this.method111(); - } - - this.maxCanvasWidth = var1; - this.maxCanvasHeight = var2; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;I)V", - garbageValue = "1799804313" - ) - @Export("post") - final void post(Object var1) { - if (this.eventQueue != null) { - for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { - class203.method4010(1L); - } - - if (var1 != null) { - this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)Lfv;", - garbageValue = "-83" - ) - @Export("mouseWheel") - protected MouseWheel mouseWheel() { - if (this.mouseWheelHandler == null) { - this.mouseWheelHandler = new MouseWheelHandler(); - this.mouseWheelHandler.addTo(this.canvas); - } - - return this.mouseWheelHandler; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-443545586" - ) - @Export("setUpClipboard") - protected void setUpClipboard() { - this.clipboard = this.getToolkit().getSystemClipboard(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "1151252237" - ) - @Export("clipboardSetString") - protected void clipboardSetString(String var1) { - this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1806283276" - ) - @Export("setUpKeyboard") - protected final void setUpKeyboard() { - 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; - } - - java.awt.Canvas var1 = this.canvas; - var1.setFocusTraversalKeysEnabled(false); - var1.addKeyListener(KeyHandler.KeyHandler_instance); - var1.addFocusListener(KeyHandler.KeyHandler_instance); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "312180645" - ) - @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("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-338689747" - ) - @Export("resizeCanvas") - final void resizeCanvas() { - Container var1 = this.container(); - if (var1 != null) { - Bounds var2 = this.getFrameContentBounds(); - this.contentWidth = Math.max(var2.field43, this.contentWidth0); - this.contentHeight = Math.max(var2.field44, this.contentHeight0); - if (this.contentWidth <= 0) { - this.contentWidth = 1; - } - - if (this.contentHeight <= 0) { - this.contentHeight = 1; - } - - SoundCache.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); - Huffman.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); - this.canvasX = (this.contentWidth - SoundCache.canvasWidth) / 2; - this.canvasY = 0; - this.canvas.setSize(SoundCache.canvasWidth, Huffman.canvasHeight); - class197.rasterProvider = new RasterProvider(SoundCache.canvasWidth, Huffman.canvasHeight, this.canvas); - if (var1 == this.frame) { - Insets var3 = this.frame.getInsets(); - this.canvas.setLocation(this.canvasX + var3.left, var3.top + this.canvasY); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - - this.field369 = true; - this.vmethod107(); - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1773624745" - ) - protected abstract void vmethod107(); - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "116" - ) - @Export("clearBackground") - void clearBackground() { - int var1 = this.canvasX; - int var2 = this.canvasY; - int var3 = this.contentWidth - SoundCache.canvasWidth - var1; - int var4 = this.contentHeight - Huffman.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("v") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1897767688" - ) - @Export("replaceCanvas") - final void replaceCanvas() { - java.awt.Canvas var1 = this.canvas; - var1.removeKeyListener(KeyHandler.KeyHandler_instance); - var1.removeFocusListener(KeyHandler.KeyHandler_instance); - KeyHandler.field448 = -1; - java.awt.Canvas var2 = this.canvas; - var2.removeMouseListener(MouseHandler.MouseHandler_instance); - var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance); - var2.removeFocusListener(MouseHandler.MouseHandler_instance); - MouseHandler.MouseHandler_currentButton0 = 0; - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.removeFrom(this.canvas); - } - - this.addCanvas(); - java.awt.Canvas var3 = this.canvas; - var3.setFocusTraversalKeysEnabled(false); - var3.addKeyListener(KeyHandler.KeyHandler_instance); - var3.addFocusListener(KeyHandler.KeyHandler_instance); - java.awt.Canvas var4 = this.canvas; - var4.addMouseListener(MouseHandler.MouseHandler_instance); - var4.addMouseMotionListener(MouseHandler.MouseHandler_instance); - var4.addFocusListener(MouseHandler.MouseHandler_instance); - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.addTo(this.canvas); - } - - this.method111(); - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "559367680" - ) - @Export("startThread") - protected final void startThread(int width, int height, int revision) { - try { - if (gameShell != null) { - ++field361; - if (field361 >= 3) { - this.error("alreadyloaded"); - return; - } - - this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); - return; - } - - gameShell = this; - SoundCache.canvasWidth = width; - Huffman.canvasHeight = height; - RunException.revision = revision; - RunException.RunException_applet = this; - if (taskHandler == null) { - taskHandler = new TaskHandler(); - } - - taskHandler.newThreadTask(this, 1); - } catch (Exception var5) { - NPCDefinition.sendStackTrace((String)null, var5); - this.error("crash"); - } - - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "72" - ) - @Export("addCanvas") - final synchronized void addCanvas() { - Container var1 = this.container(); - if (this.canvas != null) { - this.canvas.removeFocusListener(this); - var1.remove(this.canvas); - } - - SoundCache.canvasWidth = Math.max(var1.getWidth(), this.contentWidth0); - Huffman.canvasHeight = Math.max(var1.getHeight(), this.contentHeight0); - Insets var2; - if (this.frame != null) { - var2 = this.frame.getInsets(); - SoundCache.canvasWidth -= var2.right + var2.left; - Huffman.canvasHeight -= var2.top + var2.bottom; - } - - this.canvas = new Canvas(this); - var1.setBackground(Color.BLACK); - var1.setLayout((LayoutManager)null); - var1.add(this.canvas); - this.canvas.setSize(SoundCache.canvasWidth, Huffman.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, var2.top + this.canvasY); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - - this.canvas.addFocusListener(this); - this.canvas.requestFocus(); - this.field369 = true; - if (class197.rasterProvider != null && SoundCache.canvasWidth == class197.rasterProvider.width && Huffman.canvasHeight == class197.rasterProvider.height) { - ((RasterProvider)class197.rasterProvider).setComponent(this.canvas); - class197.rasterProvider.drawFull(0, 0); - } else { - class197.rasterProvider = new RasterProvider(SoundCache.canvasWidth, Huffman.canvasHeight, this.canvas); - } - - this.isCanvasInvalid = false; - this.canvasSetTimeMs = class203.currentTimeMs(); - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "1" - ) - @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("av") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - void method108() { - long var1 = class203.currentTimeMs(); - long var3 = field366[field367]; - field366[field367] = var1; - field367 = field367 + 1 & 31; - if (var3 != 0L && var1 > var3) { - } - - synchronized(this) { - class230.field1138 = hasFocus; - } - - this.doCycle(); - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-2" - ) - void method109() { - Container var1 = this.container(); - long var2 = class203.currentTimeMs(); - long var4 = field365[GrandExchangeEvents.field375]; - field365[GrandExchangeEvents.field375] = var2; - GrandExchangeEvents.field375 = GrandExchangeEvents.field375 + 1 & 31; - if (var4 != 0L && var2 > var4) { - int var6 = (int)(var2 - var4); - fps = ((var6 >> 1) + 32000) / var6; - } - - if (++field368 - 1 > 50) { - field368 -= 50; - this.field369 = true; - this.canvas.setSize(SoundCache.canvasWidth, Huffman.canvasHeight); - this.canvas.setVisible(true); - if (var1 == this.frame) { - Insets var7 = this.frame.getInsets(); - this.canvas.setLocation(var7.left + this.canvasX, this.canvasY + var7.top); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - } - - if (this.isCanvasInvalid) { - this.replaceCanvas(); - } - - this.method110(); - this.draw(this.field369); - if (this.field369) { - this.clearBackground(); - } - - this.field369 = false; - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1999661001" - ) - final void method110() { - Bounds var1 = this.getFrameContentBounds(); - if (var1.field43 != this.contentWidth || this.contentHeight != var1.field44 || this.resizeCanvasNextFrame) { - this.resizeCanvas(); - this.resizeCanvasNextFrame = false; - } - - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1147427427" - ) - final void method111() { - this.resizeCanvasNextFrame = true; - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1252384656" - ) - @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.vmethod114(); - } - - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1297880469" - ) - @Export("setUp") - protected abstract void setUp(); - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1445885427" - ) - @Export("doCycle") - protected abstract void doCycle(); - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "106302203" - ) - @Export("draw") - protected abstract void draw(boolean var1); - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1879956387" - ) - @Export("kill0") - protected abstract void kill0(); - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;ZB)V", - garbageValue = "41" - ) - @Export("drawInitial") - protected final void drawInitial(int var1, String var2, boolean var3) { - try { - Graphics var4 = this.canvas.getGraphics(); - if (WorldMapDecorationType.field1140 == null) { - WorldMapDecorationType.field1140 = new java.awt.Font("Helvetica", 1, 13); - class60.field1162 = this.canvas.getFontMetrics(WorldMapDecorationType.field1140); - } - - if (var3) { - var4.setColor(Color.black); - var4.fillRect(0, 0, SoundCache.canvasWidth, Huffman.canvasHeight); - } - - Color var5 = new Color(140, 17, 17); - - try { - if (PlayerType.field730 == null) { - PlayerType.field730 = this.canvas.createImage(304, 34); - } - - Graphics var6 = PlayerType.field730.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(WorldMapDecorationType.field1140); - var6.setColor(Color.white); - var6.drawString(var2, (304 - class60.field1162.stringWidth(var2)) / 2, 22); - var4.drawImage(PlayerType.field730, SoundCache.canvasWidth / 2 - 152, Huffman.canvasHeight / 2 - 18, (ImageObserver)null); - } catch (Exception var9) { - int var7 = SoundCache.canvasWidth / 2 - 152; - int var8 = Huffman.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(WorldMapDecorationType.field1140); - var4.setColor(Color.white); - var4.drawString(var2, var7 + (304 - class60.field1162.stringWidth(var2)) / 2, var8 + 22); - } - } catch (Exception var10) { - this.canvas.repaint(); - } - - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1283386969" - ) - protected final void method113() { - PlayerType.field730 = null; - WorldMapDecorationType.field1140 = null; - class60.field1162 = null; - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "39" - ) - @Export("error") - protected void error(String type) { - if (!this.hasErrored) { - this.hasErrored = true; - System.out.println("error_game_" + type); - - try { - this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + type + ".ws"), "_self"); - } catch (Exception var3) { - } - } - - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(I)Ljava/awt/Container;", - garbageValue = "-46071869" - ) - @Export("container") - Container container() { - return (Container)(this.frame != null ? this.frame : this); - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(I)Lla;", - garbageValue = "-1214277427" - ) - @Export("getFrameContentBounds") - Bounds getFrameContentBounds() { - Container var1 = this.container(); - int var2 = Math.max(var1.getWidth(), this.contentWidth0); - int var3 = Math.max(var1.getHeight(), this.contentHeight0); - if (this.frame != null) { - Insets var4 = this.frame.getInsets(); - var2 -= var4.right + var4.left; - var3 -= var4.bottom + var4.top; - } - - return new Bounds(var2, var3); - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-111" - ) - @Export("hasFrame") - protected final boolean hasFrame() { - return this.frame != null; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1860808291" - ) - protected abstract void vmethod114(); - - public final void destroy() { - if (this == gameShell && !isKilled) { - stopTimeMs = class203.currentTimeMs(); - class203.method4010(5000L); - this.kill(); - } - - } - - public final synchronized void paint(Graphics var1) { - if (this == gameShell && !isKilled) { - this.field369 = true; - if (class203.currentTimeMs() - this.canvasSetTimeMs > 1000L) { - Rectangle var2 = var1.getClipBounds(); - if (var2 == null || var2.width >= SoundCache.canvasWidth && var2.height >= Huffman.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() && class159.isCharDigit(var2.charAt(var3)); ++var3) { - } - - String var4 = var2.substring(6, var3); - if (UserComparator4.method3336(var4) && MouseHandler.parseInt(var4) < 10) { - this.error("wrongjava"); - return; - } - } - - field364 = 5; - } - } - - this.setFocusCycleRoot(true); - this.addCanvas(); - this.setUp(); - - Object var7; - try { - var7 = new NanoClock(); - } catch (Throwable var5) { - var7 = new MilliClock(); - } - - UserComparator6.clock = (Clock)var7; - - while (0L == stopTimeMs || class203.currentTimeMs() < stopTimeMs) { - field362 = UserComparator6.clock.wait(field363, field364); - - for (int var8 = 0; var8 < field362; ++var8) { - this.method108(); - } - - this.method109(); - this.post(this.canvas); - } - } catch (Exception var6) { - NPCDefinition.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) { - hasFocus = true; - this.field369 = true; - } - - public final void windowActivated(WindowEvent var1) { - } - - public final void windowClosed(WindowEvent var1) { - } - - public final void windowClosing(WindowEvent var1) { - this.destroy(); - } - - public final void windowDeiconified(WindowEvent var1) { - } - - public final void windowOpened(WindowEvent var1) { - } - - public abstract void init(); - - public final void stop() { - if (this == gameShell && !isKilled) { - stopTimeMs = class203.currentTimeMs() + 4000L; - } - - } - - public final void windowIconified(WindowEvent var1) { - } - - public final void windowDeactivated(WindowEvent var1) { - } - - public final void focusLost(FocusEvent var1) { - hasFocus = false; - } - - @ObfuscatedName("ec") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "17" - ) - @Export("updateGameState") - static void updateGameState(int gameState) { - if (gameState != Client.gameState) { - if (Client.gameState == 0) { - TextureProvider.client.method113(); - } - - if (gameState == 20 || gameState == 40 || gameState == 45) { - Client.loginState = 0; - Client.field168 = 0; - Client.field169 = 0; - Client.timer.method331(gameState); - if (gameState != 20) { - class15.method184(false); - } - } - - if (gameState != 20 && gameState != 40 && ClientParameter.field341 != null) { - ClientParameter.field341.close(); - ClientParameter.field341 = null; - } - - if (Client.gameState == 25) { - Client.field181 = 0; - Client.field177 = 0; - Client.field178 = 1; - Client.field179 = 0; - Client.field180 = 1; - } - - if (gameState != 5 && gameState != 10) { - if (gameState == 20) { - class2.method27(class16.archive10, WorldMapSection1.archive8, true, Client.gameState == 11 ? 4 : 0); - } else if (gameState == 11) { - class2.method27(class16.archive10, WorldMapSection1.archive8, false, 4); - } else { - class80.method2015(); - } - } else { - class2.method27(class16.archive10, WorldMapSection1.archive8, true, 0); - } - - Client.gameState = gameState; - } - - } - - @ObfuscatedName("kv") - @ObfuscatedSignature( - signature = "(Lho;II)Ljava/lang/String;", - garbageValue = "2016931356" - ) - static String method1060(Widget var0, int var1) { - int var2 = class1.getWidgetClickMask(var0); - boolean var3 = (var2 >> var1 + 1 & 1) != 0; - return !var3 && var0.onOp == null ? null : (var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null); - } - - static { - gameShell = null; - field361 = 0; - stopTimeMs = 0L; - isKilled = false; - field363 = 20; - field364 = 1; - fps = 0; - field365 = new long[32]; - field366 = new long[32]; - field368 = 500; - hasFocus = true; - garbageCollectorLastCollectionTime = -1L; - garbageCollectorLastCheckTimeMs = -1L; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("taskHandler") + protected static TaskHandler taskHandler; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lbz;" + ) + @Export("gameShell") + static GameShell gameShell; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 308300489 + ) + static int field466; + @ObfuscatedName("k") + @ObfuscatedGetter( + longValue = -2144214957557478601L + ) + @Export("stopTimeMs") + static long stopTimeMs; + @ObfuscatedName("l") + @Export("isKilled") + static boolean isKilled; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 658052799 + ) + static int field449; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 798302801 + ) + static int field448; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 369880599 + ) + static int field443; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1519220993 + ) + @Export("fps") + protected static int fps; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lfu;" + ) + @Export("clock") + static Clock clock; + @ObfuscatedName("v") + static long[] field452; + @ObfuscatedName("a") + static long[] field453; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 1067662057 + ) + static int field465; + @ObfuscatedName("au") + @Export("hasFocus") + static volatile boolean hasFocus; + @ObfuscatedName("ah") + @ObfuscatedGetter( + longValue = -5454616642198733289L + ) + @Export("garbageCollectorLastCollectionTime") + static long garbageCollectorLastCollectionTime; + @ObfuscatedName("am") + @ObfuscatedGetter( + longValue = -449195260368923757L + ) + @Export("garbageCollectorLastCheckTimeMs") + static long garbageCollectorLastCheckTimeMs; + @ObfuscatedName("b") + @Export("hasErrored") + boolean hasErrored; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 93625917 + ) + @Export("contentWidth") + protected int contentWidth; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1254319767 + ) + @Export("contentHeight") + protected int contentHeight; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 508992057 + ) + @Export("canvasX") + int canvasX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -374740257 + ) + @Export("canvasY") + int canvasY; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1498137065 + ) + int field476; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -606153011 + ) + int field459; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -107216011 + ) + @Export("maxCanvasWidth") + int maxCanvasWidth; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -559664859 + ) + @Export("maxCanvasHeight") + int maxCanvasHeight; + @ObfuscatedName("ag") + @Export("frame") + Frame frame; + @ObfuscatedName("ar") + @Export("canvas") + java.awt.Canvas canvas; + @ObfuscatedName("ax") + volatile boolean field464; + @ObfuscatedName("ao") + @Export("resizeCanvasNextFrame") + boolean resizeCanvasNextFrame; + @ObfuscatedName("aj") + @Export("isCanvasInvalid") + volatile boolean isCanvasInvalid; + @ObfuscatedName("at") + @ObfuscatedGetter( + longValue = -2360419381324286669L + ) + volatile long field468; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lau;" + ) + @Export("mouseWheelHandler") + MouseWheelHandler mouseWheelHandler; + @ObfuscatedName("aa") + @Export("clipboard") + Clipboard clipboard; + @ObfuscatedName("an") + @Export("eventQueue") + final EventQueue eventQueue; + + static { + gameShell = null; + field466 = 0; + stopTimeMs = 0L; + isKilled = false; + field448 = 20; + field443 = 1; + fps = 0; + field452 = new long[32]; + field453 = new long[32]; + field465 = 500; + hasFocus = true; + garbageCollectorLastCollectionTime = -1L; + garbageCollectorLastCheckTimeMs = -1L; + } + + protected GameShell() { + this.hasErrored = false; + this.canvasX = 0; + this.canvasY = 0; + this.field464 = true; + this.resizeCanvasNextFrame = false; + this.isCanvasInvalid = false; + this.field468 = 0L; + EventQueue var1 = null; + + try { + var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); + } catch (Throwable var3) { + } + + this.eventQueue = var1; + DevicePcmPlayerProvider var2 = new DevicePcmPlayerProvider(); + class32.pcmPlayerProvider = var2; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "34519869" + ) + @Export("setMaxCanvasSize") + protected final void setMaxCanvasSize(int var1, int var2) { + if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { + this.method890(); + } + + this.maxCanvasWidth = var1; + this.maxCanvasHeight = var2; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;I)V", + garbageValue = "1151565468" + ) + @Export("post") + final void post(Object var1) { + if (this.eventQueue != null) { + for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { + EnumDefinition.method4550(1L); + } + + if (var1 != null) { + this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); + } + + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(B)Lfj;", + garbageValue = "24" + ) + @Export("mouseWheel") + protected MouseWheel mouseWheel() { + if (this.mouseWheelHandler == null) { + this.mouseWheelHandler = new MouseWheelHandler(); + this.mouseWheelHandler.addTo(this.canvas); + } + + return this.mouseWheelHandler; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-661756545" + ) + @Export("setUpClipboard") + protected void setUpClipboard() { + this.clipboard = this.getToolkit().getSystemClipboard(); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "54" + ) + @Export("clipboardSetString") + protected void clipboardSetString(String var1) { + this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-454668122" + ) + @Export("setUpKeyboard") + protected final void setUpKeyboard() { + 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; + } + + class81.method1990(this.canvas); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1746094131" + ) + @Export("setUpMouse") + protected final void setUpMouse() { + WorldMapIcon_0.method200(this.canvas); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-517749579" + ) + @Export("resizeCanvas") + final void resizeCanvas() { + Container var1 = this.container(); + if (var1 != null) { + Bounds var2 = this.getFrameContentBounds(); + this.contentWidth = Math.max(var2.highX, this.field476); + this.contentHeight = Math.max(var2.highY, this.field459); + if (this.contentWidth <= 0) { + this.contentWidth = 1; + } + + if (this.contentHeight <= 0) { + this.contentHeight = 1; + } + + GrandExchangeEvent.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); + ParamDefinition.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); + this.canvasX = (this.contentWidth - GrandExchangeEvent.canvasWidth) / 2; + this.canvasY = 0; + this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight); + MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.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.field464 = true; + this.resizeGame(); + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "869486116" + ) + @Export("resizeGame") + protected abstract void resizeGame(); + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-42" + ) + @Export("clearBackground") + void clearBackground() { + int var1 = this.canvasX; + int var2 = this.canvasY; + int var3 = this.contentWidth - GrandExchangeEvent.canvasWidth - var1; + int var4 = this.contentHeight - ParamDefinition.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("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "165240301" + ) + @Export("replaceCanvas") + final void replaceCanvas() { + java.awt.Canvas var1 = this.canvas; + var1.removeKeyListener(KeyHandler.KeyHandler_instance); + var1.removeFocusListener(KeyHandler.KeyHandler_instance); + KeyHandler.field398 = -1; + java.awt.Canvas var2 = this.canvas; + var2.removeMouseListener(MouseHandler.MouseHandler_instance); + var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance); + var2.removeFocusListener(MouseHandler.MouseHandler_instance); + MouseHandler.MouseHandler_currentButton0 = 0; + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.removeFrom(this.canvas); + } + + this.addCanvas(); + class81.method1990(this.canvas); + WorldMapIcon_0.method200(this.canvas); + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.addTo(this.canvas); + } + + this.method890(); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1542260379" + ) + @Export("startThread") + protected final void startThread(int var1, int var2, int var3) { + try { + if (gameShell != null) { + ++field466; + if (field466 >= 3) { + this.error("alreadyloaded"); + return; + } + + this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); + return; + } + + gameShell = this; + GrandExchangeEvent.canvasWidth = var1; + ParamDefinition.canvasHeight = var2; + RunException.revision = var3; + RunException.RunException_applet = this; + if (taskHandler == null) { + taskHandler = new TaskHandler(); + } + + taskHandler.newThreadTask(this, 1); + } catch (Exception var5) { + HitSplatDefinition.sendStackTrace((String)null, var5); + this.error("crash"); + } + + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1073262022" + ) + @Export("addCanvas") + final synchronized void addCanvas() { + Container var1 = this.container(); + if (this.canvas != null) { + this.canvas.removeFocusListener(this); + var1.remove(this.canvas); + } + + GrandExchangeEvent.canvasWidth = Math.max(var1.getWidth(), this.field476); + ParamDefinition.canvasHeight = Math.max(var1.getHeight(), this.field459); + Insets var2; + if (this.frame != null) { + var2 = this.frame.getInsets(); + GrandExchangeEvent.canvasWidth -= var2.right + var2.left; + ParamDefinition.canvasHeight -= var2.top + var2.bottom; + } + + this.canvas = new Canvas(this); + var1.setBackground(Color.BLACK); + var1.setLayout((LayoutManager)null); + var1.add(this.canvas); + this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.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, var2.top + this.canvasY); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + + this.canvas.addFocusListener(this); + this.canvas.requestFocus(); + this.field464 = true; + if (MusicPatchPcmStream.rasterProvider != null && GrandExchangeEvent.canvasWidth == MusicPatchPcmStream.rasterProvider.width && ParamDefinition.canvasHeight == MusicPatchPcmStream.rasterProvider.height) { + ((RasterProvider)MusicPatchPcmStream.rasterProvider).setComponent(this.canvas); + MusicPatchPcmStream.rasterProvider.drawFull(0, 0); + } else { + MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, this.canvas); + } + + this.isCanvasInvalid = false; + this.field468 = DirectByteArrayCopier.currentTimeMs(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-878010075" + ) + @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("j") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1989434416" + ) + void method953() { + long var1 = DirectByteArrayCopier.currentTimeMs(); + long var3 = field453[SpotAnimationDefinition.field3248]; + field453[SpotAnimationDefinition.field3248] = var1; + SpotAnimationDefinition.field3248 = SpotAnimationDefinition.field3248 + 1 & 31; + if (var3 != 0L && var1 > var3) { + } + + synchronized(this) { + class267.field3557 = hasFocus; + } + + this.doCycle(); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1190727122" + ) + void method910() { + Container var1 = this.container(); + long var2 = DirectByteArrayCopier.currentTimeMs(); + long var4 = field452[VerticalAlignment.field3192]; + field452[VerticalAlignment.field3192] = var2; + VerticalAlignment.field3192 = VerticalAlignment.field3192 + 1 & 31; + if (0L != var4 && var2 > var4) { + int var6 = (int)(var2 - var4); + fps = ((var6 >> 1) + 32000) / var6; + } + + if (++field465 - 1 > 50) { + field465 -= 50; + this.field464 = true; + this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.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.method970(); + this.draw(this.field464); + if (this.field464) { + this.clearBackground(); + } + + this.field464 = false; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2058666477" + ) + final void method970() { + Bounds var1 = this.getFrameContentBounds(); + if (this.contentWidth != var1.highX || var1.highY != this.contentHeight || this.resizeCanvasNextFrame) { + this.resizeCanvas(); + this.resizeCanvasNextFrame = false; + } + + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "501361759" + ) + final void method890() { + this.resizeCanvasNextFrame = true; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-95" + ) + @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.vmethod1273(); + } + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2070235141" + ) + @Export("setUp") + protected abstract void setUp(); + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-3" + ) + protected abstract void doCycle(); + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(ZB)V", + garbageValue = "-5" + ) + protected abstract void draw(boolean var1); + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1344457794" + ) + @Export("kill0") + protected abstract void kill0(); + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;ZB)V", + garbageValue = "-111" + ) + @Export("drawInitial") + protected final void drawInitial(int var1, String var2, boolean var3) { + try { + Graphics var4 = this.canvas.getGraphics(); + if (class313.field3844 == null) { + class313.field3844 = new java.awt.Font("Helvetica", 1, 13); + GrandExchangeOfferAgeComparator.field80 = this.canvas.getFontMetrics(class313.field3844); + } + + if (var3) { + var4.setColor(Color.black); + var4.fillRect(0, 0, GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight); + } + + Color var5 = new Color(140, 17, 17); + + try { + if (NetFileRequest.field3125 == null) { + NetFileRequest.field3125 = this.canvas.createImage(304, 34); + } + + Graphics var6 = NetFileRequest.field3125.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(class313.field3844); + var6.setColor(Color.white); + var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, 22); + var4.drawImage(NetFileRequest.field3125, GrandExchangeEvent.canvasWidth / 2 - 152, ParamDefinition.canvasHeight / 2 - 18, (ImageObserver)null); + } catch (Exception var9) { + int var7 = GrandExchangeEvent.canvasWidth / 2 - 152; + int var8 = ParamDefinition.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(class313.field3844); + var4.setColor(Color.white); + var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, var8 + 22); + } + } catch (Exception var10) { + this.canvas.repaint(); + } + + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "11" + ) + protected final void method885() { + NetFileRequest.field3125 = null; + class313.field3844 = null; + GrandExchangeOfferAgeComparator.field80 = null; + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "-54" + ) + @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("ao") + @ObfuscatedSignature( + signature = "(I)Ljava/awt/Container;", + garbageValue = "2083877937" + ) + @Export("container") + Container container() { + return (Container)(this.frame != null ? this.frame : this); + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(I)Lls;", + garbageValue = "-357178622" + ) + @Export("getFrameContentBounds") + Bounds getFrameContentBounds() { + Container var1 = this.container(); + int var2 = Math.max(var1.getWidth(), this.field476); + int var3 = Math.max(var1.getHeight(), this.field459); + 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("at") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "285080873" + ) + @Export("hasFrame") + protected final boolean hasFrame() { + return this.frame != null; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-779141254" + ) + protected abstract void vmethod1273(); + + public final synchronized void paint(Graphics var1) { + if (this == gameShell && !isKilled) { + this.field464 = true; + if (DirectByteArrayCopier.currentTimeMs() - this.field468 > 1000L) { + Rectangle var2 = var1.getClipBounds(); + if (var2 == null || var2.width >= GrandExchangeEvent.canvasWidth && var2.height >= ParamDefinition.canvasHeight) { + this.isCanvasInvalid = true; + } + } + + } + } + + public final void destroy() { + if (this == gameShell && !isKilled) { + stopTimeMs = DirectByteArrayCopier.currentTimeMs(); + EnumDefinition.method4550(5000L); + this.kill(); + } + } + + 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() && class49.isCharDigit(var2.charAt(var3)); ++var3) { + } + + String var4 = var2.substring(6, var3); + if (class192.method3677(var4) && class3.parseInt(var4) < 10) { + this.error("wrongjava"); + return; + } + } + + field443 = 5; + } + } + + this.setFocusCycleRoot(true); + this.addCanvas(); + this.setUp(); + clock = class173.method3589(); + + while (0L == stopTimeMs || DirectByteArrayCopier.currentTimeMs() < stopTimeMs) { + field449 = clock.wait(field448, field443); + + for (int var5 = 0; var5 < field449; ++var5) { + this.method953(); + } + + this.method910(); + this.post(this.canvas); + } + } catch (Exception var6) { + HitSplatDefinition.sendStackTrace((String)null, var6); + this.error("crash"); + } + + this.kill(); + } + + public final void windowDeiconified(WindowEvent var1) { + } + + public final void start() { + if (this == gameShell && !isKilled) { + stopTimeMs = 0L; + } + } + + public final void stop() { + if (this == gameShell && !isKilled) { + stopTimeMs = DirectByteArrayCopier.currentTimeMs() + 4000L; + } + } + + public final void update(Graphics var1) { + this.paint(var1); + } + + public final void focusGained(FocusEvent var1) { + hasFocus = true; + this.field464 = true; + } + + public final void focusLost(FocusEvent var1) { + hasFocus = false; + } + + public final void windowActivated(WindowEvent var1) { + } + + public final void windowClosed(WindowEvent var1) { + } + + public final void windowClosing(WindowEvent var1) { + this.destroy(); + } + + public final void windowDeactivated(WindowEvent var1) { + } + + public final void windowOpened(WindowEvent var1) { + } + + public final void windowIconified(WindowEvent var1) { + } + + public abstract void init(); + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)Lij;", + garbageValue = "-91" + ) + @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/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index 0ea9e315c3..af1896bd49 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -3,430 +3,130 @@ 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") +@ObfuscatedName("i") @Implements("GrandExchangeEvent") public class GrandExchangeEvent { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -633089807 - ) - @Export("world") - public final int world; - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = -6503890758391257651L - ) - public final long field370; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lx;" - ) - @Export("grandExchangeOffer") - public final GrandExchangeOffer grandExchangeOffer; - @ObfuscatedName("w") - @Export("offerName") - String offerName; - @ObfuscatedName("o") - @Export("previousOfferName") - String previousOfferName; + @ObfuscatedName("pp") + static boolean field49; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 2059259505 + ) + static int field48; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1493732941 + ) + @Export("canvasWidth") + public static int canvasWidth; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 839136523 + ) + @Export("world") + public final int world; + @ObfuscatedName("w") + @ObfuscatedGetter( + longValue = -2993174266726390291L + ) + @Export("age") + public final long age; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lf;" + ) + @Export("grandExchangeOffer") + public final GrandExchangeOffer grandExchangeOffer; + @ObfuscatedName("p") + @Export("offerName") + String offerName; + @ObfuscatedName("k") + @Export("previousOfferName") + String previousOfferName; - @ObfuscatedSignature( - signature = "(Lgr;BI)V" - ) - GrandExchangeEvent(Buffer var1, byte var2, int var3) { - this.offerName = var1.readStringCp1252NullTerminated(); - this.previousOfferName = var1.readStringCp1252NullTerminated(); - this.world = var1.readUnsignedShort(); - this.field370 = var1.readLong(); - int var4 = var1.readInt(); - int var5 = var1.readInt(); - this.grandExchangeOffer = new GrandExchangeOffer(); - this.grandExchangeOffer.method121(2); - this.grandExchangeOffer.method122(var2); - this.grandExchangeOffer.unitPrice = var4; - this.grandExchangeOffer.totalQuantity = var5; - this.grandExchangeOffer.currentQuantity = 0; - this.grandExchangeOffer.currentPrice = 0; - this.grandExchangeOffer.id = var3; - } + @ObfuscatedSignature( + signature = "(Lkf;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.method115(2); + this.grandExchangeOffer.method100(var2); + this.grandExchangeOffer.unitPrice = var4; + this.grandExchangeOffer.totalQuantity = var5; + this.grandExchangeOffer.currentQuantity = 0; + this.grandExchangeOffer.currentPrice = 0; + this.grandExchangeOffer.id = var3; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1672323214" - ) - @Export("getOfferName") - public String getOfferName() { - return this.offerName; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Ljava/lang/String;", + garbageValue = "-114" + ) + @Export("getOfferName") + public String getOfferName() { + return this.offerName; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-271438207" - ) - @Export("getPreviousOfferName") - public String getPreviousOfferName() { - return this.previousOfferName; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(S)Ljava/lang/String;", + garbageValue = "27688" + ) + @Export("getPreviousOfferName") + public String getPreviousOfferName() { + return this.previousOfferName; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lby;II)V", - garbageValue = "-1003049523" - ) - @Export("runScript0") - static void runScript0(ScriptEvent scriptEvent, int var1) { - Object[] var2 = scriptEvent.args0; - Script var3; - int var4; - if (GrandExchangeOfferAgeComparator.method162(scriptEvent.type0)) { - class15.worldMapEvent = (WorldMapEvent)var2[0]; - WorldMapElement var5 = ViewportMouse.getWorldMapElement(class15.worldMapEvent.mapElement); - var3 = FaceNormal.method3236(scriptEvent.type0, var5.field1020, var5.category); - } else { - var4 = (Integer)var2[0]; - var3 = SoundSystem.method2451(var4); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)Lis;", + garbageValue = "1" + ) + @Export("getSequenceDefinition") + public static SequenceDefinition getSequenceDefinition(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)); + } - if (var3 != null) { - RouteStrategy.Interpreter_intStackSize = 0; - Interpreter.Interpreter_stringStackSize = 0; - var4 = -1; - int[] var25 = var3.opcodes; - int[] var6 = var3.intOperands; - byte var7 = -1; - Interpreter.Interpreter_frameDepth = 0; - Interpreter.field423 = false; + var1.postDecode(); + SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); + return var1; + } + } - try { - int var8; - try { - Username.Interpreter_intLocals = new int[var3.localIntCount]; - int var9 = 0; - Interpreter.Interpreter_stringLocals = new String[var3.localStringCount]; - int var26 = 0; + @ObfuscatedName("jj") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-583790135" + ) + static final void method73() { + PacketBufferNode var0 = Archive.method4265(ClientPacket.field2223, Client.packetWriter.isaacCipher); + Client.packetWriter.method2219(var0); - int var11; - String var12; - for (var8 = 1; var8 < var2.length; ++var8) { - if (var2[var8] instanceof Integer) { - var11 = (Integer)var2[var8]; - if (var11 == -2147483647) { - var11 = scriptEvent.mouseX; - } + for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { + if (var1.type == 0 || var1.type == 3) { + class197.closeInterface(var1, true); + } + } - if (var11 == -2147483646) { - var11 = scriptEvent.mouseY; - } + if (Client.field850 != null) { + Strings.method4120(Client.field850); + Client.field850 = null; + } - if (var11 == -2147483645) { - var11 = scriptEvent.widget != null ? scriptEvent.widget.id : -1; - } - - if (var11 == -2147483644) { - var11 = scriptEvent.opIndex; - } - - if (var11 == -2147483643) { - var11 = scriptEvent.widget != null ? scriptEvent.widget.childIndex : -1; - } - - if (var11 == -2147483642) { - var11 = scriptEvent.dragTarget != null ? scriptEvent.dragTarget.id : -1; - } - - if (var11 == -2147483641) { - var11 = scriptEvent.dragTarget != null ? scriptEvent.dragTarget.childIndex : -1; - } - - if (var11 == -2147483640) { - var11 = scriptEvent.keyTyped; - } - - if (var11 == -2147483639) { - var11 = scriptEvent.keyPressed; - } - - Username.Interpreter_intLocals[var9++] = var11; - } else if (var2[var8] instanceof String) { - var12 = (String)var2[var8]; - if (var12.equals("event_opbase")) { - var12 = scriptEvent.targetName; - } - - Interpreter.Interpreter_stringLocals[var26++] = var12; - } - } - - var8 = 0; - Interpreter.field425 = scriptEvent.field772; - - while (true) { - ++var8; - if (var8 > var1) { - throw new RuntimeException(); - } - - ++var4; - int var13 = var25[var4]; - int var14; - if (var13 >= 100) { - boolean var32; - if (var3.intOperands[var4] == 1) { - var32 = true; - } else { - var32 = false; - } - - var14 = class196.method3736(var13, var3, var32); - switch(var14) { - case 0: - return; - case 1: - default: - break; - case 2: - throw new IllegalStateException(); - } - } else if (var13 == 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6[var4]; - } else if (var13 == ScriptOpcodes.GET_VARP) { - var11 = var6[var4]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; - } else if (var13 == ScriptOpcodes.SET_VARP) { - var11 = var6[var4]; - Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Archive.method4703(var11); - } else if (var13 == ScriptOpcodes.SCONST) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.stringOperands[var4]; - } else if (var13 == ScriptOpcodes.JUMP) { - var4 += var6[var4]; - } else if (var13 == ScriptOpcodes.IF_ICMPNE) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.IF_ICMPEQ) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.IF_ICMPLT) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.IF_ICMPGT) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.RETURN) { - if (Interpreter.Interpreter_frameDepth == 0) { - return; - } - - ScriptFrame var30 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; - var3 = var30.script; - var25 = var3.opcodes; - var6 = var3.intOperands; - var4 = var30.pc; - Username.Interpreter_intLocals = var30.intLocals; - Interpreter.Interpreter_stringLocals = var30.stringLocals; - } else if (var13 == ScriptOpcodes.GET_VARBIT) { - var11 = var6[var4]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapSection0.getVarbit(var11); - } else if (var13 == ScriptOpcodes.SET_VARBIT) { - var11 = var6[var4]; - PendingSpawn.method1695(var11, Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - } else if (var13 == ScriptOpcodes.IF_ICMPLE) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.IF_ICMPGE) { - RouteStrategy.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]) { - var4 += var6[var4]; - } - } else if (var13 == ScriptOpcodes.ILOAD) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Username.Interpreter_intLocals[var6[var4]]; - } else if (var13 == ScriptOpcodes.ISTORE) { - Username.Interpreter_intLocals[var6[var4]] = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - } else if (var13 == ScriptOpcodes.SLOAD) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Interpreter.Interpreter_stringLocals[var6[var4]]; - } else if (var13 == ScriptOpcodes.SSTORE) { - Interpreter.Interpreter_stringLocals[var6[var4]] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - } else if (var13 == ScriptOpcodes.JOIN_STRING) { - var11 = var6[var4]; - Interpreter.Interpreter_stringStackSize -= var11; - String var29 = class277.method5356(Interpreter.Interpreter_stringStack, Interpreter.Interpreter_stringStackSize, var11); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var29; - } else if (var13 == ScriptOpcodes.POP_INT) { - --RouteStrategy.Interpreter_intStackSize; - } else if (var13 == ScriptOpcodes.POP_STRING) { - --Interpreter.Interpreter_stringStackSize; - } else { - int var15; - if (var13 != ScriptOpcodes.INVOKE) { - if (var13 == ScriptOpcodes.GET_VARC_INT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class196.varcs.getInt(var6[var4]); - } else if (var13 == ScriptOpcodes.SET_VARC_INT) { - class196.varcs.setInt(var6[var4], Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - } else if (var13 == ScriptOpcodes.DEFINE_ARRAY) { - var11 = var6[var4] >> 16; - var14 = var6[var4] & 65535; - int var28 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var28 < 0 || var28 > 5000) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrayLengths[var11] = var28; - byte var33 = -1; - if (var14 == 105) { - var33 = 0; - } - - for (var15 = 0; var15 < var28; ++var15) { - Interpreter.Interpreter_arrays[var11][var15] = var33; - } - } else if (var13 == ScriptOpcodes.GET_ARRAY_INT) { - var11 = var6[var4]; - var14 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var14]; - } else if (var13 == ScriptOpcodes.SET_ARRAY_INT) { - var11 = var6[var4]; - RouteStrategy.Interpreter_intStackSize -= 2; - var14 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrays[var11][var14] = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - } else if (var13 == ScriptOpcodes.GET_VARC_STRING_OLD) { - var12 = class196.varcs.getStringOld(var6[var4]); - if (var12 == null) { - var12 = "null"; - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var12; - } else if (var13 == ScriptOpcodes.SET_VARC_STRING_OLD) { - class196.varcs.setStringOld(var6[var4], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - } else if (var13 == ScriptOpcodes.GET_VARC_STRING) { - var12 = class196.varcs.getString(var6[var4]); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var12; - } else if (var13 == ScriptOpcodes.SET_VARC_STRING) { - class196.varcs.setString(var6[var4], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - } else { - if (var13 != ScriptOpcodes.SWITCH) { - throw new IllegalStateException(); - } - - IterableNodeHashTable var27 = var3.switches[var6[var4]]; - IntegerNode var31 = (IntegerNode)var27.get((long)Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var31 != null) { - var4 += var31.integer; - } - } - } else { - var11 = var6[var4]; - Script var16 = SoundSystem.method2451(var11); - int[] var17 = new int[var16.localIntCount]; - String[] var18 = new String[var16.localStringCount]; - - for (var15 = 0; var15 < var16.intArgumentCount; ++var15) { - var17[var15] = Interpreter.Interpreter_intStack[var15 + (RouteStrategy.Interpreter_intStackSize - var16.intArgumentCount)]; - } - - for (var15 = 0; var15 < var16.stringArgumentCount; ++var15) { - var18[var15] = Interpreter.Interpreter_stringStack[var15 + (Interpreter.Interpreter_stringStackSize - var16.stringArgumentCount)]; - } - - RouteStrategy.Interpreter_intStackSize -= var16.intArgumentCount; - Interpreter.Interpreter_stringStackSize -= var16.stringArgumentCount; - ScriptFrame var19 = new ScriptFrame(); - var19.script = var3; - var19.pc = var4; - var19.intLocals = Username.Interpreter_intLocals; - var19.stringLocals = Interpreter.Interpreter_stringLocals; - Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; - var3 = var16; - var25 = var16.opcodes; - var6 = var16.intOperands; - var4 = -1; - Username.Interpreter_intLocals = var17; - Interpreter.Interpreter_stringLocals = var18; - } - } - } - } catch (Exception var23) { - StringBuilder var10 = new StringBuilder(30); - var10.append("").append(var3.key).append(" "); - - for (var8 = Interpreter.Interpreter_frameDepth - 1; var8 >= 0; --var8) { - var10.append("").append(Interpreter.Interpreter_frames[var8].script.key).append(" "); - } - - var10.append("").append(var7); - NPCDefinition.sendStackTrace(var10.toString(), var23); - } - } finally { - if (Interpreter.field423) { - Interpreter.field424 = true; - WorldMapLabelSize.method198(); - Interpreter.field424 = false; - Interpreter.field423 = false; - } - - } - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IS)I", - garbageValue = "1404" - ) - public static int method80(int var0) { - long var1 = ViewportMouse.ViewportMouse_entityTags[var0]; - int var3 = (int)(var1 >>> 14 & 3L); - return var3; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1385318222" - ) - public static int method87(int var0, int var1) { - int var2; - for (var2 = 0; var1 > 0; --var1) { - var2 = var2 << 1 | var0 & 1; - var0 >>>= 1; - } - - return var2; - } - - @ObfuscatedName("iq") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "1819478902" - ) - static final String method88(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); - } - - return var1.length() > 9 ? " " + BufferedFile.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M (" + var1 + ")" : (var1.length() > 6 ? " " + BufferedFile.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K (" + var1 + ")" : " " + BufferedFile.colorStartTag(16776960) + var1 + ""); - } + } } diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index b79df7713c..a0773e8d7c 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -4,183 +4,658 @@ 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; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("g") +@ObfuscatedName("b") @Implements("GrandExchangeEvents") public class GrandExchangeEvents { - @ObfuscatedName("f") - @Export("geAgeComparator") - public static Comparator geAgeComparator; - @ObfuscatedName("q") - @Export("geUnitPriceComparator") - public static Comparator geUnitPriceComparator; - @ObfuscatedName("w") - @Export("geItemNameComparator") - public static Comparator geItemNameComparator; - @ObfuscatedName("o") - @Export("geTotalQuantityComparator") - public static Comparator geTotalQuantityComparator; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1605454211 - ) - static int field375; - @ObfuscatedName("hs") - @ObfuscatedGetter( - intValue = 1326137897 - ) - @Export("cameraY") - static int cameraY; - @ObfuscatedName("m") - @Export("events") - public final List events; + @ObfuscatedName("w") + @Export("GrandExchangeEvents_ageComparator") + public static Comparator GrandExchangeEvents_ageComparator; + @ObfuscatedName("e") + @Export("GrandExchangeEvents_priceComparator") + public static Comparator GrandExchangeEvents_priceComparator; + @ObfuscatedName("p") + @Export("GrandExchangeEvents_nameComparator") + public static Comparator GrandExchangeEvents_nameComparator; + @ObfuscatedName("k") + @Export("GrandExchangeEvents_quantityComparator") + public static Comparator GrandExchangeEvents_quantityComparator; + @ObfuscatedName("jb") + @ObfuscatedSignature( + signature = "Ldo;" + ) + @Export("textureProvider") + static TextureProvider textureProvider; + @ObfuscatedName("q") + @Export("events") + public final List events; - @ObfuscatedSignature( - signature = "(Lgr;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; - } + static { + GrandExchangeEvents_ageComparator = new GrandExchangeOfferAgeComparator(); + new GrandExchangeOfferWorldComparator(); + GrandExchangeEvents_priceComparator = new GrandExchangeOfferUnitPriceComparator(); + GrandExchangeEvents_nameComparator = new GrandExchangeOfferNameComparator(); + GrandExchangeEvents_quantityComparator = new GrandExchangeOfferTotalQuantityComparator(); + } - int var6 = var1.readUnsignedShort(); - this.events = new ArrayList(var6); + @ObfuscatedSignature( + signature = "(Lkf;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; + } - for (int var7 = 0; var7 < var6; ++var7) { - this.events.add(new GrandExchangeEvent(var1, var5, var3)); - } + 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("m") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;ZI)V", - garbageValue = "1070318468" - ) - @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("q") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;ZS)V", + garbageValue = "128" + ) + @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("f") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "1601363438" - ) - @Export("addChatMessage") - static void addChatMessage(int type, String sender, String text, String prefix) { - ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(type); - if (var4 == null) { - var4 = new ChatChannel(); - Messages.Messages_channels.put(type, var4); - } + } - Message var5 = var4.addMessage(type, sender, text, prefix); - Messages.Messages_hashTable.put(var5, (long)var5.count); - Messages.Messages_queue.add(var5); - Client.chatCycle = Client.cycleCntr; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Lgw;", + garbageValue = "-249126537" + ) + public static class185[] method70() { + return new class185[]{class185.field2322, class185.field2316, class185.field2318, class185.field2317, class185.field2324, class185.field2319, class185.field2320, class185.field2321, class185.field2315, class185.field2323}; + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - public static void method69() { - HitSplatDefinition.HitSplatDefinition_cached.clear(); - HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); - HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;B)V", + garbageValue = "-127" + ) + public static void method66(AbstractArchive var0, AbstractArchive var1) { + KitDefinition.KitDefinition_archive = var0; + class288.KitDefinition_modelsArchive = var1; + KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); + } - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "620886402" - ) - static int method75(int var0, Script var1, boolean var2) { - Widget var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETSCROLLX) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { - Interpreter.Interpreter_intStack[++RouteStrategy.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[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTRANS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.transparency; - return 1; - } else if (var0 == 2610) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.field960; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == 2613) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else { - return 2; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;B)V", + garbageValue = "1" + ) + public static void method68(AbstractArchive var0) { + VarpDefinition.VarpDefinition_archive = var0; + VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16); + } - @ObfuscatedName("ju") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-635606409" - ) - static final void method74(int var0, int var1) { - if (GroundItemPile.loadInterface(var0)) { - class30.method570(Widget.interfaceComponents[var0], var1); - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Ler;[Lfv;I)V", + garbageValue = "-1548454076" + ) + static final void method72(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].method3561(var3, var4); + } + } + } + } + } - static { - geAgeComparator = new GrandExchangeOfferAgeComparator(); - new GrandExchangeOfferWorldComparator(); - geUnitPriceComparator = new GrandExchangeOfferUnitPriceComparator(); - geItemNameComparator = new GrandExchangeOfferNameComparator(); - geTotalQuantityComparator = new GrandExchangeOfferTotalQuantityComparator(); - } + Tiles.field519 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field519 < -8) { + Tiles.field519 = -8; + } + + if (Tiles.field519 > 8) { + Tiles.field519 = 8; + } + + Tiles.field510 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field510 < -16) { + Tiles.field510 = -16; + } + + if (Tiles.field510 > 16) { + Tiles.field510 = 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 = class32.field282[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 = (var18 * -50 + var16 * -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); + Tiles.field515[var12][var11] = var19 - var20; + } + } + + for (var11 = 0; var11 < 104; ++var11) { + ServerBuild.field3103[var11] = 0; + Tiles.field508[var11] = 0; + Tiles.field507[var11] = 0; + DynamicObject.field1301[var11] = 0; + Fonts.field3689[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.field504[var2][var13][var12] & 255; + if (var14 > 0) { + FloorUnderlayDefinition var45 = ItemContainer.method1117(var14 - 1); + var10000 = ServerBuild.field3103; + var10000[var12] += var45.hue; + var10000 = Tiles.field508; + var10000[var12] += var45.saturation; + var10000 = Tiles.field507; + var10000[var12] += var45.lightness; + var10000 = DynamicObject.field1301; + var10000[var12] += var45.hueMultiplier; + var10002 = Fonts.field3689[var12]++; + } + } + + var14 = var11 - 5; + if (var14 >= 0 && var14 < 104) { + var15 = Tiles.field504[var2][var14][var12] & 255; + if (var15 > 0) { + var17 = var15 - 1; + FloorUnderlayDefinition var46 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var17); + FloorUnderlayDefinition var47; + if (var46 != null) { + var47 = var46; + } else { + byte[] var48 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var17); + var46 = new FloorUnderlayDefinition(); + if (var48 != null) { + var46.decode(new Buffer(var48), var17); + } + + var46.postDecode(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var46, (long)var17); + var47 = var46; + } + + var10000 = ServerBuild.field3103; + var10000[var12] -= var47.hue; + var10000 = Tiles.field508; + var10000[var12] -= var47.saturation; + var10000 = Tiles.field507; + var10000[var12] -= var47.lightness; + var10000 = DynamicObject.field1301; + var10000[var12] -= var47.hueMultiplier; + var10002 = Fonts.field3689[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 += ServerBuild.field3103[var18]; + var13 += Tiles.field508[var18]; + var14 += Tiles.field507[var18]; + var15 += DynamicObject.field1301[var18]; + var16 += Fonts.field3689[var18]; + } + + var19 = var17 - 5; + if (var19 >= 0 && var19 < 104) { + var12 -= ServerBuild.field3103[var19]; + var13 -= Tiles.field508[var19]; + var14 -= Tiles.field507[var19]; + var15 -= DynamicObject.field1301[var19]; + var16 -= Fonts.field3689[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.field504[var2][var11][var17] & 255; + int var21 = Tiles.field505[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 = Tiles.field515[var11][var17]; + int var27 = Tiles.field515[var11 + 1][var17]; + int var28 = Tiles.field515[var11 + 1][var17 + 1]; + int var29 = Tiles.field515[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 = class327.hslToRgb(var32, var33, var34); + var32 = var32 + Tiles.field519 & 255; + var34 += Tiles.field510; + if (var34 < 0) { + var34 = 0; + } else if (var34 > 255) { + var34 = 255; + } + + var31 = class327.hslToRgb(var32, var33, var34); + } + + FloorOverlayDefinition var35; + if (var2 > 0) { + boolean var53 = true; + if (var20 == 0 && Tiles.field506[var2][var11][var17] != 0) { + var53 = false; + } + + if (var21 > 0) { + var34 = var21 - 1; + var35 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var34); + FloorOverlayDefinition var49; + if (var35 != null) { + var49 = 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); + var49 = var35; + } + + if (!var49.hideUnderlay) { + var53 = false; + } + } + + if (var53 && var23 == var22 && var22 == var24 && var25 == var22) { + var10000 = FaceNormal.field1887[var2][var11]; + var10000[var17] |= 2340; + } + } + + var32 = 0; + if (var31 != -1) { + var32 = Rasterizer3D.Rasterizer3D_colorPalette[GraphicsObject.method1948(var31, 96)]; + } + + if (var21 == 0) { + var0.addTile(var2, var11, var17, 0, 0, -1, var22, var23, var24, var25, GraphicsObject.method1948(var30, var26), GraphicsObject.method1948(var30, var27), GraphicsObject.method1948(var30, var28), GraphicsObject.method1948(var30, var29), 0, 0, 0, 0, var32, 0); + } else { + var33 = Tiles.field506[var2][var11][var17] + 1; + byte var54 = class268.field3561[var2][var11][var17]; + int var50 = var21 - 1; + FloorOverlayDefinition var37 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var50); + if (var37 != null) { + var35 = var37; + } else { + byte[] var38 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var50); + var37 = new FloorOverlayDefinition(); + if (var38 != null) { + var37.decode(new Buffer(var38), var50); + } + + var37.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var37, (long)var50); + var35 = var37; + } + + int var51 = var35.texture; + int var39; + int var40; + int var41; + int var42; + if (var51 >= 0) { + var40 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var51); + var39 = -1; + } else if (var35.primaryRgb == 16711935) { + var39 = -2; + var51 = -1; + var40 = -2; + } else { + var39 = class327.hslToRgb(var35.hue, var35.saturation, var35.lightness); + var41 = var35.hue + Tiles.field519 & 255; + var42 = var35.lightness + Tiles.field510; + if (var42 < 0) { + var42 = 0; + } else if (var42 > 255) { + var42 = 255; + } + + var40 = class327.hslToRgb(var41, var35.saturation, var42); + } + + var41 = 0; + if (var40 != -2) { + var41 = Rasterizer3D.Rasterizer3D_colorPalette[Decimator.method2517(var40, 96)]; + } + + if (var35.secondaryRgb != -1) { + var42 = var35.secondaryHue + Tiles.field519 & 255; + int var43 = var35.secondaryLightness + Tiles.field510; + if (var43 < 0) { + var43 = 0; + } else if (var43 > 255) { + var43 = 255; + } + + var40 = class327.hslToRgb(var42, var35.secondarySaturation, var43); + var41 = Rasterizer3D.Rasterizer3D_colorPalette[Decimator.method2517(var40, 96)]; + } + + var0.addTile(var2, var11, var17, var33, var54, var51, var22, var23, var24, var25, GraphicsObject.method1948(var30, var26), GraphicsObject.method1948(var30, var27), GraphicsObject.method1948(var30, var28), GraphicsObject.method1948(var30, var29), Decimator.method2517(var39, var26), Decimator.method2517(var39, var27), Decimator.method2517(var39, var28), Decimator.method2517(var39, var29), var32, var41); + } + } + } + } + } + } + + for (var11 = 1; var11 < 103; ++var11) { + for (var12 = 1; var12 < 103; ++var12) { + var0.setTileMinPlane(var2, var12, var11, MilliClock.method3468(var2, var12, var11)); + } + } + + Tiles.field504[var2] = null; + Tiles.field505[var2] = null; + Tiles.field506[var2] = null; + class268.field3561[var2] = null; + class32.field282[var2] = null; + } + + var0.method3097(-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 var52; + if ((FaceNormal.field1887[var6][var8][var7] & var2) != 0) { + var9 = var7; + var10 = var7; + var11 = var6; + + for (var12 = var6; var9 > 0 && (FaceNormal.field1887[var6][var8][var9 - 1] & var2) != 0; --var9) { + } + + while (var10 < 104 && (FaceNormal.field1887[var6][var8][var10 + 1] & var2) != 0) { + ++var10; + } + + label478: + while (var11 > 0) { + for (var13 = var9; var13 <= var10; ++var13) { + if ((FaceNormal.field1887[var11 - 1][var8][var13] & var2) == 0) { + break label478; + } + } + + --var11; + } + + label467: + while (var12 < var5) { + for (var13 = var9; var13 <= var10; ++var13) { + if ((FaceNormal.field1887[var12 + 1][var8][var13] & var2) == 0) { + break label467; + } + } + + ++var12; + } + + var13 = (var12 + 1 - var11) * (var10 - var9 + 1); + if (var13 >= 8) { + var52 = 240; + var15 = Tiles.Tiles_heights[var12][var8][var9] - var52; + 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 = FaceNormal.field1887[var17][var8]; + var10000[var18] &= ~var2; + } + } + } + } + + if ((FaceNormal.field1887[var6][var8][var7] & var3) != 0) { + var9 = var8; + var10 = var8; + var11 = var6; + + for (var12 = var6; var9 > 0 && (FaceNormal.field1887[var6][var9 - 1][var7] & var3) != 0; --var9) { + } + + while (var10 < 104 && (FaceNormal.field1887[var6][var10 + 1][var7] & var3) != 0) { + ++var10; + } + + label531: + while (var11 > 0) { + for (var13 = var9; var13 <= var10; ++var13) { + if ((FaceNormal.field1887[var11 - 1][var13][var7] & var3) == 0) { + break label531; + } + } + + --var11; + } + + label520: + while (var12 < var5) { + for (var13 = var9; var13 <= var10; ++var13) { + if ((FaceNormal.field1887[var12 + 1][var13][var7] & var3) == 0) { + break label520; + } + } + + ++var12; + } + + var13 = (var10 - var9 + 1) * (var12 + 1 - var11); + if (var13 >= 8) { + var52 = 240; + var15 = Tiles.Tiles_heights[var12][var9][var7] - var52; + 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 = FaceNormal.field1887[var17][var18]; + var10000[var7] &= ~var3; + } + } + } + } + + if ((FaceNormal.field1887[var6][var8][var7] & var4) != 0) { + var9 = var8; + var10 = var8; + var11 = var7; + + for (var12 = var7; var11 > 0 && (FaceNormal.field1887[var6][var8][var11 - 1] & var4) != 0; --var11) { + } + + while (var12 < 104 && (FaceNormal.field1887[var6][var8][var12 + 1] & var4) != 0) { + ++var12; + } + + label584: + while (var9 > 0) { + for (var13 = var11; var13 <= var12; ++var13) { + if ((FaceNormal.field1887[var6][var9 - 1][var13] & var4) == 0) { + break label584; + } + } + + --var9; + } + + label573: + while (var10 < 104) { + for (var13 = var11; var13 <= var12; ++var13) { + if ((FaceNormal.field1887[var6][var10 + 1][var13] & var4) == 0) { + break label573; + } + } + + ++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 = FaceNormal.field1887[var6][var14]; + var10000[var15] &= ~var4; + } + } + } + } + } + } + } + } + + } + + @ObfuscatedName("il") + @ObfuscatedSignature( + signature = "(Lhj;IIIIIII)V", + garbageValue = "-2024126373" + ) + static final void method71(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (Client.field719) { + Client.field882 = 32; + } else { + Client.field882 = 0; + } + + Client.field719 = false; + int var7; + if (MouseHandler.MouseHandler_currentButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { + if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { + var0.scrollY -= 4; + Strings.method4120(var0); + } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { + var0.scrollY += 4; + Strings.method4120(var0); + } else if (var5 >= var1 - Client.field882 && var5 < Client.field882 + 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; + Strings.method4120(var0); + Client.field719 = 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; + Strings.method4120(var0); + } + } + + } } diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index 89fec173ad..f4fc38c8f6 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -1,178 +1,567 @@ -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("x") +@ObfuscatedName("f") @Implements("GrandExchangeOffer") public class GrandExchangeOffer { - @ObfuscatedName("rg") - @ObfuscatedGetter( - intValue = -1286287981 - ) - static int field376; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -812708185 - ) - @Export("musicTrackFileId") - public static int musicTrackFileId; - @ObfuscatedName("m") - @Export("state") - byte state; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1136727241 - ) - @Export("id") - public int id; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1627453165 - ) - @Export("unitPrice") - public int unitPrice; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 562564821 - ) - @Export("totalQuantity") - public int totalQuantity; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1413132419 - ) - @Export("currentQuantity") - public int currentQuantity; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 396420073 - ) - @Export("currentPrice") - public int currentPrice; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = 1444342479 + ) + static int field65; + @ObfuscatedName("q") + @Export("state") + byte state; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1838555809 + ) + @Export("id") + public int id; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -2108350067 + ) + @Export("unitPrice") + public int unitPrice; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -725683921 + ) + @Export("totalQuantity") + public int totalQuantity; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 663706157 + ) + @Export("currentQuantity") + public int currentQuantity; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1954345153 + ) + @Export("currentPrice") + public int currentPrice; - public GrandExchangeOffer() { - } + public GrandExchangeOffer() { + } - @ObfuscatedSignature( - signature = "(Lgr;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(); - } + @ObfuscatedSignature( + signature = "(Lkf;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("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1084140748" - ) - @Export("status") - public int status() { - return this.state & 7; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "0" + ) + @Export("status") + public int status() { + return this.state & 7; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1007396683" - ) - @Export("type") - public int type() { - return (this.state & 8) == 8 ? 1 : 0; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1998926597" + ) + @Export("type") + public int type() { + return (this.state & 8) == 8 ? 1 : 0; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1339285061" - ) - void method121(int var1) { - this.state &= -8; - this.state = (byte)(this.state | var1 & 7); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "126" + ) + void method115(int var1) { + this.state &= -8; + this.state = (byte)(this.state | var1 & 7); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "743094900" - ) - void method122(int var1) { - this.state &= -9; - if (var1 == 1) { - this.state = (byte)(this.state | 8); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "874487771" + ) + void method100(int var1) { + this.state &= -9; + if (var1 == 1) { + this.state = (byte)(this.state | 8); + } - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lhx;I)I", - garbageValue = "-756558077" - ) - static int method105(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); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "([Ljava/lang/String;[SIIB)V", + garbageValue = "32" + ) + @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; - return var2; - } + 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; + } + } - @ObfuscatedName("ez") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "50" - ) - static int method101() { - if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - int var0 = 0; + 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); + } - for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) { - var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; - } + } - return var0 * 10000 / Client.field140; - } else { - return 10000; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIIZIZB)V", + garbageValue = "1" + ) + @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.worlds[var6]; + World.worlds[var6] = World.worlds[var1]; + World.worlds[var1] = var8; - @ObfuscatedName("kf") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-304562381" - ) - static final void method121() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsFriend(); - } + for (int var9 = var0; var9 < var1; ++var9) { + World var11 = World.worlds[var9]; + int var12 = DynamicObject.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 = DynamicObject.compareWorlds(var11, var8, var4, var5); + if (var5) { + var10 = -var13; + } else { + var10 = var13; + } + } - Iterator var2 = Messages.Messages_hashTable.iterator(); + if (var10 <= 0) { + World var14 = World.worlds[var9]; + World.worlds[var9] = World.worlds[var7]; + World.worlds[var7++] = var14; + } + } - while (var2.hasNext()) { - Message var3 = (Message)var2.next(); - var3.clearIsFromFriend(); - } + World.worlds[var1] = World.worlds[var7]; + World.worlds[var7] = var8; + doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); + doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); + } - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.clearFriends(); - } + } - } + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1926107602" + ) + static int method114(int var0, Script var1, boolean var2) { + int var3; + if (var0 == 6600) { + var3 = class42.plane; + int var9 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7); + int var5 = class1.baseY * 64 + (Client.localPlayer.y >> 7); + WorldMapID.getWorldMap().method6309(var3, var9, var5, true); + return 1; + } else { + WorldMapArea var11; + if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + String var16 = ""; + var11 = WorldMapID.getWorldMap().getMapArea(var3); + if (var11 != null) { + var16 = var11.getExternalName(); + } + + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var16; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + WorldMapID.getWorldMap().setCurrentMapAreaId(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getZoomLevel(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + WorldMapID.getWorldMap().setZoomPercentage(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().isCacheLoaded() ? 1 : 0; + return 1; + } else { + Coord var15; + if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().setWorldMapPositionTarget(var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().setWorldMapPositionTargetInstant(var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().jumpToSourceCoord(var15.plane, var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + WorldMapID.getWorldMap().jumpToSourceCoordInstant(var15.plane, var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getDisplayX(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getDisplayY(); + return 1; + } else { + WorldMapArea var13; + if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var13 = WorldMapID.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getOrigin().packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var13 = WorldMapID.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (var13.getRegionHighX() - var13.getRegionLowX() + 1) * 64; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = (var13.getRegionHighY() - var13.getRegionLowY() + 1) * 64; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var13 = WorldMapID.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getRegionLowX() * 64; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getRegionLowY() * 64; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getRegionHighX() * 64 + 64 - 1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getRegionHighY() * 64 + 64 - 1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var13 = WorldMapID.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getZoom(); + } + + return 1; + } else if (var0 == 6615) { + var15 = WorldMapID.getWorldMap().getDisplayCoord(); + if (var15 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.x; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.y; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().currentMapAreaId(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + var13 = WorldMapID.getWorldMap().getCurrentMapArea(); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + int[] var14 = var13.position(var15.plane, var15.x, var15.y); + if (var14 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var14[0]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var14[1]; + } + + return 1; + } + } else { + Coord var7; + if (var0 == 6618) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + var13 = WorldMapID.getWorldMap().getCurrentMapArea(); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + var7 = var13.coord(var15.x, var15.y); + if (var7 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.packed(); + } + + return 1; + } + } else { + Coord var12; + if (var0 == 6619) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + ObjectSound.method1824(var3, var12, false); + return 1; + } else if (var0 == 6620) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + ObjectSound.method1824(var3, var12, true); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + var11 = WorldMapID.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var11.containsCoord(var12.plane, var12.x, var12.y) ? 1 : 0; + return 1; + } + } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getDisplayWith(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getDisplayHeight(); + return 1; + } else if (var0 == 6623) { + var15 = new Coord(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + var13 = WorldMapID.getWorldMap().mapAreaAtCoord(var15.plane, var15.x, var15.y); + if (var13 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var13.getId(); + } + + return 1; + } else if (var0 == 6624) { + WorldMapID.getWorldMap().method6337(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6625) { + WorldMapID.getWorldMap().method6338(); + return 1; + } else if (var0 == 6626) { + WorldMapID.getWorldMap().method6339(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6627) { + WorldMapID.getWorldMap().method6340(); + return 1; + } else { + boolean var10; + if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + WorldMapID.getWorldMap().setPerpetualFlash(var10); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + WorldMapID.getWorldMap().flashElement(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + WorldMapID.getWorldMap().flashCategory(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { + WorldMapID.getWorldMap().stopCurrentFlashes(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { + var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + WorldMapID.getWorldMap().setElementsDisabled(var10); + return 1; + } else { + boolean var4; + if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1] == 1; + WorldMapID.getWorldMap().disableElement(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1] == 1; + WorldMapID.getWorldMap().setCategoryDisabled(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().getElementsDisabled() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().isElementDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapID.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == 6638) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + var7 = WorldMapID.getWorldMap().method6352(var3, var12); + if (var7 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.packed(); + } + + return 1; + } else { + AbstractWorldMapIcon var8; + if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { + var8 = WorldMapID.getWorldMap().iconStart(); + if (var8 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var8.getElement(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var8.coord2.packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { + var8 = WorldMapID.getWorldMap().iconNext(); + if (var8 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var8.getElement(); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var8.coord2.packed(); + } + + return 1; + } else { + WorldMapElement var6; + if (var0 == ScriptOpcodes.MEC_TEXT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = class222.getWorldMapElement(var3); + if (var6.name == null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var6.name; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = class222.getWorldMapElement(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.textSize; + return 1; + } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = class222.getWorldMapElement(var3); + if (var6 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.category; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_SPRITE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var6 = class222.getWorldMapElement(var3); + if (var6 == null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.sprite1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapIcon_0.worldMapEvent.mapElement; + return 1; + } else if (var0 == 6698) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapIcon_0.worldMapEvent.coord1.packed(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapIcon_0.worldMapEvent.coord2.packed(); + return 1; + } else { + return 2; + } + } + } + } + } + } + } + } + } + } + } + + @ObfuscatedName("fk") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1093013043" + ) + static final void method99(boolean var0) { + if (var0) { + Client.field690 = Login.field1201 ? class160.field2004 : class160.field2002; + } else { + Client.field690 = WorldMapLabelSize.clientPreferences.parameters.containsKey(ViewportMouse.method2971(Login.Login_username)) ? class160.field2005 : class160.field2001; + } + + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index 4d54ab3c6b..a9ab96bad8 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -1,166 +1,211 @@ +import java.awt.FontMetrics; import java.util.Comparator; 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("n") +@ObfuscatedName("x") @Implements("GrandExchangeOfferAgeComparator") final class GrandExchangeOfferAgeComparator implements Comparator { - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field1111; + @ObfuscatedName("ad") + static FontMetrics field80; + @ObfuscatedName("gn") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("scrollBarSprites") + static IndexedSprite[] scrollBarSprites; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;B)I", - garbageValue = "-86" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.field370 < var2.field370 ? -1 : (var1.field370 == var2.field370 ? 0 : 1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;I)I", + garbageValue = "-502692128" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.age < var2.age ? -1 : (var2.age == var1.age ? 0 : 1); + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public int compare(Object var1, Object var2) { - return this.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1759858381" - ) - public static boolean method162(int var0) { - return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-1058025130" + ) + @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); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(CII)C", - garbageValue = "1632289577" - ) - static char method155(char var0, int var1) { - if (var0 >= 192 && var0 <= 255) { - if (var0 >= 192 && var0 <= 198) { - return 'A'; - } + if (var4.ids.length <= var1) { + int[] var5 = new int[var1 + 1]; + int[] var6 = new int[var1 + 1]; - if (var0 == 199) { - return 'C'; - } + int var7; + for (var7 = 0; var7 < var4.ids.length; ++var7) { + var5[var7] = var4.ids[var7]; + var6[var7] = var4.quantities[var7]; + } - if (var0 >= 200 && var0 <= 203) { - return 'E'; - } + for (var7 = var4.ids.length; var7 < var1; ++var7) { + var5[var7] = -1; + var6[var7] = 0; + } - if (var0 >= 204 && var0 <= 207) { - return 'I'; - } + var4.ids = var5; + var4.quantities = var6; + } - if (var0 >= 210 && var0 <= 214) { - return 'O'; - } + var4.ids[var1] = var2; + var4.quantities[var1] = var3; + } - if (var0 >= 217 && var0 <= 220) { - return 'U'; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1192487451" + ) + @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; + } - if (var0 == 221) { - return 'Y'; - } + } + } - if (var0 == 223) { - return 's'; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;B)I", + garbageValue = "65" + ) + @Export("hashString") + public static int hashString(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; - if (var0 >= 224 && var0 <= 230) { - return 'a'; - } + for (int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + ItemDefinition.charToByteCp1252(var0.charAt(var3)); + } - if (var0 == 231) { - return 'c'; - } + return var2; + } - if (var0 >= 232 && var0 <= 235) { - return 'e'; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1661608853" + ) + static int method147(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + if (var0 == ScriptOpcodes.CC_GETX) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETY) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHIDE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETLAYER) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } - if (var0 >= 236 && var0 <= 239) { - return 'i'; - } + @ObfuscatedName("hb") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "20" + ) + static void method145() { + NetCache.method4312(class42.menuWidth / 2 + class247.menuX, class30.menuY); + } - if (var0 >= 242 && var0 <= 246) { - return 'o'; - } + @ObfuscatedName("jt") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-2136228205" + ) + static final void method146(int var0) { + if (class162.loadInterface(var0)) { + Widget[] var1 = Widget.Widget_interfaceComponents[var0]; - if (var0 >= 249 && var0 <= 252) { - return 'u'; - } + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3 != null) { + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + } + } - if (var0 == 253 || var0 == 255) { - return 'y'; - } - } + } + } - return var0 == 338 ? 'O' : (var0 == 339 ? 'o' : (var0 == 376 ? 'Y' : var0)); - } + @ObfuscatedName("jd") + @ObfuscatedSignature( + signature = "(Lhj;B)Z", + garbageValue = "34" + ) + static final boolean method149(Widget var0) { + int var1 = var0.contentType; + if (var1 == 205) { + Client.field700 = 250; + return true; + } else { + int var2; + int var3; + if (var1 >= 300 && var1 <= 313) { + var2 = (var1 - 300) / 2; + var3 = var1 & 1; + Client.playerAppearance.method3992(var2, var3 == 1); + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "13" - ) - static int method161(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - return var1 == null ? -1 : (var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count); - } + if (var1 >= 314 && var1 <= 323) { + var2 = (var1 - 314) / 2; + var3 = var1 & 1; + Client.playerAppearance.method3993(var2, var3 == 1); + } - @ObfuscatedName("ja") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1731524026" - ) - static void method159() { - for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { - int var1 = var0.group; - if (GroundItemPile.loadInterface(var1)) { - boolean var2 = true; - Widget[] var3 = Widget.interfaceComponents[var1]; + if (var1 == 324) { + Client.playerAppearance.method4006(false); + } - int var4; - for (var4 = 0; var4 < var3.length; ++var4) { - if (var3[var4] != null) { - var2 = var3[var4].isIf3; - break; - } - } + if (var1 == 325) { + Client.playerAppearance.method4006(true); + } - if (!var2) { - var4 = (int)var0.key; - Widget var5 = Huffman.getWidget(var4); - if (var5 != null) { - WorldMapRectangle.method295(var5); - } - } - } - } - - } - - @ObfuscatedName("kg") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-7" - ) - static final void method158() { - PacketBufferNode var0 = Interpreter.method1915(ClientPacket.field300, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(0); - Client.packetWriter.method241(var0); - } + if (var1 == 326) { + PacketBufferNode var4 = Archive.method4265(ClientPacket.field2215, Client.packetWriter.isaacCipher); + Client.playerAppearance.method3995(var4.packetBuffer); + Client.packetWriter.method2219(var4); + return true; + } else { + return false; + } + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java index 41dae69c39..6cc02a74f3 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java @@ -4,274 +4,44 @@ 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("k") +@ObfuscatedName("u") @Implements("GrandExchangeOfferNameComparator") final class GrandExchangeOfferNameComparator implements Comparator { - @ObfuscatedName("hl") - @ObfuscatedGetter( - intValue = -1945589829 - ) - @Export("cameraZ") - static int cameraZ; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicTrackArchive") + public static AbstractArchive musicTrackArchive; + @ObfuscatedName("gv") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("modIconSprites") + static IndexedSprite[] modIconSprites; + @ObfuscatedName("hm") + @ObfuscatedGetter( + intValue = 477835103 + ) + @Export("cameraPitch") + static int cameraPitch; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;B)I", - garbageValue = "1" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.getOfferName().compareTo(var2.getOfferName()); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;B)I", + garbageValue = "-74" + ) + @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); + } - public int compare(Object var1, Object var2) { - return this.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lhx;B)V", - garbageValue = "26" - ) - @Export("updatePlayer") - static final void updatePlayer(PacketBuffer var0) { - var0.importIndex(); - int var1 = Client.localPlayerIndex; - Player var2 = Canvas.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 - class50.baseX; - var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); - var2.pathY[0] = var6 - GraphicsObject.baseY; - var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); - SoundSystem.plane = var2.plane = var4; - if (Players.field733[var1] != null) { - var2.read(Players.field733[var1]); - } - - Players.Players_count = 0; - Players.Players_indices[++Players.Players_count - 1] = var1; - Players.field731[var1] = 0; - Players.field734 = 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.field735[++Players.field734 - 1] = var7; - Players.field731[var7] = 0; - } - } - - var0.exportIndex(); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1948861515" - ) - static int method141(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - } else { - var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } - - 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[--RouteStrategy.Interpreter_intStackSize]; - if (var6 > 0) { - for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--RouteStrategy.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[--RouteStrategy.Interpreter_intStackSize]); - } - } - - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.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.field977 = var8; - } else { - if (var0 != ScriptOpcodes.CC_SETONRESIZE) { - return 2; - } - - var3.onResize = var8; - } - - var3.hasListener = true; - return 1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1020189514" - ) - static int method146(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { - var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.itemId; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { - var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var3.itemId != -1) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.IF_HASSUB) { - int var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var4); - if (var5 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTOP) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.rootInterface; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-87" - ) - protected static final void method145() { - UserComparator6.clock.mark(); - - int var0; - for (var0 = 0; var0 < 32; ++var0) { - GameShell.field365[var0] = 0L; - } - - for (var0 = 0; var0 < 32; ++var0) { - GameShell.field366[var0] = 0L; - } - - GameShell.field362 = 0; - } - - @ObfuscatedName("ih") - @ObfuscatedSignature( - signature = "(IIIIII)V", - garbageValue = "-1292134247" - ) - static final void method148(int var0, int var1, int var2, int var3, int var4) { - class32.scrollBarSprites[0].drawAt(var0, var1); - class32.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field184); - 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.field185); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field187); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field187); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field187); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field187); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field186); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field186); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var5 + var6 + var1 + 15, 16, Client.field186); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var6 + var5 + var1 + 14, 15, Client.field186); - } + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index b7a541aaf0..b595614a81 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -3,83 +3,457 @@ 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("bj") +@ObfuscatedName("by") @Implements("GrandExchangeOfferOwnWorldComparator") public class GrandExchangeOfferOwnWorldComparator implements Comparator { - @ObfuscatedName("m") - @Export("compareOwnWorld") - boolean compareOwnWorld; + @ObfuscatedName("h") + public static String field647; + @ObfuscatedName("dm") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive15") + static Archive archive15; + @ObfuscatedName("q") + @Export("filterWorlds") + boolean filterWorlds; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;B)I", - garbageValue = "21" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - if (var2.world == var1.world) { - return 0; - } else { - if (this.compareOwnWorld) { - if (Client.worldId == var1.world) { - return -1; - } + GrandExchangeOfferOwnWorldComparator() { + } - if (var2.world == Client.worldId) { - return 1; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;I)I", + garbageValue = "150441453" + ) + @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; + } - return var1.world < var2.world ? -1 : 1; - } - } + if (var2.world == Client.worldId) { + return 1; + } + } - public boolean equals(Object var1) { - return super.equals(var1); - } + return var1.world < var2.world ? -1 : 1; + } + } - public int compare(Object var1, Object var2) { - return this.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-662838966" - ) - static int method1285(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - int var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (!Client.isCameraLocked) { - Client.camAngleX = var3; - Client.camAngleY = var4; - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.camAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.camAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var3 < 0) { - var3 = 0; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-836499887" + ) + @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)); + } - Client.camFollowHeight = var3; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.camFollowHeight; - return 1; - } else { - return 2; - } - } + 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("b") + @ObfuscatedSignature( + signature = "(IIIIIILer;Lfv;S)V", + garbageValue = "-19782" + ) + static final void method1236(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 = ViewportMouse.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[var11][var14] + var15[var12][var13] + var15[var11][var13] + var15[var12][var14] >> 2; + int var17 = (var1 << 7) + (var9 << 6); + int var18 = (var2 << 7) + (var10 << 6); + long var19 = Tile.calculateTag(var1, var2, 2, var8.int1 == 0, var3); + int var21 = var5 + (var4 << 6); + if (var8.int3 == 1) { + var21 += 256; + } + + if (var8.method4598()) { + class83.method1996(var0, var1, var2, var8, var4); + } + + Object var22; + if (var5 == 22) { + if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(22, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newFloorDecoration(var0, var1, var2, var16, (Entity)var22, var19, var21); + if (var8.interactType == 1 && var7 != null) { + var7.method3562(var1, var2); + } + + } + } else { + int var23; + if (var5 != 10 && var5 != 11) { + int[] var10000; + if (var5 >= 12) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(var5, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.method3076(var0, var1, var2, var16, 1, 1, (Entity)var22, 0, var19, var21); + if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 2340; + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3560(var1, var2, var9, var10, var8.boolean1); + } + + } else if (var5 == 0) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(0, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field512[var4], 0, var19, var21); + if (var4 == 0) { + if (var8.clipped) { + class32.field282[var0][var1][var2] = 50; + class32.field282[var0][var1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 585; + } + } else if (var4 == 1) { + if (var8.clipped) { + class32.field282[var0][var1][var2 + 1] = 50; + class32.field282[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[1 + var2] |= 1170; + } + } else if (var4 == 2) { + if (var8.clipped) { + class32.field282[var0][var1 + 1][var2] = 50; + class32.field282[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = FaceNormal.field1887[var0][var1 + 1]; + var10000[var2] |= 585; + } + } else if (var4 == 3) { + if (var8.clipped) { + class32.field282[var0][var1][var2] = 50; + class32.field282[var0][var1 + 1][var2] = 50; + } + + if (var8.modelClipped) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 1170; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3559(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3082(var0, var1, var2, var8.int2); + } + + } else if (var5 == 1) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(1, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field513[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + class32.field282[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + class32.field282[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + class32.field282[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + class32.field282[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3559(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.method4591(2, var4 + 4, var15, var17, var16, var18); + var30 = var8.method4591(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.field512[var4], Tiles.field512[var28], var19, var21); + if (var8.modelClipped) { + if (var4 == 0) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 585; + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2 + 1] |= 1170; + } else if (var4 == 1) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2 + 1] |= 1170; + var10000 = FaceNormal.field1887[var0][var1 + 1]; + var10000[var2] |= 585; + } else if (var4 == 2) { + var10000 = FaceNormal.field1887[var0][var1 + 1]; + var10000[var2] |= 585; + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 1170; + } else if (var4 == 3) { + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 1170; + var10000 = FaceNormal.field1887[var0][var1]; + var10000[var2] |= 585; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3559(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3082(var0, var1, var2, var8.int2); + } + + } else if (var5 == 3) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(3, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field513[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + class32.field282[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + class32.field282[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + class32.field282[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + class32.field282[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3559(var1, var2, var5, var4, var8.boolean1); + } + + } else if (var5 == 9) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(var5, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.method3076(var0, var1, var2, var16, 1, 1, (Entity)var22, 0, var19, var21); + if (var8.interactType != 0 && var7 != null) { + var7.method3560(var1, var2, var9, var10, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3082(var0, var1, var2, var8.int2); + } + + } else if (var5 == 4) { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(4, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var22, (Entity)null, Tiles.field512[var4], 0, 0, 0, var19, var21); + } else { + long var31; + Object var33; + if (var5 == 5) { + var28 = 16; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (var31 != 0L) { + var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.method4591(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.field512[var4], 0, var28 * Tiles.field514[var4], var28 * Tiles.field520[var4], var19, var21); + } else if (var5 == 6) { + var28 = 8; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var31) { + var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2 / 2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.method4591(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.field509[var4], var28 * Tiles.field517[var4], var19, var21); + } else if (var5 == 7) { + var23 = var4 + 2 & 3; + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(4, var23 + 4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var22, (Entity)null, 256, var23, 0, 0, var19, var21); + } else if (var5 == 8) { + var28 = 8; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (var31 != 0L) { + var28 = ViewportMouse.getObjectDefinition(class43.method770(var31)).int2 / 2; + } + + int var27 = var4 + 2 & 3; + Object var26; + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.method4591(4, var4 + 4, var15, var17, var16, var18); + var26 = var8.method4591(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.field509[var4], var28 * Tiles.field517[var4], var19, var21); + } + } + } + } else { + if (var8.animationId == -1 && var8.transforms == null) { + var22 = var8.method4591(10, var4, var15, var17, var16, var18); + } else { + var22 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + if (var22 != null && var6.method3076(var0, var1, var2, var16, var9, var10, (Entity)var22, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { + var23 = 15; + if (var22 instanceof Model) { + var23 = ((Model)var22).method2864() / 4; + if (var23 > 30) { + var23 = 30; + } + } + + for (int var24 = 0; var24 <= var9; ++var24) { + for (int var25 = 0; var25 <= var10; ++var25) { + if (var23 > class32.field282[var0][var24 + var1][var25 + var2]) { + class32.field282[var0][var24 + var1][var25 + var2] = (byte)var23; + } + } + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3560(var1, var2, var9, var10, var8.boolean1); + } + + } + } + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(CI)Z", + garbageValue = "81197967" + ) + @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/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index e9cff82ca0..3482a4e62c 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -4,204 +4,142 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("e") +@ObfuscatedName("c") @Implements("GrandExchangeOfferTotalQuantityComparator") final class GrandExchangeOfferTotalQuantityComparator implements Comparator { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;I)I", - garbageValue = "-573736433" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.totalQuantity < var2.grandExchangeOffer.totalQuantity ? -1 : (var2.grandExchangeOffer.totalQuantity == var1.grandExchangeOffer.totalQuantity ? 0 : 1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;I)I", + garbageValue = "-918016039" + ) + @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.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;IIIIIIB)V", - garbageValue = "46" - ) - @Export("loadTerrain") - static final void loadTerrain(Buffer buffer, int plane, int x, int y, int x0, int y0, int var6) { - int var7; - if (x >= 0 && x < 104 && y >= 0 && y < 104) { - Tiles.Tiles_renderFlags[plane][x][y] = 0; + @ObfuscatedName("ft") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1523306949" + ) + static void method93(int var0) { + if (var0 == -1 && !Client.field699) { + NetSocket.method3553(); + } else if (var0 != -1 && var0 != Client.field889 && Client.field911 != 0 && !Client.field699) { + Archive var1 = WorldMapRegion.archive6; + int var2 = Client.field911; + class197.field2402 = 1; + GrandExchangeOfferNameComparator.musicTrackArchive = var1; + class197.musicTrackGroupId = var0; + class197.musicTrackFileId = 0; + ScriptFrame.field529 = var2; + BuddyRankComparator.musicTrackBoolean = false; + class197.field2404 = 2; + } - while (true) { - var7 = buffer.readUnsignedByte(); - if (var7 == 0) { - if (plane == 0) { - int[] var12 = Tiles.Tiles_heights[0][x]; - int var9 = x + x0 + 932731; - int var10 = y + y0 + 556238; - int var11 = Script.method2204(var9 + 45365, var10 + 91923, 4) - 128 + (Script.method2204(10294 + var9, 37821 + var10, 2) - 128 >> 1) + (Script.method2204(var9, var10, 1) - 128 >> 2); - var11 = (int)((double)var11 * 0.3D) + 35; - if (var11 < 10) { - var11 = 10; - } else if (var11 > 60) { - var11 = 60; - } + Client.field889 = var0; + } - var12[y] = -var11 * 8; - } else { - Tiles.Tiles_heights[plane][x][y] = Tiles.Tiles_heights[plane - 1][x][y] - 240; - } - break; - } + @ObfuscatedName("if") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lhj;I)Ljava/lang/String;", + garbageValue = "16777215" + ) + static String method92(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; + } - if (var7 == 1) { - int var8 = buffer.readUnsignedByte(); - if (var8 == 1) { - var8 = 0; - } + String var4 = var0.substring(0, var3); + int var6 = Varps.method3969(var1, var2 - 1); + String var5; + if (var6 < 999999999) { + var5 = Integer.toString(var6); + } else { + var5 = "*"; + } - if (plane == 0) { - Tiles.Tiles_heights[0][x][y] = -var8 * 8; - } else { - Tiles.Tiles_heights[plane][x][y] = Tiles.Tiles_heights[plane - 1][x][y] - var8 * 8; - } - break; - } + var0 = var4 + var5 + var0.substring(var3 + 2); + } + } + } - if (var7 <= 49) { - Fonts.field350[plane][x][y] = buffer.readByte(); - class32.field1157[plane][x][y] = (byte)((var7 - 2) / 4); - class307.field1155[plane][x][y] = (byte)(var7 - 2 + var6 & 3); - } else if (var7 <= 81) { - Tiles.Tiles_renderFlags[plane][x][y] = (byte)(var7 - 49); - } else { - Tiles.field908[plane][x][y] = (byte)(var7 - 81); - } - } - } else { - while (true) { - var7 = buffer.readUnsignedByte(); - if (var7 == 0) { - break; - } + return var0; + } - if (var7 == 1) { - buffer.readUnsignedByte(); - break; - } + @ObfuscatedName("jm") + @ObfuscatedSignature( + signature = "(Lhj;I)V", + garbageValue = "-1619270893" + ) + static final void method85(Widget var0) { + int var1 = var0.contentType; + if (var1 == 324) { + if (Client.field919 == -1) { + Client.field919 = var0.spriteId2; + Client.field920 = var0.spriteId; + } - if (var7 <= 49) { - buffer.readUnsignedByte(); - } - } - } + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field919; + } else { + var0.spriteId2 = Client.field920; + } - } + } else if (var1 == 325) { + if (Client.field919 == -1) { + Client.field919 = var0.spriteId2; + Client.field920 = var0.spriteId; + } - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(ILhu;ZI)V", - garbageValue = "466862614" - ) - static void method96(int var0, Coord var1, boolean var2) { - WorldMapArea var3 = BufferedFile.getWorldMap().getMapArea(var0); - int var4 = Canvas.localPlayer.plane; - int var5 = (Canvas.localPlayer.x >> 7) + class50.baseX; - int var6 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; - Coord var7 = new Coord(var4, var5, var6); - BufferedFile.getWorldMap().method367(var3, var7, var1, var2); - } + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field920; + } else { + var0.spriteId2 = Client.field919; + } - @ObfuscatedName("ik") - @ObfuscatedSignature( - signature = "(Lbr;IIII)V", - garbageValue = "835715563" - ) - @Export("addPlayerToMenu") - static final void addPlayerToMenu(Player player, int menuArg0, int menuArg1, int menuArg2) { - if (Canvas.localPlayer != player && Client.menuOptionsCount < 400) { - String var4; - int var5; - if (player.skillLevel == 0) { - String var6 = player.actions[0] + player.username + player.actions[1]; - var5 = player.combatLevel; - int var7 = Canvas.localPlayer.combatLevel; - int var8 = var7 - var5; - String var9; - if (var8 < -9) { - var9 = BufferedFile.colorStartTag(16711680); - } else if (var8 < -6) { - var9 = BufferedFile.colorStartTag(16723968); - } else if (var8 < -3) { - var9 = BufferedFile.colorStartTag(16740352); - } else if (var8 < 0) { - var9 = BufferedFile.colorStartTag(16756736); - } else if (var8 > 9) { - var9 = BufferedFile.colorStartTag(65280); - } else if (var8 > 6) { - var9 = BufferedFile.colorStartTag(4259584); - } else if (var8 > 3) { - var9 = BufferedFile.colorStartTag(8453888); - } else if (var8 > 0) { - var9 = BufferedFile.colorStartTag(12648192); - } else { - var9 = BufferedFile.colorStartTag(16776960); - } + } 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; + } + } - var4 = var6 + var9 + " (level-" + player.combatLevel + ")" + player.actions[2]; - } else { - var4 = player.actions[0] + player.username + player.actions[1] + " (skill-" + player.skillLevel + ")" + player.actions[2]; - } + @ObfuscatedName("kx") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-282995090" + ) + @Export("removeImageTag") + static String removeImageTag(String var0) { + PlayerType[] var1 = UserComparator5.PlayerType_values(); - int var10; - if (Client.isItemSelected == 1) { - Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16777215) + var4, 14, menuArg0, menuArg1, menuArg2); - } else if (Client.isSpellSelected) { - if ((FloorDecoration.selectedSpellFlags & 8) == 8) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16777215) + var4, 15, menuArg0, menuArg1, menuArg2); - } - } 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; - } + for (int var2 = 0; var2 < var1.length; ++var2) { + PlayerType var3 = var1[var2]; + if (var3.modIcon != -1 && var0.startsWith(WorldMapSection1.getModIconString(var3.modIcon))) { + var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); + break; + } + } - if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.playerAttackOption && player.combatLevel > Canvas.localPlayer.combatLevel) { - var11 = 2000; - } - - if (Canvas.localPlayer.team != 0 && player.team != 0) { - if (player.team == Canvas.localPlayer.team) { - var11 = 2000; - } else { - var11 = 0; - } - } - } else if (Client.playerOptionsPriorities[var10]) { - var11 = 2000; - } - - boolean var12 = false; - var5 = Client.playerMenuOpcodes[var10] + var11; - Tiles.insertMenuItemNoShift(Client.playerMenuActions[var10], BufferedFile.colorStartTag(16777215) + var4, var5, menuArg0, menuArg1, menuArg2); - } - } - } - - for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { - if (Client.menuOpcodes[var10] == 23) { - Client.menuTargetNames[var10] = BufferedFile.colorStartTag(16777215) + var4; - break; - } - } - } - - } + return var0; + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index 96ea411df2..f9a17693ca 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -4,200 +4,193 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("d") +@ObfuscatedName("m") @Implements("GrandExchangeOfferUnitPriceComparator") final class GrandExchangeOfferUnitPriceComparator implements Comparator { - @ObfuscatedName("gz") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("compass") - static Sprite compass; - @ObfuscatedName("lr") - @ObfuscatedSignature( - signature = "Lcs;" - ) - @Export("tempMenuAction") - static MenuAction tempMenuAction; + @ObfuscatedName("w") + @Export("localPlayerName") + public static String localPlayerName; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;I)I", - garbageValue = "-120071238" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.unitPrice < var2.grandExchangeOffer.unitPrice ? -1 : (var2.grandExchangeOffer.unitPrice == var1.grandExchangeOffer.unitPrice ? 0 : 1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;B)I", + garbageValue = "-46" + ) + @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.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;B)V", - garbageValue = "23" - ) - @Export("setVarbitDefinitionArchive") - public static void setVarbitDefinitionArchive(AbstractArchive var0) { - VarbitDefinition.VarbitDefinition_archive = var0; - } + @ObfuscatedName("jp") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "31" + ) + static final void method124(int var0) { + class65.method1176(); - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1500839037" - ) - public static int method125(int var0, int var1) { - return (var0 << 8) + var1; - } + for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.obj != null) { + var1.set(); + } + } - @ObfuscatedName("f") - public static int method134(long var0) { - return (int)(var0 >>> 0 & 127L); - } + int var4 = GrandExchangeOfferWorldComparator.method61(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); + } - @ObfuscatedName("gz") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2032203362" - ) - static final int method131() { - if (ReflectionCheck.clientPreferences.roofsHidden) { - return SoundSystem.plane; - } else { - int var0 = 3; - if (WorldMapIcon1.cameraPitch < 310) { - int var1; - int var2; - if (Client.oculusOrbState == 1) { - var1 = MouseHandler.oculusOrbFocalPointX >> 7; - var2 = ScriptEvent.oculusOrbFocalPointY >> 7; - } else { - var1 = Canvas.localPlayer.x >> 7; - var2 = Canvas.localPlayer.y >> 7; - } + if (var2 == 2) { + Rasterizer3D.Rasterizer3D_setBrightness(0.8D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D); + } - int var3 = WorldMapSection2.cameraX >> 7; - int var4 = GrandExchangeOfferNameComparator.cameraZ >> 7; - if (var3 < 0 || var4 < 0 || var3 >= 104 || var4 >= 104) { - return SoundSystem.plane; - } + if (var2 == 3) { + Rasterizer3D.Rasterizer3D_setBrightness(0.7D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D); + } - if (var1 < 0 || var2 < 0 || var1 >= 104 || var2 >= 104) { - return SoundSystem.plane; - } + if (var2 == 4) { + Rasterizer3D.Rasterizer3D_setBrightness(0.6D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D); + } - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][var3][var4] & 4) != 0) { - var0 = SoundSystem.plane; - } + FontName.method5317(); + } - int var5; - if (var1 > var3) { - var5 = var1 - var3; - } else { - var5 = var3 - var1; - } + if (var4 == 3) { + short var3 = 0; + if (var2 == 0) { + var3 = 255; + } - int var6; - if (var2 > var4) { - var6 = var2 - var4; - } else { - var6 = var4 - var2; - } + if (var2 == 1) { + var3 = 192; + } - int var7; - int var8; - if (var5 > var6) { - var7 = var6 * 65536 / var5; - var8 = 32768; + if (var2 == 2) { + var3 = 128; + } - while (var3 != var1) { - if (var3 < var1) { - ++var3; - } else if (var3 > var1) { - --var3; - } + if (var2 == 3) { + var3 = 64; + } - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][var3][var4] & 4) != 0) { - var0 = SoundSystem.plane; - } + if (var2 == 4) { + var3 = 0; + } - var8 += var7; - if (var8 >= 65536) { - var8 -= 65536; - if (var4 < var2) { - ++var4; - } else if (var4 > var2) { - --var4; - } + if (var3 != Client.field911) { + if (Client.field911 == 0 && Client.field889 != -1) { + class169.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false); + Client.field699 = false; + } else if (var3 == 0) { + NetSocket.method3553(); + Client.field699 = false; + } else if (class197.field2402 != 0) { + ScriptFrame.field529 = var3; + } else { + Interpreter.midiPcmStream.method3706(var3); + } - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][var3][var4] & 4) != 0) { - var0 = SoundSystem.plane; - } - } - } - } else if (var6 > 0) { - var7 = var5 * 65536 / var6; - var8 = 32768; + Client.field911 = var3; + } + } - while (var4 != var2) { - if (var4 < var2) { - ++var4; - } else if (var4 > var2) { - --var4; - } + if (var4 == 4) { + if (var2 == 0) { + Client.soundEffectVolume = 127; + } - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][var3][var4] & 4) != 0) { - var0 = SoundSystem.plane; - } + if (var2 == 1) { + Client.soundEffectVolume = 96; + } - var8 += var7; - if (var8 >= 65536) { - var8 -= 65536; - if (var3 < var1) { - ++var3; - } else if (var3 > var1) { - --var3; - } + if (var2 == 2) { + Client.soundEffectVolume = 64; + } - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][var3][var4] & 4) != 0) { - var0 = SoundSystem.plane; - } - } - } - } - } + if (var2 == 3) { + Client.soundEffectVolume = 32; + } - if (Canvas.localPlayer.x >= 0 && Canvas.localPlayer.y >= 0 && Canvas.localPlayer.x < 13312 && Canvas.localPlayer.y < 13312) { - if ((Tiles.Tiles_renderFlags[SoundSystem.plane][Canvas.localPlayer.x >> 7][Canvas.localPlayer.y >> 7] & 4) != 0) { - var0 = SoundSystem.plane; - } + if (var2 == 4) { + Client.soundEffectVolume = 0; + } + } - return var0; - } else { - return SoundSystem.plane; - } - } - } + if (var4 == 5) { + Client.field789 = var2; + } - @ObfuscatedName("gv") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-239357025" - ) - static final void method136(int var0, int var1) { - if (Client.hintArrowType == 2) { - WorldMapLabel.worldToScreen((Client.hintArrowX - class50.baseX << 7) + Client.hintArrowSubX, (Client.hintArrowY - GraphicsObject.baseY << 7) + Client.hintArrowSubY, Client.hintArrowHeight * 2); - if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { - Player.headIconHintSprites[0].drawAt2(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); - } - } + if (var4 == 6) { + Client.chatEffects = var2; + } - } + if (var4 == 9) { + Client.field809 = var2; + } + + if (var4 == 10) { + if (var2 == 0) { + Client.field892 = 127; + } + + if (var2 == 1) { + Client.field892 = 96; + } + + if (var2 == 2) { + Client.field892 = 64; + } + + if (var2 == 3) { + Client.field892 = 32; + } + + if (var2 == 4) { + Client.field892 = 0; + } + } + + if (var4 == 17) { + Client.followerIndex = var2 & 65535; + } + + if (var4 == 18) { + Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), 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)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2); + if (Client.npcAttackOption == null) { + Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index a34c468e81..b9491ac68f 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -3,201 +3,185 @@ 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("u") +@ObfuscatedName("l") @Implements("GrandExchangeOfferWorldComparator") final class GrandExchangeOfferWorldComparator implements Comparator { - @ObfuscatedName("n") - public static boolean field988; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("leftTitleSprite") + static Sprite leftTitleSprite; + @ObfuscatedName("gu") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("scene") + static Scene scene; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ll;Ll;I)I", - garbageValue = "707844889" - ) - @Export("compareTyped") - int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.world < var2.world ? -1 : (var2.world == var1.world ? 0 : 1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Li;Li;I)I", + garbageValue = "1850890964" + ) + @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.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1032556606" - ) - public static boolean method58(int var0) { - return (var0 >> 21 & 1) != 0; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;B)V", + garbageValue = "0" + ) + @Export("setVarcIntArchive") + public static void setVarcIntArchive(AbstractArchive var0) { + VarcInt.VarcInt_archive = var0; + } - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "108" - ) - static int method68(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.SOUND_SYNTH) { - RouteStrategy.Interpreter_intStackSize -= 3; - Ignored.queueSoundEffect(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize], Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_SONG) { - AbstractUserComparator.method5437(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { - RouteStrategy.Interpreter_intStackSize -= 2; - HealthBar.method1994(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize], Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - return 1; - } else { - return 2; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + garbageValue = "-2102370448" + ) + public static String method63(CharSequence var0) { + int var1 = var0.length(); + StringBuilder var2 = new StringBuilder(var1); - @ObfuscatedName("he") - @ObfuscatedSignature( - signature = "(Lhx;B)V", - garbageValue = "96" - ) - static final void method67(PacketBuffer var0) { - for (int var1 = 0; var1 < Client.field173; ++var1) { - int var2 = Client.field174[var1]; - NPC var3 = Client.npcs[var2]; - int var4 = var0.readUnsignedByte(); - if ((var4 & 1) != 0) { - var3.targetIndex = var0.method65(); - if (var3.targetIndex == 65535) { - var3.targetIndex = -1; - } - } + 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 = ItemDefinition.charToByteCp1252(var4); + var2.append('%'); + int var6 = var5 >> 4 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } - int var5; - int var6; - int var7; - int var8; - if ((var4 & 64) != 0) { - var5 = var0.method67(); - var6 = var0.method67(); - var7 = var3.x - (var5 - class50.baseX - class50.baseX) * 64; - var8 = var3.y - (var6 - GraphicsObject.baseY - GraphicsObject.baseY) * 64; - if (var7 != 0 || var8 != 0) { - var3.field12 = (int)(Math.atan2((double)var7, (double)var8) * 325.949D) & 2047; - } - } + var6 = var5 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } + } + } else { + var2.append(var4); + } + } - if ((var4 & 32) != 0) { - var5 = var0.readUnsignedShort(); - if (var5 == 65535) { - var5 = -1; - } + return var2.toString(); + } - var6 = var0.method59(); - if (var5 == var3.sequence && var5 != -1) { - var7 = WorldMapAreaData.getSequenceDefinition(var5).field783; - if (var7 == 1) { - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field13 = 0; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lla;ILjava/lang/String;B)Ljava/lang/String;", + garbageValue = "-9" + ) + static String method54(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; + } + } - if (var7 == 2) { - var3.field13 = 0; - } - } else if (var5 == -1 || var3.sequence == -1 || WorldMapAreaData.getSequenceDefinition(var5).field779 >= WorldMapAreaData.getSequenceDefinition(var3.sequence).field779) { - var3.sequence = var5; - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field13 = 0; - var3.field25 = var3.pathLength; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lik;", + garbageValue = "-1961052460" + ) + public static VarpDefinition method61(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)); + } - if ((var4 & 4) != 0) { - var3.definition = ObjectDefinition.getNpcDefinition(var0.readUnsignedShort()); - var3.size = var3.definition.size; - var3.field23 = var3.definition.field639; - 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; - } + VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); + return var1; + } + } - if ((var4 & 16) != 0) { - var5 = var0.readUnsignedByteNegate(); - 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; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZZI)V", + garbageValue = "-1344972354" + ) + @Export("openURL") + public static void openURL(String var0, boolean var1, boolean var2) { + class326.method6243(var0, var1, "openjs", var2); + } - var11 = var0.readUShortSmart(); - var3.addHitSplat(var7, var9, var8, var10, Client.cycle, var11); - } - } + @ObfuscatedName("gn") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-51" + ) + @Export("updateItemPile") + static final void updateItemPile(int var0, int var1) { + NodeDeque var2 = Client.groundItems[class42.plane][var0][var1]; + if (var2 == null) { + scene.removeGroundItemPile(class42.plane, var0, var1); + } else { + long var3 = -99999999L; + GroundItem var5 = null; - var6 = var0.method58(); - 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.method59() : var11; - var3.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); - } else { - var3.removeHealthBar(var8); - } - } - } - } + GroundItem var6; + for (var6 = (GroundItem)var2.last(); var6 != null; var6 = (GroundItem)var2.previous()) { + ItemDefinition var7 = WorldMapArea.getItemDefinition(var6.id); + long var8 = (long)var7.price; + if (var7.isStackable == 1) { + var8 *= (long)(var6.quantity + 1); + } - if ((var4 & 8) != 0) { - var3.spotAnimation = var0.method65(); - var5 = var0.method72(); - var3.heightOffset = var5 >> 16; - var3.field14 = (var5 & 65535) + Client.cycle; - var3.spotAnimationFrame = 0; - var3.spotAnimationFrameCycle = 0; - if (var3.field14 > Client.cycle) { - var3.spotAnimationFrame = -1; - } + if (var8 > var3) { + var3 = var8; + var5 = var6; + } + } - if (var3.spotAnimation == 65535) { - var3.spotAnimation = -1; - } - } + if (var5 == null) { + scene.removeGroundItemPile(class42.plane, var0, var1); + } else { + var2.addLast(var5); + GroundItem var12 = null; + GroundItem var11 = null; - if ((var4 & 2) != 0) { - var3.overheadText = var0.readStringCp1252NullTerminated(); - var3.overheadTextCyclesRemaining = 100; - } - } + for (var6 = (GroundItem)var2.last(); var6 != null; var6 = (GroundItem)var2.previous()) { + if (var5.id != var6.id) { + if (var12 == null) { + var12 = var6; + } - } + if (var6.id != var12.id && var11 == null) { + var11 = var6; + } + } + } + + long var9 = Tile.calculateTag(var0, var1, 3, false, 0); + scene.newGroundItemPile(class42.plane, var0, var1, ScriptEvent.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class42.plane), var5, var9, var12, var11); + } + } + } } diff --git a/runescape-client/src/main/java/GraphicsDefaults.java b/runescape-client/src/main/java/GraphicsDefaults.java index 6c26d97127..3a2b5bed7b 100644 --- a/runescape-client/src/main/java/GraphicsDefaults.java +++ b/runescape-client/src/main/java/GraphicsDefaults.java @@ -4,167 +4,125 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lg") +@ObfuscatedName("lp") @Implements("GraphicsDefaults") public class GraphicsDefaults { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1673796151 - ) - @Export("compass") - public int compass; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 159591367 - ) - @Export("redHintArrow") - public int redHintArrow; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -104203005 - ) - @Export("mapScenes") - public int mapScenes; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1052769237 - ) - @Export("headIconsPk") - public int headIconsPk; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1744250043 - ) - @Export("headIconsPrayer") - public int headIconsPrayer; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 185111653 - ) - @Export("headIconsHint") - public int headIconsHint; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1217061337 - ) - @Export("mapMarkers") - public int mapMarkers; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 536911453 - ) - @Export("crosses") - public int crosses; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1114417319 - ) - @Export("mapDots") - public int mapDots; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -919662109 - ) - @Export("scrollBars") - public int scrollBars; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 2043130323 - ) - @Export("modIcons") - public int modIcons; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -598930279 + ) + @Export("compass") + public int compass; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -996722769 + ) + public int field3823; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1830782467 + ) + @Export("mapScenes") + public int mapScenes; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 2115046595 + ) + @Export("headIconsPk") + public int headIconsPk; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1511309833 + ) + public int field3830; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1434571323 + ) + public int field3827; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -385142187 + ) + public int field3828; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 326746637 + ) + public int field3829; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1387311669 + ) + public int field3832; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1775888463 + ) + public int field3831; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 347558277 + ) + public int field3822; - public GraphicsDefaults() { - this.compass = -1; - this.redHintArrow = -1; - this.mapScenes = -1; - this.headIconsPk = -1; - this.headIconsPrayer = -1; - this.headIconsHint = -1; - this.mapMarkers = -1; - this.crosses = -1; - this.mapDots = -1; - this.scrollBars = -1; - this.modIcons = -1; - } + public GraphicsDefaults() { + this.compass = -1; + this.field3823 = -1; + this.mapScenes = -1; + this.headIconsPk = -1; + this.field3830 = -1; + this.field3827 = -1; + this.field3828 = -1; + this.field3829 = -1; + this.field3832 = -1; + this.field3831 = -1; + this.field3822 = -1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;I)V", - garbageValue = "1764356022" - ) - @Export("decode") - public void decode(AbstractArchive index) { - byte[] var2 = index.takeFileFlat(DefaultsGroup.DefaultsGroup_graphics.group); - Buffer var3 = new Buffer(var2); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;B)V", + garbageValue = "104" + ) + @Export("decode") + public void decode(AbstractArchive var1) { + byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3821.group); + Buffer var3 = new Buffer(var2); - while (true) { - int var4 = var3.readUnsignedByte(); - if (var4 == 0) { - return; - } + while (true) { + int var4 = var3.readUnsignedByte(); + if (var4 == 0) { + return; + } - switch(var4) { - case 1: - var3.readMedium(); - break; - case 2: - this.compass = var3.method51(); - this.redHintArrow = var3.method51(); - this.mapScenes = var3.method51(); - this.headIconsPk = var3.method51(); - this.headIconsPrayer = var3.method51(); - this.headIconsHint = var3.method51(); - this.mapMarkers = var3.method51(); - this.crosses = var3.method51(); - this.mapDots = var3.method51(); - this.scrollBars = var3.method51(); - this.modIcons = var3.method51(); - } - } - } + switch(var4) { + case 1: + var3.readMedium(); + break; + case 2: + this.compass = var3.method5511(); + this.field3823 = var3.method5511(); + this.mapScenes = var3.method5511(); + this.headIconsPk = var3.method5511(); + this.field3830 = var3.method5511(); + this.field3827 = var3.method5511(); + this.field3828 = var3.method5511(); + this.field3829 = var3.method5511(); + this.field3832 = var3.method5511(); + this.field3831 = var3.method5511(); + this.field3822 = var3.method5511(); + } + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lir;Lir;III)Lkk;", - garbageValue = "195396240" - ) - @Export("loadFont") - public static Font loadFont(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { - if (!SpriteMask.loadSprite(var0, var2, var3)) { - return null; - } else { - byte[] var4 = var1.takeFile(var2, var3); - Font var5; - if (var4 == null) { - var5 = null; - } else { - Font var6 = new Font(var4, class328.indexedSpriteOffsetXs, class328.indexedSpriteOffsetYs, VarbitDefinition.indexedSpriteWidths, SecureRandomCallable.indexedSpriteHeights, class328.indexedSpritePalette, class328.spritePixels); - class328.indexedSpriteOffsetXs = null; - class328.indexedSpriteOffsetYs = null; - VarbitDefinition.indexedSpriteWidths = null; - SecureRandomCallable.indexedSpriteHeights = null; - class328.indexedSpritePalette = null; - class328.spritePixels = ((byte[][])null); - var5 = var6; - } - - return var5; - } - } - - @ObfuscatedName("fe") - @ObfuscatedSignature( - signature = "(Lbz;B)V", - garbageValue = "58" - ) - static final void method5828(Actor var0) { - int var1 = var0.field19 - Client.cycle; - int var2 = var0.field15 * 128 + var0.size * 64; - int var3 = var0.field17 * 128 + var0.size * 64; - var0.x += (var2 - var0.x) / var1; - var0.y += (var3 - var0.y) / var1; - var0.field24 = 0; - var0.orientation = var0.field21; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "-122" + ) + @Export("getWorldMapScriptIdCategory") + public static int getWorldMapScriptIdCategory(int var0, int var1) { + return var1 + (var0 + 40000 << 8); + } } diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index 3e7fdda8f4..2f38c89e6c 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -3,152 +3,290 @@ 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("bw") +@ObfuscatedName("ba") @Implements("GraphicsObject") public final class GraphicsObject extends Entity { - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1807262579 - ) - static int field377; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("options_buttons_4Sprite") - static IndexedSprite options_buttons_4Sprite; - @ObfuscatedName("fr") - @ObfuscatedGetter( - intValue = -438288575 - ) - @Export("baseY") - static int baseY; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -289084031 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1245488067 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 432847573 - ) - @Export("plane") - int plane; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1189549567 - ) - @Export("x") - int x; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1416438985 - ) - @Export("y") - int y; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1156757009 - ) - @Export("height") - int height; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljh;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1541221595 - ) - @Export("frame") - int frame; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1950327625 - ) - @Export("frameCycle") - int frameCycle; - @ObfuscatedName("x") - @Export("isFinished") - boolean isFinished; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1729585911 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1383922821 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -973375147 + ) + @Export("plane") + int plane; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1889549973 + ) + @Export("x") + int x; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -938790661 + ) + @Export("y") + int y; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -955418477 + ) + @Export("height") + int height; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lis;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1315114867 + ) + @Export("frame") + int frame; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1432178363 + ) + @Export("frameCycle") + int frameCycle; + @ObfuscatedName("f") + @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 = class50.getSpotAnimationDefinition(this.id).sequence; - if (var8 != -1) { - this.isFinished = false; - this.sequenceDefinition = WorldMapAreaData.getSequenceDefinition(var8); - } else { - this.isFinished = true; - } + 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 = MusicPatch.getSpotAnimationDefinition(this.id).sequence; + if (var8 != -1) { + this.isFinished = false; + this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var8); + } else { + this.isFinished = true; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-730240149" - ) - @Export("advance") - final void advance(int cycles) { - if (!this.isFinished) { - this.frameCycle += cycles; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "4" + ) + @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; - } - } - } + 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("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = class50.getSpotAnimationDefinition(this.id); - Model var2; - if (!this.isFinished) { - var2 = var1.getModel(this.frame); - } else { - var2 = var1.getModel(-1); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id); + Model var2; + if (!this.isFinished) { + var2 = var1.getModel(this.frame); + } else { + var2 = var1.getModel(-1); + } - return var2 == null ? null : var2; - } + return var2 == null ? null : var2; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIII)I", - garbageValue = "1241216858" - ) - static final int method1986(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("r") + @ObfuscatedSignature( + signature = "(ILcx;ZS)I", + garbageValue = "-11723" + ) + static int method1943(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } else { + var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + } + + String var4 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + int[] var5 = null; + if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { + int var6 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var6 > 0) { + for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--HealthBarUpdate.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[--Skills.Interpreter_stringStackSize]; + } else { + var8[var7] = new Integer(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } + } + + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.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.field2681 = var8; + } else { + if (var0 != ScriptOpcodes.CC_SETONRESIZE) { + return 2; + } + + var3.onResize = var8; + } + + var3.hasListener = true; + return 1; + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "1550273173" + ) + static final int method1948(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("az") + @ObfuscatedSignature( + signature = "(Ldx;I)V", + garbageValue = "-1064292468" + ) + @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("he") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1819884546" + ) + @Export("resetMenuEntries") + static void resetMenuEntries() { + Strings.method4121(); + Client.menuActions[0] = "Cancel"; + Client.menuTargetNames[0] = ""; + Client.menuOpcodes[0] = 1006; + Client.menuShiftClick[0] = false; + Client.menuOptionsCount = 1; + } } diff --git a/runescape-client/src/main/java/GroundItem.java b/runescape-client/src/main/java/GroundItem.java index a54b76c5bd..92c2ca8e68 100644 --- a/runescape-client/src/main/java/GroundItem.java +++ b/runescape-client/src/main/java/GroundItem.java @@ -4,67 +4,84 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ck") +@ObfuscatedName("ch") @Implements("GroundItem") public final class GroundItem extends Entity { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 893970699 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 454094667 - ) - @Export("quantity") - int quantity; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1900937269 + ) + static int field1242; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("logoSprite") + static IndexedSprite logoSprite; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1946972179 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1304382567 + ) + @Export("quantity") + int quantity; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected final Model getModel() { - return Skills.getItemDefinition(this.id).getModel(this.quantity); - } + GroundItem() { + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1050170563" - ) - static void method2094() { - Messages.Messages_channels.clear(); - Messages.Messages_hashTable.clear(); - Messages.Messages_queue.clear(); - Messages.Messages_count = 0; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected final Model getModel() { + return WorldMapArea.getItemDefinition(this.id).getModel(this.quantity); + } - @ObfuscatedName("gw") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "411352848" - ) - @Export("setWindowedMode") - static void setWindowedMode(int var0) { - Client.field99 = 0L; - if (var0 >= 2) { - Client.isResizable = true; - } else { - Client.isResizable = false; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;B)V", + garbageValue = "97" + ) + public static void method2054(AbstractArchive var0) { + StructDefinition.StructDefinition_archive = var0; + } - if (SpotAnimationDefinition.getWindowedMode() == 1) { - TextureProvider.client.setMaxCanvasSize(765, 503); - } else { - TextureProvider.client.setMaxCanvasSize(7680, 2160); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(III)Lbj;", + garbageValue = "308740376" + ) + static Message method2049(int var0, int var1) { + ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); + return var2.getMessage(var1); + } - if (Client.gameState >= 25) { - AbstractByteArrayCopier.method4024(); - } + @ObfuscatedName("hs") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "96373324" + ) + static void method2053(int var0, int var1, int var2, int var3) { + Widget var4 = Client.getWidgetChild(var0, var1); + if (var4 != null && var4.onTargetEnter != null) { + ScriptEvent var5 = new ScriptEvent(); + var5.widget = var4; + var5.args = var4.onTargetEnter; + LoginPacket.runScriptEvent(var5); + } - } + Client.field812 = var3; + Client.isSpellSelected = true; + WorldMapEvent.field359 = var0; + Client.field848 = var1; + WorldMapCacheName.selectedSpellFlags = var2; + Strings.method4120(var4); + } } diff --git a/runescape-client/src/main/java/GroundItemPile.java b/runescape-client/src/main/java/GroundItemPile.java index 46e1dfe9fe..e68bcd9a73 100644 --- a/runescape-client/src/main/java/GroundItemPile.java +++ b/runescape-client/src/main/java/GroundItemPile.java @@ -4,103 +4,105 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dr") +@ObfuscatedName("dc") @Implements("GroundItemPile") public final class GroundItemPile { - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -704675849 - ) - @Export("optionButtonSpriteSubHeight") - static int optionButtonSpriteSubHeight; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("second") - Entity second; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -325682933 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1363136655 - ) - @Export("x") - int x; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 968072997 - ) - @Export("y") - int y; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("first") - Entity first; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("third") - Entity third; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = -3696674445500472687L - ) - @Export("tag") - long tag; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1659262853 - ) - @Export("height") - int height; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -706647707 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1749434399 + ) + @Export("x") + int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1687183849 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("first") + Entity first; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("second") + Entity second; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("third") + Entity third; + @ObfuscatedName("b") + @ObfuscatedGetter( + longValue = -6836359089398778317L + ) + @Export("tag") + long tag; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1167512637 + ) + @Export("height") + int height; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "-60" - ) - @Export("loadInterface") - public static boolean loadInterface(int itf) { - if (Widget.loadedInterfaces[itf]) { - return true; - } else if (!Widget.Widget_archive.tryLoadGroup(itf)) { - return false; - } else { - int var1 = Widget.Widget_archive.getGroupFileCount(itf); - if (var1 == 0) { - Widget.loadedInterfaces[itf] = true; - return true; - } else { - if (Widget.interfaceComponents[itf] == null) { - Widget.interfaceComponents[itf] = new Widget[var1]; - } + GroundItemPile() { + } - for (int var2 = 0; var2 < var1; ++var2) { - if (Widget.interfaceComponents[itf][var2] == null) { - byte[] var3 = Widget.Widget_archive.takeFile(itf, var2); - if (var3 != null) { - Widget.interfaceComponents[itf][var2] = new Widget(); - Widget.interfaceComponents[itf][var2].id = var2 + (itf << 16); - if (var3[0] == -1) { - Widget.interfaceComponents[itf][var2].decode(new Buffer(var3)); - } else { - Widget.interfaceComponents[itf][var2].decodeLegacy(new Buffer(var3)); - } - } - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-989207473" + ) + public static int method2767(int var0, int var1) { + int var2 = var0 >>> 31; + return (var0 + var2) / var1 - var2; + } - Widget.loadedInterfaces[itf] = true; - return true; - } - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-23" + ) + static void method2764(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + var1.remove(); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "1314012151" + ) + static final int method2765(int var0, int var1) { + int var2 = MouseHandler.method1021(var0 - 1, var1 - 1) + MouseHandler.method1021(1 + var0, var1 - 1) + MouseHandler.method1021(var0 - 1, 1 + var1) + MouseHandler.method1021(1 + var0, 1 + var1); + int var3 = MouseHandler.method1021(var0 - 1, var1) + MouseHandler.method1021(var0 + 1, var1) + MouseHandler.method1021(var0, var1 - 1) + MouseHandler.method1021(var0, var1 + 1); + int var4 = MouseHandler.method1021(var0, var1); + return var2 / 16 + var3 / 8 + var4 / 4; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "76" + ) + @Export("ObjectDefinition_clearCached") + public static void ObjectDefinition_clearCached() { + ObjectDefinition.ObjectDefinition_cached.clear(); + ObjectDefinition.ObjectDefinition_cachedModelData.clear(); + ObjectDefinition.ObjectDefinition_cachedEntities.clear(); + ObjectDefinition.ObjectDefinition_cachedModels.clear(); + } } diff --git a/runescape-client/src/main/java/GzipDecompressor.java b/runescape-client/src/main/java/GzipDecompressor.java index 2907038b9f..e671b02691 100644 --- a/runescape-client/src/main/java/GzipDecompressor.java +++ b/runescape-client/src/main/java/GzipDecompressor.java @@ -4,72 +4,50 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("go") -@Implements("GzipDecompressor") -public class GzipDecompressor { - @ObfuscatedName("ck") - public static char field378; - @ObfuscatedName("m") - @Export("inflater") - Inflater inflater; +@ObfuscatedName("ld") +@Implements("GZipDecompressor") +public class GZipDecompressor { + @ObfuscatedName("p") + @Export("Interpreter_stringLocals") + static String[] Interpreter_stringLocals; + @ObfuscatedName("q") + @Export("inflater") + Inflater inflater; - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1000000" - ) - GzipDecompressor(int var1, int var2, int var3) { - } + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1000000" + ) + GZipDecompressor(int var1, int var2, int var3) { + } - public GzipDecompressor() { - this(-1, 1000000, 1000000); - } + public GZipDecompressor() { + this(-1, 1000000, 1000000); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;[BB)V", - garbageValue = "-105" - ) - @Export("decompress") - public void decompress(Buffer var1, byte[] var2) { - if (var1.array[var1.index] == 31 && var1.array[var1.index + 1] == -117) { - if (this.inflater == null) { - this.inflater = new Inflater(true); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;[BI)V", + garbageValue = "1327705943" + ) + @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.index + 10, var1.array.length - (var1.index + 8 + 10)); - this.inflater.inflate(var2); - } catch (Exception var4) { - this.inflater.reset(); - throw new RuntimeException(""); - } + 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("m") - @ObfuscatedSignature( - signature = "(II)Ljq;", - garbageValue = "-1060388349" - ) - @Export("getStructDefinition") - public static 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; - } - } + this.inflater.reset(); + } else { + throw new RuntimeException(""); + } + } } diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java index d0b0d00a2c..660afcbddf 100644 --- a/runescape-client/src/main/java/HealthBar.java +++ b/runescape-client/src/main/java/HealthBar.java @@ -6,178 +6,110 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("cr") @Implements("HealthBar") public class HealthBar extends Node { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lii;" - ) - @Export("definition") - HealthBarDefinition definition; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lja;" - ) - @Export("updates") - IterableNodeDeque updates; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lke;" + ) + @Export("ItemDefinition_fontPlain11") + public static Font ItemDefinition_fontPlain11; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lip;" + ) + @Export("definition") + HealthBarDefinition definition; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lju;" + ) + @Export("updates") + IterableNodeDeque updates; - @ObfuscatedSignature( - signature = "(Lii;)V" - ) - HealthBar(HealthBarDefinition var1) { - this.updates = new IterableNodeDeque(); - this.definition = var1; - } + @ObfuscatedSignature( + signature = "(Lip;)V" + ) + HealthBar(HealthBarDefinition var1) { + this.updates = new IterableNodeDeque(); + this.definition = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "56" - ) - @Export("put") - void put(int var1, int var2, int var3, int var4) { - HealthBarUpdate var5 = null; - int var6 = 0; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "87" + ) + @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; - } + 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 (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(); - } - } + 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("f") - @ObfuscatedSignature( - signature = "(II)Lbg;", - garbageValue = "1594721795" - ) - @Export("get") - HealthBarUpdate get(int cycle) { - HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); - if (var2 != null && var2.cycle <= cycle) { - for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= cycle; var3 = (HealthBarUpdate)this.updates.previous()) { - var2.remove(); - var2 = var3; - } + } + } - if (this.definition.int5 + var2.cycleOffset + var2.cycle > cycle) { - return var2; - } else { - var2.remove(); - return null; - } - } else { - return null; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)Lbu;", + garbageValue = "41" + ) + @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; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "611019365" - ) - @Export("isEmpty") - boolean isEmpty() { - return this.updates.isEmpty(); - } + if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) { + return var2; + } else { + var2.remove(); + return null; + } + } else { + return null; + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(CI)B", - garbageValue = "798421382" - ) - @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; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-16711936" + ) + @Export("isEmpty") + boolean isEmpty() { + return this.updates.isEmpty(); + } - return var1; - } - - @ObfuscatedName("fo") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1326999134" - ) - static void method1994(int var0, int var1) { - if (Client.field128 != 0 && var0 != -1) { - Login.method2076(Login.archive11, var0, 0, Client.field128, false); - Client.field107 = true; - } - - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "35" + ) + public static int method1957(int var0) { + return var0 >> 11 & 63; + } } diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index ff222344fc..1a2c02cdd1 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -4,211 +4,205 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ii") +@ObfuscatedName("ip") @Implements("HealthBarDefinition") public class HealthBarDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("HealthBarDefinition_archive") - public static AbstractArchive HealthBarDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("HealthBarDefinition_spritesArchive") - public static AbstractArchive HealthBarDefinition_spritesArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("HealthBarDefinition_cached") - public static EvictingDualNodeHashTable HealthBarDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("HealthBarDefinition_cachedSprites") - static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; - @ObfuscatedName("lx") - @ObfuscatedGetter( - intValue = 1912123225 - ) - @Export("selectedItemSlot") - static int selectedItemSlot; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1515955705 - ) - public int field381; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 390656615 - ) - @Export("int1") - public int int1; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1890433231 - ) - @Export("int2") - public int int2; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1180353973 - ) - @Export("int3") - public int int3; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1956457117 - ) - @Export("int4") - public int int4; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -642961053 - ) - @Export("int5") - public int int5; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1310001257 - ) - @Export("spriteId1") - int spriteId1; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1707680631 - ) - @Export("spriteId2") - int spriteId2; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -354704697 - ) - @Export("width") - public int width; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 166567703 - ) - @Export("widthPadding") - public int widthPadding; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HealthBarDefinition_archive") + public static AbstractArchive HealthBarDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HealthBarDefinition_spritesArchive") + public static AbstractArchive HealthBarDefinition_spritesArchive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("HealthBarDefinition_cached") + static EvictingDualNodeHashTable HealthBarDefinition_cached; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("HealthBarDefinition_cachedSprites") + static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1770918457 + ) + public int field3279; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 2068006773 + ) + @Export("int1") + public int int1; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -63517075 + ) + @Export("int2") + public int int2; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -177821987 + ) + @Export("int3") + public int int3; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1811876659 + ) + @Export("int4") + public int int4; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1986405241 + ) + @Export("int5") + public int int5; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1715225113 + ) + @Export("frontSpriteID") + int frontSpriteID; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 124716389 + ) + @Export("backSpriteID") + int backSpriteID; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 502151103 + ) + @Export("width") + public int width; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 485619037 + ) + @Export("widthPadding") + public int widthPadding; - public HealthBarDefinition() { - this.int1 = 255; - this.int2 = 255; - this.int3 = -1; - this.int4 = 1; - this.int5 = 70; - this.spriteId1 = -1; - this.spriteId2 = -1; - this.width = 30; - this.widthPadding = 0; - } + static { + HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); + HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "280763431" - ) - @Export("decode") - public void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + 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; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "-11" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;IB)V", - garbageValue = "10" - ) - @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.spriteId1 = var1.method51(); - } else if (var2 == 8) { - this.spriteId2 = var1.method51(); - } else if (var2 == 11) { - this.int3 = var1.readUnsignedShort(); - } else if (var2 == 14) { - this.width = var1.readUnsignedByte(); - } else if (var2 == 15) { - this.widthPadding = var1.readUnsignedByte(); - } + this.decodeNext(var1, var2); + } + } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "-62" + ) + @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.method5511(); + } else if (var2 == 8) { + this.backSpriteID = var1.method5511(); + } 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("q") - @ObfuscatedSignature( - signature = "(B)Lln;", - garbageValue = "-97" - ) - @Export("getSprite1") - public Sprite getSprite1() { - if (this.spriteId1 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.spriteId1); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HealthBarDefinition_spritesArchive, this.spriteId1, 0); - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId1); - } + } - return var1; - } - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)Lly;", + garbageValue = "39" + ) + @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 = class65.SpriteBuffer_tryCreateSprite(HealthBarDefinition_spritesArchive, this.frontSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(B)Lln;", - garbageValue = "-17" - ) - @Export("getSprite2") - public Sprite getSprite2() { - if (this.spriteId2 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.spriteId2); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HealthBarDefinition_spritesArchive, this.spriteId2, 0); - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId2); - } + return var1; + } + } + } - return var1; - } - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)Lly;", + garbageValue = "879066493" + ) + @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 = class65.SpriteBuffer_tryCreateSprite(HealthBarDefinition_spritesArchive, this.backSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); + } - static { - HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); - HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); - } + return var1; + } + } + } } diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index 0cab72dbf6..4d1b227693 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -1,94 +1,246 @@ +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 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; +import net.runelite.rs.Reflection; -@ObfuscatedName("bg") +@ObfuscatedName("bu") @Implements("HealthBarUpdate") public class HealthBarUpdate extends Node { - @ObfuscatedName("gl") - @Export("regionMapArchives") - static byte[][] regionMapArchives; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 2103089795 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1821995313 - ) - @Export("health") - int health; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -820353645 - ) - @Export("health2") - int health2; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1876302639 - ) - @Export("cycleOffset") - int cycleOffset; + @ObfuscatedName("rb") + @ObfuscatedGetter( + intValue = 1430067072 + ) + static int field1017; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1252480817 + ) + @Export("Interpreter_intStackSize") + static int Interpreter_intStackSize; + @ObfuscatedName("df") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("js5Socket") + static AbstractSocket js5Socket; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 520006407 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -381285951 + ) + @Export("health") + int health; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -881200951 + ) + @Export("health2") + int health2; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1165972721 + ) + @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; - } + HealthBarUpdate(int var1, int var2, int var3, int var4) { + this.cycle = var1; + this.health = var2; + this.health2 = var3; + this.cycleOffset = var4; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-631434243" - ) - @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("q") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1833806724" + ) + @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("f") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "342552136" - ) - public static String method1722(CharSequence var0) { - long var1 = 0L; - int var3 = var0.length(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Z", + garbageValue = "-1155103111" + ) + static boolean method1676(String var0) { + if (var0 == null) { + return false; + } else { + try { + new URL(var0); + return true; + } catch (MalformedURLException var2) { + return false; + } + } + } - 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); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkx;I)V", + garbageValue = "-2067523200" + ) + public static void method1671(PacketBuffer var0) { + ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last(); + if (var1 != null) { + int var2 = var0.offset; + var0.writeInt(var1.id); - if (var1 >= 177917621779460413L) { - break; - } - } + 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); + } - while (0L == var1 % 37L && var1 != 0L) { - var1 /= 37L; - } + 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]; - String var6 = Clock.method3534(var1); - if (var6 == null) { - var6 = ""; - } + for (int var8 = 0; var8 < var10.length; ++var8) { + ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); + var7[var8] = var9.readObject(); + } - return var6; - } + 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("ax") + @ObfuscatedSignature( + signature = "([BI)[B", + garbageValue = "-303237660" + ) + @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.field3143 != 0 && var3 > AbstractArchive.field3143) { + 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.field3143 != 0 && var6 > AbstractArchive.field3143) { + 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; + } + } + } + + @ObfuscatedName("fd") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1624187030" + ) + static void method1677() { + PacketBufferNode var0 = Archive.method4265(ClientPacket.field2238, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(AbstractWorldMapIcon.getWindowedMode()); + var0.packetBuffer.writeShort(GrandExchangeEvent.canvasWidth); + var0.packetBuffer.writeShort(ParamDefinition.canvasHeight); + Client.packetWriter.method2219(var0); + } } diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index 1cf534f9ff..486167e105 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -1,398 +1,447 @@ +import java.io.DataInputStream; +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("jm") +@ObfuscatedName("io") @Implements("HitSplatDefinition") public class HitSplatDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("HitSplatDefinition_archive") - static AbstractArchive HitSplatDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("HitSplatDefinition_spritesArchive") - static AbstractArchive HitSplatDefinition_spritesArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("HitSplatDefinition_fontsArchive") - static AbstractArchive HitSplatDefinition_fontsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("HitSplatDefinition_cached") - static EvictingDualNodeHashTable HitSplatDefinition_cached; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("HitSplatDefinition_cachedSprites") - static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("HitSplatDefinition_cachedFonts") - static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 431076793 - ) - @Export("fontId") - int fontId; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1151968735 - ) - public int field386; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -102270561 - ) - public int field387; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1533306389 - ) - int field388; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1677628889 - ) - int field389; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1683792491 - ) - int field390; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1845590719 - ) - int field391; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -389283589 - ) - public int field392; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1751286975 - ) - public int field393; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 199815415 - ) - public int field394; - @ObfuscatedName("b") - String field395; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1003116765 - ) - public int field396; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1498880475 - ) - public int field397; - @ObfuscatedName("p") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 516423393 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -1841054487 - ) - @Export("transformVarp") - int transformVarp; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_archive") + public static AbstractArchive HitSplatDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_spritesArchive") + public static AbstractArchive HitSplatDefinition_spritesArchive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_fontsArchive") + public static AbstractArchive HitSplatDefinition_fontsArchive; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("HitSplatDefinition_cached") + public static EvictingDualNodeHashTable HitSplatDefinition_cached; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("HitSplatDefinition_cachedSprites") + public static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("HitSplatDefinition_cachedFonts") + public static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 676904717 + ) + @Export("fontId") + int fontId; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1445466235 + ) + public int field3333; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1814689987 + ) + public int field3344; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 499426669 + ) + int field3334; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 919035525 + ) + int field3336; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1569596867 + ) + int field3337; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -2118170041 + ) + int field3338; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -751318081 + ) + public int field3335; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 184032475 + ) + public int field3340; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -604427311 + ) + public int field3341; + @ObfuscatedName("o") + String field3342; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -916102957 + ) + public int field3348; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1597610159 + ) + public int field3328; + @ObfuscatedName("s") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1769273857 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 468792805 + ) + @Export("transformVarp") + int transformVarp; - HitSplatDefinition() { - this.fontId = -1; - this.field386 = 16777215; - this.field387 = 70; - this.field388 = -1; - this.field389 = -1; - this.field390 = -1; - this.field391 = -1; - this.field392 = 0; - this.field393 = 0; - this.field394 = -1; - this.field395 = ""; - this.field396 = -1; - this.field397 = 0; - this.transformVarbit = -1; - this.transformVarp = -1; - } + static { + HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); + HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1963348982" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + HitSplatDefinition() { + this.fontId = -1; + this.field3333 = 16777215; + this.field3344 = 70; + this.field3334 = -1; + this.field3336 = -1; + this.field3337 = -1; + this.field3338 = -1; + this.field3335 = 0; + this.field3340 = 0; + this.field3341 = -1; + this.field3342 = ""; + this.field3348 = -1; + this.field3328 = 0; + this.transformVarbit = -1; + this.transformVarp = -1; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "1" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "1789835753" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.fontId = var1.method51(); - } else if (var2 == 2) { - this.field386 = var1.readMedium(); - } else if (var2 == 3) { - this.field388 = var1.method51(); - } else if (var2 == 4) { - this.field390 = var1.method51(); - } else if (var2 == 5) { - this.field389 = var1.method51(); - } else if (var2 == 6) { - this.field391 = var1.method51(); - } else if (var2 == 7) { - this.field392 = var1.readShort(); - } else if (var2 == 8) { - this.field395 = var1.readStringCp1252NullCircumfixed(); - } else if (var2 == 9) { - this.field387 = var1.readUnsignedShort(); - } else if (var2 == 10) { - this.field393 = var1.readShort(); - } else if (var2 == 11) { - this.field394 = 0; - } else if (var2 == 12) { - this.field396 = var1.readUnsignedByte(); - } else if (var2 == 13) { - this.field397 = var1.readShort(); - } else if (var2 == 14) { - this.field394 = var1.readUnsignedShort(); - } else if (var2 == 17 || var2 == 18) { - this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { - this.transformVarbit = -1; - } + this.decodeNext(var1, var2); + } + } - this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { - this.transformVarp = -1; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "1504666290" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.fontId = var1.method5511(); + } else if (var2 == 2) { + this.field3333 = var1.readMedium(); + } else if (var2 == 3) { + this.field3334 = var1.method5511(); + } else if (var2 == 4) { + this.field3337 = var1.method5511(); + } else if (var2 == 5) { + this.field3336 = var1.method5511(); + } else if (var2 == 6) { + this.field3338 = var1.method5511(); + } else if (var2 == 7) { + this.field3335 = var1.readShort(); + } else if (var2 == 8) { + this.field3342 = var1.readStringCp1252NullCircumfixed(); + } else if (var2 == 9) { + this.field3344 = var1.readUnsignedShort(); + } else if (var2 == 10) { + this.field3340 = var1.readShort(); + } else if (var2 == 11) { + this.field3341 = 0; + } else if (var2 == 12) { + this.field3348 = var1.readUnsignedByte(); + } else if (var2 == 13) { + this.field3328 = var1.readShort(); + } else if (var2 == 14) { + this.field3341 = var1.readUnsignedShort(); + } else if (var2 == 17 || var2 == 18) { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } - int var3 = -1; - if (var2 == 18) { - var3 = var1.readUnsignedShort(); - if (var3 == 65535) { - var3 = -1; - } - } + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } - int var4 = var1.readUnsignedByte(); - this.transforms = new int[var4 + 2]; + int var3 = -1; + if (var2 == 18) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } - for (int var5 = 0; var5 <= var4; ++var5) { - this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { - this.transforms[var5] = -1; - } - } + int var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; - this.transforms[var4 + 1] = var3; - } + 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("o") - @ObfuscatedSignature( - signature = "(B)Ljm;", - garbageValue = "-35" - ) - @Export("transform") - public final HitSplatDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapSection0.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]; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)Lio;", + garbageValue = "0" + ) + @Export("transform") + public final HitSplatDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = GrandExchangeOfferOwnWorldComparator.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - return var2 != -1 ? LoginScreenAnimation.getHitSplatDefinition(var2) : null; - } + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IS)Ljava/lang/String;", - garbageValue = "1000" - ) - @Export("getString") - public String getString(int var1) { - String var2 = this.field395; + return var2 != -1 ? Projectile.getHitSplatDefinition(var2) : null; + } - while (true) { - int var3 = var2.indexOf("%1"); - if (var3 < 0) { - return var2; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "-1319187584" + ) + @Export("getString") + public String getString(int var1) { + String var2 = this.field3342; - var2 = var2.substring(0, var3) + ByteArrayPool.method4001(var1, false) + var2.substring(var3 + 2); - } - } + while (true) { + int var3 = var2.indexOf("%1"); + if (var3 < 0) { + return var2; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Lln;", - garbageValue = "-1692599381" - ) - public Sprite method123() { - if (this.field388 < 0) { - return null; - } else { - Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field388); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field388, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field388); - } + var2 = var2.substring(0, var3) + class195.intToString(var1, false) + var2.substring(var3 + 2); + } + } - return var1; - } - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)Lly;", + garbageValue = "-1354583226" + ) + public Sprite method4551() { + if (this.field3334 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3334); + if (var1 != null) { + return var1; + } else { + var1 = class65.SpriteBuffer_tryCreateSprite(HitSplatDefinition_spritesArchive, this.field3334, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3334); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)Lln;", - garbageValue = "-15" - ) - public Sprite method124() { - if (this.field389 < 0) { - return null; - } else { - Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field389); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field389, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field389); - } + return var1; + } + } + } - return var1; - } - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Lly;", + garbageValue = "-2099712719" + ) + public Sprite method4557() { + if (this.field3336 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3336); + if (var1 != null) { + return var1; + } else { + var1 = class65.SpriteBuffer_tryCreateSprite(HitSplatDefinition_spritesArchive, this.field3336, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3336); + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Lln;", - garbageValue = "-49" - ) - public Sprite method125() { - if (this.field390 < 0) { - return null; - } else { - Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field390); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field390, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field390); - } + return var1; + } + } + } - return var1; - } - } - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)Lly;", + garbageValue = "-48" + ) + public Sprite method4558() { + if (this.field3337 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3337); + if (var1 != null) { + return var1; + } else { + var1 = class65.SpriteBuffer_tryCreateSprite(HitSplatDefinition_spritesArchive, this.field3337, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3337); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Lln;", - garbageValue = "393569067" - ) - public Sprite method126() { - if (this.field391 < 0) { - return null; - } else { - Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field391); - if (var1 != null) { - return var1; - } else { - var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field391, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field391); - } + return var1; + } + } + } - return var1; - } - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Lly;", + garbageValue = "-1606516448" + ) + public Sprite method4583() { + if (this.field3338 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3338); + if (var1 != null) { + return var1; + } else { + var1 = class65.SpriteBuffer_tryCreateSprite(HitSplatDefinition_spritesArchive, this.field3338, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3338); + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)Lkk;", - garbageValue = "1389815135" - ) - @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 = GraphicsDefaults.loadFont(HitSplatDefinition_spritesArchive, HitSplatDefinition_fontsArchive, this.fontId, 0); - if (var1 != null) { - HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId); - } + return var1; + } + } + } - return var1; - } - } - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Lke;", + garbageValue = "-1472977599" + ) + @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 = HitSplatDefinition_spritesArchive; + AbstractArchive var4 = HitSplatDefinition_fontsArchive; + int var5 = this.fontId; + Font var2; + if (!Friend.SpriteBuffer_loadSprite(var3, var5, 0)) { + var2 = null; + } else { + var2 = WallDecoration.getWorldMapSprite(var4.takeFile(var5, 0)); + } - @ObfuscatedName("o") - public static int method4972(long var0) { - return (int)(var0 >>> 17 & 4294967295L); - } + if (var2 != null) { + HitSplatDefinition_cachedFonts.put(var2, (long)this.fontId); + } - static { - HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); - } + return var2; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/Throwable;B)V", + garbageValue = "40" + ) + @Export("sendStackTrace") + public static void sendStackTrace(String var0, Throwable var1) { + if (var1 != null) { + var1.printStackTrace(); + } else { + try { + String var2 = ""; + if (var1 != null) { + var2 = FloorDecoration.method2843(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.revision + "&u=" + GrandExchangeOfferUnitPriceComparator.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.field4066 + "&e=" + var2); + DataInputStream var4 = new DataInputStream(var3.openStream()); + var4.read(); + var4.close(); + } catch (Exception var5) { + } + + } + } } diff --git a/runescape-client/src/main/java/HorizontalAlignment.java b/runescape-client/src/main/java/HorizontalAlignment.java index 55adc59bad..f0217bde60 100644 --- a/runescape-client/src/main/java/HorizontalAlignment.java +++ b/runescape-client/src/main/java/HorizontalAlignment.java @@ -4,70 +4,60 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ju") +@ObfuscatedName("iz") @Implements("HorizontalAlignment") public enum HorizontalAlignment implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lju;" - ) - field3529(2, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lju;" - ) - field3527(0, 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lju;" - ) - field3526(1, 2); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Liz;" + ) + field3461(0, 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Liz;" + ) + @Export("HorizontalAlignment_centered") + HorizontalAlignment_centered(2, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Liz;" + ) + field3460(1, 2); - @ObfuscatedName("b") - @Export("osName") - public static String osName; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -739868097 - ) - @Export("value") - public final int value; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1327532101 - ) - @Export("id") - final int id; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1984645021 + ) + @Export("value") + public final int value; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -2141408149 + ) + @Export("id") + final int id; - private HorizontalAlignment(int var3, int var4) { - this.value = var3; - this.id = var4; - } + HorizontalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("ft") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1908348747" - ) - static final void method5120() { - if (VertexNormal.field945) { - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.sort(); - } - - FontName.method5635(); - VertexNormal.field945 = false; - } - - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-71692752" + ) + static int method4701() { + return ++Messages.Messages_count - 1; + } } diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index 42d5a91c76..e81ee9a0ba 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -1,334 +1,374 @@ import net.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") +@ObfuscatedName("hk") @Implements("Huffman") public class Huffman { - @ObfuscatedName("e") - static int[][] field398; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -842662451 - ) - @Export("canvasHeight") - public static int canvasHeight; - @ObfuscatedName("m") - @Export("masks") - int[] masks; - @ObfuscatedName("f") - @Export("bits") - byte[] bits; - @ObfuscatedName("q") - @Export("keys") - int[] keys; + @ObfuscatedName("q") + @Export("masks") + int[] masks; + @ObfuscatedName("w") + @Export("bits") + byte[] bits; + @ObfuscatedName("e") + @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; + 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 (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 (var11 != var8) { - break; - } + for (var10 = var6 - 1; var10 >= 1; --var10) { + var11 = var3[var10]; + if (var11 != var8) { + break; + } - var12 = 1 << 32 - var10; - if ((var11 & var12) != 0) { - var3[var10] = var3[var10 - 1]; - break; - } + var12 = 1 << 32 - var10; + if ((var11 & var12) != 0) { + var3[var10] = var3[var10 - 1]; + break; + } - var3[var10] = var11 | var12; - } - } + var3[var10] = var11 | var12; + } + } - var3[var6] = var9; + var3[var6] = var9; - for (var10 = var6 + 1; var10 <= 32; ++var10) { - if (var8 == var3[var10]) { - var3[var10] = var9; - } - } + for (var10 = var6 + 1; var10 <= 32; ++var10) { + if (var8 == var3[var10]) { + var3[var10] = var9; + } + } - var10 = 0; + 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; - } + 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; - } + var10 = this.keys[var10]; + } else { + ++var10; + } - if (var10 >= this.keys.length) { - int[] var13 = new int[this.keys.length * 2]; + 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]; - } + for (int var14 = 0; var14 < this.keys.length; ++var14) { + var13[var14] = this.keys[var14]; + } - this.keys = var13; - } + this.keys = var13; + } - var12 >>>= 1; - } + var12 >>>= 1; + } - this.keys[var10] = ~var5; - if (var10 >= var4) { - var4 = var10 + 1; - } - } - } + this.keys[var10] = ~var5; + if (var10 >= var4) { + var4 = var10 + 1; + } + } + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BII[BIB)I", - garbageValue = "64" - ) - @Export("compress") - public int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { - int var6 = 0; - int var7 = var5 << 3; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BII[BII)I", + garbageValue = "-1706453276" + ) + @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(""); - } + 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); - } - } - } - } + 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; - } + var7 += var10; + } - return (var7 + 7 >> 3) - var5; - } + return (var7 + 7 >> 3) - var5; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "([BI[BIII)I", - garbageValue = "-2094399899" - ) - @Export("decompress") - public 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; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "([BI[BIII)I", + garbageValue = "2122202814" + ) + @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; - } + 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; - } + int var9; + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 64) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 64) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 32) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 32) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 16) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 16) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 8) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 8) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 4) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 4) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 2) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 2) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 1) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 1) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - ++var7; - } + ++var7; + } - return var7 + 1 - var2; - } - } + return var7 + 1 - var2; + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lho;", - garbageValue = "60" - ) - @Export("getWidget") - public static Widget getWidget(int var0) { - int var1 = var0 >> 16; - int var2 = var0 & 65535; - if (Widget.interfaceComponents[var1] == null || Widget.interfaceComponents[var1][var2] == null) { - boolean var3 = GroundItemPile.loadInterface(var1); - if (!var3) { - return null; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "5" + ) + static int method3948(int var0, int var1) { + long var2 = (long)((var0 << 16) + var1); + return class226.NetCache_currentResponse != null && class226.NetCache_currentResponse.key == var2 ? VarpDefinition.NetCache_responseArchiveBuffer.offset * 99 / (VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding) + 1 : 0; + } - return Widget.interfaceComponents[var1][var2]; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "([BIII)Z", + garbageValue = "-1212406127" + ) + static final boolean method3947(byte[] var0, int var1, int var2) { + boolean var3 = true; + Buffer var4 = new Buffer(var0); + int var5 = -1; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SB)V", - garbageValue = "-20" - ) - @Export("startSortingItemsByName") - public static void startSortingItemsByName(String[] var0, short[] var1) { - DynamicObject.sortItemsByName(var0, var1, 0, var0.length - 1); - } + label71: + while (true) { + int var6 = var4.method5509(); + 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 label71; + } + + 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 = ViewportMouse.getObjectDefinition(var5); + if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { + if (!var15.method4608()) { + ++Client.field707; + var3 = false; + } + + var8 = true; + } + } + } + + var9 = var4.readUShortSmart(); + if (var9 == 0) { + break; + } + + var4.readUnsignedByte(); + } + } + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "350180445" + ) + @Export("stringCp1252NullTerminatedByteSize") + public static int stringCp1252NullTerminatedByteSize(String var0) { + return var0.length() + 1; + } } diff --git a/runescape-client/src/main/java/IgnoreList.java b/runescape-client/src/main/java/IgnoreList.java index 8e1c69afaa..087d3c2a6f 100644 --- a/runescape-client/src/main/java/IgnoreList.java +++ b/runescape-client/src/main/java/IgnoreList.java @@ -3,154 +3,88 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kj") +@ObfuscatedName("jf") @Implements("IgnoreList") public class IgnoreList extends UserList { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llx;" - ) - @Export("loginType") - final LoginType loginType; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lmu;" + ) + @Export("loginType") + final LoginType loginType; - @ObfuscatedSignature( - signature = "(Llx;)V" - ) - public IgnoreList(LoginType var1) { - super(400); - this.loginType = var1; - } + @ObfuscatedSignature( + signature = "(Lmu;)V" + ) + public IgnoreList(LoginType var1) { + super(400); + this.loginType = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljs;", - garbageValue = "-2063112195" - ) - @Export("newInstance") - User newInstance() { - return new Ignored(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Ljd;", + garbageValue = "2016619159" + ) + @Export("newInstance") + User newInstance() { + return new Ignored(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)[Ljs;", - garbageValue = "861814350" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Ignored[var1]; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)[Ljd;", + garbageValue = "2126056206" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Ignored[var1]; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;IB)V", - garbageValue = "32" - ) - @Export("read") - public void read(Buffer buffer, int var2) { - while (true) { - if (buffer.index < var2) { - int var3 = buffer.readUnsignedByte(); - boolean var4 = (var3 & 1) == 1; - Username var5 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType); - Username var6 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType); - buffer.readStringCp1252NullTerminated(); - if (var5 != null && var5.hasCleanName()) { - Ignored var7 = (Ignored)this.getByCurrentUsername(var5); - if (var4) { - Ignored var8 = (Ignored)this.getByCurrentUsername(var6); - if (var8 != null && var8 != var7) { - if (var7 != null) { - this.remove(var8); - } else { - var7 = var8; - } - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-726342746" + ) + @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 && var8 != var7) { + if (var7 != null) { + this.remove(var8); + } else { + var7 = var8; + } + } + } - if (var7 != null) { - this.changeName(var7, var5, var6); - continue; - } + if (var7 != null) { + this.changeName(var7, var5, var6); + continue; + } - if (this.size() < 400) { - int var9 = this.size(); - var7 = (Ignored)this.addLast(var5, var6); - var7.id = var9; - } - continue; - } + if (this.getSize() < 400) { + int var9 = this.getSize(); + var7 = (Ignored)this.addLast(var5, var6); + var7.id = var9; + } + continue; + } - throw new IllegalStateException(); - } + throw new IllegalStateException(); + } - return; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;IZB)I", - garbageValue = "5" - ) - @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 var9; - if (var8 >= '0' && var8 <= '9') { - var9 = var8 - '0'; - } else if (var8 >= 'A' && var8 <= 'Z') { - var9 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { - throw new NumberFormatException(); - } - - var9 = var8 - 'W'; - } - - if (var9 >= var1) { - throw new NumberFormatException(); - } - - if (var3) { - var9 = -var9; - } - - int var10 = var9 + var5 * var1; - if (var10 / var1 != var5) { - throw new NumberFormatException(); - } - - var5 = var10; - var4 = true; - } - - if (!var4) { - throw new NumberFormatException(); - } else { - return var5; - } - } else { - throw new IllegalArgumentException(""); - } - } + return; + } + } } diff --git a/runescape-client/src/main/java/Ignored.java b/runescape-client/src/main/java/Ignored.java index b716e2a1c0..e844e8e621 100644 --- a/runescape-client/src/main/java/Ignored.java +++ b/runescape-client/src/main/java/Ignored.java @@ -4,57 +4,68 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ks") +@ObfuscatedName("jo") @Implements("Ignored") public class Ignored extends User { - @ObfuscatedName("at") - protected static String field402; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 344024525 - ) - @Export("id") - int id; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lbr;" + ) + @Export("loginScreenRunesAnimation") + static LoginScreenAnimation loginScreenRunesAnimation; + @ObfuscatedName("fn") + @ObfuscatedSignature( + signature = "Lfa;" + ) + @Export("socketTask") + static Task socketTask; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -361646417 + ) + @Export("id") + int id; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lks;I)I", - garbageValue = "-842469150" - ) - @Export("compareToIgnored") - int compareToIgnored(Ignored other) { - return this.id - other.id; - } + Ignored() { + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljs;I)I", - garbageValue = "1627362569" - ) - @Export("compareToUser") - public int compareToUser(User var1) { - return this.compareToIgnored((Ignored)var1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljo;I)I", + garbageValue = "-1242016495" + ) + @Export("compareTo_ignored") + int compareTo_ignored(Ignored var1) { + return this.id - var1.id; + } - public int compareTo(Object var1) { - return this.compareToIgnored((Ignored)var1); - } + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(Ljd;I)I", + garbageValue = "-1938562722" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.compareTo_ignored((Ignored)var1); + } - @ObfuscatedName("fv") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "-68" - ) - @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; - } + public int compareTo(Object var1) { + return this.compareTo_ignored((Ignored)var1); + } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(CB)Z", + garbageValue = "103" + ) + @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; + } + } } diff --git a/runescape-client/src/main/java/IndexedSprite.java b/runescape-client/src/main/java/IndexedSprite.java index 85002bdf4e..c55e9bf00f 100644 --- a/runescape-client/src/main/java/IndexedSprite.java +++ b/runescape-client/src/main/java/IndexedSprite.java @@ -2,275 +2,273 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lq") +@ObfuscatedName("lx") @Implements("IndexedSprite") public final class IndexedSprite extends Rasterizer2D { - @ObfuscatedName("m") - @Export("pixels") - public byte[] pixels; - @ObfuscatedName("f") - @Export("palette") - public int[] palette; - @ObfuscatedName("q") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("w") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("o") - @Export("xOffset") - public int xOffset; - @ObfuscatedName("u") - @Export("yOffset") - public int yOffset; - @ObfuscatedName("g") - @Export("width") - public int width; - @ObfuscatedName("l") - @Export("height") - public int height; + @ObfuscatedName("q") + @Export("pixels") + public byte[] pixels; + @ObfuscatedName("w") + @Export("palette") + public int[] palette; + @ObfuscatedName("e") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("p") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("k") + @Export("xOffset") + public int xOffset; + @ObfuscatedName("l") + @Export("yOffset") + public int yOffset; + @ObfuscatedName("b") + @Export("width") + public int width; + @ObfuscatedName("i") + @Export("height") + public int height; - @ObfuscatedName("m") - @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; + @ObfuscatedName("q") + @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++]; - } - } + 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; - } + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.xOffset = 0; + this.yOffset = 0; + } + } - } + @ObfuscatedName("w") + @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; + } - @ObfuscatedName("f") - @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 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; + } - 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); + } - this.palette[var4] = var7 + (var6 << 8) + (var5 << 16); - } + } - } + @ObfuscatedName("e") + @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; + } - @ObfuscatedName("q") - @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 (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 (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 + 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); + } + } - if (var6 > 0 && var5 > 0) { - IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8); - } + @ObfuscatedName("k") + public void method6093(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); + } - @ObfuscatedName("o") - public void method135(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 (var5 < var9) { + var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; + } - if (this.yOffset > 0) { - var13 = (var12 + (this.yOffset << 16) - 1) / var12; - var2 += var13; - var8 += var13 * var12 - (this.yOffset << 16); - } + if (var6 < var10) { + var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } - if (var5 < var9) { - var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; - } + var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (var6 < var10) { - var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } + int var15; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var15; + var13 += var15 * Rasterizer2D.Rasterizer2D_width; + var8 += var12 * var15; + } - var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var14 = Rasterizer2D.Rasterizer2D_width - var3; - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var15; + var14 += var15; + } - int var15; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var15; - var13 += var15 * Rasterizer2D.Rasterizer2D_width; - var8 += var12 * var15; - } + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var15; - var14 += var15; - } + IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var15; - var13 += var15; - var7 += var11 * var15; - var14 += var15; - } + @ObfuscatedName("p") + @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); - IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); - } + 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; + } - @ObfuscatedName("w") - @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); + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } - 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; + } + } - 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; + } + } - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - } + var4 += var7; + var3 += var8; + } - for (var11 = var5; var11 < 0; ++var11) { - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - } + } - var4 += var7; - var3 += var8; - } + @ObfuscatedName("l") + @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); - @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 var15 = -var7; var15 < 0; ++var15) { + byte var16 = var1[(var3 >> 16) + var14]; + if (var16 != 0) { + var0[var5++] = var2[var16 & 255]; + } else { + ++var5; + } - for (int var13 = -var8; var13 < 0; ++var13) { - int var14 = var11 * (var4 >> 16); + var3 += var9; + } - for (int var15 = -var7; var15 < 0; ++var15) { - byte var16 = var1[(var3 >> 16) + var14]; - if (var16 != 0) { - var0[var5++] = var2[var16 & 255]; - } else { - ++var5; - } + var4 += var10; + var3 = var12; + var5 += var6; + } - 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 a00392cd96..112efbac13 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -4,415 +4,423 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("db") +@ObfuscatedName("de") @Implements("Instrument") public class Instrument { - @ObfuscatedName("s") - @Export("Instrument_samples") - static int[] Instrument_samples; - @ObfuscatedName("t") - @Export("Instrument_noise") - static int[] Instrument_noise; - @ObfuscatedName("y") - @Export("Instrument_sine") - static int[] Instrument_sine; - @ObfuscatedName("b") - @Export("Instrument_phases") - static int[] Instrument_phases; - @ObfuscatedName("c") - @Export("Instrument_delays") - static int[] Instrument_delays; - @ObfuscatedName("r") - @Export("Instrument_volumeSteps") - static int[] Instrument_volumeSteps; - @ObfuscatedName("p") - @Export("Instrument_pitchSteps") - static int[] Instrument_pitchSteps; - @ObfuscatedName("v") - @Export("Instrument_pitchBaseSteps") - static int[] Instrument_pitchBaseSteps; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("pitch") - SoundEnvelope pitch; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("volume") - SoundEnvelope volume; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("pitchModifier") - SoundEnvelope pitchModifier; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("pitchModifierAmplitude") - SoundEnvelope pitchModifierAmplitude; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("volumeMultiplier") - SoundEnvelope volumeMultiplier; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("volumeMultiplierAmplitude") - SoundEnvelope volumeMultiplierAmplitude; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("release") - SoundEnvelope release; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("attack") - SoundEnvelope attack; - @ObfuscatedName("e") - @Export("oscillatorVolume") - int[] oscillatorVolume; - @ObfuscatedName("x") - @Export("oscillatorPitch") - int[] oscillatorPitch; - @ObfuscatedName("d") - @Export("oscillatorDelays") - int[] oscillatorDelays; - @ObfuscatedName("k") - @Export("delayTime") - int delayTime; - @ObfuscatedName("n") - @Export("delayDecay") - int delayDecay; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Ldi;" - ) - @Export("filter") - AudioFilter filter; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("filterEnvelope") - SoundEnvelope filterEnvelope; - @ObfuscatedName("z") - @Export("duration") - int duration; - @ObfuscatedName("j") - @Export("offset") - int offset; + @ObfuscatedName("a") + @Export("Instrument_samples") + static int[] Instrument_samples; + @ObfuscatedName("j") + @Export("Instrument_noise") + static int[] Instrument_noise; + @ObfuscatedName("t") + @Export("Instrument_sine") + static int[] Instrument_sine; + @ObfuscatedName("o") + @Export("Instrument_phases") + static int[] Instrument_phases; + @ObfuscatedName("n") + @Export("Instrument_delays") + static int[] Instrument_delays; + @ObfuscatedName("d") + @Export("Instrument_volumeSteps") + static int[] Instrument_volumeSteps; + @ObfuscatedName("s") + @Export("Instrument_pitchSteps") + static int[] Instrument_pitchSteps; + @ObfuscatedName("z") + @Export("Instrument_pitchBaseSteps") + static int[] Instrument_pitchBaseSteps; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("pitch") + SoundEnvelope pitch; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("volume") + SoundEnvelope volume; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("pitchModifier") + SoundEnvelope pitchModifier; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("pitchModifierAmplitude") + SoundEnvelope pitchModifierAmplitude; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("volumeMultiplier") + SoundEnvelope volumeMultiplier; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("volumeMultiplierAmplitude") + SoundEnvelope volumeMultiplierAmplitude; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("release") + SoundEnvelope release; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("attack") + SoundEnvelope attack; + @ObfuscatedName("c") + @Export("oscillatorVolume") + int[] oscillatorVolume; + @ObfuscatedName("f") + @Export("oscillatorPitch") + int[] oscillatorPitch; + @ObfuscatedName("m") + @Export("oscillatorDelays") + int[] oscillatorDelays; + @ObfuscatedName("u") + @Export("delayTime") + int delayTime; + @ObfuscatedName("x") + @Export("delayDecay") + int delayDecay; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ldy;" + ) + @Export("filter") + AudioFilter filter; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldw;" + ) + @Export("filterEnvelope") + SoundEnvelope filterEnvelope; + @ObfuscatedName("y") + @Export("duration") + int duration; + @ObfuscatedName("g") + @Export("offset") + int offset; - 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; - } + static { + Instrument_noise = new int[32768]; + Random var0 = new Random(0L); - @ObfuscatedName("m") - @Export("synthesize") - final int[] synthesize(int var1, int var2) { - class212.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 var1; + for (var1 = 0; var1 < 32768; ++var1) { + Instrument_noise[var1] = (var0.nextInt() & 2) - 1; + } - 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); - } + Instrument_sine = new int[32768]; - 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); - } - } + for (var1 = 0; var1 < 32768; ++var1) { + Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); + } - int var12; - int var13; - int var14; - int var15; - int[] var16; - 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); - } + 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]; + } - 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); - } + 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; + } - for (var14 = 0; var14 < 5; ++var14) { - if (this.oscillatorVolume[var14] != 0) { - var15 = Instrument_delays[var14] + var11; - if (var15 < var1) { - var16 = Instrument_samples; - var16[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); - var16 = Instrument_phases; - var16[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; - } - } - } - } + @ObfuscatedName("q") + @Export("synthesize") + final int[] synthesize(int var1, int var2) { + class301.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 var17; - if (this.release != null) { - this.release.reset(); - this.attack.reset(); - var11 = 0; - boolean var18 = false; - boolean var19 = true; + 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); + } - for (var14 = 0; var14 < var1; ++var14) { - var15 = this.release.doStep(var1); - var17 = this.attack.doStep(var1); - if (var19) { - var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; - } else { - var12 = (var17 * (this.release.end - this.release.start) >> 8) + this.release.start; - } + 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); + } + } - var11 += 256; - if (var11 >= var12) { - var11 = 0; - var19 = !var19; - } + 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 (var19) { - Instrument_samples[var14] = 0; - } - } - } + 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); + } - if (this.delayTime > 0 && this.delayDecay > 0) { - var11 = (int)((double)this.delayTime * var3); + 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]; + } + } + } + } - for (var12 = var11; var12 < var1; ++var12) { - var16 = Instrument_samples; - var16[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; - } - } + int var16; + if (this.release != null) { + this.release.reset(); + this.attack.reset(); + var11 = 0; + boolean var19 = false; + boolean var20 = true; - 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; - } + 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; + } - int var20; - while (var14 < var15) { - var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); + var11 += 256; + if (var11 >= var12) { + var11 = 0; + var20 = !var20; + } - for (var20 = 0; var20 < var12; ++var20) { - var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var20] * (long)AudioFilter.coefficients[0][var20] >> 16); - } + if (var20) { + Instrument_samples[var14] = 0; + } + } + } - for (var20 = 0; var20 < var14; ++var20) { - var17 -= (int)((long)Instrument_samples[var14 - 1 - var20] * (long)AudioFilter.coefficients[1][var20] >> 16); - } + if (this.delayTime > 0 && this.delayDecay > 0) { + var11 = (int)((double)this.delayTime * var3); - Instrument_samples[var14] = var17; - var11 = this.filterEnvelope.doStep(var1 + 1); - ++var14; - } + for (var12 = var11; var12 < var1; ++var12) { + var10000 = Instrument_samples; + var10000[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; + } + } - var15 = 128; + 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; + } - while (true) { - if (var15 > var1 - var12) { - var15 = var1 - var12; - } + int var17; + while (var14 < var15) { + var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - int var21; - while (var14 < var15) { - var20 = (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 (var21 = 0; var21 < var12; ++var21) { - var20 += (int)((long)Instrument_samples[var14 + var12 - 1 - var21] * (long)AudioFilter.coefficients[0][var21] >> 16); - } + for (var17 = 0; var17 < var14; ++var17) { + var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); + } - for (var21 = 0; var21 < var13; ++var21) { - var20 -= (int)((long)Instrument_samples[var14 - 1 - var21] * (long)AudioFilter.coefficients[1][var21] >> 16); - } + Instrument_samples[var14] = var16; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } - Instrument_samples[var14] = var20; - var11 = this.filterEnvelope.doStep(var1 + 1); - ++var14; - } + var15 = 128; - if (var14 >= var1 - var12) { - while (var14 < var1) { - var20 = 0; + while (true) { + if (var15 > var1 - var12) { + var15 = var1 - var12; + } - for (var21 = var14 + var12 - var1; var21 < var12; ++var21) { - var20 += (int)((long)Instrument_samples[var14 + var12 - 1 - var21] * (long)AudioFilter.coefficients[0][var21] >> 16); - } + int var18; + while (var14 < var15) { + var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - for (var21 = 0; var21 < var13; ++var21) { - var20 -= (int)((long)Instrument_samples[var14 - 1 - var21] * (long)AudioFilter.coefficients[1][var21] >> 16); - } + for (var18 = 0; var18 < var12; ++var18) { + var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); + } - Instrument_samples[var14] = var20; - this.filterEnvelope.doStep(var1 + 1); - ++var14; - } - break; - } + for (var18 = 0; var18 < var13; ++var18) { + var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); + } - var12 = this.filter.compute(0, (float)var11 / 65536.0F); - var13 = this.filter.compute(1, (float)var11 / 65536.0F); - var15 += 128; - } - } - } + Instrument_samples[var14] = var17; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } - for (var11 = 0; var11 < var1; ++var11) { - if (Instrument_samples[var11] < -32768) { - Instrument_samples[var11] = -32768; - } + if (var14 >= var1 - var12) { + while (var14 < var1) { + var17 = 0; - if (Instrument_samples[var11] > 32767) { - Instrument_samples[var11] = 32767; - } - } + for (var18 = var14 + var12 - var1; var18 < var12; ++var18) { + var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); + } - return Instrument_samples; - } - } + for (var18 = 0; var18 < var13; ++var18) { + var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); + } - @ObfuscatedName("f") - @Export("evaluateWave") - final int evaluateWave(int var1, int var2, int var3) { - return var3 == 1 ? ((var1 & 32767) < 16384 ? var2 : -var2) : (var3 == 2 ? Instrument_sine[var1 & 32767] * var2 >> 14 : (var3 == 3 ? (var2 * (var1 & 32767) >> 14) - var2 : (var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0))); - } + Instrument_samples[var14] = var17; + this.filterEnvelope.doStep(var1 + 1); + ++var14; + } + break; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - @Export("decode") - final void decode(Buffer buffer) { - this.pitch = new SoundEnvelope(); - this.pitch.decode(buffer); - this.volume = new SoundEnvelope(); - this.volume.decode(buffer); - int var2 = buffer.readUnsignedByte(); - if (var2 != 0) { - --buffer.index; - this.pitchModifier = new SoundEnvelope(); - this.pitchModifier.decode(buffer); - this.pitchModifierAmplitude = new SoundEnvelope(); - this.pitchModifierAmplitude.decode(buffer); - } + var12 = this.filter.compute(0, (float)var11 / 65536.0F); + var13 = this.filter.compute(1, (float)var11 / 65536.0F); + var15 += 128; + } + } + } - var2 = buffer.readUnsignedByte(); - if (var2 != 0) { - --buffer.index; - this.volumeMultiplier = new SoundEnvelope(); - this.volumeMultiplier.decode(buffer); - this.volumeMultiplierAmplitude = new SoundEnvelope(); - this.volumeMultiplierAmplitude.decode(buffer); - } + for (var11 = 0; var11 < var1; ++var11) { + if (Instrument_samples[var11] < -32768) { + Instrument_samples[var11] = -32768; + } - var2 = buffer.readUnsignedByte(); - if (var2 != 0) { - --buffer.index; - this.release = new SoundEnvelope(); - this.release.decode(buffer); - this.attack = new SoundEnvelope(); - this.attack.decode(buffer); - } + if (Instrument_samples[var11] > 32767) { + Instrument_samples[var11] = 32767; + } + } - for (int var3 = 0; var3 < 10; ++var3) { - int var4 = buffer.readUShortSmart(); - if (var4 == 0) { - break; - } + return Instrument_samples; + } + } - this.oscillatorVolume[var3] = var4; - this.oscillatorPitch[var3] = buffer.readShortSmart(); - this.oscillatorDelays[var3] = buffer.readUShortSmart(); - } + @ObfuscatedName("w") + @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; + } + } - this.delayTime = buffer.readUShortSmart(); - this.delayDecay = buffer.readUShortSmart(); - this.duration = buffer.readUnsignedShort(); - this.offset = buffer.readUnsignedShort(); - this.filter = new AudioFilter(); - this.filterEnvelope = new SoundEnvelope(); - this.filter.method27(buffer, this.filterEnvelope); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;)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); + } - static { - Instrument_noise = new int[32768]; - Random var0 = new Random(0L); + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.volumeMultiplier = new SoundEnvelope(); + this.volumeMultiplier.decode(var1); + this.volumeMultiplierAmplitude = new SoundEnvelope(); + this.volumeMultiplierAmplitude.decode(var1); + } - int var1; - for (var1 = 0; var1 < 32768; ++var1) { - Instrument_noise[var1] = (var0.nextInt() & 2) - 1; - } + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.release = new SoundEnvelope(); + this.release.decode(var1); + this.attack = new SoundEnvelope(); + this.attack.decode(var1); + } - Instrument_sine = new int[32768]; + for (int var3 = 0; var3 < 10; ++var3) { + int var4 = var1.readUShortSmart(); + if (var4 == 0) { + break; + } - for (var1 = 0; var1 < 32768; ++var1) { - Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); - } + this.oscillatorVolume[var3] = var4; + this.oscillatorPitch[var3] = var1.readShortSmart(); + this.oscillatorDelays[var3] = var1.readUShortSmart(); + } - 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]; - } + 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.method2680(var1, this.filterEnvelope); + } } diff --git a/runescape-client/src/main/java/IntHashTable.java b/runescape-client/src/main/java/IntHashTable.java index 44e2b9aa59..cb3d4f42db 100644 --- a/runescape-client/src/main/java/IntHashTable.java +++ b/runescape-client/src/main/java/IntHashTable.java @@ -3,56 +3,56 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lv") +@ObfuscatedName("lj") @Implements("IntHashTable") public class IntHashTable { - @ObfuscatedName("m") - @Export("array") - int[] array; + @ObfuscatedName("q") + @Export("array") + int[] array; - public IntHashTable(int[] var1) { - int var2; - for (var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { - } + public IntHashTable(int[] var1) { + int var2; + for (var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { + } - this.array = new int[var2 + var2]; + this.array = new int[var2 + var2]; - int var3; - for (var3 = 0; var3 < var2 + var2; ++var3) { - this.array[var3] = -1; - } + 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) { - } + 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]; - } + this.array[var4 + var4] = var1[var3]; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1815939047" - ) - @Export("get") - public int get(int var1) { - int var2 = (this.array.length >> 1) - 1; - int var3 = var1 & var2; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1528091447" + ) + @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; - } + while (true) { + int var4 = this.array[var3 + var3 + 1]; + if (var4 == -1) { + return -1; + } - if (this.array[var3 + var3] == var1) { - return var4; - } + if (this.array[var3 + var3] == var1) { + return var4; + } - var3 = var3 + 1 & var2; - } - } + var3 = var3 + 1 & var2; + } + } } diff --git a/runescape-client/src/main/java/IntegerNode.java b/runescape-client/src/main/java/IntegerNode.java index d67d38b2a9..46e62b6f8c 100644 --- a/runescape-client/src/main/java/IntegerNode.java +++ b/runescape-client/src/main/java/IntegerNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("gn") +@ObfuscatedName("fc") @Implements("IntegerNode") public class IntegerNode extends Node { - @ObfuscatedName("m") - @Export("integer") - public int integer; + @ObfuscatedName("q") + @Export("integer") + public int integer; - public IntegerNode(int var1) { - this.integer = var1; - } + 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 a19bdf72c4..1744f8ea53 100644 --- a/runescape-client/src/main/java/InterfaceParent.java +++ b/runescape-client/src/main/java/InterfaceParent.java @@ -4,109 +4,61 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bx") +@ObfuscatedName("bo") @Implements("InterfaceParent") public class InterfaceParent extends Node { - @ObfuscatedName("px") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("sceneMinimapSprite") - static Sprite sceneMinimapSprite; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -992379173 - ) - static int field986; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -707461797 - ) - @Export("group") - int group; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1712037041 - ) - @Export("type") - int type; - @ObfuscatedName("q") - @Export("keep") - boolean keep; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1594443761 + ) + @Export("group") + int group; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -721304619 + ) + @Export("type") + int type; + @ObfuscatedName("e") + boolean field567; - InterfaceParent() { - this.keep = false; - } + InterfaceParent() { + this.field567 = false; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Lcg;", - garbageValue = "1" - ) - static Script method1175(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 = Formatting.archive12.getGroupId(var3); - if (var4 == -1) { - return null; - } else { - byte[] var5 = Formatting.archive12.takeFileFlat(var4); - if (var5 != null) { - if (var5.length <= 1) { - return null; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-673878359" + ) + public static boolean method1119(int var0) { + return (var0 & 1) != 0; + } - var2 = Occluder.newScript(var5); - if (var2 != null) { - Script.Script_cached.put(var2, (long)(var0 << 16)); - return var2; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkx;II)V", + garbageValue = "2052544381" + ) + @Export("updatePlayers") + static final void updatePlayers(PacketBuffer var0, int var1) { + int var2 = var0.offset; + Players.Players_pendingUpdateCount = 0; + MouseHandler.method1037(var0); - return null; - } - } - } + for (int var3 = 0; var3 < Players.Players_pendingUpdateCount; ++var3) { + int var4 = Players.Players_pendingUpdateIndices[var3]; + Player var5 = Client.players[var4]; + int var6 = var0.readUnsignedByte(); + if ((var6 & 8) != 0) { + var6 += var0.readUnsignedByte() << 8; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BIII)Ljava/lang/String;", - garbageValue = "619422509" - ) - @Export("decodeStringCp1252") - public static String decodeStringCp1252(byte[] src, int srcStart, int length) { - char[] var3 = new char[length]; - int var4 = 0; + WorldMapEvent.method736(var0, var4, var5, var6); + } - for (int var5 = 0; var5 < length; ++var5) { - int var6 = src[var5 + srcStart] & 255; - if (var6 != 0) { - if (var6 >= 128 && var6 < 160) { - char var7 = class304.cp1252AsciiExtension[var6 - 128]; - if (var7 == 0) { - var7 = '?'; - } - - var6 = var7; - } - - var3[var4++] = (char)var6; - } - } - - return new String(var3, 0, var4); - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "32" - ) - static int method1174(int var0) { - ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); - return var1 == null ? 0 : var1.size(); - } + if (var0.offset - var2 != var1) { + throw new RuntimeException(var0.offset - var2 + " " + var1); + } + } } diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index ca85e1b04b..e12727e900 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -1,222 +1,139 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.Calendar; import net.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") +@ObfuscatedName("be") @Implements("Interpreter") public class Interpreter { - @ObfuscatedName("w") - @Export("Interpreter_stringLocals") - static String[] Interpreter_stringLocals; - @ObfuscatedName("o") - @Export("Interpreter_arrayLengths") - static int[] Interpreter_arrayLengths; - @ObfuscatedName("u") - @Export("Interpreter_arrays") - static int[][] Interpreter_arrays; - @ObfuscatedName("g") - @Export("Interpreter_intStack") - static int[] Interpreter_intStack; - @ObfuscatedName("e") - @Export("Interpreter_stringStack") - static String[] Interpreter_stringStack; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -114766123 - ) - @Export("Interpreter_stringStackSize") - static int Interpreter_stringStackSize; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 545127349 - ) - @Export("Interpreter_frameDepth") - static int Interpreter_frameDepth; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "[Lbn;" - ) - @Export("Interpreter_frames") - static ScriptFrame[] Interpreter_frames; - @ObfuscatedName("a") - @Export("Interpreter_calendar") - static Calendar Interpreter_calendar; - @ObfuscatedName("z") - @Export("Interpreter_MONTHS") - static final String[] Interpreter_MONTHS; - @ObfuscatedName("s") - static boolean field423; - @ObfuscatedName("t") - static boolean field424; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1019558835 - ) - static int field425; - @ObfuscatedName("r") - static final double field426; + @ObfuscatedName("e") + @Export("Interpreter_intLocals") + static int[] Interpreter_intLocals; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lga;" + ) + @Export("midiPcmStream") + public static MidiPcmStream midiPcmStream; + @ObfuscatedName("k") + @Export("Interpreter_arrayLengths") + static int[] Interpreter_arrayLengths; + @ObfuscatedName("l") + @Export("Interpreter_arrays") + static int[][] Interpreter_arrays; + @ObfuscatedName("b") + @Export("Interpreter_intStack") + static int[] Interpreter_intStack; + @ObfuscatedName("c") + @Export("Interpreter_stringStack") + static String[] Interpreter_stringStack; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -340268151 + ) + @Export("Interpreter_frameDepth") + static int Interpreter_frameDepth; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "[Lbh;" + ) + @Export("Interpreter_frames") + static ScriptFrame[] Interpreter_frames; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lhj;" + ) + static Widget field1111; + @ObfuscatedName("v") + @Export("Interpreter_calendar") + static java.util.Calendar Interpreter_calendar; + @ObfuscatedName("y") + @Export("Interpreter_MONTHS") + static final String[] Interpreter_MONTHS; + @ObfuscatedName("a") + static boolean field1104; + @ObfuscatedName("j") + static boolean field1105; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -662324053 + ) + static int field1106; + @ObfuscatedName("d") + static final double field1110; + @ObfuscatedName("hr") + @ObfuscatedGetter( + intValue = 973734975 + ) + @Export("cameraYaw") + static int cameraYaw; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgs;Lhn;I)Lgg;", - garbageValue = "-370104720" - ) - public static PacketBufferNode method1915(ClientPacket var0, IsaacCipher var1) { - PacketBufferNode var2; - if (PacketBufferNode.field668 == 0) { - var2 = new PacketBufferNode(); - } else { - var2 = PacketBufferNode.packetBufferNodes[--PacketBufferNode.field668]; - } + 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"}; + field1104 = false; + field1105 = false; + field1106 = 0; + field1110 = Math.log(2.0D); + } - var2.field669 = var0; - var2.field670 = var0.length; - if (var2.field670 == -1) { - var2.packetBuffer = new PacketBuffer(260); - } else if (var2.field670 == -2) { - var2.packetBuffer = new PacketBuffer(10000); - } else if (var2.field670 <= 18) { - var2.packetBuffer = new PacketBuffer(20); - } else if (var2.field670 <= 98) { - var2.packetBuffer = new PacketBuffer(100); - } else { - var2.packetBuffer = new PacketBuffer(260); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Lgc;", + garbageValue = "-23272757" + ) + @Export("ServerPacket_values") + public static ServerPacket[] ServerPacket_values() { + return new ServerPacket[]{ServerPacket.field2160, ServerPacket.field2116, ServerPacket.field2117, ServerPacket.field2152, ServerPacket.field2119, ServerPacket.field2165, ServerPacket.field2178, ServerPacket.field2122, ServerPacket.field2190, ServerPacket.field2176, ServerPacket.field2141, ServerPacket.field2126, ServerPacket.field2127, ServerPacket.field2128, ServerPacket.field2129, ServerPacket.field2130, ServerPacket.field2131, ServerPacket.field2120, ServerPacket.field2133, ServerPacket.field2134, ServerPacket.field2125, ServerPacket.field2136, ServerPacket.field2191, ServerPacket.field2138, ServerPacket.field2139, ServerPacket.field2140, ServerPacket.field2137, ServerPacket.field2135, ServerPacket.field2143, ServerPacket.field2144, ServerPacket.field2181, ServerPacket.field2175, ServerPacket.field2147, ServerPacket.field2148, ServerPacket.field2149, ServerPacket.field2118, ServerPacket.field2151, ServerPacket.field2202, ServerPacket.field2180, ServerPacket.field2154, ServerPacket.field2155, ServerPacket.field2156, ServerPacket.field2157, ServerPacket.field2162, ServerPacket.field2159, ServerPacket.field2189, ServerPacket.field2161, ServerPacket.field2150, ServerPacket.field2163, ServerPacket.field2164, ServerPacket.field2123, ServerPacket.field2166, ServerPacket.field2167, ServerPacket.field2153, ServerPacket.field2142, ServerPacket.field2170, ServerPacket.field2171, ServerPacket.field2172, ServerPacket.field2132, ServerPacket.field2174, ServerPacket.field2169, ServerPacket.field2124, ServerPacket.field2177, ServerPacket.field2168, ServerPacket.field2179, ServerPacket.field2158, ServerPacket.field2173, ServerPacket.field2182, ServerPacket.field2183, ServerPacket.field2184, ServerPacket.field2185, ServerPacket.field2186, ServerPacket.field2187, ServerPacket.field2188, ServerPacket.field2115, ServerPacket.field2121, ServerPacket.field2145, ServerPacket.field2192, ServerPacket.field2193, ServerPacket.field2194, ServerPacket.field2195, ServerPacket.field2196, ServerPacket.field2197, ServerPacket.field2198, ServerPacket.field2199, ServerPacket.field2200}; + } - var2.packetBuffer.setIsaacCipher(var1); - var2.packetBuffer.writeByteIsaac(var2.field669.id); - var2.field671 = 0; - return var2; - } + @ObfuscatedName("hr") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1044045879" + ) + static final boolean method1936(int var0) { + if (var0 < 0) { + return false; + } else { + int var1 = Client.menuOpcodes[var0]; + if (var1 >= 2000) { + var1 -= 2000; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Ljw;", - garbageValue = "-1888252818" - ) - @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)); - } + return var1 == 1007; + } + } - EnumDefinition.EnumDefinition_cached.put(var1, (long)var0); - return var1; - } - } + @ObfuscatedName("jo") + @ObfuscatedSignature( + signature = "(IIIILly;Lhg;B)V", + garbageValue = "73" + ) + @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.method6146(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.drawAt2(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "76" - ) - @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.sortOption1[var5] != var0) { - var2[var4] = World.sortOption1[var5]; - var3[var4] = World.sortOption2[var5]; - ++var4; - } - } - - World.sortOption1 = var2; - World.sortOption2 = var3; - MilliClock.sortWorlds(ItemContainer.worlds, 0, ItemContainer.worlds.length - 1, World.sortOption1, World.sortOption2); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "80" - ) - public static void method1976() { - try { - File var0 = new File(WorldMapSection2.userHomeDirectory, "random.dat"); - int var1; - if (var0.exists()) { - class168.randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); - } else { - label34: - for (int var2 = 0; var2 < Canvas.field94.length; ++var2) { - for (var1 = 0; var1 < WorldMapSection0.cacheDirectoryLocations.length; ++var1) { - File var3 = new File(WorldMapSection0.cacheDirectoryLocations[var1] + Canvas.field94[var2] + File.separatorChar + "random.dat"); - if (var3.exists()) { - class168.randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); - break label34; - } - } - } - } - - if (class168.randomDat == null) { - RandomAccessFile var5 = new RandomAccessFile(var0, "rw"); - var1 = var5.read(); - var5.seek(0L); - var5.write(var1); - var5.seek(0L); - var5.close(); - class168.randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); - } - } catch (IOException var4) { - } - - } - - @ObfuscatedName("iz") - @ObfuscatedSignature( - signature = "(IIIIIIIIB)V", - garbageValue = "-10" - ) - @Export("drawWidgets") - static final void drawWidgets(int interfaceID, int xStart, int yStart, int xEnd, int yEnd, int var5, int var6, int var7) { - if (GroundItemPile.loadInterface(interfaceID)) { - class279.field1145 = null; - DevicePcmPlayerProvider.drawInterface(Widget.interfaceComponents[interfaceID], -1, xStart, yStart, xEnd, yEnd, var5, var6, var7); - if (class279.field1145 != null) { - DevicePcmPlayerProvider.drawInterface(class279.field1145, -1412584499, xStart, yStart, xEnd, yEnd, class54.field1161, BuddyRankComparator.field1114, var7); - class279.field1145 = null; - } - } else if (var7 != -1) { - Client.field100[var7] = true; - } else { - for (int var8 = 0; var8 < 100; ++var8) { - Client.field100[var8] = true; - } - } - - } - - 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 = Calendar.getInstance(); - Interpreter_MONTHS = new String[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; - field423 = false; - field424 = false; - field425 = 0; - field426 = Math.log(2.0D); - } + } + } + } } diff --git a/runescape-client/src/main/java/InvDefinition.java b/runescape-client/src/main/java/InvDefinition.java index a762466103..ab88c2bb06 100644 --- a/runescape-client/src/main/java/InvDefinition.java +++ b/runescape-client/src/main/java/InvDefinition.java @@ -4,66 +4,68 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ib") +@ObfuscatedName("ig") @Implements("InvDefinition") public class InvDefinition extends DualNode { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("InvDefinition_cached") - static EvictingDualNodeHashTable InvDefinition_cached; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1358868971 - ) - @Export("size") - public int size; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("InvDefinition_archive") + static AbstractArchive InvDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("InvDefinition_cached") + static EvictingDualNodeHashTable InvDefinition_cached; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = 1665309649 + ) + static int field3199; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 2126077973 + ) + @Export("size") + public int size; - InvDefinition() { - this.size = 0; - } + static { + InvDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "628080573" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + InvDefinition() { + this.size = 0; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1922259569" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "1763455566" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 2) { - this.size = var1.readUnsignedShort(); - } + this.decodeNext(var1, var2); + } + } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-745252030" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 2) { + this.size = var1.readUnsignedShort(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-121177696" - ) - public static void method4754() { - ParamDefinition.ParamDefinition_cached.clear(); - } - - static { - InvDefinition_cached = new EvictingDualNodeHashTable(64); - } + } } diff --git a/runescape-client/src/main/java/IsaacCipher.java b/runescape-client/src/main/java/IsaacCipher.java index 630c37e16c..2bf657b474 100644 --- a/runescape-client/src/main/java/IsaacCipher.java +++ b/runescape-client/src/main/java/IsaacCipher.java @@ -4,347 +4,251 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hn") +@ObfuscatedName("lv") @Implements("IsaacCipher") public final class IsaacCipher { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1514845493 - ) - @Export("valuesRemaining") - int valuesRemaining; - @ObfuscatedName("o") - @Export("results") - int[] results; - @ObfuscatedName("u") - @Export("mm") - int[] mm; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1670027699 - ) - @Export("aa") - int aa; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -325762649 - ) - @Export("bb") - int bb; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1951204929 - ) - @Export("cc") - int cc; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -568134249 + ) + @Export("valuesRemaining") + int valuesRemaining; + @ObfuscatedName("k") + @Export("results") + int[] results; + @ObfuscatedName("l") + @Export("mm") + int[] mm; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1494247529 + ) + @Export("aa") + int aa; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 2002844889 + ) + @Export("bb") + int bb; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -917806503 + ) + @Export("cc") + int cc; - public IsaacCipher(int[] seed) { - this.mm = new int[256]; - this.results = new int[256]; + public IsaacCipher(int[] var1) { + this.mm = new int[256]; + this.results = new int[256]; - for (int var2 = 0; var2 < seed.length; ++var2) { - this.results[var2] = seed[var2]; - } + for (int var2 = 0; var2 < var1.length; ++var2) { + this.results[var2] = var1[var2]; + } - this.method139(); - } + this.method6247(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-7509790" - ) - @Export("nextInt") - final int nextInt() { - if (0 == --this.valuesRemaining + 1) { - this.generateMoreResults(); - this.valuesRemaining = 255; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "15" + ) + @Export("nextInt") + public final int nextInt() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } - return this.results[this.valuesRemaining]; - } + return this.results[--this.valuesRemaining]; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-506873526" - ) - final int method137() { - if (this.valuesRemaining == 0) { - this.generateMoreResults(); - this.valuesRemaining = 256; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "7" + ) + public final int method6254() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } - return this.results[this.valuesRemaining - 1]; - } + return this.results[this.valuesRemaining - 1]; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "124" - ) - @Export("generateMoreResults") - final void generateMoreResults() { - this.bb += ++this.cc; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1888611260" + ) + @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; - } + 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; - } + this.aa += this.mm[128 + var1 & 255]; + int var3; + this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.aa + this.bb; + this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; + } - } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "579890110" - ) - final void method139() { - int var1 = 0x9e3779b9; - int var2 = 0x9e3779b9; - int var3 = 0x9e3779b9; - int var4 = 0x9e3779b9; - int var5 = 0x9e3779b9; - int var6 = 0x9e3779b9; - int var7 = 0x9e3779b9; - int var8 = 0x9e3779b9; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + final void method6247() { + 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 var9; - for (var9 = 0; var9 < 4; ++var9) { - var8 ^= var7 << 11; - var5 += var8; - var7 += var6; - var7 ^= var6 >>> 2; - var4 += var7; - var6 += var5; - var6 ^= var5 << 8; - var3 += var6; - var5 += var4; - var5 ^= var4 >>> 16; - var2 += var5; - var4 += var3; - var4 ^= var3 << 10; - var1 += var4; - var3 += var2; - var3 ^= var2 >>> 4; - var8 += var3; - var2 += var1; - var2 ^= var1 << 8; - var7 += var2; - var1 += var8; - var1 ^= var8 >>> 9; - var6 += var1; - var8 += var7; - } + 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 (var9 = 0; var9 < 256; var9 += 8) { - var8 += this.results[var9]; - var7 += this.results[var9 + 1]; - var6 += this.results[var9 + 2]; - var5 += this.results[var9 + 3]; - var4 += this.results[var9 + 4]; - var3 += this.results[var9 + 5]; - var2 += this.results[var9 + 6]; - var1 += this.results[var9 + 7]; - var8 ^= var7 << 11; - var5 += var8; - var7 += var6; - var7 ^= var6 >>> 2; - var4 += var7; - var6 += var5; - var6 ^= var5 << 8; - var3 += var6; - var5 += var4; - var5 ^= var4 >>> 16; - var2 += var5; - var4 += var3; - var4 ^= var3 << 10; - var1 += var4; - var3 += var2; - var3 ^= var2 >>> 4; - var8 += var3; - var2 += var1; - var2 ^= var1 << 8; - var7 += var2; - var1 += var8; - var1 ^= var8 >>> 9; - var6 += var1; - var8 += var7; - this.mm[var9] = var8; - this.mm[var9 + 1] = var7; - this.mm[var9 + 2] = var6; - this.mm[var9 + 3] = var5; - this.mm[var9 + 4] = var4; - this.mm[var9 + 5] = var3; - this.mm[var9 + 6] = var2; - this.mm[var9 + 7] = var1; - } + 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 (var9 = 0; var9 < 256; var9 += 8) { - var8 += this.mm[var9]; - var7 += this.mm[var9 + 1]; - var6 += this.mm[var9 + 2]; - var5 += this.mm[var9 + 3]; - var4 += this.mm[var9 + 4]; - var3 += this.mm[var9 + 5]; - var2 += this.mm[var9 + 6]; - var1 += this.mm[var9 + 7]; - var8 ^= var7 << 11; - var5 += var8; - var7 += var6; - var7 ^= var6 >>> 2; - var4 += var7; - var6 += var5; - var6 ^= var5 << 8; - var3 += var6; - var5 += var4; - var5 ^= var4 >>> 16; - var2 += var5; - var4 += var3; - var4 ^= var3 << 10; - var1 += var4; - var3 += var2; - var3 ^= var2 >>> 4; - var8 += var3; - var2 += var1; - var2 ^= var1 << 8; - var7 += var2; - var1 += var8; - var1 ^= var8 >>> 9; - var6 += var1; - var8 += var7; - this.mm[var9] = var8; - this.mm[var9 + 1] = var7; - this.mm[var9 + 2] = var6; - this.mm[var9 + 3] = var5; - this.mm[var9 + 4] = var4; - this.mm[var9 + 5] = var3; - this.mm[var9 + 6] = var2; - this.mm[var9 + 7] = var1; - } + 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; - } + this.generateMoreResults(); + this.valuesRemaining = 256; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;I)V", - garbageValue = "75867683" - ) - @Export("setNpcDefinitionArchives") - public static void setNpcDefinitionArchives(AbstractArchive var0, AbstractArchive var1) { - NPCDefinition.NpcDefinition_archive = var0; - NPCDefinition.NpcDefinition_modelArchive = var1; - } - - @ObfuscatedName("fl") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1676957578" - ) - static void method4093(int var0) { - if (var0 == -3) { - class54.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); - } else if (var0 == -2) { - class54.setLoginResponseString("", "Error connecting to server.", ""); - } else if (var0 == -1) { - class54.setLoginResponseString("No response from server.", "Please try using a different world.", ""); - } else if (var0 == 3) { - Login.loginIndex = 3; - Login.field467 = 1; - } else if (var0 == 4) { - class32.method578(0); - } else if (var0 == 5) { - Login.field467 = 2; - class54.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)) { - if (var0 == 7) { - class54.setLoginResponseString("This world is full.", "Please use a different world.", ""); - } else if (var0 == 8) { - class54.setLoginResponseString("Unable to connect.", "Login server offline.", ""); - } else if (var0 == 9) { - class54.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); - } else if (var0 == 10) { - class54.setLoginResponseString("Unable to connect.", "Bad session id.", ""); - } else if (var0 == 11) { - class54.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); - } else if (var0 == 12) { - class54.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); - } else if (var0 == 13) { - class54.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); - } else if (var0 == 14) { - class54.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 16) { - class54.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); - } else if (var0 == 17) { - class54.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", ""); - } else if (var0 == 18) { - class32.method578(1); - } else if (var0 == 19) { - class54.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); - } else if (var0 == 20) { - class54.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); - } else if (var0 == 22) { - class54.setLoginResponseString("Malformed login packet.", "Please try again.", ""); - } else if (var0 == 23) { - class54.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 24) { - class54.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); - } else if (var0 == 25) { - class54.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); - } else if (var0 == 26) { - class54.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); - } else if (var0 == 27) { - class54.setLoginResponseString("", "Service unavailable.", ""); - } else if (var0 == 31) { - class54.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) { - class54.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) { - class54.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); - } else if (var0 == 38) { - class54.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) { - class54.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); - GameShell.updateGameState(11); - return; - } - - if (var0 == 57) { - class54.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); - GameShell.updateGameState(11); - return; - } - - if (var0 == 61) { - Login.loginIndex = 7; - } else { - class54.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); - } - } - } else { - class54.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); - } - - GameShell.updateGameState(10); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Lht;", + garbageValue = "547339899" + ) + @Export("values") + static ServerBuild[] values() { + return new ServerBuild[]{ServerBuild.RC, ServerBuild.LIVE, ServerBuild.WIP, ServerBuild.BUILDLIVE}; + } } diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index 44643dba90..91dfcad439 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -6,94 +6,61 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("bc") @Implements("ItemContainer") public class ItemContainer extends Node { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("itemContainers") - static NodeHashTable itemContainers; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "[Lbt;" - ) - @Export("worlds") - static World[] worlds; - @ObfuscatedName("dm") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive19") - static Archive archive19; - @ObfuscatedName("f") - @Export("ids") - int[] ids; - @ObfuscatedName("q") - @Export("quantities") - int[] quantities; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("itemContainers") + static NodeHashTable itemContainers; + @ObfuscatedName("jk") + @ObfuscatedSignature( + signature = "Lhj;" + ) + static Widget field549; + @ObfuscatedName("w") + @Export("ids") + int[] ids; + @ObfuscatedName("e") + @Export("quantities") + int[] quantities; - ItemContainer() { - this.ids = new int[]{-1}; - this.quantities = new int[]{0}; - } + static { + itemContainers = new NodeHashTable(32); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "-1265322360" - ) - static String method1170(int var0) { - return ""; - } + ItemContainer() { + this.ids = new int[]{-1}; + this.quantities = new int[]{0}; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Len;", - garbageValue = "-227230552" - ) - @Export("getFrames") - static Frames getFrames(int var0) { - Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); - if (var1 != null) { - return var1; - } else { - AbstractArchive var2 = SequenceDefinition.SequenceDefinition_animationsArchive; - AbstractArchive var3 = SequenceDefinition.SequenceDefinition_skeletonsArchive; - boolean var4 = true; - int[] var5 = var2.getGroupFileIds(var0); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)Lic;", + garbageValue = "-70" + ) + public static FloorUnderlayDefinition method1117(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); + } - for (int var6 = 0; var6 < var5.length; ++var6) { - byte[] var7 = var2.getFile(var0, var5[var6]); - if (var7 == null) { - var4 = false; - } else { - int var8 = (var7[0] & 255) << 8 | var7[1] & 255; - byte[] var9 = var3.getFile(var8, 0); - if (var9 == null) { - var4 = false; - } - } - } + var1.postDecode(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); + return var1; + } + } - Frames var11; - if (!var4) { - var11 = null; - } else { - try { - var11 = new Frames(var2, var3, var0, false); - } catch (Exception var10) { - var11 = null; - } - } - - if (var11 != null) { - SequenceDefinition.SequenceDefinition_cachedFrames.put(var11, (long)var0); - } - - return var11; - } - } - - static { - itemContainers = new NodeHashTable(32); - } + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1225456641" + ) + static int method1116(int var0) { + return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F)); + } } diff --git a/runescape-client/src/main/java/ItemDefinition.java b/runescape-client/src/main/java/ItemDefinition.java index 8ae6420278..4dbbb7ac5d 100644 --- a/runescape-client/src/main/java/ItemDefinition.java +++ b/runescape-client/src/main/java/ItemDefinition.java @@ -4,906 +4,991 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jv") +@ObfuscatedName("iq") @Implements("ItemDefinition") public class ItemDefinition extends DualNode { - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("ItemDefinition_archive") - public static AbstractArchive ItemDefinition_archive; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("ItemDefinition_modelArchive") - public static AbstractArchive ItemDefinition_modelArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ItemDefinition_cached") - static EvictingDualNodeHashTable ItemDefinition_cached; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ItemDefinition_cachedModels") - static EvictingDualNodeHashTable ItemDefinition_cachedModels; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ItemDefinition_cachedSprites") - static EvictingDualNodeHashTable ItemDefinition_cachedSprites; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -590103687 - ) - @Export("id") - public int id; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1070080857 - ) - @Export("model") - int model; - @ObfuscatedName("z") - @Export("name") - public String name; - @ObfuscatedName("j") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("s") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("t") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("y") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 278037959 - ) - @Export("zoom2d") - public int zoom2d; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 880150839 - ) - @Export("xan2d") - public int xan2d; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 507808107 - ) - @Export("yan2d") - public int yan2d; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 551313257 - ) - @Export("zan2d") - public int zan2d; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -533708435 - ) - @Export("offsetX2d") - public int offsetX2d; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -2130350563 - ) - @Export("offsetY2d") - public int offsetY2d; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -237597001 - ) - @Export("isStackable") - public int isStackable; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -343501105 - ) - @Export("price") - public int price; - @ObfuscatedName("aj") - @Export("isMembersOnly") - public boolean isMembersOnly; - @ObfuscatedName("av") - @Export("groundActions") - public String[] groundActions; - @ObfuscatedName("ar") - @Export("inventoryActions") - public String[] inventoryActions; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 881309855 - ) - @Export("shiftClickIndex") - int shiftClickIndex; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 939367983 - ) - @Export("maleModel") - int maleModel; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 140643039 - ) - @Export("maleModel1") - int maleModel1; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1378899027 - ) - @Export("maleOffset") - int maleOffset; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 886682223 - ) - @Export("femaleModel") - int femaleModel; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 154223105 - ) - @Export("femaleModel1") - int femaleModel1; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -1619361485 - ) - @Export("femaleOffset") - int femaleOffset; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -691559863 - ) - @Export("maleModel2") - int maleModel2; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -771136925 - ) - @Export("femaleModel2") - int femaleModel2; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -650184697 - ) - @Export("maleHeadModel") - int maleHeadModel; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 548044049 - ) - @Export("maleHeadModel2") - int maleHeadModel2; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 1709659237 - ) - @Export("femaleHeadModel") - int femaleHeadModel; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 106668727 - ) - @Export("femaleHeadModel2") - int femaleHeadModel2; - @ObfuscatedName("az") - @Export("countobj") - int[] countobj; - @ObfuscatedName("au") - @Export("countco") - int[] countco; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 619422509 - ) - @Export("note") - public int note; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = -2121346423 - ) - @Export("noteTemplate") - public int noteTemplate; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 69034859 - ) - @Export("resizeX") - int resizeX; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -17174497 - ) - @Export("resizeY") - int resizeY; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1395132907 - ) - @Export("resizeZ") - int resizeZ; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = 738319589 - ) - @Export("ambient") - public int ambient; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = -396977461 - ) - @Export("contrast") - public int contrast; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -1057008657 - ) - @Export("team") - public int team; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("params") - IterableNodeHashTable params; - @ObfuscatedName("bn") - @Export("isTradable") - public boolean isTradable; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = 700576005 - ) - @Export("unnotedId") - int unnotedId; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = -1969719185 - ) - @Export("notedId") - int notedId; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 807815565 - ) - @Export("placeholder") - public int placeholder; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -1854342455 - ) - @Export("placeholderTemplate") - public int placeholderTemplate; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ItemDefinition_modelArchive") + public static AbstractArchive ItemDefinition_modelArchive; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1955296431 + ) + @Export("ItemDefinition_fileCount") + public static int ItemDefinition_fileCount; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ItemDefinition_cached") + public static EvictingDualNodeHashTable ItemDefinition_cached; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ItemDefinition_cachedModels") + public static EvictingDualNodeHashTable ItemDefinition_cachedModels; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ItemDefinition_cachedSprites") + public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; + @ObfuscatedName("di") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive19") + static Archive archive19; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1125758167 + ) + @Export("id") + public int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 236850469 + ) + @Export("model") + int model; + @ObfuscatedName("y") + @Export("name") + public String name; + @ObfuscatedName("g") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("a") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("j") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("t") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 648131705 + ) + @Export("zoom2d") + public int zoom2d; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -2041418537 + ) + @Export("xan2d") + public int xan2d; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -671192963 + ) + @Export("yan2d") + public int yan2d; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 341964125 + ) + @Export("zan2d") + public int zan2d; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1318890447 + ) + @Export("offsetX2d") + public int offsetX2d; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -596274979 + ) + @Export("offsetY2d") + public int offsetY2d; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -1559472195 + ) + @Export("isStackable") + public int isStackable; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -1792947379 + ) + @Export("price") + public int price; + @ObfuscatedName("as") + @Export("isMembersOnly") + public boolean isMembersOnly; + @ObfuscatedName("aw") + @Export("groundActions") + public String[] groundActions; + @ObfuscatedName("ad") + @Export("inventoryActions") + public String[] inventoryActions; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -512213461 + ) + @Export("shiftClickIndex") + int shiftClickIndex; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1692288497 + ) + @Export("maleModel") + int maleModel; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -556087575 + ) + @Export("maleModel1") + int maleModel1; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 1912194671 + ) + @Export("maleOffset") + int maleOffset; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -146998099 + ) + @Export("femaleModel") + int femaleModel; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 2144334865 + ) + @Export("femaleModel1") + int femaleModel1; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1180133207 + ) + @Export("femaleOffset") + int femaleOffset; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -305647331 + ) + @Export("maleModel2") + int maleModel2; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -1450274431 + ) + @Export("femaleModel2") + int femaleModel2; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -1628193913 + ) + @Export("maleHeadModel") + int maleHeadModel; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -2118725777 + ) + @Export("maleHeadModel2") + int maleHeadModel2; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -625019589 + ) + @Export("femaleHeadModel") + int femaleHeadModel; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = -1334996063 + ) + @Export("femaleHeadModel2") + int femaleHeadModel2; + @ObfuscatedName("ai") + @Export("countobj") + int[] countobj; + @ObfuscatedName("ak") + @Export("countco") + int[] countco; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = -1940881747 + ) + @Export("note") + public int note; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 365521045 + ) + @Export("noteTemplate") + public int noteTemplate; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 661147087 + ) + @Export("resizeX") + int resizeX; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 518092073 + ) + @Export("resizeY") + int resizeY; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -1262249025 + ) + @Export("resizeZ") + int resizeZ; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = -736032181 + ) + @Export("ambient") + public int ambient; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = 1047757649 + ) + @Export("contrast") + public int contrast; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = -1847441921 + ) + @Export("team") + public int team; + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("params") + IterableNodeHashTable params; + @ObfuscatedName("bh") + @Export("isTradable") + public boolean isTradable; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = -1928639407 + ) + @Export("unnotedId") + int unnotedId; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 1293175459 + ) + @Export("notedId") + int notedId; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = -471389045 + ) + @Export("placeholder") + public int placeholder; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 169889369 + ) + @Export("placeholderTemplate") + public int placeholderTemplate; - 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; - } + static { + ItemDefinition_cached = new EvictingDualNodeHashTable(64); + ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); + ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1659281458" - ) - @Export("post") - void post() { - } + 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("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-781492560" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1271908540" + ) + @Export("post") + void post() { + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "-39" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1975780739" - ) - @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]; + this.decodeNext(var1, var2); + } + } - 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]; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "808674402" + ) + @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.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]; - } + 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]; - 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(); - } 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 = AbstractArchive.readStringIntParameters(var1, this.params); - } - } + 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 = WorldMapArea.readStringIntParameters(var1, this.params); + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ljv;Ljv;I)V", - garbageValue = "2051877377" - ) - @Export("genCert") - void genCert(ItemDefinition template, ItemDefinition link) { - this.model = template.model; - this.zoom2d = template.zoom2d; - this.xan2d = template.xan2d; - this.yan2d = template.yan2d; - this.zan2d = template.zan2d; - this.offsetX2d = template.offsetX2d; - this.offsetY2d = template.offsetY2d; - this.recolorFrom = template.recolorFrom; - this.recolorTo = template.recolorTo; - this.retextureFrom = template.retextureFrom; - this.retextureTo = template.retextureTo; - this.name = link.name; - this.isMembersOnly = link.isMembersOnly; - this.price = link.price; - this.isStackable = 1; - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljv;Ljv;I)V", - garbageValue = "227754762" - ) - @Export("genBought") - void genBought(ItemDefinition template, ItemDefinition link) { - this.model = template.model; - this.zoom2d = template.zoom2d; - this.xan2d = template.xan2d; - this.yan2d = template.yan2d; - this.zan2d = template.zan2d; - this.offsetX2d = template.offsetX2d; - this.offsetY2d = template.offsetY2d; - this.recolorFrom = link.recolorFrom; - this.recolorTo = link.recolorTo; - this.retextureFrom = link.retextureFrom; - this.retextureTo = link.retextureTo; - this.name = link.name; - this.isMembersOnly = link.isMembersOnly; - this.isStackable = link.isStackable; - this.maleModel = link.maleModel; - this.maleModel1 = link.maleModel1; - this.maleModel2 = link.maleModel2; - this.femaleModel = link.femaleModel; - this.femaleModel1 = link.femaleModel1; - this.femaleModel2 = link.femaleModel2; - this.maleHeadModel = link.maleHeadModel; - this.maleHeadModel2 = link.maleHeadModel2; - this.femaleHeadModel = link.femaleHeadModel; - this.femaleHeadModel2 = link.femaleHeadModel2; - this.team = link.team; - this.groundActions = link.groundActions; - this.inventoryActions = new String[5]; - if (link.inventoryActions != null) { - for (int var3 = 0; var3 < 4; ++var3) { - this.inventoryActions[var3] = link.inventoryActions[var3]; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Liq;Liq;I)V", + garbageValue = "-1452987438" + ) + @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; + } - this.inventoryActions[4] = "Discard"; - this.price = 0; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Liq;Liq;B)V", + garbageValue = "0" + ) + @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]; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljv;Ljv;I)V", - garbageValue = "2084647027" - ) - @Export("genPlaceholder") - void genPlaceholder(ItemDefinition template, ItemDefinition link) { - this.model = template.model; - this.zoom2d = template.zoom2d; - this.xan2d = template.xan2d; - this.yan2d = template.yan2d; - this.zan2d = template.zan2d; - this.offsetX2d = template.offsetX2d; - this.offsetY2d = template.offsetY2d; - this.recolorFrom = template.recolorFrom; - this.recolorTo = template.recolorTo; - this.retextureFrom = template.retextureFrom; - this.retextureTo = template.retextureTo; - this.isStackable = template.isStackable; - this.name = link.name; - this.price = 0; - this.isMembersOnly = false; - this.isTradable = false; - } + this.inventoryActions[4] = "Discard"; + this.price = 0; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)Ldw;", - garbageValue = "-223149161" - ) - public final ModelData method143(int var1) { - int var2; - if (this.countobj != null && var1 > 1) { - int var3 = -1; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Liq;Liq;B)V", + garbageValue = "109" + ) + @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; + } - for (var2 = 0; var2 < 10; ++var2) { - if (var1 >= this.countco[var2] && this.countco[var2] != 0) { - var3 = this.countobj[var2]; - } - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II)Lds;", + garbageValue = "1813353109" + ) + public final ModelData method4643(int var1) { + int var3; + if (this.countobj != null && var1 > 1) { + int var2 = -1; - if (var3 != -1) { - return Skills.getItemDefinition(var3).method143(1); - } - } + for (var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - ModelData var4 = ModelData.method2788(ItemDefinition_modelArchive, this.model, 0); - if (var4 == null) { - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var4.method215(this.resizeX, this.resizeY, this.resizeZ); - } + if (var2 != -1) { + return WorldMapArea.getItemDefinition(var2).method4643(1); + } + } - if (this.recolorFrom != null) { - for (var2 = 0; var2 < this.recolorFrom.length; ++var2) { - var4.recolor(this.recolorFrom[var2], this.recolorTo[var2]); - } - } + ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0); + if (var4 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var4.method2786(this.resizeX, this.resizeY, this.resizeZ); + } - if (this.retextureFrom != null) { - for (var2 = 0; var2 < this.retextureFrom.length; ++var2) { - var4.retexture(this.retextureFrom[var2], this.retextureTo[var2]); - } - } + if (this.recolorFrom != null) { + for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } - return var4; - } - } + if (this.retextureFrom != null) { + for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(II)Ldu;", - garbageValue = "1152916563" - ) - @Export("getModel") - public final Model getModel(int quantity) { - if (this.countobj != null && quantity > 1) { - int var2 = -1; + return var4; + } + } - for (int var3 = 0; var3 < 10; ++var3) { - if (quantity >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(II)Ldm;", + garbageValue = "-682416240" + ) + @Export("getModel") + public final Model getModel(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; - if (var2 != -1) { - return Skills.getItemDefinition(var2).getModel(1); - } - } + for (int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); - if (var5 != null) { - return var5; - } else { - ModelData var6 = ModelData.method2788(ItemDefinition_modelArchive, this.model, 0); - if (var6 == null) { - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var6.method215(this.resizeX, this.resizeY, this.resizeZ); - } + if (var2 != -1) { + return WorldMapArea.getItemDefinition(var2).getModel(1); + } + } - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } + Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); + if (var5 != null) { + return var5; + } else { + ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0); + if (var6 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var6.method2786(this.resizeX, this.resizeY, this.resizeZ); + } - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - var5 = var6.toModel(this.ambient + 64, this.contrast * 5 + 768, -50, -10, -50); - var5.isSingleTile = true; - ItemDefinition_cachedModels.put(var5, (long)this.id); - return var5; - } - } - } + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)Ljv;", - garbageValue = "0" - ) - @Export("getCountObj") - public ItemDefinition getCountObj(int quantity) { - if (this.countobj != null && quantity > 1) { - int var2 = -1; + var5 = var6.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + var5.isSingleTile = true; + ItemDefinition_cachedModels.put(var5, (long)this.id); + return var5; + } + } + } - for (int var3 = 0; var3 < 10; ++var3) { - if (quantity >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IB)Liq;", + garbageValue = "-52" + ) + @Export("getCountObj") + public ItemDefinition getCountObj(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; - if (var2 != -1) { - return Skills.getItemDefinition(var2); - } - } + for (int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - return this; - } + if (var2 != -1) { + return WorldMapArea.getItemDefinition(var2); + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(ZI)Z", - garbageValue = "-918880706" - ) - public final boolean method145(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; - } + return this; + } - if (var2 == -1) { - return true; - } else { - boolean var5 = true; - if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { - var5 = false; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ZB)Z", + garbageValue = "-66" + ) + public final boolean method4646(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 (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { - var5 = false; - } + if (var2 == -1) { + return true; + } else { + boolean var5 = true; + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var5 = false; + } - if (var4 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { - var5 = false; - } + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var5 = false; + } - return var5; - } - } + if (var4 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { + var5 = false; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ZB)Ldw;", - garbageValue = "-123" - ) - public final ModelData method146(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; - } + return var5; + } + } - if (var2 == -1) { - return null; - } else { - ModelData var5 = ModelData.method2788(ItemDefinition_modelArchive, var2, 0); - if (var3 != -1) { - ModelData var6 = ModelData.method2788(ItemDefinition_modelArchive, var3, 0); - if (var4 != -1) { - ModelData var7 = ModelData.method2788(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); - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(ZB)Lds;", + garbageValue = "36" + ) + public final ModelData method4694(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 (!var1 && this.maleOffset != 0) { - var5.method213(0, this.maleOffset, 0); - } + if (var2 == -1) { + return null; + } else { + ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0); + if (var4 != -1) { + ModelData var7 = ModelData.method2769(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.femaleOffset != 0) { - var5.method213(0, this.femaleOffset, 0); - } + if (!var1 && this.maleOffset != 0) { + var5.method2782(0, this.maleOffset, 0); + } - int var9; - if (this.recolorFrom != null) { - for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { - var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); - } - } + if (var1 && this.femaleOffset != 0) { + var5.method2782(0, this.femaleOffset, 0); + } - if (this.retextureFrom != null) { - for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { - var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); - } - } + int var9; + if (this.recolorFrom != null) { + for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } - return var5; - } - } + if (this.retextureFrom != null) { + for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(ZI)Z", - garbageValue = "-998582497" - ) - public final boolean method147(boolean var1) { - int var2 = this.maleHeadModel; - int var3 = this.maleHeadModel2; - if (var1) { - var2 = this.femaleHeadModel; - var3 = this.femaleHeadModel2; - } + return var5; + } + } - if (var2 == -1) { - return true; - } else { - boolean var4 = true; - if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { - var4 = false; - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(ZI)Z", + garbageValue = "-447503257" + ) + public final boolean method4683(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } - if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { - var4 = false; - } + if (var2 == -1) { + return true; + } else { + boolean var4 = true; + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var4 = false; + } - return var4; - } - } + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var4 = false; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ZI)Ldw;", - garbageValue = "-1820885439" - ) - public final ModelData method148(boolean var1) { - int var2 = this.maleHeadModel; - int var3 = this.maleHeadModel2; - if (var1) { - var2 = this.femaleHeadModel; - var3 = this.femaleHeadModel2; - } + return var4; + } + } - if (var2 == -1) { - return null; - } else { - ModelData var4 = ModelData.method2788(ItemDefinition_modelArchive, var2, 0); - if (var3 != -1) { - ModelData var5 = ModelData.method2788(ItemDefinition_modelArchive, var3, 0); - ModelData[] var6 = new ModelData[]{var4, var5}; - var4 = new ModelData(var6, 2); - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(ZB)Lds;", + garbageValue = "81" + ) + public final ModelData method4649(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } - int var7; - if (this.recolorFrom != null) { - for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { - var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); - } - } + if (var2 == -1) { + return null; + } else { + ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0); + ModelData[] var6 = new ModelData[]{var4, var5}; + var4 = new ModelData(var6, 2); + } - if (this.retextureFrom != null) { - for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { - var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); - } - } + int var7; + if (this.recolorFrom != null) { + for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { + var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); + } + } - return var4; - } - } + if (this.retextureFrom != null) { + for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { + var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); + } + } - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(IIS)I", - garbageValue = "8781" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var3 = this.params; - int var4; - if (var3 == null) { - var4 = var2; - } else { - IntegerNode var5 = (IntegerNode)var3.get((long)var1); - if (var5 == null) { - var4 = var2; - } else { - var4 = var5.integer; - } - } + return var4; + } + } - return var4; - } + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "-52" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + IterableNodeHashTable var4 = this.params; + int var3; + if (var4 == null) { + var3 = var2; + } else { + IntegerNode var5 = (IntegerNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = var5.integer; + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "471693065" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - return Frames.method3238(this.params, var1, var2); - } + return var3; + } - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1665022672" - ) - @Export("getShiftClickIndex") - public int getShiftClickIndex() { - return this.shiftClickIndex != -1 && this.inventoryActions != null ? (this.shiftClickIndex >= 0 ? (this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex : -1) : ("Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1)) : -1; - } + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "-204298018" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return GrandExchangeOfferWorldComparator.method54(this.params, var1, var2); + } - static { - ItemDefinition_cached = new EvictingDualNodeHashTable(64); - ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); - ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "19" + ) + @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("q") + @ObfuscatedSignature( + signature = "(CS)B", + garbageValue = "11190" + ) + @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; + } } diff --git a/runescape-client/src/main/java/IterableDualNodeQueue.java b/runescape-client/src/main/java/IterableDualNodeQueue.java index 13c4a648bf..272ae2f043 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueue.java +++ b/runescape-client/src/main/java/IterableDualNodeQueue.java @@ -4,116 +4,132 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jc") +@ObfuscatedName("jk") @Implements("IterableDualNodeQueue") public class IterableDualNodeQueue implements Iterable { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("sentinel") - public DualNode sentinel; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("head") - DualNode head; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("sentinel") + public DualNode sentinel; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("head") + DualNode head; - public IterableDualNodeQueue() { - this.sentinel = new DualNode(); - this.sentinel.previousDual = this.sentinel; - this.sentinel.nextDual = this.sentinel; - } + public IterableDualNodeQueue() { + this.sentinel = new DualNode(); + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } - @ObfuscatedName("m") - @Export("clear") - public void clear() { - while (this.sentinel.previousDual != this.sentinel) { - this.sentinel.previousDual.removeDual(); - } + @ObfuscatedName("q") + @Export("clear") + public void clear() { + while (this.sentinel.previousDual != this.sentinel) { + this.sentinel.previousDual.removeDual(); + } - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("add") - public void add(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfb;)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; - } + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; - if (var1 == this.sentinel) { - return null; - } else { - var1.removeDual(); - return var1; - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Lfb;" + ) + @Export("removeLast") + public DualNode removeLast() { + DualNode var1 = this.sentinel.previousDual; + if (var1 == this.sentinel) { + return null; + } else { + var1.removeDual(); + return var1; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("last") - public DualNode last() { - return this.previousOrLast((DualNode)null); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "()Lfb;" + ) + @Export("last") + public DualNode last() { + return this.previousOrLast((DualNode)null); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lfn;)Lfn;" - ) - @Export("previousOrLast") - DualNode previousOrLast(DualNode var1) { - DualNode var2; - if (var1 == null) { - var2 = this.sentinel.previousDual; - } else { - var2 = var1; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lfb;)Lfb;" + ) + @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; - } - } + if (var2 == this.sentinel) { + this.head = null; + return null; + } else { + this.head = var2.previousDual; + return var2; + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @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; - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Lfb;" + ) + @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); - } + public Iterator iterator() { + return new IterableDualNodeQueueIterator(this); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lfb;Lfb;)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 c2807689b3..32fc0b849b 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java +++ b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java @@ -7,58 +7,58 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("jl") @Implements("IterableDualNodeQueueIterator") public class IterableDualNodeQueueIterator implements Iterator { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ljc;" - ) - @Export("queue") - IterableDualNodeQueue queue; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("head") - DualNode head; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("last") - DualNode last; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljk;" + ) + @Export("queue") + IterableDualNodeQueue queue; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("head") + DualNode head; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfb;" + ) + @Export("last") + DualNode last; - @ObfuscatedSignature( - signature = "(Ljc;)V" - ) - IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { - this.last = null; - this.queue = var1; - this.head = this.queue.sentinel.previousDual; - this.last = null; - } + @ObfuscatedSignature( + signature = "(Ljk;)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; - } + public boolean hasNext() { + return this.queue.sentinel != this.head; + } - this.last = var1; - return var1; - } + public Object next() { + DualNode var1 = this.head; + if (var1 == this.queue.sentinel) { + var1 = null; + this.head = null; + } else { + this.head = var1.previousDual; + } - public boolean hasNext() { - return this.queue.sentinel != this.head; - } + this.last = var1; + return var1; + } - public void remove() { - if (this.last == null) { - throw new IllegalStateException(); - } else { - this.last.removeDual(); - this.last = null; - } - } + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.removeDual(); + this.last = null; + } + } } diff --git a/runescape-client/src/main/java/IterableNodeDeque.java b/runescape-client/src/main/java/IterableNodeDeque.java index ae4f8d3922..a2713e7599 100644 --- a/runescape-client/src/main/java/IterableNodeDeque.java +++ b/runescape-client/src/main/java/IterableNodeDeque.java @@ -1,142 +1,238 @@ +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("ja") +@ObfuscatedName("ju") @Implements("IterableNodeDeque") -public class IterableNodeDeque implements Iterable { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("sentinel") - Node sentinel; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("current") - Node current; +public class IterableNodeDeque implements Iterable, Collection { + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("sentinel") + Node sentinel; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfw;" + ) + Node field3538; - public IterableNodeDeque() { - this.sentinel = new Node(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } + public IterableNodeDeque() { + this.sentinel = new Node(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("m") - @Export("clear") - public void clear() { - while (this.sentinel.previous != this.sentinel) { - this.sentinel.previous.remove(); - } + @ObfuscatedName("q") + @Export("rsClear") + public void rsClear() { + while (this.sentinel.previous != this.sentinel) { + this.sentinel.previous.remove(); + } - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgw;)V" - ) - @Export("addFirst") - public void addFirst(Node node) { - if (node.next != null) { - node.remove(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } - node.next = this.sentinel.next; - node.previous = this.sentinel; - node.next.previous = node; - node.previous.next = node; - } + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgw;)V" - ) - @Export("addLast") - public void addLast(Node node) { - if (node.next != null) { - node.remove(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } - node.next = this.sentinel; - node.previous = this.sentinel.previous; - node.next.previous = node; - node.previous.next = node; - } + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @Export("last") - public Node last() { - return this.previousOrLast((Node)null); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("last") + public Node last() { + return this.method4807((Node)null); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lgw;)Lgw;" - ) - @Export("previousOrLast") - Node previousOrLast(Node node) { - Node var2; - if (node == null) { - var2 = this.sentinel.previous; - } else { - var2 = node; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lfw;)Lfw;" + ) + Node method4807(Node var1) { + Node var2; + if (var1 == null) { + var2 = this.sentinel.previous; + } else { + var2 = var1; + } - if (var2 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var2.previous; - return var2; - } - } + if (var2 == this.sentinel) { + this.field3538 = null; + return null; + } else { + this.field3538 = var2.previous; + return var2; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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("b") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("previous") + public Node previous() { + Node var1 = this.field3538; + if (var1 == this.sentinel) { + this.field3538 = null; + return null; + } else { + this.field3538 = var1.previous; + return var1; + } + } - @ObfuscatedName("l") - @Export("isEmpty") - public boolean isEmpty() { - return this.sentinel.previous == this.sentinel; - } + @ObfuscatedName("i") + int method4884() { + int var1 = 0; - public Iterator iterator() { - return new IterableNodeDequeDescendingIterator(this); - } + for (Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { + ++var1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgw;Lgw;)V" - ) - @Export("IterableNodeDeque_addBefore") - public static void IterableNodeDeque_addBefore(Node node, Node old) { - if (node.next != null) { - node.remove(); - } + return var1; + } - node.next = old; - node.previous = old.previous; - node.next.previous = node; - node.previous.next = node; - } + @ObfuscatedName("c") + @Export("isEmpty") + public boolean rsIsEmpty() { + return this.sentinel.previous == this.sentinel; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "()[Lfw;" + ) + Node[] method4811() { + Node[] var1 = new Node[this.method4884()]; + int var2 = 0; + + for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { + var1[var2++] = var3; + } + + return var1; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lfw;)Z" + ) + boolean method4847(Node var1) { + this.addFirst(var1); + return true; + } + + public void clear() { + this.rsClear(); + } + + public boolean isEmpty() { + return this.rsIsEmpty(); + } + + public boolean contains(Object var1) { + throw new RuntimeException(); + } + + public Object[] toArray() { + return this.method4811(); + } + + 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 containsAll(Collection var1) { + throw new RuntimeException(); + } + + public boolean removeAll(Collection var1) { + throw new RuntimeException(); + } + + public int hashCode() { + return super.hashCode(); + } + + public boolean addAll(Collection var1) { + throw new RuntimeException(); + } + + public int size() { + return this.method4884(); + } + + public boolean remove(Object var1) { + throw new RuntimeException(); + } + + public Iterator iterator() { + return new IterableNodeDequeDescendingIterator(this); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + public boolean retainAll(Collection var1) { + throw new RuntimeException(); + } + + public boolean add(Object var1) { + return this.method4847((Node)var1); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lfw;Lfw;)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 c0d7c1d2f8..0cc60b5504 100644 --- a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java +++ b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java @@ -4,76 +4,75 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jt") +@ObfuscatedName("jq") @Implements("IterableNodeDequeDescendingIterator") public class IterableNodeDequeDescendingIterator implements Iterator { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lja;" - ) - @Export("deque") - IterableNodeDeque deque; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("head") - Node head; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("last") - Node last; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lju;" + ) + @Export("deque") + IterableNodeDeque deque; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfw;" + ) + Node field3549; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("last") + Node last; - @ObfuscatedSignature( - signature = "(Lja;)V" - ) - IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { - this.last = null; - this.setDeque(var1); - } + @ObfuscatedSignature( + signature = "(Lju;)V" + ) + IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { + this.last = null; + this.setDeque(var1); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lja;)V" - ) - @Export("setDeque") - void setDeque(IterableNodeDeque var1) { - this.deque = var1; - this.start(); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Lju;)V" + ) + @Export("setDeque") + void setDeque(IterableNodeDeque var1) { + this.deque = var1; + this.start(); + } - @ObfuscatedName("g") - @Export("start") - void start() { - this.head = this.deque != null ? this.deque.sentinel.previous : null; - this.last = null; - } + @ObfuscatedName("i") + @Export("start") + void start() { + this.field3549 = this.deque != null ? this.deque.sentinel.previous : null; + this.last = null; + } - public boolean hasNext() { - return this.deque.sentinel != this.head; - } + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } - public Object next() { - Node var1 = this.head; - if (var1 == this.deque.sentinel) { - var1 = null; - this.head = null; - } else { - this.head = var1.previous; - } + public Object next() { + Node var1 = this.field3549; + if (var1 == this.deque.sentinel) { + var1 = null; + this.field3549 = null; + } else { + this.field3549 = var1.previous; + } - this.last = var1; - return var1; - } + 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() { + return this.deque.sentinel != this.field3549; + } } diff --git a/runescape-client/src/main/java/IterableNodeHashTable.java b/runescape-client/src/main/java/IterableNodeHashTable.java index 52704c5f7b..4a511363a9 100644 --- a/runescape-client/src/main/java/IterableNodeHashTable.java +++ b/runescape-client/src/main/java/IterableNodeHashTable.java @@ -4,141 +4,141 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lh") +@ObfuscatedName("la") @Implements("IterableNodeHashTable") public final class IterableNodeHashTable implements Iterable { - @ObfuscatedName("m") - @Export("size") - int size; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Lgw;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("current") - Node current; - @ObfuscatedName("o") - @Export("index") - int index; + @ObfuscatedName("q") + @Export("size") + int size; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lfw;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("current") + Node current; + @ObfuscatedName("k") + @Export("index") + int index; - public IterableNodeHashTable(int var1) { - this.index = 0; - this.size = var1; - this.buckets = new Node[var1]; + 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; - } + for (int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(J)Lgw;" - ) - @Export("get") - public Node get(long var1) { - Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(J)Lfw;" + ) + @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; - } - } + 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; - } + this.currentGet = null; + return null; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgw;J)V" - ) - @Export("put") - public void put(Node var1, long var2) { - if (var1.next != null) { - var1.remove(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfw;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; - } + 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("q") - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.size; ++var1) { - Node var2 = this.buckets[var1]; + @ObfuscatedName("e") + @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; - } + while (true) { + Node var3 = var2.previous; + if (var3 == var2) { + break; + } - var3.remove(); - } - } + var3.remove(); + } + } - this.currentGet = null; - this.current = null; - } + this.currentGet = null; + this.current = null; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @Export("first") - public Node first() { - this.index = 0; - return this.next(); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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]); + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); - this.current = var1.previous; - return var1; - } - } + this.current = var1.previous; + return var1; + } + } - public Iterator iterator() { - return new IterableNodeHashTableIterator(this); - } + 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 9b6cd186b4..8e327771fa 100644 --- a/runescape-client/src/main/java/IterableNodeHashTableIterator.java +++ b/runescape-client/src/main/java/IterableNodeHashTableIterator.java @@ -4,93 +4,93 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lk") +@ObfuscatedName("lg") @Implements("IterableNodeHashTableIterator") public class IterableNodeHashTableIterator implements Iterator { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("head") - Node head; - @ObfuscatedName("q") - @Export("index") - int index; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("last") - Node last; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("head") + Node head; + @ObfuscatedName("e") + @Export("index") + int index; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("last") + Node last; - @ObfuscatedSignature( - signature = "(Llh;)V" - ) - IterableNodeHashTableIterator(IterableNodeHashTable var1) { - this.last = null; - this.hashTable = var1; - this.start(); - } + @ObfuscatedSignature( + signature = "(Lla;)V" + ) + IterableNodeHashTableIterator(IterableNodeHashTable var1) { + this.last = null; + this.hashTable = var1; + this.start(); + } - @ObfuscatedName("u") - @Export("start") - void start() { - this.head = this.hashTable.buckets[0].previous; - this.index = 1; - this.last = null; - } + @ObfuscatedName("b") + @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; - } + 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; + } - var1 = this.hashTable.buckets[this.index++].previous; - } while(var1 == this.hashTable.buckets[this.index - 1]); + this.head = this.hashTable.buckets[this.index - 1]; + } - this.head = var1.previous; - this.last = var1; - return var1; - } - } + return false; + } + } - 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; - } + 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; + } - this.head = this.hashTable.buckets[this.index - 1]; - } + var1 = this.hashTable.buckets[this.index++].previous; + } while(var1 == this.hashTable.buckets[this.index - 1]); - return false; - } - } + 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 void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } } diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 06c8574c76..8f3055723a 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -2,241 +2,224 @@ 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; -@ObfuscatedName("an") +@ObfuscatedName("ai") @Implements("KeyHandler") public final class KeyHandler implements KeyListener, FocusListener { - @ObfuscatedName("ra") - @ObfuscatedGetter( - intValue = -817957995 - ) - static int field445; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lan;" - ) - @Export("KeyHandler_instance") - public static KeyHandler KeyHandler_instance; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("title_muteSprite") - static IndexedSprite[] title_muteSprite; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("options_buttons_6Sprite") - static IndexedSprite options_buttons_6Sprite; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Llx;" - ) - @Export("loginType") - static LoginType loginType; - @ObfuscatedName("cb") - @Export("KeyHandler_pressedKeys") - public static boolean[] KeyHandler_pressedKeys; - @ObfuscatedName("cq") - static int[] field446; - @ObfuscatedName("ch") - @ObfuscatedGetter( - intValue = 1112094745 - ) - static int field447; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = -1208053825 - ) - static int field448; - @ObfuscatedName("cg") - static char[] field449; - @ObfuscatedName("cf") - static int[] field450; - @ObfuscatedName("cp") - public static int[] field451; - @ObfuscatedName("cl") - @ObfuscatedGetter( - intValue = -674534717 - ) - public static int field452; - @ObfuscatedName("ct") - @ObfuscatedGetter( - intValue = -93280591 - ) - static int field453; - @ObfuscatedName("cz") - @ObfuscatedGetter( - intValue = 2066759739 - ) - static int field454; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = -1942898885 - ) - static int field455; - @ObfuscatedName("ci") - @ObfuscatedGetter( - intValue = -474146073 - ) - @Export("KeyHandler_idleCycles") - public static volatile int KeyHandler_idleCycles; - @ObfuscatedName("cd") - @Export("KeyHandler_keyCodes") - static int[] KeyHandler_keyCodes; - @ObfuscatedName("gx") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("crossSprites") - static Sprite[] crossSprites; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lai;" + ) + @Export("KeyHandler_instance") + public static KeyHandler KeyHandler_instance; + @ObfuscatedName("cp") + @Export("KeyHandler_pressedKeys") + public static boolean[] KeyHandler_pressedKeys; + @ObfuscatedName("cw") + public static int[] field391; + @ObfuscatedName("ca") + @ObfuscatedGetter( + intValue = 1600715529 + ) + public static int field388; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -957146255 + ) + public static int field398; + @ObfuscatedName("cx") + static char[] field399; + @ObfuscatedName("cu") + static int[] field400; + @ObfuscatedName("cs") + public static int[] field401; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = 1304098679 + ) + public static int field386; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = -1704948479 + ) + public static int field396; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = 1813513045 + ) + public static int field404; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = 1799937551 + ) + public static int field385; + @ObfuscatedName("cm") + @ObfuscatedGetter( + intValue = -1118160033 + ) + @Export("KeyHandler_idleCycles") + public static volatile int KeyHandler_idleCycles; + @ObfuscatedName("ck") + @Export("KeyHandler_keyCodes") + static int[] KeyHandler_keyCodes; - 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; - } + static { + KeyHandler_instance = new KeyHandler(); + KeyHandler_pressedKeys = new boolean[112]; + field391 = new int[128]; + field388 = 0; + field398 = 0; + field399 = new char[128]; + field400 = new int[128]; + field401 = new int[128]; + field386 = 0; + field396 = 0; + field404 = 0; + field385 = 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}; + } - if (field448 >= 0 && var2 >= 0) { - field446[field448] = var2; - field448 = field448 + 1 & 127; - if (field447 == field448) { - field448 = -1; - } - } + KeyHandler() { + } - int var3; - if (var2 >= 0) { - var3 = field454 + 1 & 127; - if (var3 != field453) { - field450[field454] = var2; - field449[field454] = 0; - field454 = var3; - } - } + 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; + } - var3 = var1.getModifiers(); - if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { - var1.consume(); - } - } + if (field398 >= 0 && var2 >= 0) { + field391[field398] = var2; + field398 = field398 + 1 & 127; + if (field398 == field388) { + field398 = -1; + } + } - } + int var3; + if (var2 >= 0) { + var3 = field404 + 1 & 127; + if (var3 != field396) { + field400[field404] = var2; + field399[field404] = 0; + field404 = var3; + } + } - public final void focusGained(FocusEvent var1) { - } + var3 = var1.getModifiers(); + if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { + var1.consume(); + } + } - public final synchronized void focusLost(FocusEvent var1) { - if (KeyHandler_instance != null) { - field448 = -1; - } + } - } + 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; + } - 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 (field398 >= 0 && var2 >= 0) { + field391[field398] = ~var2; + field398 = field398 + 1 & 127; + if (field388 == field398) { + field398 = -1; + } + } + } - if (field448 >= 0 && var2 >= 0) { - field446[field448] = ~var2; - field448 = field448 + 1 & 127; - if (field447 == field448) { - field448 = -1; - } - } - } + var1.consume(); + } - var1.consume(); - } + public final void focusGained(FocusEvent var1) { + } - public final void keyTyped(KeyEvent var1) { - if (KeyHandler_instance != null) { - char var2 = var1.getKeyChar(); - if (var2 != 0 && var2 != '\uffff') { - boolean var3; - if (var2 > 0 && var2 < 128 || var2 >= 160 && var2 <= 255) { - var3 = true; - } else { - label56: { - if (var2 != 0) { - char[] var4 = class304.cp1252AsciiExtension; + public final synchronized void focusLost(FocusEvent var1) { + if (KeyHandler_instance != null) { + field398 = -1; + } - for (int var5 = 0; var5 < var4.length; ++var5) { - char var6 = var4[var5]; - if (var2 == var6) { - var3 = true; - break label56; - } - } - } + } - var3 = false; - } - } + public final void keyTyped(KeyEvent var1) { + if (KeyHandler_instance != null) { + char var2 = var1.getKeyChar(); + if (var2 != 0 && var2 != '\uffff' && VarpDefinition.method4366(var2)) { + int var3 = field404 + 1 & 127; + if (var3 != field396) { + field400[field404] = -1; + field399[field404] = var2; + field404 = var3; + } + } + } - if (var3) { - int var7 = field454 + 1 & 127; - if (var7 != field453) { - field450[field454] = -1; - field449[field454] = var2; - field454 = var7; - } - } - } - } + var1.consume(); + } - var1.consume(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;I)V", + garbageValue = "-939658474" + ) + public static void method794(AbstractArchive var0) { + ParamDefinition.ParamDefinition_archive = var0; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-345222494" - ) - @Export("getChatMessagesAsString") - static String getChatMessagesAsString() { - String var0 = ""; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "337917094" + ) + static void method787() { + Tiles.field504 = null; + Tiles.field505 = null; + Tiles.field506 = null; + class268.field3561 = null; + FaceNormal.field1887 = null; + class32.field282 = null; + Tiles.field515 = null; + ServerBuild.field3103 = null; + Tiles.field508 = null; + Tiles.field507 = null; + DynamicObject.field1301 = null; + Fonts.field3689 = null; + } - Message var1; - for (Iterator var2 = Messages.Messages_hashTable.iterator(); var2.hasNext(); var0 = var0 + var1.sender + ':' + var1.text + '\n') { - var1 = (Message)var2.next(); - } + @ObfuscatedName("fa") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2003037366" + ) + static final void method801() { + if (GrandExchangeEvent.field49) { + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.sort(); + } - return var0; - } + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsInClanChat(); + } - static { - KeyHandler_instance = new KeyHandler(); - KeyHandler_pressedKeys = new boolean[112]; - field446 = new int[128]; - field447 = 0; - field448 = 0; - field449 = new char[128]; - field450 = new int[128]; - field451 = new int[128]; - field452 = 0; - field453 = 0; - field454 = 0; - field455 = 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}; - } + GrandExchangeEvent.field49 = false; + } + + } } diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index a75228956a..3157f0e4c4 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -7,263 +7,329 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("im") @Implements("KitDefinition") public class KitDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("KitDefinition_archive") - public static AbstractArchive KitDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("KitDefinition_modelsArchive") - public static AbstractArchive KitDefinition_modelsArchive; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 235389995 - ) - @Export("KitDefinition_fileCount") - public static int KitDefinition_fileCount; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("KitDefinition_cached") - static EvictingDualNodeHashTable KitDefinition_cached; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1619779051 - ) - @Export("bodypartID") - public int bodypartID; - @ObfuscatedName("u") - @Export("models2") - int[] models2; - @ObfuscatedName("g") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("l") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("e") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("x") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("d") - @Export("models") - int[] models; - @ObfuscatedName("k") - @Export("nonSelectable") - public boolean nonSelectable; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("KitDefinition_archive") + static AbstractArchive KitDefinition_archive; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -2099754999 + ) + @Export("KitDefinition_fileCount") + public static int KitDefinition_fileCount; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("KitDefinition_cached") + public static EvictingDualNodeHashTable KitDefinition_cached; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 603181695 + ) + @Export("bodypartID") + public int bodypartID; + @ObfuscatedName("l") + @Export("models2") + int[] models2; + @ObfuscatedName("b") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("i") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("c") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("f") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("m") + @Export("models") + int[] models; + @ObfuscatedName("u") + @Export("nonSelectable") + public boolean nonSelectable; - KitDefinition() { - this.bodypartID = -1; - this.models = new int[]{-1, -1, -1, -1, -1}; - this.nonSelectable = false; - } + static { + KitDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;S)V", - garbageValue = "22753" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + KitDefinition() { + this.bodypartID = -1; + this.models = new int[]{-1, -1, -1, -1, -1}; + this.nonSelectable = false; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "517161236" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1828581673" - ) - @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]; + this.decodeNext(var1, var2); + } + } - 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]; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1946344058" + ) + @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.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.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.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 >= 60 && var2 < 70) { - this.models[var2 - 60] = var1.readUnsignedShort(); - } - } + 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("w") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1250940659" - ) - @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; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1807295410" + ) + @Export("ready") + public boolean ready() { + if (this.models2 == null) { + return true; + } else { + boolean var1 = true; - return var1; - } - } + for (int var2 = 0; var2 < this.models2.length; ++var2) { + if (!class288.KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { + var1 = false; + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)Ldw;", - garbageValue = "0" - ) - @Export("getModelData") - public ModelData getModelData() { - if (this.models2 == null) { - return null; - } else { - ModelData[] var1 = new ModelData[this.models2.length]; + return var1; + } + } - for (int var2 = 0; var2 < this.models2.length; ++var2) { - var1[var2] = ModelData.method2788(KitDefinition_modelsArchive, this.models2[var2], 0); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)Lds;", + garbageValue = "-1043358409" + ) + @Export("getModelData") + public ModelData getModelData() { + if (this.models2 == null) { + return null; + } else { + ModelData[] var1 = new ModelData[this.models2.length]; - ModelData var4; - if (var1.length == 1) { - var4 = var1[0]; - } else { - var4 = new ModelData(var1, var1.length); - } + for (int var2 = 0; var2 < this.models2.length; ++var2) { + var1[var2] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models2[var2], 0); + } - int var3; - if (this.recolorFrom != null) { - for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { - var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); - } - } + ModelData var4; + if (var1.length == 1) { + var4 = var1[0]; + } else { + var4 = new ModelData(var1, var1.length); + } - if (this.retextureFrom != null) { - for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { - var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); - } - } + int var3; + if (this.recolorFrom != null) { + for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } - return var4; - } - } + if (this.retextureFrom != null) { + for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "742548471" - ) - public boolean method161() { - boolean var1 = true; + return var4; + } + } - for (int var2 = 0; var2 < 5; ++var2) { - if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { - var1 = false; - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1439364369" + ) + public boolean method4445() { + boolean var1 = true; - return var1; - } + for (int var2 = 0; var2 < 5; ++var2) { + if (this.models[var2] != -1 && !class288.KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { + var1 = false; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)Ldw;", - garbageValue = "-56" - ) - public ModelData method162() { - ModelData[] var1 = new ModelData[5]; - int var2 = 0; + return var1; + } - for (int var3 = 0; var3 < 5; ++var3) { - if (this.models[var3] != -1) { - var1[var2++] = ModelData.method2788(KitDefinition_modelsArchive, this.models[var3], 0); - } - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)Lds;", + garbageValue = "-27" + ) + public ModelData method4441() { + ModelData[] var1 = new ModelData[5]; + int var2 = 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]); - } - } + for (int var3 = 0; var3 < 5; ++var3) { + if (this.models[var3] != -1) { + var1[var2++] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models[var3], 0); + } + } - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } + 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]); + } + } - return var5; - } + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/String;", - garbageValue = "-1225602201" - ) - public static String method4866(Buffer var0) { - String var1; - try { - int var2 = var0.readUShortSmart(); - if (var2 > 32767) { - var2 = 32767; - } + return var5; + } - byte[] var3 = new byte[var2]; - var0.index += class303.huffman.decompress(var0.array, var0.index, var3, 0, var2); - String var4 = InterfaceParent.decodeStringCp1252(var3, 0, var2); - var1 = var4; - } catch (Exception var5) { - var1 = "Cabbage"; - } + @ObfuscatedName("fn") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1752614077" + ) + static final void method4461() { + 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; + } - return var1; - } + int[] var13 = Client.queuedSoundEffectDelays; + var13[var0] += var9.calculateDelay(); + Client.soundEffects[var0] = var9; + } - static { - KitDefinition_cached = new EvictingDualNodeHashTable(64); - } + 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 - Client.localPlayer.x; + if (var5 < 0) { + var5 = -var5; + } + + int var6 = Client.soundLocations[var0] >> 8 & 255; + int var7 = var6 * 128 + 64 - Client.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.field892 / var3; + } else { + var2 = Client.soundEffectVolume; + } + + if (var2 > 0) { + RawSound var10 = var9.toRawSound().resample(AttackOption.decimator); + RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2); + var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); + SecureRandomCallable.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.field699) { + boolean var12; + if (class197.field2402 != 0) { + var12 = true; + } else { + var12 = Interpreter.midiPcmStream.isReady(); + } + + if (!var12) { + if (Client.field911 != 0 && Client.field889 != -1) { + class169.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false); + } + + Client.field699 = false; + } + } + + } } diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index 9188f48e90..09a46240a2 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -3,31 +3,30 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gh") +@ObfuscatedName("fq") @Implements("Link") public class Link { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgh;" - ) - @Export("previous") - public Link previous; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgh;" - ) - @Export("next") - public Link next; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfq;" + ) + @Export("previous") + public Link previous; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfq;" + ) + @Export("next") + public Link next; - @ObfuscatedName("m") - @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("q") + @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 a4007be90b..8e792772d1 100644 --- a/runescape-client/src/main/java/LinkDeque.java +++ b/runescape-client/src/main/java/LinkDeque.java @@ -3,73 +3,73 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jy") +@ObfuscatedName("je") @Implements("LinkDeque") public class LinkDeque { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgh;" - ) - @Export("sentinel") - Link sentinel; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgh;" - ) - @Export("current") - Link current; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfq;" + ) + @Export("sentinel") + Link sentinel; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfq;" + ) + @Export("current") + Link current; - public LinkDeque() { - this.sentinel = new Link(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } + public LinkDeque() { + this.sentinel = new Link(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgh;)V" - ) - @Export("addFirst") - public void addFirst(Link var1) { - if (var1.next != null) { - var1.remove(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lfq;)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; - } + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "()Lgh;" - ) - @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("w") + @ObfuscatedSignature( + signature = "()Lfq;" + ) + @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("q") - @ObfuscatedSignature( - signature = "()Lgh;" - ) - @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; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "()Lfq;" + ) + @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 e36bc22132..32457a8bfe 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -5,236 +5,170 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cu") +@ObfuscatedName("cq") @Implements("Login") public class Login { - @ObfuscatedName("f") - static boolean field465; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1606541885 - ) - @Export("xPadding") - static int xPadding; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("titleboxSprite") - static IndexedSprite titleboxSprite; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("leftTitleSprite") - static Sprite leftTitleSprite; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -184301597 - ) - @Export("pcmPlayerCount") - static int pcmPlayerCount; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("options_buttons_0Sprite") - static IndexedSprite options_buttons_0Sprite; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 932541923 - ) - @Export("loginBoxX") - static int loginBoxX; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -504870061 - ) - @Export("Login_loadingPercent") - static int Login_loadingPercent; - @ObfuscatedName("c") - @Export("Login_loadingText") - static String Login_loadingText; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1077910071 - ) - static int field466; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = 1677133239 - ) - static int field467; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 1861681835 - ) - @Export("loginIndex") - static int loginIndex; - @ObfuscatedName("al") - @Export("Login_response0") - static String Login_response0; - @ObfuscatedName("ab") - @Export("Login_response1") - static String Login_response1; - @ObfuscatedName("ae") - @Export("Login_response2") - static String Login_response2; - @ObfuscatedName("at") - @Export("Login_response3") - static String Login_response3; - @ObfuscatedName("ad") - @Export("Login_username") - static String Login_username; - @ObfuscatedName("ap") - @Export("Login_password") - static String Login_password; - @ObfuscatedName("aa") - static boolean field468; - @ObfuscatedName("ax") - static boolean field469; - @ObfuscatedName("ai") - @Export("otp") - static String otp; - @ObfuscatedName("ba") - static boolean field470; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = 1769484271 - ) - @Export("currentLoginField") - static int currentLoginField; - @ObfuscatedName("bk") - @Export("worldSelectOpen") - static boolean worldSelectOpen; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = 1431381579 - ) - @Export("hoveredWorldIndex") - static int hoveredWorldIndex; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = -376233039 - ) - @Export("worldSelectPage") - static int worldSelectPage; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = 1548722671 - ) - @Export("worldSelectPagesCount") - static int worldSelectPagesCount; - @ObfuscatedName("bi") - @ObfuscatedGetter( - longValue = 803647694904294325L - ) - static long field471; - @ObfuscatedName("bz") - @ObfuscatedGetter( - longValue = -3234258972092460093L - ) - static long field472; - @ObfuscatedName("do") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive11") - static Archive archive11; + @ObfuscatedName("w") + static boolean field1179; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -581394193 + ) + @Export("xPadding") + static int xPadding; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("runesSprite") + static IndexedSprite[] runesSprite; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("titleboxSprite") + static IndexedSprite titleboxSprite; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("title_muteSprite") + static IndexedSprite[] title_muteSprite; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("options_buttons_0Sprite") + static IndexedSprite options_buttons_0Sprite; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Llx;" + ) + static IndexedSprite field1185; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1807280197 + ) + @Export("loginBoxX") + static int loginBoxX; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 779254255 + ) + @Export("Login_loadingPercent") + static int Login_loadingPercent; + @ObfuscatedName("n") + @Export("Login_loadingText") + static String Login_loadingText; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -642459289 + ) + static int field1182; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -2013151801 + ) + static int field1212; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 2026223077 + ) + @Export("loginIndex") + static int loginIndex; + @ObfuscatedName("aj") + @Export("Login_response0") + static String Login_response0; + @ObfuscatedName("at") + @Export("Login_response1") + static String Login_response1; + @ObfuscatedName("ac") + @Export("Login_response2") + static String Login_response2; + @ObfuscatedName("ap") + @Export("Login_response3") + static String Login_response3; + @ObfuscatedName("aq") + @Export("Login_username") + static String Login_username; + @ObfuscatedName("aa") + @Export("Login_password") + static String Login_password; + @ObfuscatedName("ay") + static boolean field1199; + @ObfuscatedName("af") + static boolean field1184; + @ObfuscatedName("bz") + static boolean field1201; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = 59123185 + ) + @Export("currentLoginField") + static int currentLoginField; + @ObfuscatedName("bn") + @Export("worldSelectOpen") + static boolean worldSelectOpen; + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("worldSelectLeftSprite") + static IndexedSprite worldSelectLeftSprite; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = 1090438369 + ) + @Export("hoveredWorldIndex") + static int hoveredWorldIndex; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = -2109532815 + ) + @Export("worldSelectPage") + static int worldSelectPage; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = -1875714111 + ) + @Export("worldSelectPagesCount") + static int worldSelectPagesCount; + @ObfuscatedName("bq") + @ObfuscatedGetter( + longValue = 7221732976161775211L + ) + static long field1193; + @ObfuscatedName("bu") + @ObfuscatedGetter( + longValue = -1649813103700171861L + ) + static long field1211; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;II)Lhl;", - garbageValue = "-1625685874" - ) - static MusicPatch method2045(AbstractArchive var0, int var1) { - byte[] var2 = var0.takeFileFlat(var1); - return var2 == null ? null : new MusicPatch(var2); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-246495141" - ) - static void method2056() { - class248.field1141 = new int[2000]; - int var0 = 0; - int var1 = 240; - - int var2; - for (byte var3 = 12; var0 < 16; var1 -= var3) { - var2 = class277.method5355((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)((float)var0 * 0.425F / 16.0F + 0.075F)); - class248.field1141[var0] = var2; - ++var0; - } - - var1 = 48; - - for (int var5 = var1 / 6; var0 < class248.field1141.length; var1 -= var5) { - var2 = var0 * 2; - - for (int var4 = class277.method5355((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var2 && var0 < class248.field1141.length; ++var0) { - class248.field1141[var0] = var4; - } - } - - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lir;IIIZB)V", - garbageValue = "45" - ) - public static void method2076(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { - class214.field1129 = 1; - class214.musicTrackArchive = var0; - class30.musicTrackGroupId = var1; - GrandExchangeOffer.musicTrackFileId = var2; - WorldMapLabel.field1039 = var3; - RectangleMode.musicTrackBoolean = var4; - FaceNormal.field344 = 10000; - } - - @ObfuscatedName("gm") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-1" - ) - static final int method2061() { - if (ReflectionCheck.clientPreferences.roofsHidden) { - return SoundSystem.plane; - } else { - int var0 = class32.getTileHeight(WorldMapSection2.cameraX, GrandExchangeOfferNameComparator.cameraZ, SoundSystem.plane); - return var0 - GrandExchangeEvents.cameraY < 800 && (Tiles.Tiles_renderFlags[SoundSystem.plane][WorldMapSection2.cameraX >> 7][GrandExchangeOfferNameComparator.cameraZ >> 7] & 4) != 0 ? SoundSystem.plane : 3; - } - } - - static { - xPadding = 0; - loginBoxX = xPadding + 202; - Login_loadingPercent = 10; - Login_loadingText = ""; - field466 = -1; - field467 = 1; - loginIndex = 0; - Login_response0 = ""; - Login_response1 = ""; - Login_response2 = ""; - Login_response3 = ""; - Login_username = ""; - Login_password = ""; - field468 = false; - field469 = false; - field470 = true; - currentLoginField = 0; - worldSelectOpen = false; - hoveredWorldIndex = -1; - worldSelectPage = 0; - worldSelectPagesCount = 0; - new DecimalFormat("##0.00"); - new class161(); - field471 = -1L; - field472 = -1L; - } + static { + xPadding = 0; + loginBoxX = xPadding + 202; + Login_loadingPercent = 10; + Login_loadingText = ""; + field1182 = -1; + field1212 = 1; + loginIndex = 0; + Login_response0 = ""; + Login_response1 = ""; + Login_response2 = ""; + Login_response3 = ""; + Login_username = ""; + Login_password = ""; + field1199 = false; + field1184 = false; + field1201 = true; + currentLoginField = 0; + worldSelectOpen = false; + hoveredWorldIndex = -1; + worldSelectPage = 0; + worldSelectPagesCount = 0; + new DecimalFormat("##0.00"); + new class162(); + field1193 = -1L; + field1211 = -1L; + } } diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index 1c26096efc..4ce2155ba5 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -1,113 +1,83 @@ -import java.io.File; -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("gl") +@ObfuscatedName("gh") @Implements("LoginPacket") -public class LoginPacket implements ClientPacketMarker { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgl;" - ) - public static final LoginPacket field473; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgl;" - ) - static final LoginPacket field474; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgl;" - ) - public static final LoginPacket field475; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgl;" - ) - public static final LoginPacket field476; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lgl;" - ) - static final LoginPacket field477; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "[Lgl;" - ) - @Export("LoginPacket_indexedValues") - static final LoginPacket[] LoginPacket_indexedValues; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1743806243 - ) - @Export("id") - public final int id; +public class LoginPacket implements class181 { + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgh;" + ) + public static final LoginPacket field2306; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgh;" + ) + static final LoginPacket field2307; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgh;" + ) + public static final LoginPacket field2308; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgh;" + ) + public static final LoginPacket field2311; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgh;" + ) + static final LoginPacket field2310; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "[Lgh;" + ) + @Export("LoginPacket_indexedValues") + static final LoginPacket[] LoginPacket_indexedValues; + @ObfuscatedName("a") + static String[] field2309; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1829786709 + ) + @Export("id") + public final int id; - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "0" - ) - LoginPacket(int var1, int var2) { - this.id = var1; - } + static { + field2306 = new LoginPacket(14, 0); + field2307 = new LoginPacket(15, 4); + field2308 = new LoginPacket(16, -2); + field2311 = new LoginPacket(18, -2); + field2310 = new LoginPacket(27, 0); + LoginPacket_indexedValues = new LoginPacket[32]; + LoginPacket[] var0 = new LoginPacket[]{field2310, field2306, field2308, field2311, field2307}; + LoginPacket[] var1 = var0; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;ZS)Ldk;", - garbageValue = "15345" - ) - @Export("getPreferencesFile") - public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { - File var3 = new File(class168.field1115, "preferences" + var0 + ".dat"); - if (var3.exists()) { - try { - AccessFile var11 = new AccessFile(var3, "rw", 10000L); - return var11; - } catch (IOException var10) { - } - } + for (int var2 = 0; var2 < var1.length; ++var2) { + LoginPacket_indexedValues[var1[var2].id] = var1[var2]; + } - String var4 = ""; - if (PacketBuffer.field667 == 33) { - var4 = "_rc"; - } else if (PacketBuffer.field667 == 34) { - var4 = "_wip"; - } + } - File var5 = new File(WorldMapSection2.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); - AccessFile var6; - if (!var2 && var5.exists()) { - try { - var6 = new AccessFile(var5, "rw", 10000L); - return var6; - } catch (IOException var9) { - } - } + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "0" + ) + LoginPacket(int var1, int var2) { + this.id = var1; + } - try { - var6 = new AccessFile(var3, "rw", 10000L); - return var6; - } catch (IOException var8) { - throw new RuntimeException(); - } - } - - static { - field473 = new LoginPacket(14, 0); - field474 = new LoginPacket(15, 4); - field475 = new LoginPacket(16, -2); - field476 = new LoginPacket(18, -2); - field477 = new LoginPacket(27, 0); - LoginPacket_indexedValues = new LoginPacket[32]; - LoginPacket[] var0 = WorldMapIcon2.LoginPacket_values(); - - for (int var1 = 0; var1 < var0.length; ++var1) { - LoginPacket_indexedValues[var0[var1].id] = var0[var1]; - } - - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lbb;B)V", + garbageValue = "-119" + ) + @Export("runScriptEvent") + public static void runScriptEvent(ScriptEvent var0) { + class96.runScript(var0, 500000); + } } diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index 5cab5736f9..07ebc31dd3 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -1,642 +1,541 @@ -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("bp") +@ObfuscatedName("br") @Implements("LoginScreenAnimation") public class LoginScreenAnimation { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("sprites") - IndexedSprite[] sprites; - @ObfuscatedName("g") - int[] field1015; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 475300985 - ) - int field1008; - @ObfuscatedName("e") - int[] field1013; - @ObfuscatedName("x") - int[] field1006; - @ObfuscatedName("d") - int[] field1007; - @ObfuscatedName("k") - int[] field1014; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 521751567 - ) - int field1009; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 486426941 - ) - int field1005; - @ObfuscatedName("a") - int[] field1011; - @ObfuscatedName("z") - int[] field1012; - @ObfuscatedName("j") - int[] field1004; - @ObfuscatedName("s") - int[] field1018; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 242237475 - ) - int field1010; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -422060935 - ) - int field1016; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1072107507 - ) - int field1017; - - @ObfuscatedSignature( - signature = "([Llq;)V" - ) - LoginScreenAnimation(IndexedSprite[] var1) { - this.field1015 = new int[256]; - this.field1008 = 0; - this.field1009 = 0; - this.field1005 = 0; - this.field1010 = 0; - this.field1016 = 0; - this.field1017 = 0; - this.sprites = var1; - this.method1772(); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1987616827" - ) - void method1772() { - this.field1006 = new int[256]; - - int var1; - for (var1 = 0; var1 < 64; ++var1) { - this.field1006[var1] = var1 * 262144; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1006[var1 + 64] = var1 * 1024 + 16711680; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1006[var1 + 128] = var1 * 4 + 16776960; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1006[var1 + 192] = 16777215; - } - - this.field1007 = new int[256]; - - for (var1 = 0; var1 < 64; ++var1) { - this.field1007[var1] = var1 * 1024; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1007[var1 + 64] = var1 * 4 + 65280; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1007[var1 + 128] = var1 * 262144 + 65535; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1007[var1 + 192] = 16777215; - } - - this.field1014 = new int[256]; - - for (var1 = 0; var1 < 64; ++var1) { - this.field1014[var1] = var1 * 4; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1014[var1 + 64] = var1 * 262144 + 255; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1014[var1 + 128] = var1 * 1024 + 16711935; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1014[var1 + 192] = 16777215; - } - - this.field1013 = new int[256]; - this.field1010 = 0; - this.field1004 = new int[32768]; - this.field1018 = new int[32768]; - this.method1779((IndexedSprite)null); - this.field1011 = new int[32768]; - this.field1012 = new int[32768]; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1269720175" - ) - void method1762() { - this.field1006 = null; - this.field1007 = null; - this.field1014 = null; - this.field1013 = null; - this.field1004 = null; - this.field1018 = null; - this.field1011 = null; - this.field1012 = null; - this.field1010 = 0; - this.field1016 = 0; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1684910110" - ) - void method1782(int var1, int var2) { - if (this.field1011 == null) { - this.method1772(); - } - - if (this.field1017 == 0) { - this.field1017 = var2; - } - - int var3 = var2 - this.field1017; - if (var3 >= 256) { - var3 = 0; - } - - this.field1017 = var2; - if (var3 > 0) { - this.method1791(var3); - } - - this.method1787(var1); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "115" - ) - final void method1791(int var1) { - this.field1010 += var1 * 128; - int var2; - if (this.field1010 > this.field1004.length) { - this.field1010 -= this.field1004.length; - var2 = (int)(Math.random() * 12.0D); - this.method1779(this.sprites[var2]); - } - - var2 = 0; - int var3 = var1 * 128; - int var4 = (256 - var1) * 128; - - int var5; - for (int var6 = 0; var6 < var4; ++var6) { - var5 = this.field1011[var3 + var2] - this.field1004[var2 + this.field1010 & this.field1004.length - 1] * var1 / 6; - if (var5 < 0) { - var5 = 0; - } - - this.field1011[var2++] = var5; - } - - byte var15 = 10; - var5 = 128 - var15; - - int var7; - int var8; - for (var7 = 256 - var1; var7 < 256; ++var7) { - int var9 = var7 * 128; - - for (int var10 = 0; var10 < 128; ++var10) { - var8 = (int)(Math.random() * 100.0D); - if (var8 < 50 && var10 > var15 && var10 < var5) { - this.field1011[var10 + var9] = 255; - } else { - this.field1011[var10 + var9] = 0; - } - } - } - - if (this.field1009 > 0) { - this.field1009 -= var1 * 4; - } - - if (this.field1005 > 0) { - this.field1005 -= var1 * 4; - } - - if (this.field1009 == 0 && this.field1005 == 0) { - var7 = (int)(Math.random() * (double)(2000 / var1)); - if (var7 == 0) { - this.field1009 = 1024; - } - - if (var7 == 1) { - this.field1005 = 1024; - } - } - - for (var7 = 0; var7 < 256 - var1; ++var7) { - this.field1015[var7] = this.field1015[var7 + var1]; - } - - for (var7 = 256 - var1; var7 < 256; ++var7) { - this.field1015[var7] = (int)(Math.sin((double)this.field1008 / 14.0D) * 16.0D + Math.sin((double)this.field1008 / 15.0D) * 14.0D + Math.sin((double)this.field1008 / 16.0D) * 12.0D); - ++this.field1008; - } - - this.field1016 += var1; - var7 = ((Client.cycle & 1) + var1) / 2; - if (var7 > 0) { - short var16 = 128; - byte var17 = 2; - var8 = 128 - var17 - var17; - - int var11; - int var12; - int var13; - for (var11 = 0; var11 < this.field1016 * 100; ++var11) { - var12 = (int)(Math.random() * (double)var8) + var17; - var13 = (int)(Math.random() * (double)var16) + var16; - this.field1011[var12 + (var13 << 7)] = 192; - } - - this.field1016 = 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.field1011[var7 + var14 + var13]; - } - - if (var14 - (var7 + 1) >= 0) { - var12 -= this.field1011[var14 + var13 - (var7 + 1)]; - } - - if (var14 >= 0) { - this.field1012[var14 + var13] = 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.field1012[var14 + var11 + var7 * 128]; - } - - if (var13 - (var7 + 1) >= 0) { - var12 -= this.field1012[var11 + var14 - (var7 + 1) * 128]; - } - - if (var13 >= 0) { - this.field1011[var11 + var14] = var12 / (var7 * 2 + 1); - } - } - } - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "1964326152" - ) - final int method1765(int var1, int var2, int var3) { - int var4 = 256 - var3; - return (var4 * (var1 & 65280) + var3 * (var2 & 65280) & 16711680) + (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) >> 8; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2128815315" - ) - final void method1787(int var1) { - int var2 = this.field1013.length; - if (this.field1009 > 0) { - this.method1766(this.field1009, this.field1007); - } else if (this.field1005 > 0) { - this.method1766(this.field1005, this.field1014); - } else { - for (int var3 = 0; var3 < var2; ++var3) { - this.field1013[var3] = this.field1006[var3]; - } - } - - this.method1767(var1); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I[II)V", - garbageValue = "647774031" - ) - final void method1766(int var1, int[] var2) { - int var3 = this.field1013.length; - - for (int var4 = 0; var4 < var3; ++var4) { - if (var1 > 768) { - this.field1013[var4] = this.method1765(this.field1006[var4], var2[var4], 1024 - var1); - } else if (var1 > 256) { - this.field1013[var4] = var2[var4]; - } else { - this.field1013[var4] = this.method1765(var2[var4], this.field1006[var4], 256 - var1); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-3198599" - ) - final void method1767(int var1) { - int var2 = 0; - - for (int var3 = 1; var3 < 255; ++var3) { - int var4 = (256 - var3) * this.field1015[var3] / 256; - int var5 = var4 + var1; - int var6 = 0; - int var7 = 128; - if (var5 < 0) { - var6 = -var5; - var5 = 0; - } - - if (var5 + 128 >= class197.rasterProvider.width) { - var7 = class197.rasterProvider.width - var5; - } - - int var8 = var5 + (var3 + 8) * class197.rasterProvider.width; - var2 += var6; - - for (int var9 = var6; var9 < var7; ++var9) { - int var10 = this.field1011[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.field1013[var10]; - int var14 = class197.rasterProvider.pixels[var8]; - class197.rasterProvider.pixels[var8++] = -16777216 | ((var10 & 16711935) * var12 + (var14 & 16711935) * var13 & -16711936) + (var12 * (var10 & 65280) + var13 * (var14 & 65280) & 16711680) >> 8; - } else { - ++var8; - } - } - - var2 += 128 - var7; - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Llq;I)V", - garbageValue = "849366777" - ) - final void method1779(IndexedSprite var1) { - int var2; - for (var2 = 0; var2 < this.field1004.length; ++var2) { - this.field1004[var2] = 0; - } - - int var3; - for (var2 = 0; var2 < 5000; ++var2) { - var3 = (int)(Math.random() * 128.0D * 256.0D); - this.field1004[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.field1018[var5] = (this.field1004[var5 + 1] + this.field1004[var5 + 128] + this.field1004[var5 - 128] + this.field1004[var5 - 1]) / 4; - } - } - - int[] var6 = this.field1004; - this.field1004 = this.field1018; - this.field1018 = var6; - } - - 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 var8 = var3 + var1.yOffset + 16; - int var7 = var5 + (var8 << 7); - this.field1004[var7] = 0; - } - } - } - } - - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(JLjava/lang/String;S)I", - garbageValue = "842" - ) - static final int method1778(long var0, String var2) { - Random var3 = new Random(); - Buffer var4 = new Buffer(128); - Buffer var5 = new Buffer(128); - int[] var6 = new int[]{var3.nextInt(), var3.nextInt(), (int)(var0 >> 32), (int)var0}; - var4.writeByte(10); - - int var7; - for (var7 = 0; var7 < 4; ++var7) { - var4.writeInt(var3.nextInt()); - } - - var4.writeInt(var6[0]); - var4.writeInt(var6[1]); - var4.writeLong(var0); - var4.writeLong(0L); - - for (var7 = 0; var7 < 4; ++var7) { - var4.writeInt(var3.nextInt()); - } - - var4.encryptRsa(class80.field1163, class80.field1164); - var5.writeByte(10); - - for (var7 = 0; var7 < 3; ++var7) { - var5.writeInt(var3.nextInt()); - } - - var5.writeLong(var3.nextLong()); - var5.writeLongMedium(var3.nextLong()); - Varps.method4400(var5); - var5.writeLong(var3.nextLong()); - var5.encryptRsa(class80.field1163, class80.field1164); - var7 = WorldMapRegion.stringCp1252NullTerminatedByteSize(var2); - if (var7 % 8 != 0) { - var7 += 8 - var7 % 8; - } - - Buffer var8 = new Buffer(var7); - var8.writeStringCp1252NullTerminated(var2); - var8.index = var7; - var8.xteaEncryptAll(var6); - Buffer var9 = new Buffer(var4.index + var5.index + var8.index + 5); - var9.writeByte(2); - var9.writeByte(var4.index); - var9.writeBytes(var4.array, 0, var4.index); - var9.writeByte(var5.index); - var9.writeBytes(var5.array, 0, var5.index); - var9.writeShort(var8.index); - var9.writeBytes(var8.array, 0, var8.index); - byte[] var10 = var9.array; - int var11 = var10.length; - StringBuilder var12 = new StringBuilder(); - - int var13; - for (int var14 = 0; var14 < var11 + 0; var14 += 3) { - int var15 = var10[var14] & 255; - var12.append(class307.field1151[var15 >>> 2]); - if (var14 < var11 - 1) { - var13 = var10[var14 + 1] & 255; - var12.append(class307.field1151[(var15 & 3) << 4 | var13 >>> 4]); - if (var14 < var11 - 2) { - int var16 = var10[var14 + 2] & 255; - var12.append(class307.field1151[(var13 & 15) << 2 | var16 >>> 6]).append(class307.field1151[var16 & 63]); - } else { - var12.append(class307.field1151[(var13 & 15) << 2]).append("="); - } - } else { - var12.append(class307.field1151[(var15 & 3) << 4]).append("=="); - } - } - - String var21 = var12.toString(); - var21 = var21; - - try { - URL var22 = new URL(Message.method1227("services", false) + "m=accountappeal/login.ws"); - URLConnection var23 = var22.openConnection(); - var23.setDoInput(true); - var23.setDoOutput(true); - var23.setConnectTimeout(5000); - OutputStreamWriter var17 = new OutputStreamWriter(var23.getOutputStream()); - var17.write("data2=" + class306.method5781(var21) + "&dest=" + class306.method5781("passwordchoice.ws")); - var17.flush(); - InputStream var18 = var23.getInputStream(); - var9 = new Buffer(new byte[1000]); - - do { - var13 = var18.read(var9.array, var9.index, 1000 - var9.index); - if (var13 == -1) { - var17.close(); - var18.close(); - String var19 = new String(var9.array); - if (var19.startsWith("OFFLINE")) { - return 4; - } else if (var19.startsWith("WRONG")) { - return 7; - } else if (var19.startsWith("RELOAD")) { - return 3; - } else if (var19.startsWith("Not permitted for social network accounts.")) { - return 6; - } else { - var9.xteaDecryptAll(var6); - - while (var9.index > 0 && var9.array[var9.index - 1] == 0) { - --var9.index; - } - - var19 = new String(var9.array, 0, var9.index); - if (class83.method2026(var19)) { - WorldMapCacheName.openURL(var19, true, false); - return 2; - } else { - return 5; - } - } - } - - var9.index += var13; - } while(var9.index < 1000); - - return 5; - } catch (Throwable var20) { - var20.printStackTrace(); - return 5; - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Ljm;", - garbageValue = "-499011631" - ) - @Export("getHitSplatDefinition") - public static HitSplatDefinition getHitSplatDefinition(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("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2135404786" - ) - public static void method1780() { - ItemDefinition.ItemDefinition_cached.clear(); - ItemDefinition.ItemDefinition_cachedModels.clear(); - ItemDefinition.ItemDefinition_cachedSprites.clear(); - } + @ObfuscatedName("lf") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("mousedOverWidgetIf1") + static Widget mousedOverWidgetIf1; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("sprites") + IndexedSprite[] sprites; + @ObfuscatedName("b") + int[] field1042; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1717008553 + ) + int field1058; + @ObfuscatedName("c") + int[] field1044; + @ObfuscatedName("f") + int[] field1045; + @ObfuscatedName("m") + int[] field1046; + @ObfuscatedName("u") + int[] field1047; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -2128952243 + ) + int field1048; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1545183041 + ) + int field1049; + @ObfuscatedName("v") + int[] field1039; + @ObfuscatedName("y") + int[] field1043; + @ObfuscatedName("g") + int[] field1041; + @ObfuscatedName("a") + int[] field1053; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1480925265 + ) + int field1054; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 826478180 + ) + int field1055; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1956845489 + ) + int field1056; + + @ObfuscatedSignature( + signature = "([Llx;)V" + ) + LoginScreenAnimation(IndexedSprite[] var1) { + this.field1042 = new int[256]; + this.field1058 = 0; + this.field1048 = 0; + this.field1049 = 0; + this.field1054 = 0; + this.field1055 = 0; + this.field1056 = 0; + this.sprites = var1; + this.method1721(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1195148401" + ) + void method1721() { + this.field1045 = new int[256]; + + int var1; + for (var1 = 0; var1 < 64; ++var1) { + this.field1045[var1] = var1 * 262144; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1045[var1 + 64] = var1 * 1024 + 16711680; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1045[var1 + 128] = var1 * 4 + 16776960; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1045[var1 + 192] = 16777215; + } + + this.field1046 = new int[256]; + + for (var1 = 0; var1 < 64; ++var1) { + this.field1046[var1] = var1 * 1024; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1046[var1 + 64] = var1 * 4 + 65280; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1046[var1 + 128] = var1 * 262144 + 65535; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1046[var1 + 192] = 16777215; + } + + this.field1047 = new int[256]; + + for (var1 = 0; var1 < 64; ++var1) { + this.field1047[var1] = var1 * 4; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1047[var1 + 64] = var1 * 262144 + 255; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1047[var1 + 128] = var1 * 1024 + 16711935; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1047[var1 + 192] = 16777215; + } + + this.field1044 = new int[256]; + this.field1054 = 0; + this.field1041 = new int[32768]; + this.field1053 = new int[32768]; + this.method1723((IndexedSprite)null); + this.field1039 = new int[32768]; + this.field1043 = new int[32768]; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "0" + ) + void method1720() { + this.field1045 = null; + this.field1046 = null; + this.field1047 = null; + this.field1044 = null; + this.field1041 = null; + this.field1053 = null; + this.field1039 = null; + this.field1043 = null; + this.field1054 = 0; + this.field1055 = 0; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-86" + ) + @Export("draw") + void draw(int var1, int var2) { + if (this.field1039 == null) { + this.method1721(); + } + + if (this.field1056 == 0) { + this.field1056 = var2; + } + + int var3 = var2 - this.field1056; + if (var3 >= 256) { + var3 = 0; + } + + this.field1056 = var2; + if (var3 > 0) { + this.method1722(var3); + } + + this.method1726(var1); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2053204142" + ) + final void method1722(int var1) { + this.field1054 += 128 * var1; + int var2; + if (this.field1054 > this.field1041.length) { + this.field1054 -= this.field1041.length; + var2 = (int)(Math.random() * 12.0D); + this.method1723(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.field1039[var3 + var2] - this.field1041[var2 + this.field1054 & this.field1041.length - 1] * var1 / 6; + if (var6 < 0) { + var6 = 0; + } + + this.field1039[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.field1039[var9 + var8] = 255; + } else { + this.field1039[var9 + var8] = 0; + } + } + } + + if (this.field1048 * 16 > 0) { + this.field1048 = this.field1048 * 16 - var1 * 4; + } + + if (this.field1049 * 16 > 0) { + this.field1049 = this.field1049 * 16 - var1 * 4; + } + + if (this.field1048 * 16 == 0 && this.field1049 * 16 == 0) { + var7 = (int)(Math.random() * (double)(2000 / var1)); + if (var7 == 0) { + this.field1048 = 1024; + } + + if (var7 == 1) { + this.field1049 = 1024; + } + } + + for (var7 = 0; var7 < 256 - var1; ++var7) { + this.field1042[var7] = this.field1042[var7 + var1]; + } + + for (var7 = 256 - var1; var7 < 256; ++var7) { + this.field1042[var7] = (int)(Math.sin((double)this.field1058 / 14.0D) * 16.0D + Math.sin((double)this.field1058 / 15.0D) * 14.0D + Math.sin((double)this.field1058 / 16.0D) * 12.0D); + ++this.field1058; + } + + this.field1055 = this.field1055 * 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.field1055 * 10000; ++var11) { + var12 = (int)(Math.random() * (double)var10) + var17; + var13 = (int)(Math.random() * (double)var16) + var16; + this.field1039[var12 + (var13 << 7)] = 192; + } + + this.field1055 = 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.field1039[var13 + var14 + var7]; + } + + if (var14 - (var7 + 1) >= 0) { + var12 -= this.field1039[var13 + var14 - (var7 + 1)]; + } + + if (var14 >= 0) { + this.field1043[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.field1043[var14 + var11 + var7 * 128]; + } + + if (var13 - (var7 + 1) >= 0) { + var12 -= this.field1043[var11 + var14 - (var7 + 1) * 128]; + } + + if (var13 >= 0) { + this.field1039[var11 + var14] = var12 / (var7 * 2 + 1); + } + } + } + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "-1694024652" + ) + final int method1725(int var1, int var2, int var3) { + int var4 = 256 - var3; + return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var3 * (var2 & 65280) + var4 * (var1 & 65280) & 16711680) >> 8; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1640931413" + ) + final void method1726(int var1) { + int var2 = this.field1044.length; + if (this.field1048 * 16 > 0) { + this.method1727(this.field1048 * 16, this.field1046); + } else if (this.field1049 * 16 > 0) { + this.method1727(this.field1049 * 16, this.field1047); + } else { + for (int var3 = 0; var3 < var2; ++var3) { + this.field1044[var3] = this.field1045[var3]; + } + } + + this.method1728(var1); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I[IB)V", + garbageValue = "117" + ) + final void method1727(int var1, int[] var2) { + int var3 = this.field1044.length; + + for (int var4 = 0; var4 < var3; ++var4) { + if (var1 > 768) { + this.field1044[var4] = this.method1725(this.field1045[var4], var2[var4], 1024 - var1); + } else if (var1 > 256) { + this.field1044[var4] = var2[var4]; + } else { + this.field1044[var4] = this.method1725(var2[var4], this.field1045[var4], 256 - var1); + } + } + + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "379301456" + ) + final void method1728(int var1) { + int var2 = 0; + + for (int var3 = 1; var3 < 255; ++var3) { + int var4 = (256 - var3) * this.field1042[var3] / 256; + int var5 = var4 + var1; + int var6 = 0; + int var7 = 128; + if (var5 < 0) { + var6 = -var5; + var5 = 0; + } + + if (var5 + 128 >= MusicPatchPcmStream.rasterProvider.width) { + var7 = MusicPatchPcmStream.rasterProvider.width - var5; + } + + int var8 = var5 + (var3 + 8) * MusicPatchPcmStream.rasterProvider.width; + var2 += var6; + + for (int var9 = var6; var9 < var7; ++var9) { + int var10 = this.field1039[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.field1044[var10]; + int var14 = MusicPatchPcmStream.rasterProvider.pixels[var8]; + MusicPatchPcmStream.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("c") + @ObfuscatedSignature( + signature = "(Llx;I)V", + garbageValue = "956004569" + ) + final void method1723(IndexedSprite var1) { + int var2; + for (var2 = 0; var2 < this.field1041.length; ++var2) { + this.field1041[var2] = 0; + } + + int var3; + for (var2 = 0; var2 < 5000; ++var2) { + var3 = (int)(Math.random() * 128.0D * 256.0D); + this.field1041[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.field1053[var5] = (this.field1041[var5 + 128] + this.field1041[var5 - 128] + this.field1041[var5 + 1] + this.field1041[var5 - 1]) / 4; + } + } + + int[] var8 = this.field1041; + this.field1041 = this.field1053; + this.field1053 = 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.field1041[var7] = 0; + } + } + } + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1877742024" + ) + static int method1744(int var0) { + ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); + return var1 == null ? 0 : var1.size(); + } + + @ObfuscatedName("gr") + @ObfuscatedSignature( + signature = "(IIIIIIII)V", + garbageValue = "806808180" + ) + static final void method1724(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.field908 - Client.field906) * var8 / 100 + Client.field906; + 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 - var13 * var7 >> 16; + var12 = var11 * var13 + var14 * var7 >> 16; + var11 = var15; + } + + if (var9 != 0) { + var13 = Rasterizer3D.Rasterizer3D_sine[var9]; + var14 = Rasterizer3D.Rasterizer3D_cosine[var9]; + var15 = var13 * var12 + var14 * var10 >> 16; + var12 = var14 * var12 - var13 * var10 >> 16; + var10 = var15; + } + + PacketBuffer.cameraX = var0 - var10; + class43.cameraY = var1 - var11; + class1.cameraZ = var2 - var12; + GrandExchangeOfferNameComparator.cameraPitch = var3; + Interpreter.cameraYaw = var4; + if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (MouseHandler.oculusOrbFocalPointX >> 7 != Client.localPlayer.x >> 7 || WorldMapArea.oculusOrbFocalPointY >> 7 != Client.localPlayer.y >> 7)) { + var13 = Client.localPlayer.plane; + var14 = MusicPatchNode2.baseX * 64 + (MouseHandler.oculusOrbFocalPointX >> 7); + var15 = class1.baseY * 64 + (WorldMapArea.oculusOrbFocalPointY >> 7); + WorldMapLabel.method418(var14, var15, var13, true); + } + + } } diff --git a/runescape-client/src/main/java/LoginType.java b/runescape-client/src/main/java/LoginType.java index 88c8325bc5..a9cc4ac0df 100644 --- a/runescape-client/src/main/java/LoginType.java +++ b/runescape-client/src/main/java/LoginType.java @@ -3,88 +3,88 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lx") +@ObfuscatedName("mu") @Implements("LoginType") public class LoginType { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Llx;" - ) - public static final LoginType field479; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field480; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field481; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field482; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field483; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field484; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field485; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Llx;" - ) - static final LoginType field486; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Llx;" - ) - public static final LoginType field487; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1916729379 - ) - public final int field488; - @ObfuscatedName("d") - final String field489; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lmu;" + ) + public static final LoginType field4052; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4049; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4050; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4051; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4058; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4053; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4054; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lmu;" + ) + static final LoginType field4055; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lmu;" + ) + public static final LoginType field4056; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1957513145 + ) + final int field4057; + @ObfuscatedName("m") + final String field4048; - LoginType(int var1, int var2, String var3, String var4) { - this.field488 = var1; - this.field489 = var4; - } + static { + field4052 = new LoginType(0, 0, "", ""); + field4049 = new LoginType(3, 1, "", ""); + field4050 = new LoginType(4, 2, "", ""); + field4051 = new LoginType(7, 3, "", ""); + field4058 = new LoginType(5, 4, "", ""); + field4053 = new LoginType(8, 5, "", ""); + field4054 = new LoginType(1, 6, "", ""); + field4055 = new LoginType(6, 7, "", ""); + field4056 = new LoginType(2, -1, "", "", true, new LoginType[]{field4052, field4049, field4050, field4058, field4051}); + } - @ObfuscatedSignature( - signature = "(IILjava/lang/String;Ljava/lang/String;Z[Llx;)V" - ) - LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { - this.field488 = var1; - this.field489 = var4; - } + LoginType(int var1, int var2, String var3, String var4) { + this.field4057 = var1; + this.field4048 = var4; + } - public String toString() { - return this.field489; - } + @ObfuscatedSignature( + signature = "(IILjava/lang/String;Ljava/lang/String;Z[Lmu;)V" + ) + LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { + this.field4057 = var1; + this.field4048 = var4; + } - static { - field479 = new LoginType(8, 0, "", ""); - field480 = new LoginType(3, 1, "", ""); - field481 = new LoginType(2, 2, "", ""); - field482 = new LoginType(6, 3, "", ""); - field483 = new LoginType(4, 4, "", ""); - field484 = new LoginType(7, 5, "", ""); - field485 = new LoginType(1, 6, "", ""); - field486 = new LoginType(5, 7, "", ""); - field487 = new LoginType(0, -1, "", "", true, new LoginType[]{field479, field480, field481, field483, field482}); - } + public String toString() { + return this.field4048; + } } diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index 2bd6703d40..4e5321db2e 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -3,158 +3,232 @@ 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("cs") +@ObfuscatedName("cn") @Implements("MenuAction") public class MenuAction { - @ObfuscatedName("iz") - @ObfuscatedGetter( - intValue = -2062450631 - ) - @Export("selectedItemId") - static int selectedItemId; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 305977315 - ) - @Export("argument1") - int argument1; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1764645917 - ) - @Export("argument2") - int argument2; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1483856253 - ) - @Export("opcode") - int opcode; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -2057883817 - ) - @Export("argument0") - int argument0; - @ObfuscatedName("o") - @Export("action") - String action; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1339211825 + ) + static int field1160; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 627171033 + ) + @Export("argument1") + int argument1; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1724157347 + ) + @Export("argument2") + int argument2; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -748556303 + ) + @Export("opcode") + int opcode; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 641907059 + ) + @Export("argument0") + int argument0; + @ObfuscatedName("k") + @Export("action") + String action; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lir;Ljava/lang/String;Ljava/lang/String;B)Llq;", - garbageValue = "0" - ) - @Export("loadIndexedSpriteByName") - public static IndexedSprite loadIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - IndexedSprite var5; - if (!SpriteMask.loadSprite(var0, var3, var4)) { - var5 = null; - } else { - var5 = ServerPacket.createIndexedSprite(); - } + MenuAction() { + } - return var5; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgu;B)I", + garbageValue = "-1" + ) + public static int method1993(CharSequence var0, CharSequence var1, class190 var2) { + int var3 = var0.length(); + int var4 = var1.length(); + int var5 = 0; + int var6 = 0; + byte var7 = 0; + byte var8 = 0; - @ObfuscatedName("jd") - @ObfuscatedSignature( - signature = "(Lbx;ZI)V", - garbageValue = "1537219807" - ) - @Export("closeInterface") - static final void closeInterface(InterfaceParent var0, boolean var1) { - int var2 = var0.group; - int var3 = (int)var0.key; - var0.remove(); - if (var1) { - AbstractByteArrayCopier.unloadInterface(var2); - } + while (var5 - var7 < var3 || var6 - var8 < var4) { + if (var5 - var7 >= var3) { + return -1; + } - for (IntegerNode var4 = (IntegerNode)Client.widgetClickMasks.first(); var4 != null; var4 = (IntegerNode)Client.widgetClickMasks.next()) { - if ((long)var2 == (var4.key >> 48 & 65535L)) { - var4.remove(); - } - } + if (var6 - var8 >= var4) { + return 1; + } - Widget var12 = Huffman.getWidget(var3); - if (var12 != null) { - WorldMapRectangle.method295(var12); - } + char var9; + if (var7 != 0) { + var9 = (char)var7; + boolean var14 = false; + } else { + var9 = var0.charAt(var5++); + } - int var5; - int var6; - for (var5 = 0; var5 < Client.menuOptionsCount; ++var5) { - if (WorldMapManager.isWidgetMenuOpcode(Client.menuOpcodes[var5])) { - if (var5 < Client.menuOptionsCount - 1) { - for (var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { - Client.menuActions[var6] = Client.menuActions[var6 + 1]; - Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; - Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; - Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; - Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; - Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; - Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; - } - } + char var10; + if (var8 != 0) { + var10 = (char)var8; + boolean var15 = false; + } else { + var10 = var1.charAt(var6++); + } - --var5; - --Client.menuOptionsCount; - } - } + 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; + } - var5 = class214.menuWidth / 2 + WorldMapDecoration.menuX; - var6 = GameShell.menuY; - int var7 = class2.fontBold12.stringWidth("Choose Option"); + 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; + } - int var8; - for (var8 = 0; var8 < Client.menuOptionsCount; ++var8) { - Font var9 = class2.fontBold12; - String var10; - if (var8 < 0) { - var10 = ""; - } else if (Client.menuTargetNames[var8].length() > 0) { - var10 = Client.menuActions[var8] + " " + Client.menuTargetNames[var8]; - } else { - var10 = Client.menuActions[var8]; - } + var8 = var12; + var9 = PacketBufferNode.method3623(var9, var2); + var10 = PacketBufferNode.method3623(var10, var2); + if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { + var9 = Character.toLowerCase(var9); + var10 = Character.toLowerCase(var10); + if (var10 != var9) { + return WorldMapArea.method387(var9, var2) - WorldMapArea.method387(var10, var2); + } + } + } - int var11 = var9.stringWidth(var10); - if (var11 > var7) { - var7 = var11; - } - } + int var16 = Math.min(var3, var4); - var7 += 8; - var8 = Client.menuOptionsCount * 15 + 22; - int var13 = var5 - var7 / 2; - if (var7 + var13 > SoundCache.canvasWidth) { - var13 = SoundCache.canvasWidth - var7; - } + int var17; + char var20; + for (var17 = 0; var17 < var16; ++var17) { + if (var2 == class190.field2347) { + var5 = var3 - 1 - var17; + var6 = var4 - 1 - var17; + } else { + var6 = var17; + var5 = var17; + } - if (var13 < 0) { - var13 = 0; - } + 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 WorldMapArea.method387(var18, var2) - WorldMapArea.method387(var20, var2); + } + } + } - int var14 = var6; - if (var6 + var8 > Huffman.canvasHeight) { - var14 = Huffman.canvasHeight - var8; - } + 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 WorldMapArea.method387(var20, var2) - WorldMapArea.method387(var13, var2); + } + } - if (var14 < 0) { - var14 = 0; - } + return 0; + } + } - WorldMapDecoration.menuX = var13; - GameShell.menuY = var14; - class214.menuWidth = var7; - AbstractWorldMapIcon.menuHeight = Client.menuOptionsCount * 15 + 22; - if (Client.rootInterface != -1) { - GrandExchangeEvents.method74(Client.rootInterface, 1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([Ljava/lang/String;[SS)V", + garbageValue = "-2750" + ) + @Export("startSortingItemsByName") + public static void startSortingItemsByName(String[] var0, short[] var1) { + GrandExchangeOffer.sortItemsByName(var0, var1, 0, var0.length - 1); + } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-426931132" + ) + static int method1992(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + if (var0 == ScriptOpcodes.CC_GETSCROLLX) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTEXT) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLMODE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index 4c64860070..a6c9dcde0c 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -4,463 +4,172 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bm") +@ObfuscatedName("bj") @Implements("Message") public class Message extends DualNode { - @ObfuscatedName("i") - static int[] field490; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1597147817 - ) - @Export("count") - int count; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1164592791 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1223792995 - ) - @Export("type") - int type; - @ObfuscatedName("w") - @Export("sender") - String sender; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lkp;" - ) - @Export("senderUsername") - Username senderUsername; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isFromFriend0") - TriBool isFromFriend0; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isFromIgnored0") - TriBool isFromIgnored0; - @ObfuscatedName("l") - @Export("prefix") - String prefix; - @ObfuscatedName("e") - @Export("text") - String text; + @ObfuscatedName("f") + public static short[][] field604; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Llx;" + ) + static IndexedSprite field606; + @ObfuscatedName("gf") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("compass") + static Sprite compass; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -235508607 + ) + @Export("count") + int count; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 468304279 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1991230871 + ) + @Export("type") + int type; + @ObfuscatedName("p") + @Export("sender") + String sender; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("senderUsername") + Username senderUsername; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("isFromFriend0") + TriBool isFromFriend0; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("isFromIgnored0") + TriBool isFromIgnored0; + @ObfuscatedName("i") + @Export("prefix") + String prefix; + @ObfuscatedName("c") + @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); - } + 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("m") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", - garbageValue = "0" - ) - @Export("set") - void set(int type, String sender, String prefix, String text) { - int var5 = ++Messages.Messages_count - 1; - this.count = var5; - this.cycle = Client.cycle; - this.type = type; - this.sender = sender; - this.fillSenderUsername(); - this.prefix = prefix; - this.text = text; - this.clearIsFromFriend(); - this.clearIsFromIgnored(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", + garbageValue = "-46" + ) + @Export("set") + void set(int var1, String var2, String var3, String var4) { + this.count = HorizontalAlignment.method4701(); + this.cycle = Client.cycle; + this.type = var1; + this.sender = var2; + this.fillSenderUsername(); + this.prefix = var3; + this.text = var4; + this.clearIsFromFriend(); + this.clearIsFromIgnored(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1329978160" - ) - @Export("clearIsFromFriend") - void clearIsFromFriend() { - this.isFromFriend0 = TriBool.TriBool_unknown; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1828914917" + ) + @Export("clearIsFromFriend") + void clearIsFromFriend() { + this.isFromFriend0 = TriBool.TriBool_unknown; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1101818251" - ) - @Export("isFromFriend") - final boolean isFromFriend() { - if (this.isFromFriend0 == TriBool.TriBool_unknown) { - this.fillIsFromFriend(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1322141944" + ) + @Export("isFromFriend") + final boolean isFromFriend() { + if (this.isFromFriend0 == TriBool.TriBool_unknown) { + this.fillIsFromFriend(); + } - return this.isFromFriend0 == TriBool.TriBool_true; - } + return this.isFromFriend0 == TriBool.TriBool_true; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "633960833" - ) - @Export("fillIsFromFriend") - void fillIsFromFriend() { - this.isFromFriend0 = WorldMapArea.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-728879206" + ) + @Export("fillIsFromFriend") + void fillIsFromFriend() { + this.isFromFriend0 = ArchiveLoader.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1102127876" - ) - @Export("clearIsFromIgnored") - void clearIsFromIgnored() { - this.isFromIgnored0 = TriBool.TriBool_unknown; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-391302038" + ) + @Export("clearIsFromIgnored") + void clearIsFromIgnored() { + this.isFromIgnored0 = TriBool.TriBool_unknown; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "21" - ) - @Export("isFromIgnored") - final boolean isFromIgnored() { - if (this.isFromIgnored0 == TriBool.TriBool_unknown) { - this.fillIsFromIgnored(); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1146765519" + ) + @Export("isFromIgnored") + final boolean isFromIgnored() { + if (this.isFromIgnored0 == TriBool.TriBool_unknown) { + this.fillIsFromIgnored(); + } - return this.isFromIgnored0 == TriBool.TriBool_true; - } + return this.isFromIgnored0 == TriBool.TriBool_true; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "-3962" - ) - @Export("fillIsFromIgnored") - void fillIsFromIgnored() { - this.isFromIgnored0 = WorldMapArea.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1299937735" + ) + @Export("fillIsFromIgnored") + void fillIsFromIgnored() { + this.isFromIgnored0 = ArchiveLoader.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "89" - ) - @Export("fillSenderUsername") - final void fillSenderUsername() { - if (this.sender != null) { - this.senderUsername = new Username(NPCDefinition.method5161(this.sender), KeyHandler.loginType); - } else { - this.senderUsername = null; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1250059182" + ) + @Export("fillSenderUsername") + final void fillSenderUsername() { + if (this.sender != null) { + this.senderUsername = new Username(GrandExchangeOfferTotalQuantityComparator.removeImageTag(this.sender), class40.loginType); + } else { + this.senderUsername = null; + } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;Llx;I)Ljava/lang/String;", - garbageValue = "-1905151806" - ) - public static String method1229(CharSequence var0, LoginType var1) { - if (var0 == null) { - return null; - } else { - int var2 = 0; - - int var3; - boolean var4; - char var5; - for (var3 = var0.length(); var2 < var3; ++var2) { - var5 = var0.charAt(var2); - var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; - if (!var4) { - break; - } - } - - while (var3 > var2) { - var5 = var0.charAt(var3 - 1); - var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; - if (!var4) { - break; - } - - --var3; - } - - int var6 = var3 - var2; - if (var6 >= 1) { - byte var7; - if (var1 == null) { - var7 = 12; - } else { - switch(var1.field488) { - case 7: - var7 = 20; - break; - default: - var7 = 12; - } - } - - if (var6 <= var7) { - StringBuilder var8 = new StringBuilder(var6); - - for (int var9 = var2; var9 < var3; ++var9) { - char var10 = var0.charAt(var9); - boolean var11; - if (Character.isISOControl(var10)) { - var11 = false; - } else if (VarcInt.isAlphaNumeric(var10)) { - var11 = true; - } else { - label151: { - char[] var12 = class305.field1149; - - int var13; - char var14; - for (var13 = 0; var13 < var12.length; ++var13) { - var14 = var12[var13]; - if (var10 == var14) { - var11 = true; - break label151; - } - } - - var12 = class305.field1150; - - for (var13 = 0; var13 < var12.length; ++var13) { - var14 = var12[var13]; - if (var10 == var14) { - var11 = true; - break label151; - } - } - - var11 = false; - } - } - - if (var11) { - char var15; - switch(var10) { - case ' ': - case '-': - case '_': - case ' ': - var15 = '_'; - break; - case '#': - case '[': - case ']': - var15 = var10; - break; - case 'À': - case 'Á': - case 'Â': - case 'Ã': - case 'Ä': - case 'à': - case 'á': - case 'â': - case 'ã': - case 'ä': - var15 = 'a'; - break; - case 'Ç': - case 'ç': - var15 = 'c'; - break; - case 'È': - case 'É': - case 'Ê': - case 'Ë': - case 'è': - case 'é': - case 'ê': - case 'ë': - var15 = 'e'; - break; - case 'Í': - case 'Î': - case 'Ï': - case 'í': - case 'î': - case 'ï': - var15 = 'i'; - break; - case 'Ñ': - case 'ñ': - var15 = 'n'; - break; - case 'Ò': - case 'Ó': - case 'Ô': - case 'Õ': - case 'Ö': - case 'ò': - case 'ó': - case 'ô': - case 'õ': - case 'ö': - var15 = 'o'; - break; - case 'Ù': - case 'Ú': - case 'Û': - case 'Ü': - case 'ù': - case 'ú': - case 'û': - case 'ü': - var15 = 'u'; - break; - case 'ß': - var15 = 'b'; - break; - case 'ÿ': - case 'Ÿ': - var15 = 'y'; - break; - default: - var15 = Character.toLowerCase(var10); - } - - if (var15 != 0) { - var8.append(var15); - } - } - } - - if (var8.length() == 0) { - return null; - } - - return var8.toString(); - } - } - - return null; - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)Lbm;", - garbageValue = "-1262174034" - ) - static Message method1226(int var0, int var1) { - ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); - return var2.getMessage(var1); - } - - @ObfuscatedName("fa") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2007966264" - ) - static final void method1228() { - if (SoundSystem.plane != Client.field125) { - Client.field125 = SoundSystem.plane; - int var0 = SoundSystem.plane; - int[] var1 = InterfaceParent.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) { - class65.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { - class65.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; - InterfaceParent.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) { - MouseRecorder.drawObject(var0, var6, var5, var3, var4); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { - MouseRecorder.drawObject(var0 + 1, var6, var5, var3, var4); - } - } - } - - Client.mapIconCount = 0; - - for (var5 = 0; var5 < 104; ++var5) { - for (var6 = 0; var6 < 104; ++var6) { - long var7 = class65.scene.getFloorDecorationTag(SoundSystem.plane, var5, var6); - if (var7 != 0L) { - int var9 = HitSplatDefinition.method4972(var7); - int var10 = class50.getObjectDefinition(var9).mapIconId; - if (var10 >= 0) { - Client.mapIcons[Client.mapIconCount] = ViewportMouse.getWorldMapElement(var10).getSprite(false); - Client.mapIconXs[Client.mapIconCount] = var5; - Client.mapIconYs[Client.mapIconCount] = var6; - ++Client.mapIconCount; - } - } - } - } - - class197.rasterProvider.apply(); - } - - } - - @ObfuscatedName("kx") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)Ljava/lang/String;", - garbageValue = "1047910257" - ) - static String method1227(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 (class21.field1123 != null) { - var3 = "/p=" + class21.field1123; - } - - String var4 = "runescape.com"; - return var2 + var0 + "." + var4 + "/l=" + Client.language + "/a=" + AbstractArchive.field2 + var3 + "/"; - } + } } diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java index 81e912029f..660927f923 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -6,58 +6,944 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cw") +@ObfuscatedName("cb") @Implements("Messages") public class Messages { - @ObfuscatedName("m") - @Export("Messages_channels") - static final Map Messages_channels; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("Messages_hashTable") - static final IterableNodeHashTable Messages_hashTable; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ljc;" - ) - @Export("Messages_queue") - static final IterableDualNodeQueue Messages_queue; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1168497831 - ) - @Export("Messages_count") - static int Messages_count; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ldx;" - ) - @Export("soundSystem") - static SoundSystem soundSystem; + @ObfuscatedName("q") + @Export("Messages_channels") + static final Map Messages_channels; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("Messages_hashTable") + static final IterableNodeHashTable Messages_hashTable; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljk;" + ) + @Export("Messages_queue") + static final IterableDualNodeQueue Messages_queue; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -125602517 + ) + @Export("Messages_count") + static int Messages_count; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ItemDefinition_archive") + public static AbstractArchive ItemDefinition_archive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "103402661" - ) - static void method2200() { - if (Login.Login_username == null || Login.Login_username.length() <= 0) { - if (ReflectionCheck.clientPreferences.rememberedUsername != null) { - Login.Login_username = ReflectionCheck.clientPreferences.rememberedUsername; - Client.Login_isUsernameRemembered = true; - } else { - Client.Login_isUsernameRemembered = false; - } - } + static { + Messages_channels = new HashMap(); + Messages_hashTable = new IterableNodeHashTable(1024); + Messages_queue = new IterableDualNodeQueue(); + Messages_count = 0; + } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "102" + ) + public static int method2176(int var0) { + long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; + int var1 = (int)(var2 >>> 7 & 127L); + return var1; + } - static { - Messages_channels = new HashMap(); - Messages_hashTable = new IterableNodeHashTable(1024); - Messages_queue = new IterableDualNodeQueue(); - Messages_count = 0; - } + @ObfuscatedName("hz") + @ObfuscatedSignature( + signature = "(IIIILjava/lang/String;Ljava/lang/String;III)V", + garbageValue = "-1471324986" + ) + @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 = Archive.method4265(ClientPacket.field2247, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(WorldMapIcon_1.selectedItemSlot); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntLE(MouseRecorder.selectedItemWidget); + var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeShortLE(class4.selectedItemId); + Client.packetWriter.method2219(var8); + } else if (var2 == 2) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2295, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5530(var3); + var8.packetBuffer.writeIntLE16(WorldMapEvent.field359); + var8.packetBuffer.writeShort(Client.field848); + var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); + Client.packetWriter.method2219(var8); + } else if (var2 == 3) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2213, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(class1.baseY * 64 + var1); + var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5530(var3); + var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); + Client.packetWriter.method2219(var8); + } else if (var2 == 4) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2282, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeShort(class1.baseY * 64 + var1); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + Client.packetWriter.method2219(var8); + } else if (var2 == 5) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2292, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5530(var3); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(var8); + } else if (var2 == 6) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2259, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2207, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(class4.selectedItemId); + var9.packetBuffer.writeShort(WorldMapIcon_1.selectedItemSlot); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeInt(MouseRecorder.selectedItemWidget); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2304, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntLE(WorldMapEvent.field359); + var9.packetBuffer.method5530(Client.field848); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2274, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2204, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2254, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2303, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2214, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2284, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.writeShort(class4.selectedItemId); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2277, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeIntLE16(WorldMapEvent.field359); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(Client.field848); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var9); + } + } else if (var2 == 16) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2221, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(MouseRecorder.selectedItemWidget); + var8.packetBuffer.method5475(class4.selectedItemId); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(WorldMapIcon_1.selectedItemSlot); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5475(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); + Client.packetWriter.method2219(var8); + } else if (var2 == 17) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2293, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(WorldMapEvent.field359); + var8.packetBuffer.writeShort(Client.field848); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(var8); + } else if (var2 == 18) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2208, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(var8); + } else if (var2 == 19) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2256, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShort(class1.baseY * 64 + var1); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(var8); + } else if (var2 == 20) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2269, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(class1.baseY * 64 + var1); + var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(var8); + } else if (var2 == 21) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2203, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(var8); + } else if (var2 == 22) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2218, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.method5530(class1.baseY * 64 + var1); + var8.packetBuffer.writeShort(MusicPatchNode2.baseX * 64 + var0); + Client.packetWriter.method2219(var8); + } else if (var2 == 23) { + if (Client.isMenuOpen) { + GrandExchangeOfferWorldComparator.scene.method3104(); + } else { + GrandExchangeOfferWorldComparator.scene.menuOpen(class42.plane, var0, var1, true); + } + } else { + PacketBufferNode var10; + Widget var16; + if (var2 == 24) { + var16 = class80.getWidget(var1); + boolean var12 = true; + if (var16.contentType > 0) { + var12 = GrandExchangeOfferAgeComparator.method149(var16); + } + + if (var12) { + var10 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + Client.packetWriter.method2219(var10); + } + } else { + if (var2 == 25) { + var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + WorldMapID.method542(); + GroundItem.method2053(var1, var0, HealthBar.method1957(class268.getWidgetClickMask(var16)), var16.itemId); + Client.isItemSelected = 0; + Client.selectedSpellActionName = FontName.method5318(var16); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + if (var16.isIf3) { + Client.selectedSpellName = var16.dataText + ClientPreferences.colorStartTag(16777215); + } else { + Client.selectedSpellName = ClientPreferences.colorStartTag(65280) + var16.spellName + ClientPreferences.colorStartTag(16777215); + } + } + + return; + } + + if (var2 == 26) { + GrandExchangeEvent.method73(); + } else { + int var11; + Widget var14; + if (var2 == 28) { + var8 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.method2219(var8); + var14 = class80.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var11 = var14.cs1Instructions[0][1]; + Varps.Varps_main[var11] = 1 - Varps.Varps_main[var11]; + GrandExchangeOfferUnitPriceComparator.method124(var11); + } + } else if (var2 == 29) { + var8 = Archive.method4265(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.method2219(var8); + var14 = class80.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var11 = var14.cs1Instructions[0][1]; + if (Varps.Varps_main[var11] != var14.cs1ComparisonValues[0]) { + Varps.Varps_main[var11] = var14.cs1ComparisonValues[0]; + GrandExchangeOfferUnitPriceComparator.method124(var11); + } + } + } else if (var2 == 30) { + if (Client.field850 == null) { + ScriptFrame.method1086(var1, var0); + Client.field850 = Client.getWidgetChild(var1, var0); + Strings.method4120(Client.field850); + } + } else if (var2 == 31) { + var8 = Archive.method4265(ClientPacket.field2266, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeIntLE16(MouseRecorder.selectedItemWidget); + var8.packetBuffer.method5475(WorldMapIcon_1.selectedItemSlot); + var8.packetBuffer.writeShortLE(class4.selectedItemId); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5475(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 32) { + var8 = Archive.method4265(ClientPacket.field2232, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(WorldMapEvent.field359); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(Client.field848); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 33) { + var8 = Archive.method4265(ClientPacket.field2290, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 34) { + var8 = Archive.method4265(ClientPacket.field2239, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(var3); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.method5475(var0); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 35) { + var8 = Archive.method4265(ClientPacket.field2265, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE(var1); + var8.packetBuffer.method5475(var0); + var8.packetBuffer.method5475(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 36) { + var8 = Archive.method4265(ClientPacket.field2281, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5475(var0); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 37) { + var8 = Archive.method4265(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else { + if (var2 == 38) { + WorldMapID.method542(); + var16 = class80.getWidget(var1); + Client.isItemSelected = 1; + WorldMapIcon_1.selectedItemSlot = var0; + MouseRecorder.selectedItemWidget = var1; + class4.selectedItemId = var3; + Strings.method4120(var16); + Client.selectedItemName = ClientPreferences.colorStartTag(16748608) + WorldMapArea.getItemDefinition(var3).name + ClientPreferences.colorStartTag(16777215); + if (Client.selectedItemName == null) { + Client.selectedItemName = "null"; + } + + return; + } + + if (var2 == 39) { + var8 = Archive.method4265(ClientPacket.field2249, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5475(var3); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.writeShortLE(var0); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 40) { + var8 = Archive.method4265(ClientPacket.field2229, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5530(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 41) { + var8 = Archive.method4265(ClientPacket.field2268, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntLE(var1); + var8.packetBuffer.method5530(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 42) { + var8 = Archive.method4265(ClientPacket.field2267, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5530(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + } else if (var2 == 43) { + var8 = Archive.method4265(ClientPacket.field2235, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeIntME(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.method2219(var8); + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = 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 = Archive.method4265(ClientPacket.field2250, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2301, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2209, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5475(var3); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2241, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5530(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2257, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5530(var3); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2278, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5502(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(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 = Archive.method4265(ClientPacket.field2253, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5521(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5475(var3); + Client.packetWriter.method2219(var9); + } + } else { + label926: { + if (var2 != 57) { + if (var2 == 58) { + var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + var9 = Archive.method4265(ClientPacket.field2285, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(Client.field848); + var9.packetBuffer.writeIntLE16(var1); + var9.packetBuffer.writeShortLE(Client.field812); + var9.packetBuffer.method5475(var0); + var9.packetBuffer.writeInt(WorldMapEvent.field359); + var9.packetBuffer.method5475(var16.itemId); + Client.packetWriter.method2219(var9); + } + break label926; + } + + if (var2 == 1001) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = Archive.method4265(ClientPacket.field2226, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5520(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5530(MusicPatchNode2.baseX * 64 + var0); + var8.packetBuffer.method5475(class1.baseY * 64 + var1); + Client.packetWriter.method2219(var8); + break label926; + } + + if (var2 == 1002) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = Archive.method4265(ClientPacket.field2244, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5530(var3); + Client.packetWriter.method2219(var8); + break label926; + } + + 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 = Archive.method4265(ClientPacket.field2233, Client.packetWriter.isaacCipher); + var10.packetBuffer.method5530(var17.id); + Client.packetWriter.method2219(var10); + } + } + break label926; + } + + if (var2 == 1004) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = Archive.method4265(ClientPacket.field2227, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(var8); + break label926; + } + + if (var2 == 1005) { + var16 = class80.getWidget(var1); + if (var16 != null && var16.itemQuantities[var0] >= 100000) { + ScriptEvent.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + WorldMapArea.getItemDefinition(var3).name); + } else { + var9 = Archive.method4265(ClientPacket.field2227, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.method2219(var9); + } + + Client.field759 = 0; + ItemContainer.field549 = class80.getWidget(var1); + Client.field698 = var0; + break label926; + } + + if (var2 != 1007) { + if (var2 == 1011 || var2 == 1008 || var2 == 1010 || var2 == 1009 || var2 == 1012) { + BoundaryObject.worldMap.menuAction(var2, var3, new Coord(var0), new Coord(var1)); + } + break label926; + } + } + + var16 = Client.getWidgetChild(var1, var0); + if (var16 != null) { + method2163(var3, var1, var0, var16.itemId, var5); + } + } + } + } + } + } + } + } + } + + if (Client.isItemSelected != 0) { + Client.isItemSelected = 0; + Strings.method4120(class80.getWidget(MouseRecorder.selectedItemWidget)); + } + + if (Client.isSpellSelected) { + WorldMapID.method542(); + } + + if (ItemContainer.field549 != null && Client.field759 == 0) { + Strings.method4120(ItemContainer.field549); + } + + } + + @ObfuscatedName("hw") + @ObfuscatedSignature( + signature = "(IIIILjava/lang/String;B)V", + garbageValue = "48" + ) + static void method2163(int var0, int var1, int var2, int var3, String var4) { + Widget var5 = Client.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; + LoginPacket.runScriptEvent(var6); + } + + boolean var11 = true; + if (var5.contentType > 0) { + var11 = GrandExchangeOfferAgeComparator.method149(var5); + } + + if (var11) { + int var8 = class268.getWidgetClickMask(var5); + int var9 = var0 - 1; + boolean var7 = (var8 >> var9 + 1 & 1) != 0; + if (var7) { + PacketBufferNode var10; + if (var0 == 1) { + var10 = Archive.method4265(ClientPacket.field2271, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 2) { + var10 = Archive.method4265(ClientPacket.field2255, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 3) { + var10 = Archive.method4265(ClientPacket.field2206, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 4) { + var10 = Archive.method4265(ClientPacket.field2222, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 5) { + var10 = Archive.method4265(ClientPacket.field2243, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 6) { + var10 = Archive.method4265(ClientPacket.field2264, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 7) { + var10 = Archive.method4265(ClientPacket.field2288, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 8) { + var10 = Archive.method4265(ClientPacket.field2251, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 9) { + var10 = Archive.method4265(ClientPacket.field2287, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + if (var0 == 10) { + var10 = Archive.method4265(ClientPacket.field2289, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.method2219(var10); + } + + } + } + } + } } diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 9e01515cc3..3024477450 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -3,260 +3,260 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hs") +@ObfuscatedName("gm") @Implements("MidiFileReader") public class MidiFileReader { - @ObfuscatedName("x") - static final byte[] field491; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgr;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("f") - @Export("division") - int division; - @ObfuscatedName("q") - @Export("trackStarts") - int[] trackStarts; - @ObfuscatedName("w") - @Export("trackPositions") - int[] trackPositions; - @ObfuscatedName("o") - @Export("trackLengths") - int[] trackLengths; - @ObfuscatedName("u") - int[] field492; - @ObfuscatedName("g") - int field493; - @ObfuscatedName("e") - long field494; + @ObfuscatedName("f") + static final byte[] field2468; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("buffer") + Buffer buffer; + @ObfuscatedName("w") + @Export("division") + int division; + @ObfuscatedName("e") + @Export("trackStarts") + int[] trackStarts; + @ObfuscatedName("p") + @Export("trackPositions") + int[] trackPositions; + @ObfuscatedName("k") + @Export("trackLengths") + int[] trackLengths; + @ObfuscatedName("l") + int[] field2464; + @ObfuscatedName("b") + int field2460; + @ObfuscatedName("c") + long field2472; - MidiFileReader(byte[] var1) { - this.buffer = new Buffer((byte[])null); - this.parse(var1); - } + static { + field2468 = 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() { - this.buffer = new Buffer((byte[])null); - } + MidiFileReader(byte[] var1) { + this.buffer = new Buffer((byte[])null); + this.parse(var1); + } - @ObfuscatedName("m") - @Export("parse") - void parse(byte[] midi) { - this.buffer.array = midi; - this.buffer.index = 10; - int var2 = this.buffer.readUnsignedShort(); - this.division = this.buffer.readUnsignedShort(); - this.field493 = 500000; - this.trackStarts = new int[var2]; + MidiFileReader() { + this.buffer = new Buffer((byte[])null); + } - Buffer var3; - int var4; - int var5; - for (var4 = 0; var4 < var2; var3.index += var5) { - int var6 = this.buffer.readInt(); - var5 = this.buffer.readInt(); - if (var6 == 1297379947) { - this.trackStarts[var4] = this.buffer.index; - ++var4; - } + @ObfuscatedName("q") + @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.field2460 = 500000; + this.trackStarts = new int[var2]; - var3 = this.buffer; - } + 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; + } - this.field494 = 0L; - this.trackPositions = new int[var2]; + var10000 = this.buffer; + } - for (var4 = 0; var4 < var2; ++var4) { - this.trackPositions[var4] = this.trackStarts[var4]; - } + this.field2472 = 0L; + this.trackPositions = new int[var2]; - this.trackLengths = new int[var2]; - this.field492 = new int[var2]; - } + for (var3 = 0; var3 < var2; ++var3) { + this.trackPositions[var3] = this.trackStarts[var3]; + } - @ObfuscatedName("f") - @Export("clear") - void clear() { - this.buffer.array = null; - this.trackStarts = null; - this.trackPositions = null; - this.trackLengths = null; - this.field492 = null; - } + this.trackLengths = new int[var2]; + this.field2464 = new int[var2]; + } - @ObfuscatedName("q") - @Export("isReady") - boolean isReady() { - return this.buffer.array != null; - } + @ObfuscatedName("w") + @Export("clear") + void clear() { + this.buffer.array = null; + this.trackStarts = null; + this.trackPositions = null; + this.trackLengths = null; + this.field2464 = null; + } - @ObfuscatedName("w") - @Export("trackCount") - int trackCount() { - return this.trackPositions.length; - } + @ObfuscatedName("e") + @Export("isReady") + boolean isReady() { + return this.buffer.array != null; + } - @ObfuscatedName("o") - @Export("gotoTrack") - void gotoTrack(int trackId) { - this.buffer.index = this.trackPositions[trackId]; - } + @ObfuscatedName("p") + @Export("trackCount") + int trackCount() { + return this.trackPositions.length; + } - @ObfuscatedName("u") - @Export("markTrackPosition") - void markTrackPosition(int trackId) { - this.trackPositions[trackId] = this.buffer.index; - } + @ObfuscatedName("k") + @Export("gotoTrack") + void gotoTrack(int var1) { + this.buffer.offset = this.trackPositions[var1]; + } - @ObfuscatedName("g") - @Export("setTrackDone") - void setTrackDone() { - this.buffer.index = -1; - } + @ObfuscatedName("l") + @Export("markTrackPosition") + void markTrackPosition(int var1) { + this.trackPositions[var1] = this.buffer.offset; + } - @ObfuscatedName("l") - @Export("readTrackLength") - void readTrackLength(int trackId) { - int var2 = this.buffer.readVarInt(); - int[] var3 = this.trackLengths; - var3[trackId] += var2; - } + @ObfuscatedName("b") + @Export("setTrackDone") + void setTrackDone() { + this.buffer.offset = -1; + } - @ObfuscatedName("e") - @Export("readMessage") - int readMessage(int trackId) { - int var2 = this.readMessage0(trackId); - return var2; - } + @ObfuscatedName("i") + @Export("readTrackLength") + void readTrackLength(int var1) { + int var2 = this.buffer.readVarInt(); + int[] var10000 = this.trackLengths; + var10000[var1] += var2; + } - @ObfuscatedName("x") - @Export("readMessage0") - int readMessage0(int trackId) { - byte var2 = this.buffer.array[this.buffer.index]; - int var3; - if (var2 < 0) { - var3 = var2 & 255; - this.field492[trackId] = var3; - ++this.buffer.index; - } else { - var3 = this.field492[trackId]; - } + @ObfuscatedName("c") + @Export("readMessage") + int readMessage(int var1) { + int var2 = this.readMessage0(var1); + return var2; + } - if (var3 != 240 && var3 != 247) { - return this.method167(trackId, var3); - } else { - int var4 = this.buffer.readVarInt(); - if (var3 == 247 && var4 > 0) { - int var5 = this.buffer.array[this.buffer.index] & 255; - if (var5 >= 241 && var5 <= 243 || var5 == 246 || var5 == 248 || var5 >= 250 && var5 <= 252 || var5 == 254) { - ++this.buffer.index; - this.field492[trackId] = var5; - return this.method167(trackId, var5); - } - } + @ObfuscatedName("u") + @Export("readMessage0") + int readMessage0(int var1) { + byte var2 = this.buffer.array[this.buffer.offset]; + int var5; + if (var2 < 0) { + var5 = var2 & 255; + this.field2464[var1] = var5; + ++this.buffer.offset; + } else { + var5 = this.field2464[var1]; + } - Buffer var6 = this.buffer; - var6.index += var4; - return 0; - } - } + if (var5 != 240 && var5 != 247) { + return this.method3840(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.field2464[var1] = var4; + return this.method3840(var1, var4); + } + } - @ObfuscatedName("d") - int method167(int var1, int var2) { - int var3; - if (var2 == 255) { - int var8 = this.buffer.readUnsignedByte(); - var3 = this.buffer.readVarInt(); - Buffer var5; - if (var8 == 47) { - var5 = this.buffer; - var5.index += var3; - return 1; - } else if (var8 == 81) { - int var6 = this.buffer.readMedium(); - var3 -= 3; - int var7 = this.trackLengths[var1]; - this.field494 += (long)var7 * (long)(this.field493 - var6); - this.field493 = var6; - var5 = this.buffer; - var5.index += var3; - return 2; - } else { - var5 = this.buffer; - var5.index += var3; - return 3; - } - } else { - byte var4 = field491[var2 - 128]; - var3 = var2; - if (var4 >= 1) { - var3 = var2 | this.buffer.readUnsignedByte() << 8; - } + Buffer var10000 = this.buffer; + var10000.offset += var3; + return 0; + } + } - if (var4 >= 2) { - var3 |= this.buffer.readUnsignedByte() << 16; - } + @ObfuscatedName("x") + int method3840(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.field2472 += (long)var6 * (long)(this.field2460 - var5); + this.field2460 = var5; + var10000 = this.buffer; + var10000.offset += var4; + return 2; + } else { + var10000 = this.buffer; + var10000.offset += var4; + return 3; + } + } else { + byte var3 = field2468[var2 - 128]; + var4 = var2; + if (var3 >= 1) { + var4 = var2 | this.buffer.readUnsignedByte() << 8; + } - return var3; - } - } + if (var3 >= 2) { + var4 |= this.buffer.readUnsignedByte() << 16; + } - @ObfuscatedName("a") - long method168(int var1) { - return this.field494 + (long)var1 * (long)this.field493; - } + return var4; + } + } - @ObfuscatedName("z") - @Export("getPrioritizedTrack") - int getPrioritizedTrack() { - int var1 = this.trackPositions.length; - int var2 = -1; - int var3 = Integer.MAX_VALUE; + @ObfuscatedName("r") + long method3861(int var1) { + return this.field2472 + (long)var1 * (long)this.field2460; + } - for (int var4 = 0; var4 < var1; ++var4) { - if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { - var2 = var4; - var3 = this.trackLengths[var4]; - } - } + @ObfuscatedName("v") + @Export("getPrioritizedTrack") + int getPrioritizedTrack() { + int var1 = this.trackPositions.length; + int var2 = -1; + int var3 = Integer.MAX_VALUE; - return var2; - } + for (int var4 = 0; var4 < var1; ++var4) { + if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { + var2 = var4; + var3 = this.trackLengths[var4]; + } + } - @ObfuscatedName("j") - @Export("isDone") - boolean isDone() { - int var1 = this.trackPositions.length; + return var2; + } - for (int var2 = 0; var2 < var1; ++var2) { - if (this.trackPositions[var2] >= 0) { - return false; - } - } + @ObfuscatedName("y") + @Export("isDone") + boolean isDone() { + int var1 = this.trackPositions.length; - return true; - } + for (int var2 = 0; var2 < var1; ++var2) { + if (this.trackPositions[var2] >= 0) { + return false; + } + } - @ObfuscatedName("s") - @Export("reset") - void reset(long var1) { - this.field494 = var1; - int var3 = this.trackPositions.length; + return true; + } - for (int var4 = 0; var4 < var3; ++var4) { - this.trackLengths[var4] = 0; - this.field492[var4] = 0; - this.buffer.index = this.trackStarts[var4]; - this.readTrackLength(var4); - this.trackPositions[var4] = this.buffer.index; - } + @ObfuscatedName("g") + @Export("reset") + void reset(long var1) { + this.field2472 = var1; + int var3 = this.trackPositions.length; - } + for (int var4 = 0; var4 < var3; ++var4) { + this.trackLengths[var4] = 0; + this.field2464[var4] = 0; + this.buffer.offset = this.trackStarts[var4]; + this.readTrackLength(var4); + this.trackPositions[var4] = this.buffer.offset; + } - static { - field491 = 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}; - } + } } diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index e7abdefd73..af2c8b8264 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -4,1092 +4,1090 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hm") +@ObfuscatedName("ga") @Implements("MidiPcmStream") public class MidiPcmStream extends PcmStream { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("musicPatches") - NodeHashTable musicPatches; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 335918727 - ) - int field495; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 2095480747 - ) - int field496; - @ObfuscatedName("o") - int[] field497; - @ObfuscatedName("u") - int[] field498; - @ObfuscatedName("g") - int[] field499; - @ObfuscatedName("l") - int[] field500; - @ObfuscatedName("e") - int[] field501; - @ObfuscatedName("x") - int[] field502; - @ObfuscatedName("d") - int[] field503; - @ObfuscatedName("k") - int[] field504; - @ObfuscatedName("n") - int[] field505; - @ObfuscatedName("y") - int[] field506; - @ObfuscatedName("h") - int[] field507; - @ObfuscatedName("b") - int[] field508; - @ObfuscatedName("c") - int[] field509; - @ObfuscatedName("r") - int[] field510; - @ObfuscatedName("p") - int[] field511; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "[[Lha;" - ) - MusicPatchNode[][] field512; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "[[Lha;" - ) - MusicPatchNode[][] field513; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "Lhs;" - ) - @Export("midiFile") - MidiFileReader midiFile; - @ObfuscatedName("aj") - boolean field514; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1450922835 - ) - @Export("track") - int track; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = 713752539 - ) - @Export("trackLength") - int trackLength; - @ObfuscatedName("ac") - @ObfuscatedGetter( - longValue = -7547625335559871937L - ) - long field515; - @ObfuscatedName("ay") - @ObfuscatedGetter( - longValue = 3736036110499628937L - ) - long field516; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lhq;" - ) - @Export("patchStream") - MusicPatchPcmStream patchStream; - - public MidiPcmStream() { - this.field495 = 256; - this.field496 = 1000000; - this.field497 = new int[16]; - this.field498 = new int[16]; - this.field499 = new int[16]; - this.field500 = new int[16]; - this.field501 = new int[16]; - this.field502 = new int[16]; - this.field503 = new int[16]; - this.field504 = new int[16]; - this.field505 = new int[16]; - this.field506 = new int[16]; - this.field507 = new int[16]; - this.field508 = new int[16]; - this.field509 = new int[16]; - this.field510 = new int[16]; - this.field511 = new int[16]; - this.field512 = new MusicPatchNode[16][128]; - this.field513 = new MusicPatchNode[16][128]; - this.midiFile = new MidiFileReader(); - this.patchStream = new MusicPatchPcmStream(this); - this.musicPatches = new NodeHashTable(128); - this.method186(); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "92" - ) - public synchronized void method169(int var1) { - this.field495 = var1; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2067929289" - ) - public int method170() { - return this.field495; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lhe;Lir;Ldt;II)Z", - garbageValue = "-324121369" - ) - @Export("loadMusicTrack") - public synchronized boolean loadMusicTrack(MusicTrack musicTrack, AbstractArchive var2, SoundCache var3, int frequency) { - musicTrack.method226(); - boolean var5 = true; - int[] var6 = null; - if (frequency > 0) { - var6 = new int[]{frequency}; - } - - for (ByteArrayNode var7 = (ByteArrayNode)musicTrack.table.first(); var7 != null; var7 = (ByteArrayNode)musicTrack.table.next()) { - int var8 = (int)var7.key; - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); - if (var9 == null) { - var9 = Login.method2045(var2, var8); - if (var9 == null) { - var5 = false; - continue; - } - - this.musicPatches.put(var9, (long)var8); - } - - if (!var9.method218(var3, var7.byteArray, var6)) { - var5 = false; - } - } - - if (var5) { - musicTrack.clear(); - } - - return var5; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-34" - ) - @Export("clearAll") - public synchronized void clearAll() { - for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { - var1.clear(); - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "42" - ) - @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 = "()Ldc;" - ) - @Export("firstSubStream") - protected synchronized PcmStream firstSubStream() { - return this.patchStream; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("nextSubStream") - protected synchronized PcmStream nextSubStream() { - return null; - } - - @ObfuscatedName("l") - protected synchronized int vmethod262() { - return 0; - } - - @ObfuscatedName("e") - @Export("fill") - protected synchronized void fill(int[] var1, int var2, int var3) { - if (this.midiFile.isReady()) { - int var4 = this.midiFile.division * this.field496 / class309.PcmPlayer_sampleRate; - - do { - long var5 = (long)var4 * (long)var3 + this.field515; - if (this.field516 - var5 >= 0L) { - this.field515 = var5; - break; - } - - int var7 = (int)(((long)var4 + (this.field516 - this.field515) - 1L) / (long)var4); - this.field515 += (long)var4 * (long)var7; - this.patchStream.fill(var1, var2, var7); - var2 += var7; - var3 -= var7; - this.method194(); - } while(this.midiFile.isReady()); - } - - this.patchStream.fill(var1, var2, var3); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lhe;ZI)V", - garbageValue = "-1859383102" - ) - @Export("setMusicTrack") - public synchronized void setMusicTrack(MusicTrack musicTrack, boolean var2) { - this.clear(); - this.midiFile.parse(musicTrack.midi); - this.field514 = var2; - this.field515 = 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.field516 = this.midiFile.method168(this.trackLength); - } - - @ObfuscatedName("d") - @Export("skip") - protected synchronized void skip(int var1) { - if (this.midiFile.isReady()) { - int var2 = this.midiFile.division * this.field496 / class309.PcmPlayer_sampleRate; - - do { - long var3 = this.field515 + (long)var2 * (long)var1; - if (this.field516 - var3 >= 0L) { - this.field515 = var3; - break; - } - - int var5 = (int)(((long)var2 + (this.field516 - this.field515) - 1L) / (long)var2); - this.field515 += (long)var5 * (long)var2; - this.patchStream.skip(var5); - var1 -= var5; - this.method194(); - } while(this.midiFile.isReady()); - } - - this.patchStream.skip(var1); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1847546868" - ) - @Export("clear") - public synchronized void clear() { - this.midiFile.clear(); - this.method186(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-852762450" - ) - @Export("isReady") - public synchronized boolean isReady() { - return this.midiFile.isReady(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "789206119" - ) - public synchronized void method174(int var1, int var2) { - this.method175(var1, var2); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1475022240" - ) - void method175(int var1, int var2) { - this.field500[var1] = var2; - this.field502[var1] = var2 & -128; - this.method176(var1, var2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-213159072" - ) - void method176(int var1, int var2) { - if (var2 != this.field501[var1]) { - this.field501[var1] = var2; - - for (int var3 = 0; var3 < 128; ++var3) { - this.field513[var1][var3] = null; - } - } - - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "15" - ) - void method177(int var1, int var2, int var3) { - this.method179(var1, var2, 64); - if ((this.field506[var1] & 2) != 0) { - for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { - if (var4.field574 == var1 && var4.field586 < 0) { - this.field512[var1][var4.field577] = null; - this.field512[var1][var2] = var4; - int var5 = (var4.field582 * var4.field581 >> 12) + var4.field580; - var4.field580 += var2 - var4.field577 << 8; - var4.field581 = var5 - var4.field580; - var4.field582 = 4096; - var4.field577 = var2; - return; - } - } - } - - MusicPatch var8 = (MusicPatch)this.musicPatches.get((long)this.field501[var1]); - if (var8 != null) { - RawSound var9 = var8.rawSounds[var2]; - if (var9 != null) { - MusicPatchNode var6 = new MusicPatchNode(); - var6.field574 = var1; - var6.patch = var8; - var6.rawSound = var9; - var6.field575 = var8.field571[var2]; - var6.field576 = var8.field572[var2]; - var6.field577 = var2; - var6.field578 = var3 * var3 * var8.field569[var2] * var8.field567 + 1024 >> 11; - var6.field579 = var8.field570[var2] & 255; - var6.field580 = (var2 << 8) - (var8.field568[var2] & 32767); - var6.field583 = 0; - var6.field584 = 0; - var6.field585 = 0; - var6.field586 = -1; - var6.field587 = 0; - if (this.field509[var1] == 0) { - var6.stream = RawPcmStream.method2524(var9, this.method191(var6), this.method192(var6), this.method193(var6)); - } else { - var6.stream = RawPcmStream.method2524(var9, this.method191(var6), 0, this.method193(var6)); - this.method178(var6, var8.field568[var2] < 0); - } - - if (var8.field568[var2] < 0) { - var6.stream.setNumLoops(-1); - } - - if (var6.field576 >= 0) { - MusicPatchNode var7 = this.field513[var1][var6.field576]; - if (var7 != null && var7.field586 < 0) { - this.field512[var1][var7.field577] = null; - var7.field586 = 0; - } - - this.field513[var1][var6.field576] = var6; - } - - this.patchStream.queue.addFirst(var6); - this.field512[var1][var2] = var6; - } - } - - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(Lha;ZI)V", - garbageValue = "-1455849160" - ) - void method178(MusicPatchNode var1, boolean var2) { - int var3 = var1.rawSound.samples.length; - int var4; - if (var2 && var1.rawSound.field756) { - int var5 = var3 + var3 - var1.rawSound.start; - var4 = (int)((long)var5 * (long)this.field509[var1.field574] >> 6); - var3 <<= 8; - if (var4 >= var3) { - var4 = var3 + var3 - 1 - var4; - var1.stream.method271(); - } - } else { - var4 = (int)((long)this.field509[var1.field574] * (long)var3 >> 6); - } - - var1.stream.method270(var4); - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "-1244653525" - ) - void method179(int var1, int var2, int var3) { - MusicPatchNode var4 = this.field512[var1][var2]; - if (var4 != null) { - this.field512[var1][var2] = null; - if ((this.field506[var1] & 2) != 0) { - for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var5.field574 == var4.field574 && var5.field586 < 0 && var5 != var4) { - var4.field586 = 0; - break; - } - } - } else { - var4.field586 = 0; - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "1055105177" - ) - void method180(int var1, int var2, int var3) { - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "-43" - ) - void method181(int var1, int var2) { - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "-1" - ) - void method182(int var1, int var2) { - this.field503[var1] = var2; - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "137929054" - ) - void method183(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var1 < 0 || var2.field574 == var1) { - if (var2.stream != null) { - var2.stream.method275(class309.PcmPlayer_sampleRate / 100); - if (var2.stream.method279()) { - this.patchStream.mixer.addSubStream(var2.stream); - } - - var2.method219(); - } - - if (var2.field586 < 0) { - this.field512[var2.field574][var2.field577] = null; - } - - var2.remove(); - } - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-59494316" - ) - void method184(int var1) { - if (var1 >= 0) { - this.field497[var1] = 12800; - this.field498[var1] = 8192; - this.field499[var1] = 16383; - this.field503[var1] = 8192; - this.field504[var1] = 0; - this.field505[var1] = 8192; - this.method187(var1); - this.method188(var1); - this.field506[var1] = 0; - this.field507[var1] = 32767; - this.field508[var1] = 256; - this.field509[var1] = 0; - this.method190(var1, 8192); - } else { - for (var1 = 0; var1 < 16; ++var1) { - this.method184(var1); - } - } - - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1458917637" - ) - void method185(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if ((var1 < 0 || var2.field574 == var1) && var2.field586 < 0) { - this.field512[var2.field574][var2.field577] = null; - var2.field586 = 0; - } - } - - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "808372536" - ) - void method186() { - this.method183(-1); - this.method184(-1); - - int var1; - for (var1 = 0; var1 < 16; ++var1) { - this.field501[var1] = this.field500[var1]; - } - - for (var1 = 0; var1 < 16; ++var1) { - this.field502[var1] = this.field500[var1] & -128; - } - - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1934460661" - ) - void method187(int var1) { - if ((this.field506[var1] & 2) != 0) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field574 == var1 && this.field512[var1][var2.field577] == null && var2.field586 < 0) { - var2.field586 = 0; - } - } - } - - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1305073262" - ) - void method188(int var1) { - if ((this.field506[var1] & 4) != 0) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field574 == var1) { - var2.field591 = 0; - } - } - } - - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1168111396" - ) - void method189(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.method179(var3, var4, var5); - } else if (var2 == 144) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - if (var5 > 0) { - this.method177(var3, var4, var5); - } else { - this.method179(var3, var4, 64); - } - } else if (var2 == 160) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - this.method180(var3, var4, var5); - } else if (var2 == 176) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - if (var4 == 0) { - this.field502[var3] = (var5 << 14) + (this.field502[var3] & -2080769); - } - - if (var4 == 32) { - this.field502[var3] = (var5 << 7) + (this.field502[var3] & -16257); - } - - if (var4 == 1) { - this.field504[var3] = (var5 << 7) + (this.field504[var3] & -16257); - } - - if (var4 == 33) { - this.field504[var3] = var5 + (this.field504[var3] & -128); - } - - if (var4 == 5) { - this.field505[var3] = (var5 << 7) + (this.field505[var3] & -16257); - } - - if (var4 == 37) { - this.field505[var3] = var5 + (this.field505[var3] & -128); - } - - if (var4 == 7) { - this.field497[var3] = (var5 << 7) + (this.field497[var3] & -16257); - } - - if (var4 == 39) { - this.field497[var3] = var5 + (this.field497[var3] & -128); - } - - if (var4 == 10) { - this.field498[var3] = (var5 << 7) + (this.field498[var3] & -16257); - } - - if (var4 == 42) { - this.field498[var3] = var5 + (this.field498[var3] & -128); - } - - if (var4 == 11) { - this.field499[var3] = (var5 << 7) + (this.field499[var3] & -16257); - } - - if (var4 == 43) { - this.field499[var3] = var5 + (this.field499[var3] & -128); - } - - int[] var6; - if (var4 == 64) { - if (var5 >= 64) { - var6 = this.field506; - var6[var3] |= 1; - } else { - var6 = this.field506; - var6[var3] &= -2; - } - } - - if (var4 == 65) { - if (var5 >= 64) { - var6 = this.field506; - var6[var3] |= 2; - } else { - this.method187(var3); - var6 = this.field506; - var6[var3] &= -3; - } - } - - if (var4 == 99) { - this.field507[var3] = (var5 << 7) + (this.field507[var3] & 127); - } - - if (var4 == 98) { - this.field507[var3] = (this.field507[var3] & 16256) + var5; - } - - if (var4 == 101) { - this.field507[var3] = (var5 << 7) + (this.field507[var3] & 127) + 16384; - } - - if (var4 == 100) { - this.field507[var3] = (this.field507[var3] & 16256) + var5 + 16384; - } - - if (var4 == 120) { - this.method183(var3); - } - - if (var4 == 121) { - this.method184(var3); - } - - if (var4 == 123) { - this.method185(var3); - } - - int var7; - if (var4 == 6) { - var7 = this.field507[var3]; - if (var7 == 16384) { - this.field508[var3] = (var5 << 7) + (this.field508[var3] & -16257); - } - } - - if (var4 == 38) { - var7 = this.field507[var3]; - if (var7 == 16384) { - this.field508[var3] = var5 + (this.field508[var3] & -128); - } - } - - if (var4 == 16) { - this.field509[var3] = (var5 << 7) + (this.field509[var3] & -16257); - } - - if (var4 == 48) { - this.field509[var3] = var5 + (this.field509[var3] & -128); - } - - if (var4 == 81) { - if (var5 >= 64) { - var6 = this.field506; - var6[var3] |= 4; - } else { - this.method188(var3); - var6 = this.field506; - var6[var3] &= -5; - } - } - - if (var4 == 17) { - this.method190(var3, (var5 << 7) + (this.field510[var3] & -16257)); - } - - if (var4 == 49) { - this.method190(var3, var5 + (this.field510[var3] & -128)); - } - } else if (var2 == 192) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - this.method176(var3, var4 + this.field502[var3]); - } else if (var2 == 208) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - this.method181(var3, var4); - } else if (var2 == 224) { - var3 = var1 & 15; - var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); - this.method182(var3, var4); - } else { - var2 = var1 & 255; - if (var2 == 255) { - this.method186(); - } - } - - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1380282032" - ) - void method190(int var1, int var2) { - this.field510[var1] = var2; - this.field511[var1] = (int)(2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var2) + 0.5D); - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(Lha;I)I", - garbageValue = "-1821299983" - ) - int method191(MusicPatchNode var1) { - int var2 = (var1.field582 * var1.field581 >> 12) + var1.field580; - var2 += (this.field503[var1.field574] - 8192) * this.field508[var1.field574] >> 12; - MusicPatchNode2 var3 = var1.field575; - int var4; - if (var3.field600 > 0 && (var3.field599 > 0 || this.field504[var1.field574] > 0)) { - var4 = var3.field599 << 2; - int var5 = var3.field601 << 1; - if (var1.field588 < var5) { - var4 = var4 * var1.field588 / var5; - } - - var4 += this.field504[var1.field574] >> 7; - double var6 = Math.sin((double)(var1.field589 & 511) * 0.01227184630308513D); - var2 += (int)(var6 * (double)var4); - } - - var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)class309.PcmPlayer_sampleRate + 0.5D); - return var4 < 1 ? 1 : var4; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(Lha;I)I", - garbageValue = "24812899" - ) - int method192(MusicPatchNode var1) { - MusicPatchNode2 var2 = var1.field575; - int var3 = this.field497[var1.field574] * this.field499[var1.field574] + 4096 >> 13; - var3 = var3 * var3 + 16384 >> 15; - var3 = var3 * var1.field578 + 16384 >> 15; - var3 = var3 * this.field495 + 128 >> 8; - if (var2.field595 > 0) { - var3 = (int)((double)var3 * Math.pow(0.5D, (double)var2.field595 * (double)var1.field583 * 1.953125E-5D) + 0.5D); - } - - int var4; - int var5; - int var6; - int var7; - if (var2.field593 != null) { - var4 = var1.field584; - var5 = var2.field593[var1.field585 + 1]; - if (var1.field585 < var2.field593.length - 2) { - var6 = (var2.field593[var1.field585] & 255) << 8; - var7 = (var2.field593[var1.field585 + 2] & 255) << 8; - var5 += (var2.field593[var1.field585 + 3] - var5) * (var4 - var6) / (var7 - var6); - } - - var3 = var5 * var3 + 32 >> 6; - } - - if (var1.field586 > 0 && var2.field594 != null) { - var4 = var1.field586; - var5 = var2.field594[var1.field587 + 1]; - if (var1.field587 < var2.field594.length - 2) { - var6 = (var2.field594[var1.field587] & 255) << 8; - var7 = (var2.field594[var1.field587 + 2] & 255) << 8; - var5 += (var4 - var6) * (var2.field594[var1.field587 + 3] - var5) / (var7 - var6); - } - - var3 = var3 * var5 + 32 >> 6; - } - - return var3; - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(Lha;I)I", - garbageValue = "360643400" - ) - int method193(MusicPatchNode var1) { - int var2 = this.field498[var1.field574]; - return var2 < 8192 ? var2 * var1.field579 + 32 >> 6 : 16384 - ((128 - var1.field579) * (16384 - var2) + 32 >> 6); - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "30" - ) - void method194() { - int var1 = this.track; - int var2 = this.trackLength; - - long var3; - for (var3 = this.field516; var2 == this.trackLength; var3 = this.midiFile.method168(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.field514 || var2 == 0) { - this.method186(); - this.midiFile.clear(); - return; - } - - this.midiFile.reset(var3); - } - break; - } - - if ((var5 & 128) != 0) { - this.method189(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.field516 = var3; - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(Lha;I)Z", - garbageValue = "1820762013" - ) - boolean method195(MusicPatchNode var1) { - if (var1.stream == null) { - if (var1.field586 >= 0) { - var1.remove(); - if (var1.field576 > 0 && var1 == this.field513[var1.field574][var1.field576]) { - this.field513[var1.field574][var1.field576] = null; - } - } - - return true; - } else { - return false; - } - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "(Lha;[IIII)Z", - garbageValue = "-1605961549" - ) - boolean method196(MusicPatchNode var1, int[] var2, int var3, int var4) { - var1.field590 = class309.PcmPlayer_sampleRate / 100; - if (var1.field586 < 0 || var1.stream != null && !var1.stream.method278()) { - int var5 = var1.field582; - if (var5 > 0) { - var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field505[var1.field574] * 4.921259842519685E-4D) + 0.5D); - if (var5 < 0) { - var5 = 0; - } - - var1.field582 = var5; - } - - var1.stream.method276(this.method191(var1)); - MusicPatchNode2 var6 = var1.field575; - boolean var7 = false; - ++var1.field588; - var1.field589 += var6.field600; - double var8 = 5.086263020833333E-6D * (double)((var1.field577 - 60 << 8) + (var1.field581 * var1.field582 >> 12)); - if (var6.field595 > 0) { - if (var6.field598 > 0) { - var1.field583 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field598) + 0.5D); - } else { - var1.field583 += 128; - } - } - - if (var6.field593 != null) { - if (var6.field596 > 0) { - var1.field584 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field596) + 0.5D); - } else { - var1.field584 += 128; - } - - while (var1.field585 < var6.field593.length - 2 && var1.field584 > (var6.field593[var1.field585 + 2] & 255) << 8) { - var1.field585 += 2; - } - - if (var6.field593.length - 2 == var1.field585 && var6.field593[var1.field585 + 1] == 0) { - var7 = true; - } - } - - if (var1.field586 >= 0 && var6.field594 != null && (this.field506[var1.field574] & 1) == 0 && (var1.field576 < 0 || var1 != this.field513[var1.field574][var1.field576])) { - if (var6.field597 > 0) { - var1.field586 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field597) + 0.5D); - } else { - var1.field586 += 128; - } - - while (var1.field587 < var6.field594.length - 2 && var1.field586 > (var6.field594[var1.field587 + 2] & 255) << 8) { - var1.field587 += 2; - } - - if (var6.field594.length - 2 == var1.field587) { - var7 = true; - } - } - - if (var7) { - var1.stream.method275(var1.field590); - if (var2 != null) { - var1.stream.fill(var2, var3, var4); - } else { - var1.stream.skip(var4); - } - - if (var1.stream.method279()) { - this.patchStream.mixer.addSubStream(var1.stream); - } - - var1.method219(); - if (var1.field586 >= 0) { - var1.remove(); - if (var1.field576 > 0 && var1 == this.field513[var1.field574][var1.field576]) { - this.field513[var1.field574][var1.field576] = null; - } - } - - return true; - } else { - var1.stream.method274(var1.field590, this.method192(var1), this.method193(var1)); - return false; - } - } else { - var1.method219(); - var1.remove(); - if (var1.field576 > 0 && var1 == this.field513[var1.field574][var1.field576]) { - this.field513[var1.field574][var1.field576] = null; - } - - return true; - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Ldc;B)V", - garbageValue = "30" - ) - @Export("PcmStream_disable") - static final void PcmStream_disable(PcmStream stream) { - stream.active = false; - if (stream.sound != null) { - stream.sound.position = 0; - } - - for (PcmStream var1 = stream.firstSubStream(); var1 != null; var1 = stream.nextSubStream()) { - PcmStream_disable(var1); - } - - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("musicPatches") + NodeHashTable musicPatches; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -520728357 + ) + int field2409; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 740980141 + ) + int field2426; + @ObfuscatedName("k") + int[] field2411; + @ObfuscatedName("l") + int[] field2412; + @ObfuscatedName("b") + int[] field2422; + @ObfuscatedName("i") + int[] field2414; + @ObfuscatedName("c") + int[] field2413; + @ObfuscatedName("f") + int[] field2415; + @ObfuscatedName("m") + int[] field2429; + @ObfuscatedName("u") + int[] field2418; + @ObfuscatedName("x") + int[] field2419; + @ObfuscatedName("t") + int[] field2421; + @ObfuscatedName("h") + int[] field2424; + @ObfuscatedName("o") + int[] field2423; + @ObfuscatedName("n") + int[] field2410; + @ObfuscatedName("d") + int[] field2425; + @ObfuscatedName("s") + int[] field2408; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[[Lgi;" + ) + MusicPatchNode[][] field2427; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "[[Lgi;" + ) + MusicPatchNode[][] field2428; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "Lgm;" + ) + @Export("midiFile") + MidiFileReader midiFile; + @ObfuscatedName("as") + boolean field2430; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 56317899 + ) + @Export("track") + int track; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1379550315 + ) + @Export("trackLength") + int trackLength; + @ObfuscatedName("ag") + @ObfuscatedGetter( + longValue = -8333505041211180397L + ) + long field2433; + @ObfuscatedName("ar") + @ObfuscatedGetter( + longValue = -1344180019540033721L + ) + long field2434; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgq;" + ) + @Export("patchStream") + MusicPatchPcmStream patchStream; + + public MidiPcmStream() { + this.field2409 = 256; + this.field2426 = 1000000; + this.field2411 = new int[16]; + this.field2412 = new int[16]; + this.field2422 = new int[16]; + this.field2414 = new int[16]; + this.field2413 = new int[16]; + this.field2415 = new int[16]; + this.field2429 = new int[16]; + this.field2418 = new int[16]; + this.field2419 = new int[16]; + this.field2421 = new int[16]; + this.field2424 = new int[16]; + this.field2423 = new int[16]; + this.field2410 = new int[16]; + this.field2425 = new int[16]; + this.field2408 = new int[16]; + this.field2427 = new MusicPatchNode[16][128]; + this.field2428 = new MusicPatchNode[16][128]; + this.midiFile = new MidiFileReader(); + this.patchStream = new MusicPatchPcmStream(this); + this.musicPatches = new NodeHashTable(128); + this.method3726(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "985423372" + ) + public synchronized void method3706(int var1) { + this.field2409 = var1; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "911615124" + ) + public int method3707() { + return this.field2409; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lgl;Lhp;Ldf;II)Z", + garbageValue = "-2127323557" + ) + @Export("loadMusicTrack") + public synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { + var1.method3925(); + 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) { + byte[] var11 = var2.takeFileFlat(var8); + MusicPatch var10; + if (var11 == null) { + var10 = null; + } else { + var10 = new MusicPatch(var11); + } + + var9 = var10; + if (var10 == null) { + var5 = false; + continue; + } + + this.musicPatches.put(var10, (long)var8); + } + + if (!var9.method3883(var3, var7.byteArray, var6)) { + var5 = false; + } + } + + if (var5) { + var1.clear(); + } + + return var5; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-444816783" + ) + @Export("clearAll") + public synchronized void clearAll() { + for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.clear(); + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "535953816" + ) + @Export("removeAll") + public synchronized void removeAll() { + for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.remove(); + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected synchronized PcmStream firstSubStream() { + return this.patchStream; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected synchronized PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("i") + protected synchronized int vmethod3892() { + return 0; + } + + @ObfuscatedName("c") + @Export("fill") + protected synchronized void fill(int[] var1, int var2, int var3) { + if (this.midiFile.isReady()) { + int var4 = this.midiFile.division * this.field2426 * -727379968 / CollisionMap.PcmPlayer_sampleRate; + + do { + long var5 = this.field2433 + (long)var3 * (long)var4; + if (this.field2434 - var5 >= 0L) { + this.field2433 = var5; + break; + } + + int var7 = (int)(((long)var4 + (this.field2434 - this.field2433) - 1L) / (long)var4); + this.field2433 += (long)var7 * (long)var4; + this.patchStream.fill(var1, var2, var7); + var2 += var7; + var3 -= var7; + this.method3738(); + } while(this.midiFile.isReady()); + } + + this.patchStream.fill(var1, var2, var3); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lgl;ZI)V", + garbageValue = "-2040319753" + ) + @Export("setMusicTrack") + public synchronized void setMusicTrack(MusicTrack var1, boolean var2) { + this.clear(); + this.midiFile.parse(var1.midi); + this.field2430 = var2; + this.field2433 = 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.field2434 = this.midiFile.method3861(this.trackLength); + } + + @ObfuscatedName("x") + @Export("skip") + protected synchronized void skip(int var1) { + if (this.midiFile.isReady()) { + int var2 = this.midiFile.division * this.field2426 * -727379968 / CollisionMap.PcmPlayer_sampleRate; + + do { + long var3 = this.field2433 + (long)var2 * (long)var1; + if (this.field2434 - var3 >= 0L) { + this.field2433 = var3; + break; + } + + int var5 = (int)((this.field2434 - this.field2433 + (long)var2 - 1L) / (long)var2); + this.field2433 += (long)var5 * (long)var2; + this.patchStream.skip(var5); + var1 -= var5; + this.method3738(); + } while(this.midiFile.isReady()); + } + + this.patchStream.skip(var1); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1239536546" + ) + @Export("clear") + public synchronized void clear() { + this.midiFile.clear(); + this.method3726(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "529284444" + ) + @Export("isReady") + public synchronized boolean isReady() { + return this.midiFile.isReady(); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1686884768" + ) + public synchronized void method3720(int var1, int var2) { + this.method3824(var1, var2); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "2040435181" + ) + void method3824(int var1, int var2) { + this.field2414[var1] = var2; + this.field2415[var1] = var2 & -128; + this.method3716(var1, var2); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "5" + ) + void method3716(int var1, int var2) { + if (var2 != this.field2413[var1]) { + this.field2413[var1] = var2; + + for (int var3 = 0; var3 < 128; ++var3) { + this.field2428[var1][var3] = null; + } + } + + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "659813426" + ) + void method3717(int var1, int var2, int var3) { + this.method3729(var1, var2, 64); + if ((this.field2421[var1] & 2) != 0) { + for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { + if (var4.field2440 == var1 && var4.field2436 < 0) { + this.field2427[var1][var4.field2450] = null; + this.field2427[var1][var2] = var4; + int var5 = (var4.field2445 * var4.field2446 >> 12) + var4.field2441; + var4.field2441 += var2 - var4.field2450 << 8; + var4.field2445 = var5 - var4.field2441; + var4.field2446 = 4096; + var4.field2450 = var2; + return; + } + } + } + + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2413[var1]); + if (var9 != null) { + RawSound var8 = var9.rawSounds[var2]; + if (var8 != null) { + MusicPatchNode var6 = new MusicPatchNode(); + var6.field2440 = var1; + var6.patch = var9; + var6.rawSound = var8; + var6.field2452 = var9.field2481[var2]; + var6.field2438 = var9.field2479[var2]; + var6.field2450 = var2; + var6.field2442 = var3 * var3 * var9.field2476[var2] * var9.field2475 + 1024 >> 11; + var6.field2443 = var9.field2477[var2] & 255; + var6.field2441 = (var2 << 8) - (var9.field2482[var2] & 32767); + var6.field2447 = 0; + var6.field2448 = 0; + var6.field2449 = 0; + var6.field2436 = -1; + var6.field2451 = 0; + if (this.field2410[var1] == 0) { + var6.stream = RawPcmStream.method2524(var8, this.method3730(var6), this.method3731(var6), this.method3732(var6)); + } else { + var6.stream = RawPcmStream.method2524(var8, this.method3730(var6), 0, this.method3732(var6)); + this.method3767(var6, var9.field2482[var2] < 0); + } + + if (var9.field2482[var2] < 0) { + var6.stream.setNumLoops(-1); + } + + if (var6.field2438 >= 0) { + MusicPatchNode var7 = this.field2428[var1][var6.field2438]; + if (var7 != null && var7.field2436 < 0) { + this.field2427[var1][var7.field2450] = null; + var7.field2436 = 0; + } + + this.field2428[var1][var6.field2438] = var6; + } + + this.patchStream.queue.addFirst(var6); + this.field2427[var1][var2] = var6; + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Lgi;ZB)V", + garbageValue = "-58" + ) + void method3767(MusicPatchNode var1, boolean var2) { + int var3 = var1.rawSound.samples.length; + int var4; + if (var2 && var1.rawSound.field1393) { + int var5 = var3 + var3 - var1.rawSound.start; + var4 = (int)((long)var5 * (long)this.field2410[var1.field2440] >> 6); + var3 <<= 8; + if (var4 >= var3) { + var4 = var3 + var3 - 1 - var4; + var1.stream.method2614(); + } + } else { + var4 = (int)((long)var3 * (long)this.field2410[var1.field2440] >> 6); + } + + var1.stream.method2596(var4); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1579005533" + ) + void method3729(int var1, int var2, int var3) { + MusicPatchNode var4 = this.field2427[var1][var2]; + if (var4 != null) { + this.field2427[var1][var2] = null; + if ((this.field2421[var1] & 2) != 0) { + for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var5.field2440 == var4.field2440 && var5.field2436 < 0 && var4 != var5) { + var4.field2436 = 0; + break; + } + } + } else { + var4.field2436 = 0; + } + + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "2105784371" + ) + void method3788(int var1, int var2, int var3) { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "8" + ) + void method3793(int var1, int var2) { + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1785966044" + ) + void method3722(int var1, int var2) { + this.field2429[var1] = var2; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "889719076" + ) + void method3723(int var1) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var1 < 0 || var2.field2440 == var1) { + if (var2.stream != null) { + var2.stream.method2540(CollisionMap.PcmPlayer_sampleRate / 100); + if (var2.stream.method2585()) { + this.patchStream.mixer.addSubStream(var2.stream); + } + + var2.method3826(); + } + + if (var2.field2436 < 0) { + this.field2427[var2.field2440][var2.field2450] = null; + } + + var2.remove(); + } + } + + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "112" + ) + void method3724(int var1) { + if (var1 >= 0) { + this.field2411[var1] = 12800; + this.field2412[var1] = 8192; + this.field2422[var1] = 16383; + this.field2429[var1] = 8192; + this.field2418[var1] = 0; + this.field2419[var1] = 8192; + this.method3715(var1); + this.method3784(var1); + this.field2421[var1] = 0; + this.field2424[var1] = 32767; + this.field2423[var1] = 256; + this.field2410[var1] = 0; + this.method3754(var1, 8192); + } else { + for (var1 = 0; var1 < 16; ++var1) { + this.method3724(var1); + } + + } + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "786188119" + ) + void method3714(int var1) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if ((var1 < 0 || var2.field2440 == var1) && var2.field2436 < 0) { + this.field2427[var2.field2440][var2.field2450] = null; + var2.field2436 = 0; + } + } + + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "23201" + ) + void method3726() { + this.method3723(-1); + this.method3724(-1); + + int var1; + for (var1 = 0; var1 < 16; ++var1) { + this.field2413[var1] = this.field2414[var1]; + } + + for (var1 = 0; var1 < 16; ++var1) { + this.field2415[var1] = this.field2414[var1] & -128; + } + + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-117878160" + ) + void method3715(int var1) { + if ((this.field2421[var1] & 2) != 0) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2440 == var1 && this.field2427[var1][var2.field2450] == null && var2.field2436 < 0) { + var2.field2436 = 0; + } + } + } + + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1541338262" + ) + void method3784(int var1) { + if ((this.field2421[var1] & 4) != 0) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2440 == var1) { + var2.field2444 = 0; + } + } + } + + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "946217459" + ) + void method3728(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.method3729(var3, var4, var5); + } else if (var2 == 144) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var5 > 0) { + this.method3717(var3, var4, var5); + } else { + this.method3729(var3, var4, 64); + } + + } else if (var2 == 160) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + this.method3788(var3, var4, var5); + } else if (var2 == 176) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var4 == 0) { + this.field2415[var3] = (var5 << 14) + (this.field2415[var3] & -2080769); + } + + if (var4 == 32) { + this.field2415[var3] = (var5 << 7) + (this.field2415[var3] & -16257); + } + + if (var4 == 1) { + this.field2418[var3] = (var5 << 7) + (this.field2418[var3] & -16257); + } + + if (var4 == 33) { + this.field2418[var3] = var5 + (this.field2418[var3] & -128); + } + + if (var4 == 5) { + this.field2419[var3] = (var5 << 7) + (this.field2419[var3] & -16257); + } + + if (var4 == 37) { + this.field2419[var3] = var5 + (this.field2419[var3] & -128); + } + + if (var4 == 7) { + this.field2411[var3] = (var5 << 7) + (this.field2411[var3] & -16257); + } + + if (var4 == 39) { + this.field2411[var3] = var5 + (this.field2411[var3] & -128); + } + + if (var4 == 10) { + this.field2412[var3] = (var5 << 7) + (this.field2412[var3] & -16257); + } + + if (var4 == 42) { + this.field2412[var3] = var5 + (this.field2412[var3] & -128); + } + + if (var4 == 11) { + this.field2422[var3] = (var5 << 7) + (this.field2422[var3] & -16257); + } + + if (var4 == 43) { + this.field2422[var3] = var5 + (this.field2422[var3] & -128); + } + + int[] var10000; + if (var4 == 64) { + if (var5 >= 64) { + var10000 = this.field2421; + var10000[var3] |= 1; + } else { + var10000 = this.field2421; + var10000[var3] &= -2; + } + } + + if (var4 == 65) { + if (var5 >= 64) { + var10000 = this.field2421; + var10000[var3] |= 2; + } else { + this.method3715(var3); + var10000 = this.field2421; + var10000[var3] &= -3; + } + } + + if (var4 == 99) { + this.field2424[var3] = (var5 << 7) + (this.field2424[var3] & 127); + } + + if (var4 == 98) { + this.field2424[var3] = (this.field2424[var3] & 16256) + var5; + } + + if (var4 == 101) { + this.field2424[var3] = (var5 << 7) + (this.field2424[var3] & 127) + 16384; + } + + if (var4 == 100) { + this.field2424[var3] = (this.field2424[var3] & 16256) + var5 + 16384; + } + + if (var4 == 120) { + this.method3723(var3); + } + + if (var4 == 121) { + this.method3724(var3); + } + + if (var4 == 123) { + this.method3714(var3); + } + + int var6; + if (var4 == 6) { + var6 = this.field2424[var3]; + if (var6 == 16384) { + this.field2423[var3] = (var5 << 7) + (this.field2423[var3] & -16257); + } + } + + if (var4 == 38) { + var6 = this.field2424[var3]; + if (var6 == 16384) { + this.field2423[var3] = var5 + (this.field2423[var3] & -128); + } + } + + if (var4 == 16) { + this.field2410[var3] = (var5 << 7) + (this.field2410[var3] & -16257); + } + + if (var4 == 48) { + this.field2410[var3] = var5 + (this.field2410[var3] & -128); + } + + if (var4 == 81) { + if (var5 >= 64) { + var10000 = this.field2421; + var10000[var3] |= 4; + } else { + this.method3784(var3); + var10000 = this.field2421; + var10000[var3] &= -5; + } + } + + if (var4 == 17) { + this.method3754(var3, (var5 << 7) + (this.field2425[var3] & -16257)); + } + + if (var4 == 49) { + this.method3754(var3, var5 + (this.field2425[var3] & -128)); + } + + } else if (var2 == 192) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3716(var3, var4 + this.field2415[var3]); + } else if (var2 == 208) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3793(var3, var4); + } else if (var2 == 224) { + var3 = var1 & 15; + var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); + this.method3722(var3, var4); + } else { + var2 = var1 & 255; + if (var2 == 255) { + this.method3726(); + } + } + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "14" + ) + void method3754(int var1, int var2) { + this.field2425[var1] = var2; + this.field2408[var1] = (int)(2097152.0D * Math.pow(2.0D, (double)var2 * 5.4931640625E-4D) + 0.5D); + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(Lgi;I)I", + garbageValue = "-1889826116" + ) + int method3730(MusicPatchNode var1) { + int var2 = (var1.field2445 * var1.field2446 >> 12) + var1.field2441; + var2 += (this.field2429[var1.field2440] - 8192) * this.field2423[var1.field2440] >> 12; + MusicPatchNode2 var3 = var1.field2452; + int var4; + if (var3.field2394 > 0 && (var3.field2393 > 0 || this.field2418[var1.field2440] > 0)) { + var4 = var3.field2393 << 2; + int var5 = var3.field2395 << 1; + if (var1.field2458 < var5) { + var4 = var4 * var1.field2458 / var5; + } + + var4 += this.field2418[var1.field2440] >> 7; + double var6 = Math.sin(0.01227184630308513D * (double)(var1.field2453 & 511)); + var2 += (int)(var6 * (double)var4); + } + + var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)CollisionMap.PcmPlayer_sampleRate + 0.5D); + return var4 < 1 ? 1 : var4; + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(Lgi;B)I", + garbageValue = "-94" + ) + int method3731(MusicPatchNode var1) { + MusicPatchNode2 var2 = var1.field2452; + int var3 = this.field2422[var1.field2440] * this.field2411[var1.field2440] + 4096 >> 13; + var3 = var3 * var3 + 16384 >> 15; + var3 = var3 * var1.field2442 + 16384 >> 15; + var3 = var3 * this.field2409 + 128 >> 8; + if (var2.field2392 > 0) { + var3 = (int)((double)var3 * Math.pow(0.5D, 1.953125E-5D * (double)var1.field2447 * (double)var2.field2392) + 0.5D); + } + + int var4; + int var5; + int var6; + int var7; + if (var2.field2387 != null) { + var4 = var1.field2448; + var5 = var2.field2387[var1.field2449 * 4 + 1]; + if (var1.field2449 * 4 < var2.field2387.length - 2) { + var6 = (var2.field2387[var1.field2449 * 4] & 255) << 8; + var7 = (var2.field2387[var1.field2449 * 4 + 2] & 255) << 8; + var5 += (var2.field2387[var1.field2449 * 4 + 3] - var5) * (var4 - var6) / (var7 - var6); + } + + var3 = var5 * var3 + 32 >> 6; + } + + if (var1.field2436 > 0 && var2.field2388 != null) { + var4 = var1.field2436; + var5 = var2.field2388[var1.field2451 * 4 + 1]; + if (var1.field2451 * 4 < var2.field2388.length - 2) { + var6 = (var2.field2388[var1.field2451 * 4] & 255) << 8; + var7 = (var2.field2388[var1.field2451 * 4 + 2] & 255) << 8; + var5 += (var2.field2388[var1.field2451 * 4 + 3] - var5) * (var4 - var6) / (var7 - var6); + } + + var3 = var5 * var3 + 32 >> 6; + } + + return var3; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(Lgi;I)I", + garbageValue = "-1266735092" + ) + int method3732(MusicPatchNode var1) { + int var2 = this.field2412[var1.field2440]; + return var2 < 8192 ? var2 * var1.field2443 + 32 >> 6 : 16384 - ((128 - var1.field2443) * (16384 - var2) + 32 >> 6); + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1310291586" + ) + void method3738() { + int var1 = this.track; + int var2 = this.trackLength; + + long var3; + for (var3 = this.field2434; var2 == this.trackLength; var3 = this.midiFile.method3861(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.field2430 || var2 == 0) { + this.method3726(); + this.midiFile.clear(); + return; + } + + this.midiFile.reset(var3); + } + break; + } + + if ((var5 & 128) != 0) { + this.method3728(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.field2434 = var3; + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(Lgi;I)Z", + garbageValue = "2116286373" + ) + boolean method3739(MusicPatchNode var1) { + if (var1.stream == null) { + if (var1.field2436 >= 0) { + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; + } + } + + return true; + } else { + return false; + } + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(Lgi;[IIII)Z", + garbageValue = "-176973860" + ) + boolean method3740(MusicPatchNode var1, int[] var2, int var3, int var4) { + var1.field2455 = CollisionMap.PcmPlayer_sampleRate / 100; + if (var1.field2436 < 0 || var1.stream != null && !var1.stream.method2558()) { + int var5 = var1.field2446; + if (var5 > 0) { + var5 -= (int)(16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double)this.field2419[var1.field2440]) + 0.5D); + if (var5 < 0) { + var5 = 0; + } + + var1.field2446 = var5; + } + + var1.stream.method2538(this.method3730(var1)); + MusicPatchNode2 var6 = var1.field2452; + boolean var7 = false; + ++var1.field2458; + var1.field2453 += var6.field2394; + double var8 = 5.086263020833333E-6D * (double)((var1.field2450 - 60 << 8) + (var1.field2445 * var1.field2446 >> 12)); + if (var6.field2392 > 0) { + if (var6.field2391 > 0) { + var1.field2447 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2391) + 0.5D); + } else { + var1.field2447 += 128; + } + } + + if (var6.field2387 != null) { + if (var6.field2390 > 0) { + var1.field2448 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2390 * var8) + 0.5D); + } else { + var1.field2448 += 128; + } + + while (var1.field2449 * 4 < var6.field2387.length - 2 && var1.field2448 > (var6.field2387[var1.field2449 * 4 + 2] & 255) << 8) { + var1.field2449 = var1.field2449 * 4 + 2; + } + + if (var1.field2449 * 4 == var6.field2387.length - 2 && var6.field2387[var1.field2449 * 4 + 1] == 0) { + var7 = true; + } + } + + if (var1.field2436 >= 0 && var6.field2388 != null && (this.field2421[var1.field2440] & 1) == 0 && (var1.field2438 < 0 || var1 != this.field2428[var1.field2440][var1.field2438])) { + if (var6.field2398 > 0) { + var1.field2436 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2398 * var8) + 0.5D); + } else { + var1.field2436 += 128; + } + + while (var1.field2451 * 4 < var6.field2388.length - 2 && var1.field2436 > (var6.field2388[var1.field2451 * 4 + 2] & 255) << 8) { + var1.field2451 = var1.field2451 * 4 + 2; + } + + if (var1.field2451 * 4 == var6.field2388.length - 2) { + var7 = true; + } + } + + if (var7) { + var1.stream.method2540(var1.field2455); + if (var2 != null) { + var1.stream.fill(var2, var3, var4); + } else { + var1.stream.skip(var4); + } + + if (var1.stream.method2585()) { + this.patchStream.mixer.addSubStream(var1.stream); + } + + var1.method3826(); + if (var1.field2436 >= 0) { + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; + } + } + + return true; + } else { + var1.stream.method2536(var1.field2455, this.method3731(var1), this.method3732(var1)); + return false; + } + } else { + var1.method3826(); + var1.remove(); + if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) { + this.field2428[var1.field2440][var1.field2438] = null; + } + + return true; + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1881799127" + ) + public static boolean method3811() { + ReflectionCheck var0 = (ReflectionCheck)class96.reflectionChecks.last(); + return var0 != null; + } } diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index f66a6ba026..e7240f34fb 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -4,236 +4,130 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fd") +@ObfuscatedName("fe") @Implements("MilliClock") public class MilliClock extends Clock { - @ObfuscatedName("qi") - @ObfuscatedSignature( - signature = "Ldp;" - ) - @Export("decimator") - static Decimator decimator; - @ObfuscatedName("m") - long[] field517; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1940981129 - ) - int field518; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1217137493 - ) - int field519; - @ObfuscatedName("w") - @ObfuscatedGetter( - longValue = -8372744267470318611L - ) - long field520; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 250272357 - ) - int field521; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 576555527 - ) - int field522; + @ObfuscatedName("q") + long[] field2011; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 406251697 + ) + int field2014; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1542069259 + ) + int field2013; + @ObfuscatedName("p") + @ObfuscatedGetter( + longValue = -5256643665710280471L + ) + long field2012; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 729258425 + ) + int field2015; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1018209541 + ) + int field2016; - public MilliClock() { - this.field517 = new long[10]; - this.field518 = 256; - this.field519 = 1; - this.field521 = 0; - this.field520 = class203.currentTimeMs(); + MilliClock() { + this.field2011 = new long[10]; + this.field2014 = 256; + this.field2013 = 1; + this.field2015 = 0; + this.field2012 = DirectByteArrayCopier.currentTimeMs(); - for (int var1 = 0; var1 < 10; ++var1) { - this.field517[var1] = this.field520; - } + for (int var1 = 0; var1 < 10; ++var1) { + this.field2011[var1] = this.field2012; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "61" - ) - @Export("mark") - public void mark() { - for (int var1 = 0; var1 < 10; ++var1) { - this.field517[var1] = 0L; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1402657312" + ) + @Export("mark") + public void mark() { + for (int var1 = 0; var1 < 10; ++var1) { + this.field2011[var1] = 0L; + } - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-126803683" - ) - @Export("wait") - public int wait(int cycleMs, int minSleepMs) { - int var3 = this.field518; - int var4 = this.field519; - this.field518 = 300; - this.field519 = 1; - this.field520 = class203.currentTimeMs(); - if (0L == this.field517[this.field522]) { - this.field518 = var3; - this.field519 = var4; - } else if (this.field520 > this.field517[this.field522]) { - this.field518 = (int)((long)(cycleMs * 2560) / (this.field520 - this.field517[this.field522])); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-333181863" + ) + @Export("wait") + public int wait(int var1, int var2) { + int var3 = this.field2014; + int var4 = this.field2013; + this.field2014 = 300; + this.field2013 = 1; + this.field2012 = DirectByteArrayCopier.currentTimeMs(); + if (this.field2011[this.field2016] == 0L) { + this.field2014 = var3; + this.field2013 = var4; + } else if (this.field2012 > this.field2011[this.field2016]) { + this.field2014 = (int)((long)(var1 * 2560) / (this.field2012 - this.field2011[this.field2016])); + } - if (this.field518 < 25) { - this.field518 = 25; - } + if (this.field2014 < 25) { + this.field2014 = 25; + } - if (this.field518 > 256) { - this.field518 = 256; - this.field519 = (int)((long)cycleMs - (this.field520 - this.field517[this.field522]) / 10L); - } + if (this.field2014 > 256) { + this.field2014 = 256; + this.field2013 = (int)((long)var1 - (this.field2012 - this.field2011[this.field2016]) / 10L); + } - if (this.field519 > cycleMs) { - this.field519 = cycleMs; - } + if (this.field2013 > var1) { + this.field2013 = var1; + } - this.field517[this.field522] = this.field520; - this.field522 = (this.field522 + 1) % 10; - int var5; - if (this.field519 > 1) { - for (var5 = 0; var5 < 10; ++var5) { - if (this.field517[var5] != 0L) { - long[] var6 = this.field517; - var6[var5] += (long)this.field519; - } - } - } + this.field2011[this.field2016] = this.field2012; + this.field2016 = (this.field2016 + 1) % 10; + int var5; + if (this.field2013 > 1) { + for (var5 = 0; var5 < 10; ++var5) { + if (0L != this.field2011[var5]) { + this.field2011[var5] += (long)this.field2013; + } + } + } - if (this.field519 < minSleepMs) { - this.field519 = minSleepMs; - } + if (this.field2013 < var2) { + this.field2013 = var2; + } - class203.method4010((long)this.field519); + EnumDefinition.method4550((long)this.field2013); - for (var5 = 0; this.field521 < 256; this.field521 += this.field518) { - ++var5; - } + for (var5 = 0; this.field2015 < 256; this.field2015 += this.field2014) { + ++var5; + } - this.field521 &= 255; - return var5; - } + this.field2015 &= 255; + return var5; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "([Lbt;II[I[II)V", - garbageValue = "-1374398116" - ) - @Export("sortWorlds") - static void sortWorlds(World[] worlds, int lowestUnsorted, int highestUnsorted, int[] sortOption1, int[] sortOption2) { - if (lowestUnsorted < highestUnsorted) { - int var5 = lowestUnsorted - 1; - int var6 = highestUnsorted + 1; - int var7 = (highestUnsorted + lowestUnsorted) / 2; - World var8 = worlds[var7]; - worlds[var7] = worlds[lowestUnsorted]; - worlds[lowestUnsorted] = var8; - - while (var5 < var6) { - boolean var9 = true; - - int var10; - int var11; - int var12; - do { - --var6; - - for (var10 = 0; var10 < 4; ++var10) { - if (sortOption1[var10] == 2) { - var11 = worlds[var6].index; - var12 = var8.index; - } else if (sortOption1[var10] == 1) { - var11 = worlds[var6].population; - var12 = var8.population; - if (var11 == -1 && sortOption2[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && sortOption2[var10] == 1) { - var12 = 2001; - } - } else if (sortOption1[var10] == 3) { - var11 = worlds[var6].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = worlds[var6].id; - var12 = var8.id; - } - - if (var12 != var11) { - if ((sortOption2[var10] != 1 || var11 <= var12) && (sortOption2[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 (sortOption1[var10] == 2) { - var11 = worlds[var5].index; - var12 = var8.index; - } else if (sortOption1[var10] == 1) { - var11 = worlds[var5].population; - var12 = var8.population; - if (var11 == -1 && sortOption2[var10] == 1) { - var11 = 2001; - } - - if (var12 == -1 && sortOption2[var10] == 1) { - var12 = 2001; - } - } else if (sortOption1[var10] == 3) { - var11 = worlds[var5].isMembersOnly() ? 1 : 0; - var12 = var8.isMembersOnly() ? 1 : 0; - } else { - var11 = worlds[var5].id; - var12 = var8.id; - } - - if (var11 != var12) { - if ((sortOption2[var10] != 1 || var11 >= var12) && (sortOption2[var10] != 0 || var11 <= var12)) { - var9 = false; - } - break; - } - - if (var10 == 3) { - var9 = false; - } - } - } while(var9); - - if (var5 < var6) { - World var13 = worlds[var5]; - worlds[var5] = worlds[var6]; - worlds[var6] = var13; - } - } - - sortWorlds(worlds, lowestUnsorted, var6, sortOption1, sortOption2); - sortWorlds(worlds, var6 + 1, highestUnsorted, sortOption1, sortOption2); - } - - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIIB)I", + garbageValue = "-93" + ) + static int method3468(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; + } + } } diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index 0e010afbf3..f028cbe96b 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -3,1703 +3,1736 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("du") +@ObfuscatedName("dm") @Implements("Model") public class Model extends Entity { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ldu;" - ) - @Export("Model_sharedSequenceModel") - static Model Model_sharedSequenceModel; - @ObfuscatedName("f") - @Export("Model_sharedSequenceModelFaceAlphas") - static byte[] Model_sharedSequenceModelFaceAlphas; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ldu;" - ) - @Export("Model_sharedSpotAnimationModel") - static Model Model_sharedSpotAnimationModel; - @ObfuscatedName("w") - @Export("Model_sharedSpotAnimationModelFaceAlphas") - static byte[] Model_sharedSpotAnimationModelFaceAlphas; - @ObfuscatedName("at") - static boolean[] field523; - @ObfuscatedName("ad") - static boolean[] field524; - @ObfuscatedName("ap") - @Export("modelViewportXs") - static int[] modelViewportXs; - @ObfuscatedName("as") - @Export("modelViewportYs") - static int[] modelViewportYs; - @ObfuscatedName("am") - static int[] field525; - @ObfuscatedName("an") - static int[] field526; - @ObfuscatedName("az") - static int[] field527; - @ObfuscatedName("au") - static int[] field528; - @ObfuscatedName("aa") - static int[] field529; - @ObfuscatedName("ax") - static int[][] field530; - @ObfuscatedName("af") - static int[] field531; - @ObfuscatedName("ai") - static int[][] field532; - @ObfuscatedName("ba") - static int[] field533; - @ObfuscatedName("bb") - static int[] field534; - @ObfuscatedName("bs") - static int[] field535; - @ObfuscatedName("bq") - static int[] field536; - @ObfuscatedName("bn") - static int[] field537; - @ObfuscatedName("bk") - static int[] field538; - @ObfuscatedName("bd") - @Export("Model_transformTempX") - static int Model_transformTempX; - @ObfuscatedName("bc") - @Export("Model_transformTempY") - static int Model_transformTempY; - @ObfuscatedName("bo") - @Export("Model_transformTempZ") - static int Model_transformTempZ; - @ObfuscatedName("bx") - static boolean field539; - @ObfuscatedName("bm") - @Export("Model_sine") - static int[] Model_sine; - @ObfuscatedName("bl") - @Export("Model_cosine") - static int[] Model_cosine; - @ObfuscatedName("br") - static int[] field540; - @ObfuscatedName("bj") - static int[] field541; - @ObfuscatedName("o") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("u") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("g") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("l") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("e") - @Export("indicesCount") - int indicesCount; - @ObfuscatedName("x") - @Export("indices1") - int[] indices1; - @ObfuscatedName("d") - @Export("indices2") - int[] indices2; - @ObfuscatedName("k") - @Export("indices3") - int[] indices3; - @ObfuscatedName("n") - @Export("faceColors1") - int[] faceColors1; - @ObfuscatedName("i") - @Export("faceColors2") - int[] faceColors2; - @ObfuscatedName("a") - @Export("faceColors3") - int[] faceColors3; - @ObfuscatedName("z") - @Export("faceRenderPriorities") - byte[] faceRenderPriorities; - @ObfuscatedName("j") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("s") - byte[] field542; - @ObfuscatedName("t") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("y") - byte field543; - @ObfuscatedName("h") - int field544; - @ObfuscatedName("b") - int[] field545; - @ObfuscatedName("c") - int[] field546; - @ObfuscatedName("r") - int[] field547; - @ObfuscatedName("p") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("v") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("ag") - @Export("isSingleTile") - public boolean isSingleTile; - @ObfuscatedName("aq") - @Export("boundsType") - int boundsType; - @ObfuscatedName("aj") - @Export("bottomY") - int bottomY; - @ObfuscatedName("av") - @Export("xzRadius") - int xzRadius; - @ObfuscatedName("ar") - @Export("diameter") - int diameter; - @ObfuscatedName("ac") - @Export("radius") - int radius; - @ObfuscatedName("ay") - @Export("xMid") - int xMid; - @ObfuscatedName("ah") - @Export("yMid") - int yMid; - @ObfuscatedName("ak") - @Export("zMid") - int zMid; - @ObfuscatedName("aw") - @Export("xMidOffset") - int xMidOffset; - @ObfuscatedName("al") - @Export("yMidOffset") - int yMidOffset; - @ObfuscatedName("ab") - @Export("zMidOffset") - int zMidOffset; - - Model() { - this.verticesCount = 0; - this.indicesCount = 0; - this.field543 = 0; - this.field544 = 0; - this.isSingleTile = false; - this.xMidOffset = -1; - this.yMidOffset = -1; - this.zMidOffset = -1; - } - - @ObfuscatedSignature( - signature = "([Ldu;I)V" - ) - public Model(Model[] var1, int var2) { - this.verticesCount = 0; - this.indicesCount = 0; - this.field543 = 0; - this.field544 = 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.field544 = 0; - this.field543 = -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.field544 += var8.field544; - if (var8.faceRenderPriorities != null) { - var3 = true; - } else { - if (this.field543 == -1) { - this.field543 = var8.field543; - } - - if (this.field543 != var8.field543) { - var3 = true; - } - } - - var4 |= var8.faceAlphas != null; - var5 |= var8.faceTextures != null; - var6 |= var8.field542 != 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.field542 = new byte[this.indicesCount]; - } - - if (this.field544 > 0) { - this.field545 = new int[this.field544]; - this.field546 = new int[this.field544]; - this.field547 = new int[this.field544]; - } - - this.verticesCount = 0; - this.indicesCount = 0; - this.field544 = 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.field543; - } - } - - 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.field542 != null && var8.field542[var9] != -1) { - this.field542[this.indicesCount] = (byte)(this.field544 + var8.field542[var9]); - } else { - this.field542[this.indicesCount] = -1; - } - } - - ++this.indicesCount; - } - - for (var9 = 0; var9 < var8.field544; ++var9) { - this.field545[this.field544] = this.verticesCount + var8.field545[var9]; - this.field546[this.field544] = this.verticesCount + var8.field546[var9]; - this.field547[this.field544] = this.verticesCount + var8.field547[var9]; - ++this.field544; - } - - 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("m") - @ObfuscatedSignature( - signature = "([[IIIIZI)Ldu;" - ) - @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.field544 = this.field544; - 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.field542 = this.field542; - var11.faceTextures = this.faceTextures; - var11.field543 = this.field543; - var11.field545 = this.field545; - var11.field546 = this.field546; - var11.field547 = this.field547; - 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("f") - @ObfuscatedSignature( - signature = "(Z)Ldu;" - ) - @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("q") - @ObfuscatedSignature( - signature = "(Z)Ldu;" - ) - @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("w") - @ObfuscatedSignature( - signature = "(ZLdu;[B)Ldu;" - ) - @Export("buildSharedModel") - Model buildSharedModel(boolean var1, Model var2, byte[] var3) { - var2.verticesCount = this.verticesCount; - var2.indicesCount = this.indicesCount; - var2.field544 = this.field544; - 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.field542 = this.field542; - var2.faceTextures = this.faceTextures; - var2.field543 = this.field543; - var2.field545 = this.field545; - var2.field546 = this.field546; - var2.field547 = this.field547; - var2.vertexLabels = this.vertexLabels; - var2.faceLabelsAlpha = this.faceLabelsAlpha; - var2.isSingleTile = this.isSingleTile; - var2.resetBounds(); - return var2; - } - - @ObfuscatedName("o") - @Export("calculateBoundingBox") - void calculateBoundingBox(int yaw) { - 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[yaw]; - int var9 = Model_sine[yaw]; - - for (int var10 = 0; var10 < this.verticesCount; ++var10) { - int var11 = Rasterizer3D.method3039(this.verticesX[var10], this.verticesZ[var10], var8, var9); - int var12 = this.verticesY[var10]; - int var13 = Rasterizer3D.method3004(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("g") - void method197() { - 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("l") - public int method198() { - this.calculateBoundsCylinder(); - return this.xzRadius; - } - - @ObfuscatedName("x") - @Export("resetBounds") - void resetBounds() { - this.boundsType = 0; - this.xMidOffset = -1; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Len;I)V" - ) - @Export("animate") - public void animate(Frames frames, int frame) { - if (this.vertexLabels != null && frame != -1) { - Animation var3 = frames.frames[frame]; - 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("a") - @ObfuscatedSignature( - signature = "(Len;ILen;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 var10 = var9 + 1; - int var11 = var5[var9]; - - int var12; - int var13; - for (var12 = 0; var12 < var6.transformCount; ++var12) { - for (var13 = var6.transformSkeletonLabels[var12]; var13 > var11; var11 = var5[var10++]) { - } - - if (var13 != var11 || var8.transformTypes[var13] == 0) { - this.transform(var8.transformTypes[var13], var8.labels[var13], var6.transformXs[var12], var6.transformYs[var12], var6.transformZs[var12]); - } - } - - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - var9 = 0; - var10 = var9 + 1; - var11 = var5[var9]; - - for (var12 = 0; var12 < var7.transformCount; ++var12) { - for (var13 = var7.transformSkeletonLabels[var12]; var13 > var11; var11 = var5[var10++]) { - } - - if (var13 == var11 || var8.transformTypes[var13] == 0) { - this.transform(var8.transformTypes[var13], var8.labels[var13], var7.transformXs[var12], var7.transformYs[var12], var7.transformZs[var12]); - } - } - - this.resetBounds(); - } else { - this.animate(var1, var2); - } - } - - } - - @ObfuscatedName("z") - @Export("transform") - void transform(int type, int[] labels, int var3, int var4, int var5) { - int var6 = labels.length; - int var7; - int var8; - int var9; - int var10; - int[] var12; - if (type == 0) { - var7 = 0; - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - - for (var8 = 0; var8 < var6; ++var8) { - int var11 = labels[var8]; - if (var11 < this.vertexLabels.length) { - var12 = this.vertexLabels[var11]; - - for (var9 = 0; var9 < var12.length; ++var9) { - var10 = var12[var9]; - Model_transformTempX += this.verticesX[var10]; - Model_transformTempY += this.verticesY[var10]; - Model_transformTempZ += this.verticesZ[var10]; - ++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 var13; - int[] var19; - if (type == 1) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = labels[var7]; - if (var8 < this.vertexLabels.length) { - var12 = this.vertexLabels[var8]; - - for (var13 = 0; var13 < var12.length; ++var13) { - var9 = var12[var13]; - var19 = this.verticesX; - var19[var9] += var3; - var19 = this.verticesY; - var19[var9] += var4; - var19 = this.verticesZ; - var19[var9] += var5; - } - } - } - } else if (type == 2) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = labels[var7]; - if (var8 < this.vertexLabels.length) { - var12 = this.vertexLabels[var8]; - - for (var13 = 0; var13 < var12.length; ++var13) { - var9 = var12[var13]; - var19 = this.verticesX; - var19[var9] -= Model_transformTempX; - var19 = this.verticesY; - var19[var9] -= Model_transformTempY; - var19 = this.verticesZ; - var19[var9] -= Model_transformTempZ; - var10 = (var3 & 255) * 8; - int var14 = (var4 & 255) * 8; - int var15 = (var5 & 255) * 8; - int var16; - int var17; - int var18; - if (var15 != 0) { - var16 = Model_sine[var15]; - var17 = Model_cosine[var15]; - var18 = var16 * this.verticesY[var9] + var17 * this.verticesX[var9] >> 16; - this.verticesY[var9] = var17 * this.verticesY[var9] - var16 * this.verticesX[var9] >> 16; - this.verticesX[var9] = var18; - } - - if (var10 != 0) { - var16 = Model_sine[var10]; - var17 = Model_cosine[var10]; - var18 = var17 * this.verticesY[var9] - var16 * this.verticesZ[var9] >> 16; - this.verticesZ[var9] = var16 * this.verticesY[var9] + var17 * this.verticesZ[var9] >> 16; - this.verticesY[var9] = var18; - } - - if (var14 != 0) { - var16 = Model_sine[var14]; - var17 = Model_cosine[var14]; - var18 = var16 * this.verticesZ[var9] + var17 * this.verticesX[var9] >> 16; - this.verticesZ[var9] = var17 * this.verticesZ[var9] - var16 * this.verticesX[var9] >> 16; - this.verticesX[var9] = var18; - } - - var19 = this.verticesX; - var19[var9] += Model_transformTempX; - var19 = this.verticesY; - var19[var9] += Model_transformTempY; - var19 = this.verticesZ; - var19[var9] += Model_transformTempZ; - } - } - } - } else if (type == 3) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = labels[var7]; - if (var8 < this.vertexLabels.length) { - var12 = this.vertexLabels[var8]; - - for (var13 = 0; var13 < var12.length; ++var13) { - var9 = var12[var13]; - var19 = this.verticesX; - var19[var9] -= Model_transformTempX; - var19 = this.verticesY; - var19[var9] -= Model_transformTempY; - var19 = this.verticesZ; - var19[var9] -= Model_transformTempZ; - this.verticesX[var9] = var3 * this.verticesX[var9] / 128; - this.verticesY[var9] = var4 * this.verticesY[var9] / 128; - this.verticesZ[var9] = var5 * this.verticesZ[var9] / 128; - var19 = this.verticesX; - var19[var9] += Model_transformTempX; - var19 = this.verticesY; - var19[var9] += Model_transformTempY; - var19 = this.verticesZ; - var19[var9] += Model_transformTempZ; - } - } - } - } else if (type == 5 && this.faceLabelsAlpha != null && this.faceAlphas != null) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = labels[var7]; - if (var8 < this.faceLabelsAlpha.length) { - var12 = this.faceLabelsAlpha[var8]; - - for (var13 = 0; var13 < var12.length; ++var13) { - var9 = var12[var13]; - var10 = (this.faceAlphas[var9] & 255) + var3 * 8; - if (var10 < 0) { - var10 = 0; - } else if (var10 > 255) { - var10 = 255; - } - - this.faceAlphas[var9] = (byte)var10; - } - } - } - } - } - - } - - @ObfuscatedName("j") - @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("s") - @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("t") - @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("y") - @Export("rotateZ") - public void rotateZ(int pitch) { - int var2 = Model_sine[pitch]; - int var3 = Model_cosine[pitch]; - - 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("h") - @Export("offsetBy") - public void offsetBy(int x, int y, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int[] var5 = this.verticesX; - var5[var4] += x; - var5 = this.verticesY; - var5[var4] += y; - var5 = this.verticesZ; - var5[var4] += var3; - } - - this.resetBounds(); - } - - @ObfuscatedName("b") - @Export("scale") - public void scale(int x, int y, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - this.verticesX[var4] = this.verticesX[var4] * x / 128; - this.verticesY[var4] = y * this.verticesY[var4] / 128; - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; - } - - this.resetBounds(); - } - - @ObfuscatedName("c") - public final void method199(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - field529[0] = -1; - if (this.boundsType != 2 && this.boundsType != 1) { - this.method197(); - } - - 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; - field525[var19] = var22 - var18; - modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; - modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; - if (this.field544 > 0) { - field526[var19] = var20; - field527[var19] = var23; - field528[var19] = var22; - } - } - - try { - this.draw0(false, false, false, 0L); - } catch (Exception var24) { - } - - } - - @ObfuscatedName("p") - public final void method200(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - field529[0] = -1; - if (this.boundsType != 2 && this.boundsType != 1) { - this.method197(); - } - - 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; - field525[var20] = var23 - var19; - modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; - modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; - if (this.field544 > 0) { - field526[var20] = var21; - field527[var20] = var24; - field528[var20] = var23; - } - } - - try { - this.draw0(false, false, false, 0L); - } catch (Exception var25) { - } - - } - - @ObfuscatedName("v") - @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) { - field529[var6] = 0; - } - - var6 = var3 ? 20 : 5; - - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - for (var7 = 0; var7 < this.indicesCount; ++var7) { - if (this.faceColors3[var7] != -2) { - var8 = this.indices1[var7]; - var16 = this.indices2[var7]; - var9 = this.indices3[var7]; - var10 = modelViewportXs[var8]; - var11 = modelViewportXs[var16]; - var12 = modelViewportXs[var9]; - int var17; - if (!var1 || var10 != -5000 && var11 != -5000 && var12 != -5000) { - if (var2 && NPCDefinition.method5164(modelViewportYs[var8], modelViewportYs[var16], modelViewportYs[var9], var10, var11, var12, var6)) { - Projectile.addEntityTagAtMouse(var4); - var2 = false; - } - - if ((var10 - var11) * (modelViewportYs[var9] - modelViewportYs[var16]) - (var12 - var11) * (modelViewportYs[var8] - modelViewportYs[var16]) > 0) { - field524[var7] = false; - if (var10 >= 0 && var11 >= 0 && var12 >= 0 && var10 <= Rasterizer3D.Rasterizer3D_clipWidth && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth) { - field523[var7] = false; - } else { - field523[var7] = true; - } - - var17 = (field525[var8] + field525[var16] + field525[var9]) / 3 + this.radius; - field530[var17][field529[var17]++] = var7; - } - } else { - var17 = field526[var8]; - var13 = field526[var16]; - var14 = field526[var9]; - int var18 = field527[var8]; - var15 = field527[var16]; - int var19 = field527[var9]; - int var20 = field528[var8]; - int var21 = field528[var16]; - int var22 = field528[var9]; - var17 -= var13; - var14 -= var13; - var18 -= var15; - var19 -= var15; - var20 -= var21; - var22 -= var21; - int var23 = var18 * var22 - var20 * var19; - int var24 = var20 * var14 - var17 * var22; - int var25 = var17 * var19 - var18 * var14; - if (var13 * var23 + var15 * var24 + var21 * var25 > 0) { - field524[var7] = true; - int var26 = (field525[var8] + field525[var16] + field525[var9]) / 3 + this.radius; - field530[var26][field529[var26]++] = var7; - } - } - } - } - - int[] var27; - if (this.faceRenderPriorities == null) { - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field529[var7]; - if (var8 > 0) { - var27 = field530[var7]; - - for (var9 = 0; var9 < var8; ++var9) { - this.method201(var27[var9]); - } - } - } - } else { - for (var7 = 0; var7 < 12; ++var7) { - field531[var7] = 0; - field535[var7] = 0; - } - - int[] var30; - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field529[var7]; - if (var8 > 0) { - var27 = field530[var7]; - - for (var9 = 0; var9 < var8; ++var9) { - var10 = var27[var9]; - byte var28 = this.faceRenderPriorities[var10]; - var12 = field531[var28]++; - field532[var28][var12] = var10; - if (var28 < 10) { - var30 = field535; - var30[var28] += var7; - } else if (var28 == 10) { - field533[var12] = var7; - } else { - field534[var12] = var7; - } - } - } - } - - var7 = 0; - if (field531[1] > 0 || field531[2] > 0) { - var7 = (field535[1] + field535[2]) / (field531[1] + field531[2]); - } - - var8 = 0; - if (field531[3] > 0 || field531[4] > 0) { - var8 = (field535[3] + field535[4]) / (field531[3] + field531[4]); - } - - var16 = 0; - if (field531[6] > 0 || field531[8] > 0) { - var16 = (field535[8] + field535[6]) / (field531[8] + field531[6]); - } - - var10 = 0; - var11 = field531[10]; - int[] var29 = field532[10]; - var30 = field533; - if (var10 == var11) { - var10 = 0; - var11 = field531[11]; - var29 = field532[11]; - var30 = field534; - } - - if (var10 < var11) { - var9 = var30[var10]; - } else { - var9 = -1000; - } - - for (var13 = 0; var13 < 10; ++var13) { - while (var13 == 0 && var9 > var7) { - this.method201(var29[var10++]); - if (var10 == var11 && var29 != field532[11]) { - var10 = 0; - var11 = field531[11]; - var29 = field532[11]; - var30 = field534; - } - - if (var10 < var11) { - var9 = var30[var10]; - } else { - var9 = -1000; - } - } - - while (var13 == 3 && var9 > var8) { - this.method201(var29[var10++]); - if (var10 == var11 && var29 != field532[11]) { - var10 = 0; - var11 = field531[11]; - var29 = field532[11]; - var30 = field534; - } - - if (var10 < var11) { - var9 = var30[var10]; - } else { - var9 = -1000; - } - } - - while (var13 == 5 && var9 > var16) { - this.method201(var29[var10++]); - if (var10 == var11 && var29 != field532[11]) { - var10 = 0; - var11 = field531[11]; - var29 = field532[11]; - var30 = field534; - } - - if (var10 < var11) { - var9 = var30[var10]; - } else { - var9 = -1000; - } - } - - var14 = field531[var13]; - int[] var31 = field532[var13]; - - for (var15 = 0; var15 < var14; ++var15) { - this.method201(var31[var15]); - } - } - - while (var9 != -1000) { - this.method201(var29[var10++]); - if (var10 == var11 && var29 != field532[11]) { - var10 = 0; - var29 = field532[11]; - var11 = field531[11]; - var30 = field534; - } - - if (var10 < var11) { - var9 = var30[var10]; - } else { - var9 = -1000; - } - } - } - } - - } - - @ObfuscatedName("ag") - final void method201(int var1) { - if (field524[var1]) { - this.method202(var1); - } else { - int var2 = this.indices1[var1]; - int var3 = this.indices2[var1]; - int var4 = this.indices3[var1]; - Rasterizer3D.field739 = field523[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.field542 != null && this.field542[var1] != -1) { - int var8 = this.field542[var1] & 255; - var5 = this.field545[var8]; - var6 = this.field546[var8]; - var7 = this.field547[var8]; - } else { - var5 = var2; - var6 = var3; - var7 = var4; - } - - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method2986(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field526[var5], field526[var6], field526[var7], field527[var5], field527[var6], field527[var7], field528[var5], field528[var6], field528[var7], this.faceTextures[var1]); - } else { - Rasterizer3D.method2986(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field526[var5], field526[var6], field526[var7], field527[var5], field527[var6], field527[var7], field528[var5], field528[var6], field528[var7], this.faceTextures[var1]); - } - } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3020(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field540[this.faceColors1[var1]]); - } else { - Rasterizer3D.method3037(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); - } - } - - } - - @ObfuscatedName("aq") - final void method202(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 = field528[var5]; - int var9 = field528[var6]; - int var10 = field528[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) { - field536[var4] = modelViewportXs[var5]; - field537[var4] = modelViewportYs[var5]; - field538[var4++] = this.faceColors1[var1]; - } else { - var11 = field526[var5]; - var12 = field527[var5]; - var13 = this.faceColors1[var1]; - if (var10 >= 50) { - var14 = field541[var10 - var8] * (50 - var8); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var7] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var7] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); - } - - if (var9 >= 50) { - var14 = field541[var9 - var8] * (50 - var8); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var6] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var6] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); - } - } - - if (var9 >= 50) { - field536[var4] = modelViewportXs[var6]; - field537[var4] = modelViewportYs[var6]; - field538[var4++] = this.faceColors2[var1]; - } else { - var11 = field526[var6]; - var12 = field527[var6]; - var13 = this.faceColors2[var1]; - if (var8 >= 50) { - var14 = field541[var8 - var9] * (50 - var9); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var5] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var5] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); - } - - if (var10 >= 50) { - var14 = field541[var10 - var9] * (50 - var9); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var7] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var7] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); - } - } - - if (var10 >= 50) { - field536[var4] = modelViewportXs[var7]; - field537[var4] = modelViewportYs[var7]; - field538[var4++] = this.faceColors3[var1]; - } else { - var11 = field526[var7]; - var12 = field527[var7]; - var13 = this.faceColors3[var1]; - if (var9 >= 50) { - var14 = field541[var9 - var10] * (50 - var10); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var6] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var6] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); - } - - if (var8 >= 50) { - var14 = field541[var8 - var10] * (50 - var10); - field536[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field526[var5] - var11) * var14 >> 16)) / 50; - field537[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field527[var5] - var12) * var14 >> 16)) / 50; - field538[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); - } - } - - var11 = field536[0]; - var12 = field536[1]; - var13 = field536[2]; - var14 = field537[0]; - int var15 = field537[1]; - int var16 = field537[2]; - Rasterizer3D.field739 = 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.field739 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field542 != null && this.field542[var1] != -1) { - var20 = this.field542[var1] & 255; - var17 = this.field545[var20]; - var18 = this.field546[var20]; - var19 = this.field547[var20]; - } else { - var17 = var5; - var18 = var6; - var19 = var7; - } - - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], this.faceTextures[var1]); - } else { - Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, field538[0], field538[1], field538[2], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], this.faceTextures[var1]); - } - } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, field540[this.faceColors1[var1]]); - } else { - Rasterizer3D.method3037(var14, var15, var16, var11, var12, var13, field538[0], field538[1], field538[2]); - } - } - - if (var4 == 4) { - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field536[3] < 0 || field536[3] > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field739 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field542 != null && this.field542[var1] != -1) { - var20 = this.field542[var1] & 255; - var17 = this.field545[var20]; - var18 = this.field546[var20]; - var19 = this.field547[var20]; - } else { - var17 = var5; - var18 = var6; - var19 = var7; - } - - short var21 = this.faceTextures[var1]; - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], var21); - Rasterizer3D.method2986(var14, var16, field537[3], var11, var13, field536[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], var21); - } else { - Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, field538[0], field538[1], field538[2], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], var21); - Rasterizer3D.method2986(var14, var16, field537[3], var11, var13, field536[3], field538[0], field538[2], field538[3], field526[var17], field526[var18], field526[var19], field527[var17], field527[var18], field527[var19], field528[var17], field528[var18], field528[var19], var21); - } - } else if (this.faceColors3[var1] == -1) { - var17 = field540[this.faceColors1[var1]]; - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, var17); - Rasterizer3D.method3020(var14, var16, field537[3], var11, var13, field536[3], var17); - } else { - Rasterizer3D.method3037(var14, var15, var16, var11, var12, var13, field538[0], field538[1], field538[2]); - Rasterizer3D.method3037(var14, var16, field537[3], var11, var13, field536[3], field538[0], field538[2], field538[3]); - } - } - - } - - @ObfuscatedName("cy") - @Export("draw") - void draw(int yaw, int cameraPitchSine, int cameraPitchCosine, int cameraYawSine, int cameraYawCosine, int x, int y, int z, long tag) { - field529[0] = -1; - if (this.boundsType != 1) { - this.calculateBoundsCylinder(); - } - - this.calculateBoundingBox(yaw); - int var11 = cameraYawCosine * z - cameraYawSine * x >> 16; - int var12 = cameraPitchSine * y + cameraPitchCosine * var11 >> 16; - int var13 = cameraPitchCosine * this.xzRadius >> 16; - int var14 = var12 + var13; - if (var14 > 50 && var12 < 3500) { - int var15 = z * cameraYawSine + cameraYawCosine * x >> 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 = cameraPitchCosine * y - var11 * cameraPitchSine >> 16; - int var19 = cameraPitchSine * this.xzRadius >> 16; - int var20 = (var18 + var19) * Rasterizer3D.Rasterizer3D_zoom; - if (var20 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidY) { - int var21 = (cameraPitchCosine * super.height >> 16) + var19; - int var22 = (var18 - var21) * Rasterizer3D.Rasterizer3D_zoom; - if (var22 / var14 < Rasterizer3D.Rasterizer3D_clipMidY2) { - int var23 = var13 + (cameraPitchSine * super.height >> 16); - boolean var24 = false; - boolean var25 = false; - if (var12 - var23 <= 50) { - var25 = true; - } - - boolean var26 = var25 || this.field544 > 0; - int var27 = ViewportMouse.ViewportMouse_x; - int var28 = ViewportMouse.ViewportMouse_y; - boolean var29 = ViewportMouse.ViewportMouse_isInViewport; - boolean var30 = 0L != tag; - boolean var31; - if (var30) { - var31 = (int)(tag >>> 16 & 1L) == 1; - var30 = !var31; - } - - var31 = false; - int var32; - int var33; - int var34; - if (var30 && var29) { - boolean var35 = false; - if (field539) { - var35 = Decimator.boundingBoxCheck(this, x, y, z); - } else { - var32 = var12 - var13; - if (var32 <= 50) { - var32 = 50; - } - - if (var15 > 0) { - var16 /= var14; - var17 /= var32; - } else { - var17 /= var14; - var16 /= var32; - } - - if (var18 > 0) { - var22 /= var14; - var20 /= var32; - } else { - var20 /= var14; - var22 /= var32; - } - - var33 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; - var34 = var28 - Rasterizer3D.Rasterizer3D_clipMidY; - if (var33 > var16 && var33 < var17 && var34 > var22 && var34 < var20) { - var35 = true; - } - } - - if (var35) { - if (this.isSingleTile) { - Projectile.addEntityTagAtMouse(tag); - } else { - var31 = true; - } - } - } - - int var42 = Rasterizer3D.Rasterizer3D_clipMidX; - var32 = Rasterizer3D.Rasterizer3D_clipMidY; - var33 = 0; - var34 = 0; - if (yaw != 0) { - var33 = Model_sine[yaw]; - var34 = Model_cosine[yaw]; - } - - for (int var36 = 0; var36 < this.verticesCount; ++var36) { - int var37 = this.verticesX[var36]; - int var38 = this.verticesY[var36]; - int var39 = this.verticesZ[var36]; - int var40; - if (yaw != 0) { - var40 = var39 * var33 + var37 * var34 >> 16; - var39 = var39 * var34 - var37 * var33 >> 16; - var37 = var40; - } - - var37 += x; - var38 += y; - var39 += z; - var40 = var39 * cameraYawSine + cameraYawCosine * var37 >> 16; - var39 = cameraYawCosine * var39 - var37 * cameraYawSine >> 16; - var37 = var40; - var40 = cameraPitchCosine * var38 - var39 * cameraPitchSine >> 16; - var39 = var38 * cameraPitchSine + cameraPitchCosine * var39 >> 16; - field525[var36] = var39 - var12; - if (var39 >= 50) { - modelViewportXs[var36] = var37 * Rasterizer3D.Rasterizer3D_zoom / var39 + var42; - modelViewportYs[var36] = var40 * Rasterizer3D.Rasterizer3D_zoom / var39 + var32; - } else { - modelViewportXs[var36] = -5000; - var24 = true; - } - - if (var26) { - field526[var36] = var37; - field527[var36] = var40; - field528[var36] = var39; - } - } - - try { - this.draw0(var24, var31, this.isSingleTile, tag); - } catch (Exception var41) { - } - } - } - } - } - } - - } - - static { - Model_sharedSequenceModel = new Model(); - Model_sharedSequenceModelFaceAlphas = new byte[1]; - Model_sharedSpotAnimationModel = new Model(); - Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; - field523 = new boolean[4700]; - field524 = new boolean[4700]; - modelViewportXs = new int[4700]; - modelViewportYs = new int[4700]; - field525 = new int[4700]; - field526 = new int[4700]; - field527 = new int[4700]; - field528 = new int[4700]; - field529 = new int[1600]; - field530 = new int[1600][512]; - field531 = new int[12]; - field532 = new int[12][2000]; - field533 = new int[2000]; - field534 = new int[2000]; - field535 = new int[12]; - field536 = new int[10]; - field537 = new int[10]; - field538 = new int[10]; - field539 = true; - Model_sine = Rasterizer3D.Rasterizer3D_sine; - Model_cosine = Rasterizer3D.Rasterizer3D_cosine; - field540 = Rasterizer3D.Rasterizer3D_colorPalette; - field541 = Rasterizer3D.field743; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("Model_sharedSequenceModel") + static Model Model_sharedSequenceModel; + @ObfuscatedName("w") + @Export("Model_sharedSequenceModelFaceAlphas") + static byte[] Model_sharedSequenceModelFaceAlphas; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("Model_sharedSpotAnimationModel") + static Model Model_sharedSpotAnimationModel; + @ObfuscatedName("p") + @Export("Model_sharedSpotAnimationModelFaceAlphas") + static byte[] Model_sharedSpotAnimationModelFaceAlphas; + @ObfuscatedName("ac") + static boolean[] field1710; + @ObfuscatedName("ap") + static boolean[] field1723; + @ObfuscatedName("aq") + @Export("modelViewportXs") + static int[] modelViewportXs; + @ObfuscatedName("aa") + @Export("modelViewportYs") + static int[] modelViewportYs; + @ObfuscatedName("an") + static int[] field1714; + @ObfuscatedName("au") + static int[] field1715; + @ObfuscatedName("ai") + static int[] field1716; + @ObfuscatedName("ak") + static int[] field1717; + @ObfuscatedName("am") + static int[] field1711; + @ObfuscatedName("ay") + static int[][] field1720; + @ObfuscatedName("af") + static int[] field1721; + @ObfuscatedName("ab") + static int[][] field1729; + @ObfuscatedName("bp") + static int[] field1739; + @ObfuscatedName("bz") + static int[] field1724; + @ObfuscatedName("bi") + static int[] field1725; + @ObfuscatedName("bg") + static int[] field1726; + @ObfuscatedName("bh") + static int[] field1699; + @ObfuscatedName("bm") + static int[] field1728; + @ObfuscatedName("bn") + @Export("Model_transformTempX") + static int Model_transformTempX; + @ObfuscatedName("bc") + @Export("Model_transformTempY") + static int Model_transformTempY; + @ObfuscatedName("bx") + @Export("Model_transformTempZ") + static int Model_transformTempZ; + @ObfuscatedName("bo") + static boolean field1732; + @ObfuscatedName("bj") + @Export("Model_sine") + static int[] Model_sine; + @ObfuscatedName("bl") + @Export("Model_cosine") + static int[] Model_cosine; + @ObfuscatedName("bd") + static int[] field1737; + @ObfuscatedName("by") + static int[] field1738; + @ObfuscatedName("k") + @Export("verticesCount") + int verticesCount; + @ObfuscatedName("l") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("b") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("i") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("c") + @Export("indicesCount") + int indicesCount; + @ObfuscatedName("f") + @Export("indices1") + int[] indices1; + @ObfuscatedName("m") + @Export("indices2") + int[] indices2; + @ObfuscatedName("u") + @Export("indices3") + int[] indices3; + @ObfuscatedName("x") + @Export("faceColors1") + int[] faceColors1; + @ObfuscatedName("r") + @Export("faceColors2") + int[] faceColors2; + @ObfuscatedName("v") + @Export("faceColors3") + int[] faceColors3; + @ObfuscatedName("y") + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; + @ObfuscatedName("g") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("a") + byte[] field1688; + @ObfuscatedName("j") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("t") + byte field1690; + @ObfuscatedName("h") + int field1691; + @ObfuscatedName("o") + int[] field1692; + @ObfuscatedName("n") + int[] field1693; + @ObfuscatedName("d") + int[] field1694; + @ObfuscatedName("s") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("z") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("al") + @Export("isSingleTile") + public boolean isSingleTile; + @ObfuscatedName("av") + @Export("boundsType") + int boundsType; + @ObfuscatedName("as") + @Export("bottomY") + int bottomY; + @ObfuscatedName("aw") + @Export("xzRadius") + int xzRadius; + @ObfuscatedName("ad") + @Export("diameter") + int diameter; + @ObfuscatedName("ag") + @Export("radius") + int radius; + @ObfuscatedName("ar") + @Export("xMid") + int xMid; + @ObfuscatedName("ax") + @Export("yMid") + int yMid; + @ObfuscatedName("az") + @Export("zMid") + int zMid; + @ObfuscatedName("ae") + @Export("xMidOffset") + int xMidOffset; + @ObfuscatedName("ao") + @Export("yMidOffset") + int yMidOffset; + @ObfuscatedName("aj") + @Export("zMidOffset") + int zMidOffset; + + static { + Model_sharedSequenceModel = new Model(); + Model_sharedSequenceModelFaceAlphas = new byte[1]; + Model_sharedSpotAnimationModel = new Model(); + Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; + field1710 = new boolean[4700]; + field1723 = new boolean[4700]; + modelViewportXs = new int[4700]; + modelViewportYs = new int[4700]; + field1714 = new int[4700]; + field1715 = new int[4700]; + field1716 = new int[4700]; + field1717 = new int[4700]; + field1711 = new int[1600]; + field1720 = new int[1600][512]; + field1721 = new int[12]; + field1729 = new int[12][2000]; + field1739 = new int[2000]; + field1724 = new int[2000]; + field1725 = new int[12]; + field1726 = new int[10]; + field1699 = new int[10]; + field1728 = new int[10]; + field1732 = true; + Model_sine = Rasterizer3D.Rasterizer3D_sine; + Model_cosine = Rasterizer3D.Rasterizer3D_cosine; + field1737 = Rasterizer3D.Rasterizer3D_colorPalette; + field1738 = Rasterizer3D.field1786; + } + + Model() { + this.verticesCount = 0; + this.indicesCount = 0; + this.field1690 = 0; + this.field1691 = 0; + this.isSingleTile = false; + this.xMidOffset = -1; + this.yMidOffset = -1; + this.zMidOffset = -1; + } + + @ObfuscatedSignature( + signature = "([Ldm;I)V" + ) + public Model(Model[] var1, int var2) { + this.verticesCount = 0; + this.indicesCount = 0; + this.field1690 = 0; + this.field1691 = 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.field1691 = 0; + this.field1690 = -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.field1691 += var8.field1691; + if (var8.faceRenderPriorities != null) { + var3 = true; + } else { + if (this.field1690 == -1) { + this.field1690 = var8.field1690; + } + + if (this.field1690 != var8.field1690) { + var3 = true; + } + } + + var4 |= var8.faceAlphas != null; + var5 |= var8.faceTextures != null; + var6 |= var8.field1688 != 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.field1688 = new byte[this.indicesCount]; + } + + if (this.field1691 > 0) { + this.field1692 = new int[this.field1691]; + this.field1693 = new int[this.field1691]; + this.field1694 = new int[this.field1691]; + } + + this.verticesCount = 0; + this.indicesCount = 0; + this.field1691 = 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.field1690; + } + } + + 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.field1688 != null && var8.field1688[var9] != -1) { + this.field1688[this.indicesCount] = (byte)(this.field1691 + var8.field1688[var9]); + } else { + this.field1688[this.indicesCount] = -1; + } + } + + ++this.indicesCount; + } + + for (var9 = 0; var9 < var8.field1691; ++var9) { + this.field1692[this.field1691] = this.verticesCount + var8.field1692[var9]; + this.field1693[this.field1691] = this.verticesCount + var8.field1693[var9]; + this.field1694[this.field1691] = this.verticesCount + var8.field1694[var9]; + ++this.field1691; + } + + 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("q") + @ObfuscatedSignature( + signature = "([[IIIIZI)Ldm;" + ) + @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.field1691 = this.field1691; + 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.field1688 = this.field1688; + var11.faceTextures = this.faceTextures; + var11.field1690 = this.field1690; + var11.field1692 = this.field1692; + var11.field1693 = this.field1693; + var11.field1694 = this.field1694; + 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("w") + @ObfuscatedSignature( + signature = "(Z)Ldm;" + ) + @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("e") + @ObfuscatedSignature( + signature = "(Z)Ldm;" + ) + @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("p") + @ObfuscatedSignature( + signature = "(ZLdm;[B)Ldm;" + ) + @Export("buildSharedModel") + Model buildSharedModel(boolean var1, Model var2, byte[] var3) { + var2.verticesCount = this.verticesCount; + var2.indicesCount = this.indicesCount; + var2.field1691 = this.field1691; + 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.field1688 = this.field1688; + var2.faceTextures = this.faceTextures; + var2.field1690 = this.field1690; + var2.field1692 = this.field1692; + var2.field1693 = this.field1693; + var2.field1694 = this.field1694; + var2.vertexLabels = this.vertexLabels; + var2.faceLabelsAlpha = this.faceLabelsAlpha; + var2.isSingleTile = this.isSingleTile; + var2.resetBounds(); + return var2; + } + + @ObfuscatedName("k") + @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.method3040(this.verticesX[var10], this.verticesZ[var10], var8, var9); + int var12 = this.verticesY[var10]; + int var13 = Rasterizer3D.method3061(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("l") + @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("b") + void method2910() { + 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("i") + public int method2864() { + this.calculateBoundsCylinder(); + return this.xzRadius; + } + + @ObfuscatedName("u") + @Export("resetBounds") + void resetBounds() { + this.boundsType = 0; + this.xMidOffset = -1; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lek;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("r") + @ObfuscatedSignature( + signature = "(Lek;ILek;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("v") + @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("y") + @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("g") + @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("a") + @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("j") + @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("o") + @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("d") + @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("s") + public final void method2866(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + field1711[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method2910(); + } + + 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; + field1714[var19] = var22 - var18; + modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; + modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; + if (this.field1691 > 0) { + field1715[var19] = var20; + field1716[var19] = var23; + field1717[var19] = var22; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var25) { + } + + } + + @ObfuscatedName("z") + public final void method2876(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + field1711[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method2910(); + } + + 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; + field1714[var20] = var23 - var19; + modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; + modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; + if (this.field1691 > 0) { + field1715[var20] = var21; + field1716[var20] = var24; + field1717[var20] = var23; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var26) { + } + + } + + @ObfuscatedName("al") + @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) { + field1711[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; + int var17; + if (!var1 || var11 != -5000 && var12 != -5000 && var13 != -5000) { + if (var2) { + var15 = modelViewportYs[var8]; + var16 = modelViewportYs[var27]; + var17 = modelViewportYs[var10]; + var18 = var6 + ViewportMouse.ViewportMouse_y; + boolean var34; + if (var18 < var15 && var18 < var16 && var18 < var17) { + var34 = false; + } else { + var18 = ViewportMouse.ViewportMouse_y - var6; + if (var18 > var15 && var18 > var16 && var18 > var17) { + var34 = false; + } else { + var18 = var6 + ViewportMouse.ViewportMouse_x; + if (var18 < var11 && var18 < var12 && var18 < var13) { + var34 = false; + } else { + var18 = ViewportMouse.ViewportMouse_x - var6; + if (var18 > var11 && var18 > var12 && var18 > var13) { + var34 = false; + } else { + var34 = true; + } + } + } + } + + if (var34) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; + var2 = false; + } + } + + if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) { + field1723[var7] = false; + if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) { + field1710[var7] = false; + } else { + field1710[var7] = true; + } + + var14 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; + field1720[var14][field1711[var14]++] = var7; + } + } else { + var14 = field1715[var8]; + var15 = field1715[var27]; + var16 = field1715[var10]; + var17 = field1716[var8]; + var18 = field1716[var27]; + int var19 = field1716[var10]; + int var20 = field1717[var8]; + int var21 = field1717[var27]; + int var22 = field1717[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) { + field1723[var7] = true; + int var26 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius; + field1720[var26][field1711[var26]++] = var7; + } + } + } + } + + int[] var9; + if (this.faceRenderPriorities == null) { + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1711[var7]; + if (var8 > 0) { + var9 = field1720[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + this.method2879(var9[var10]); + } + } + } + + } else { + for (var7 = 0; var7 < 12; ++var7) { + field1721[var7] = 0; + field1725[var7] = 0; + } + + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1711[var7]; + if (var8 > 0) { + var9 = field1720[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + var11 = var9[var10]; + byte var33 = this.faceRenderPriorities[var11]; + var13 = field1721[var33]++; + field1729[var33][var13] = var11; + if (var33 < 10) { + int[] var10000 = field1725; + var10000[var33] += var7; + } else if (var33 == 10) { + field1739[var13] = var7; + } else { + field1724[var13] = var7; + } + } + } + } + + var7 = 0; + if (field1721[1] > 0 || field1721[2] > 0) { + var7 = (field1725[1] + field1725[2]) / (field1721[1] + field1721[2]); + } + + var8 = 0; + if (field1721[3] > 0 || field1721[4] > 0) { + var8 = (field1725[3] + field1725[4]) / (field1721[3] + field1721[4]); + } + + var27 = 0; + if (field1721[6] > 0 || field1721[8] > 0) { + var27 = (field1725[8] + field1725[6]) / (field1721[8] + field1721[6]); + } + + var11 = 0; + var12 = field1721[10]; + int[] var30 = field1729[10]; + int[] var31 = field1739; + if (var11 == var12) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + + for (var15 = 0; var15 < 10; ++var15) { + while (var15 == 0 && var10 > var7) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + while (var15 == 3 && var10 > var8) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + while (var15 == 5 && var10 > var27) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var12 = field1721[11]; + var30 = field1729[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + var16 = field1721[var15]; + int[] var32 = field1729[var15]; + + for (var18 = 0; var18 < var16; ++var18) { + this.method2879(var32[var18]); + } + } + + while (var10 != -1000) { + this.method2879(var30[var11++]); + if (var11 == var12 && var30 != field1729[11]) { + var11 = 0; + var30 = field1729[11]; + var12 = field1721[11]; + var31 = field1724; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + } + } + } + + @ObfuscatedName("av") + final void method2879(int var1) { + if (field1723[var1]) { + this.method2880(var1); + } else { + int var2 = this.indices1[var1]; + int var3 = this.indices2[var1]; + int var4 = this.indices3[var1]; + Rasterizer3D.field1763 = field1710[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.field1688 != null && this.field1688[var1] != -1) { + int var8 = this.field1688[var1] & 255; + var5 = this.field1692[var8]; + var6 = this.field1693[var8]; + var7 = this.field1694[var8]; + } else { + var5 = var2; + var6 = var3; + var7 = var4; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2986(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1715[var5], field1715[var6], field1715[var7], field1716[var5], field1716[var6], field1716[var7], field1717[var5], field1717[var6], field1717[var7], this.faceTextures[var1]); + } else { + Rasterizer3D.method2986(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field1715[var5], field1715[var6], field1715[var7], field1716[var5], field1716[var6], field1716[var7], field1717[var5], field1717[var6], field1717[var7], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3007(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field1737[this.faceColors1[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]); + } + + } + } + + @ObfuscatedName("as") + final void method2880(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 = field1717[var5]; + int var9 = field1717[var6]; + int var10 = field1717[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) { + field1726[var4] = modelViewportXs[var5]; + field1699[var4] = modelViewportYs[var5]; + field1728[var4++] = this.faceColors1[var1]; + } else { + var11 = field1715[var5]; + var12 = field1716[var5]; + var13 = this.faceColors1[var1]; + if (var10 >= 50) { + var14 = field1738[var10 - var8] * (50 - var8); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var7] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var7] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + + if (var9 >= 50) { + var14 = field1738[var9 - var8] * (50 - var8); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var6] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var6] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + } + + if (var9 >= 50) { + field1726[var4] = modelViewportXs[var6]; + field1699[var4] = modelViewportYs[var6]; + field1728[var4++] = this.faceColors2[var1]; + } else { + var11 = field1715[var6]; + var12 = field1716[var6]; + var13 = this.faceColors2[var1]; + if (var8 >= 50) { + var14 = field1738[var8 - var9] * (50 - var9); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var5] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var5] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + + if (var10 >= 50) { + var14 = field1738[var10 - var9] * (50 - var9); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var7] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var7] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + } + + if (var10 >= 50) { + field1726[var4] = modelViewportXs[var7]; + field1699[var4] = modelViewportYs[var7]; + field1728[var4++] = this.faceColors3[var1]; + } else { + var11 = field1715[var7]; + var12 = field1716[var7]; + var13 = this.faceColors3[var1]; + if (var9 >= 50) { + var14 = field1738[var9 - var10] * (50 - var10); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var6] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var6] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + + if (var8 >= 50) { + var14 = field1738[var8 - var10] * (50 - var10); + field1726[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1715[var5] - var11) * var14 >> 16)) / 50; + field1699[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1716[var5] - var12) * var14 >> 16)) / 50; + field1728[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + } + + var11 = field1726[0]; + var12 = field1726[1]; + var13 = field1726[2]; + var14 = field1699[0]; + int var15 = field1699[1]; + int var16 = field1699[2]; + Rasterizer3D.field1763 = 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.field1763 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1688 != null && this.field1688[var1] != -1) { + var20 = this.field1688[var1] & 255; + var17 = this.field1692[var20]; + var18 = this.field1693[var20]; + var19 = this.field1694[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], this.faceTextures[var1]); + } else { + Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, field1728[0], field1728[1], field1728[2], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3007(var14, var15, var16, var11, var12, var13, field1737[this.faceColors1[var1]]); + } else { + Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, field1728[0], field1728[1], field1728[2]); + } + } + + if (var4 == 4) { + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field1726[3] < 0 || field1726[3] > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1763 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1688 != null && this.field1688[var1] != -1) { + var20 = this.field1688[var1] & 255; + var17 = this.field1692[var20]; + var18 = this.field1693[var20]; + var19 = this.field1694[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + short var21 = this.faceTextures[var1]; + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], var21); + Rasterizer3D.method2986(var14, var16, field1699[3], var11, var13, field1726[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], var21); + } else { + Rasterizer3D.method2986(var14, var15, var16, var11, var12, var13, field1728[0], field1728[1], field1728[2], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], var21); + Rasterizer3D.method2986(var14, var16, field1699[3], var11, var13, field1726[3], field1728[0], field1728[2], field1728[3], field1715[var17], field1715[var18], field1715[var19], field1716[var17], field1716[var18], field1716[var19], field1717[var17], field1717[var18], field1717[var19], var21); + } + } else if (this.faceColors3[var1] == -1) { + var17 = field1737[this.faceColors1[var1]]; + Rasterizer3D.method3007(var14, var15, var16, var11, var12, var13, var17); + Rasterizer3D.method3007(var14, var16, field1699[3], var11, var13, field1726[3], var17); + } else { + Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, field1728[0], field1728[1], field1728[2]); + Rasterizer3D.method3020(var14, var16, field1699[3], var11, var13, field1726[3], field1728[0], field1728[2], field1728[3]); + } + } + + } + + @ObfuscatedName("ct") + @Export("draw") + void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { + field1711[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.field1691 > 0; + int var27 = ViewportMouse.ViewportMouse_x; + int var29 = ViewportMouse.ViewportMouse_y; + boolean var31 = ViewportMouse.ViewportMouse_isInViewport; + boolean var34 = 0L != var9; + boolean var35; + if (var34) { + var35 = (int)(var9 >>> 16 & 1L) == 1; + var34 = !var35; + } + + var35 = false; + int var37; + int var38; + int var39; + if (var34 && var31) { + boolean var36 = false; + if (field1732) { + var36 = Frames.boundingBoxCheck(this, var6, var7, var8); + } else { + var37 = var12 - var13; + if (var37 <= 50) { + var37 = 50; + } + + if (var15 > 0) { + var16 /= var14; + var17 /= var37; + } else { + var17 /= var14; + var16 /= var37; + } + + if (var18 > 0) { + var22 /= var14; + var20 /= var37; + } else { + var20 /= var14; + var22 /= var37; + } + + var38 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; + var39 = var29 - Rasterizer3D.Rasterizer3D_clipMidY; + if (var38 > var16 && var38 < var17 && var39 > var22 && var39 < var20) { + var36 = true; + } + } + + if (var36) { + if (this.isSingleTile) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var9; + } else { + var35 = true; + } + } + } + + int var49 = Rasterizer3D.Rasterizer3D_clipMidX; + var37 = Rasterizer3D.Rasterizer3D_clipMidY; + var38 = 0; + var39 = 0; + if (var1 != 0) { + var38 = Model_sine[var1]; + var39 = Model_cosine[var1]; + } + + for (int var40 = 0; var40 < this.verticesCount; ++var40) { + int var41 = this.verticesX[var40]; + int var42 = this.verticesY[var40]; + int var43 = this.verticesZ[var40]; + int var44; + if (var1 != 0) { + var44 = var43 * var38 + var41 * var39 >> 16; + var43 = var43 * var39 - var41 * var38 >> 16; + var41 = var44; + } + + var41 += var6; + var42 += var7; + var43 += var8; + var44 = var43 * var4 + var5 * var41 >> 16; + var43 = var5 * var43 - var41 * var4 >> 16; + var41 = var44; + var44 = var3 * var42 - var43 * var2 >> 16; + var43 = var42 * var2 + var3 * var43 >> 16; + field1714[var40] = var43 - var12; + if (var43 >= 50) { + modelViewportXs[var40] = var41 * Rasterizer3D.Rasterizer3D_zoom / var43 + var49; + modelViewportYs[var40] = var44 * Rasterizer3D.Rasterizer3D_zoom / var43 + var37; + } else { + modelViewportXs[var40] = -5000; + var24 = true; + } + + if (var26) { + field1715[var40] = var41; + field1716[var40] = var44; + field1717[var40] = var43; + } + } + + try { + this.draw0(var24, var35, this.isSingleTile, var9); + } catch (Exception var48) { + } + + } + } + } + } + } + } } diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index 009a9a53c6..0c49a91bff 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -3,1730 +3,1729 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dw") +@ObfuscatedName("ds") @Implements("ModelData") public class ModelData extends Entity { - @ObfuscatedName("aw") - static int[] field548; - @ObfuscatedName("al") - static int[] field549; - @ObfuscatedName("ab") - static int field550; - @ObfuscatedName("ae") - @Export("ModelData_sine") - static int[] ModelData_sine; - @ObfuscatedName("at") - @Export("ModelData_cosine") - static int[] ModelData_cosine; - @ObfuscatedName("m") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("f") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("q") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("w") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("o") - @Export("faceCount") - int faceCount; - @ObfuscatedName("u") - @Export("indices1") - int[] indices1; - @ObfuscatedName("g") - @Export("indices2") - int[] indices2; - @ObfuscatedName("l") - @Export("indices3") - int[] indices3; - @ObfuscatedName("e") - byte[] field551; - @ObfuscatedName("x") - byte[] field552; - @ObfuscatedName("d") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("k") - @Export("textureCoords") - byte[] textureCoords; - @ObfuscatedName("n") - @Export("faceColors") - short[] faceColors; - @ObfuscatedName("i") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("a") - byte field553; - @ObfuscatedName("z") - int field554; - @ObfuscatedName("j") - @Export("textureRenderTypes") - byte[] textureRenderTypes; - @ObfuscatedName("s") - @Export("texTriangleX") - short[] texTriangleX; - @ObfuscatedName("t") - @Export("texTriangleY") - short[] texTriangleY; - @ObfuscatedName("y") - @Export("texTriangleZ") - short[] texTriangleZ; - @ObfuscatedName("h") - int[] field555; - @ObfuscatedName("b") - int[] field556; - @ObfuscatedName("c") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("r") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "[Lel;" - ) - @Export("faceNormals") - FaceNormal[] faceNormals; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "[Ldq;" - ) - VertexNormal[] field557; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "[Ldq;" - ) - VertexNormal[] field558; - @ObfuscatedName("aq") - public short field559; - @ObfuscatedName("aj") - public short field560; - @ObfuscatedName("av") - @Export("isBoundsCalculated") - boolean isBoundsCalculated; - @ObfuscatedName("ar") - int field561; - @ObfuscatedName("ac") - int field562; - @ObfuscatedName("ay") - int field563; - @ObfuscatedName("ah") - int field564; - @ObfuscatedName("ak") - int field565; - - ModelData() { - this.verticesCount = 0; - this.faceCount = 0; - this.field553 = 0; - this.isBoundsCalculated = false; - } - - @ObfuscatedSignature( - signature = "([Ldw;I)V" - ) - public ModelData(ModelData[] var1, int var2) { - this.verticesCount = 0; - this.faceCount = 0; - this.field553 = 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.field554 = 0; - this.field553 = -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.field554 += var10.field554; - if (var10.field552 != null) { - var4 = true; - } else { - if (this.field553 == -1) { - this.field553 = var10.field553; - } - - if (this.field553 != var10.field553) { - var4 = true; - } - } - - var3 |= var10.field551 != null; - var5 |= var10.faceAlphas != null; - var6 |= var10.field556 != 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.field555 = 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.field551 = new byte[this.faceCount]; - } - - if (var4) { - this.field552 = new byte[this.faceCount]; - } - - if (var5) { - this.faceAlphas = new byte[this.faceCount]; - } - - if (var6) { - this.field556 = 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.field554 > 0) { - this.textureRenderTypes = new byte[this.field554]; - this.texTriangleX = new short[this.field554]; - this.texTriangleY = new short[this.field554]; - this.texTriangleZ = new short[this.field554]; - } - - this.verticesCount = 0; - this.faceCount = 0; - this.field554 = 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.field551 != null) { - this.field551[this.faceCount] = var10.field551[var11]; - } - - if (var4) { - if (var10.field552 != null) { - this.field552[this.faceCount] = var10.field552[var11]; - } else { - this.field552[this.faceCount] = var10.field553; - } - } - - if (var5 && var10.faceAlphas != null) { - this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; - } - - if (var6 && var10.field556 != null) { - this.field556[this.faceCount] = var10.field556[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.field554 + var10.textureCoords[var11]); - } else { - this.textureCoords[this.faceCount] = -1; - } - } - - this.faceColors[this.faceCount] = var10.faceColors[var11]; - this.indices1[this.faceCount] = this.method205(var10, var10.indices1[var11]); - this.indices2[this.faceCount] = this.method205(var10, var10.indices2[var11]); - this.indices3[this.faceCount] = this.method205(var10, var10.indices3[var11]); - ++this.faceCount; - } - - for (var11 = 0; var11 < var10.field554; ++var11) { - byte var12 = this.textureRenderTypes[this.field554] = var10.textureRenderTypes[var11]; - if (var12 == 0) { - this.texTriangleX[this.field554] = (short)this.method205(var10, var10.texTriangleX[var11]); - this.texTriangleY[this.field554] = (short)this.method205(var10, var10.texTriangleY[var11]); - this.texTriangleZ[this.field554] = (short)this.method205(var10, var10.texTriangleZ[var11]); - } - - ++this.field554; - } - } - } - - } - - ModelData(byte[] var1) { - this.verticesCount = 0; - this.faceCount = 0; - this.field553 = 0; - this.isBoundsCalculated = false; - if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { - this.method203(var1); - } else { - this.method204(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.field553 = 0; - this.isBoundsCalculated = false; - this.verticesCount = var1.verticesCount; - this.faceCount = var1.faceCount; - this.field554 = var1.field554; - 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.field551 = var1.field551; - this.field552 = var1.field552; - this.textureCoords = var1.textureCoords; - this.field553 = var1.field553; - this.textureRenderTypes = var1.textureRenderTypes; - this.texTriangleX = var1.texTriangleX; - this.texTriangleY = var1.texTriangleY; - this.texTriangleZ = var1.texTriangleZ; - this.field555 = var1.field555; - this.field556 = var1.field556; - this.vertexLabels = var1.vertexLabels; - this.faceLabelsAlpha = var1.faceLabelsAlpha; - this.field557 = var1.field557; - this.faceNormals = var1.faceNormals; - this.field558 = var1.field558; - this.field559 = var1.field559; - this.field560 = var1.field560; - } - - @ObfuscatedName("f") - void method203(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.index = 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.index = 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 var56 = var26; - if (var12 == 1) { - var26 += var10; - } - - int var28 = var26; - var26 += var10; - int var29 = var26; - if (var13 == 255) { - var26 += var10; - } - - int var30 = var26; - if (var15 == 1) { - var26 += var10; - } - - int var31 = var26; - if (var17 == 1) { - var26 += var9; - } - - int var32 = var26; - if (var14 == 1) { - var26 += var10; - } - - int var33 = var26; - var26 += var21; - int var34 = var26; - if (var16 == 1) { - var26 += var10 * 2; - } - - int var35 = var26; - var26 += var22; - int var36 = var26; - var26 += var10 * 2; - int var37 = var26; - var26 += var18; - int var38 = var26; - var26 += var19; - int var39 = var26; - var26 += var20; - int var40 = var26; - var26 += var23 * 6; - int var41 = var26; - var26 += var24 * 6; - int var42 = var26; - var26 += var24 * 6; - int var43 = var26; - var26 += var24 * 2; - int var44 = var26; - var26 += var24; - int var45 = var26; - var26 += var24 * 2 + var25 * 2; - this.verticesCount = var9; - this.faceCount = var10; - this.field554 = 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.field555 = new int[var9]; - } - - if (var12 == 1) { - this.field551 = new byte[var10]; - } - - if (var13 == 255) { - this.field552 = new byte[var10]; - } else { - this.field553 = (byte)var13; - } - - if (var14 == 1) { - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { - this.field556 = 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.index = var11; - var3.index = var37; - var4.index = var38; - var5.index = var39; - var6.index = var31; - int var46 = 0; - int var47 = 0; - int var48 = 0; - - int var49; - int var50; - int var51; - int var52; - int var53; - for (var49 = 0; var49 < var9; ++var49) { - var50 = var2.readUnsignedByte(); - var51 = 0; - if ((var50 & 1) != 0) { - var51 = var3.readShortSmart(); - } - - var52 = 0; - if ((var50 & 2) != 0) { - var52 = var4.readShortSmart(); - } - - var53 = 0; - if ((var50 & 4) != 0) { - var53 = var5.readShortSmart(); - } - - this.verticesX[var49] = var46 + var51; - this.verticesY[var49] = var47 + var52; - this.verticesZ[var49] = var48 + var53; - var46 = this.verticesX[var49]; - var47 = this.verticesY[var49]; - var48 = this.verticesZ[var49]; - if (var17 == 1) { - this.field555[var49] = var6.readUnsignedByte(); - } - } - - var2.index = var36; - var3.index = var56; - var4.index = var29; - var5.index = var32; - var6.index = var30; - var7.index = var34; - var8.index = var35; - - for (var49 = 0; var49 < var10; ++var49) { - this.faceColors[var49] = (short)var2.readUnsignedShort(); - if (var12 == 1) { - this.field551[var49] = var3.readByte(); - } - - if (var13 == 255) { - this.field552[var49] = var4.readByte(); - } - - if (var14 == 1) { - this.faceAlphas[var49] = var5.readByte(); - } - - if (var15 == 1) { - this.field556[var49] = var6.readUnsignedByte(); - } - - if (var16 == 1) { - this.faceTextures[var49] = (short)(var7.readUnsignedShort() - 1); - } - - if (this.textureCoords != null && this.faceTextures[var49] != -1) { - this.textureCoords[var49] = (byte)(var8.readUnsignedByte() - 1); - } - } - - var2.index = var33; - var3.index = var28; - var49 = 0; - var50 = 0; - var51 = 0; - var52 = 0; - - int var54; - for (var53 = 0; var53 < var10; ++var53) { - var54 = var3.readUnsignedByte(); - if (var54 == 1) { - var49 = var2.readShortSmart() + var52; - var50 = var2.readShortSmart() + var49; - var51 = var2.readShortSmart() + var50; - var52 = var51; - this.indices1[var53] = var49; - this.indices2[var53] = var50; - this.indices3[var53] = var51; - } - - if (var54 == 2) { - var50 = var51; - var51 = var2.readShortSmart() + var52; - var52 = var51; - this.indices1[var53] = var49; - this.indices2[var53] = var50; - this.indices3[var53] = var51; - } - - if (var54 == 3) { - var49 = var51; - var51 = var2.readShortSmart() + var52; - var52 = var51; - this.indices1[var53] = var49; - this.indices2[var53] = var50; - this.indices3[var53] = var51; - } - - if (var54 == 4) { - int var55 = var49; - var49 = var50; - var50 = var55; - var51 = var2.readShortSmart() + var52; - var52 = var51; - this.indices1[var53] = var49; - this.indices2[var53] = var55; - this.indices3[var53] = var51; - } - } - - var2.index = var40; - var3.index = var41; - var4.index = var42; - var5.index = var43; - var6.index = var44; - var7.index = var45; - - for (var53 = 0; var53 < var11; ++var53) { - var54 = this.textureRenderTypes[var53] & 255; - if (var54 == 0) { - this.texTriangleX[var53] = (short)var2.readUnsignedShort(); - this.texTriangleY[var53] = (short)var2.readUnsignedShort(); - this.texTriangleZ[var53] = (short)var2.readUnsignedShort(); - } - } - - var2.index = var26; - var53 = var2.readUnsignedByte(); - if (var53 != 0) { - new ModelData0(); - var2.readUnsignedShort(); - var2.readUnsignedShort(); - var2.readUnsignedShort(); - var2.readInt(); - } - - } - - @ObfuscatedName("q") - void method204(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.index = 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 var22 = var21 + var9; - int var23 = var22; - var22 += var10; - int var24 = var22; - if (var13 == 255) { - var22 += var10; - } - - int var25 = var22; - if (var15 == 1) { - var22 += var10; - } - - int var26 = var22; - if (var12 == 1) { - var22 += var10; - } - - int var27 = var22; - if (var16 == 1) { - var22 += var9; - } - - int var28 = var22; - if (var14 == 1) { - var22 += var10; - } - - int var29 = var22; - var22 += var20; - int var30 = var22; - var22 += var10 * 2; - int var31 = var22; - var22 += var11 * 6; - int var32 = var22; - var22 += var17; - int var33 = var22; - var22 += var18; - int var10000 = var22 + var19; - this.verticesCount = var9; - this.faceCount = var10; - this.field554 = 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.field555 = new int[var9]; - } - - if (var12 == 1) { - this.field551 = new byte[var10]; - this.textureCoords = new byte[var10]; - this.faceTextures = new short[var10]; - } - - if (var13 == 255) { - this.field552 = new byte[var10]; - } else { - this.field553 = (byte)var13; - } - - if (var14 == 1) { - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { - this.field556 = new int[var10]; - } - - this.faceColors = new short[var10]; - var4.index = var21; - var5.index = var32; - var6.index = var33; - var7.index = var22; - var8.index = 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.field555[var38] = var8.readUnsignedByte(); - } - } - - var4.index = var30; - var5.index = var26; - var6.index = var24; - var7.index = var28; - var8.index = var25; - - for (var38 = 0; var38 < var10; ++var38) { - this.faceColors[var38] = (short)var4.readUnsignedShort(); - if (var12 == 1) { - var39 = var5.readUnsignedByte(); - if ((var39 & 1) == 1) { - this.field551[var38] = 1; - var2 = true; - } else { - this.field551[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.field552[var38] = var6.readByte(); - } - - if (var14 == 1) { - this.faceAlphas[var38] = var7.readByte(); - } - - if (var15 == 1) { - this.field556[var38] = var8.readUnsignedByte(); - } - } - - var4.index = var29; - var5.index = 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.index = 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 var45 = 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 { - var45 = true; - } - } - } - - if (!var45) { - this.textureCoords = null; - } - } - - if (!var3) { - this.faceTextures = null; - } - - if (!var2) { - this.field551 = null; - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ldw;I)I" - ) - final int method205(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.field555 != null) { - this.field555[this.verticesCount] = var1.field555[var2]; - } - - var3 = this.verticesCount++; - } - - return var3; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Ldw;" - ) - public ModelData method206() { - ModelData var1 = new ModelData(); - if (this.field551 != null) { - var1.field551 = new byte[this.faceCount]; - - for (int var2 = 0; var2 < this.faceCount; ++var2) { - var1.field551[var2] = this.field551[var2]; - } - } - - var1.verticesCount = this.verticesCount; - var1.faceCount = this.faceCount; - var1.field554 = this.field554; - 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.field552 = this.field552; - var1.faceAlphas = this.faceAlphas; - var1.textureCoords = this.textureCoords; - var1.faceColors = this.faceColors; - var1.faceTextures = this.faceTextures; - var1.field553 = this.field553; - var1.textureRenderTypes = this.textureRenderTypes; - var1.texTriangleX = this.texTriangleX; - var1.texTriangleY = this.texTriangleY; - var1.texTriangleZ = this.texTriangleZ; - var1.field555 = this.field555; - var1.field556 = this.field556; - var1.vertexLabels = this.vertexLabels; - var1.faceLabelsAlpha = this.faceLabelsAlpha; - var1.field557 = this.field557; - var1.faceNormals = this.faceNormals; - var1.field559 = this.field559; - var1.field560 = this.field560; - return var1; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([[IIIIZI)Ldw;" - ) - public ModelData method207(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.method217(); - int var7 = var2 + this.field562; - int var8 = var2 + this.field563; - int var9 = var4 + this.field565; - int var10 = var4 + this.field564; - 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.field554 = this.field554; - var11.verticesX = this.verticesX; - var11.verticesZ = this.verticesZ; - var11.indices1 = this.indices1; - var11.indices2 = this.indices2; - var11.indices3 = this.indices3; - var11.field551 = this.field551; - var11.field552 = this.field552; - var11.faceAlphas = this.faceAlphas; - var11.textureCoords = this.textureCoords; - var11.faceColors = this.faceColors; - var11.faceTextures = this.faceTextures; - var11.field553 = this.field553; - var11.textureRenderTypes = this.textureRenderTypes; - var11.texTriangleX = this.texTriangleX; - var11.texTriangleY = this.texTriangleY; - var11.texTriangleZ = this.texTriangleZ; - var11.field555 = this.field555; - var11.field556 = this.field556; - var11.vertexLabels = this.vertexLabels; - var11.faceLabelsAlpha = this.faceLabelsAlpha; - var11.field559 = this.field559; - var11.field560 = this.field560; - 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("g") - void method208() { - int[] var1; - int var2; - int var10003; - int var4; - int var5; - if (this.field555 != null) { - var1 = new int[256]; - var2 = 0; - - for (var4 = 0; var4 < this.verticesCount; ++var4) { - var5 = this.field555[var4]; - var10003 = var1[var5]++; - if (var5 > var2) { - var2 = var5; - } - } - - this.vertexLabels = new int[var2 + 1][]; - - for (var4 = 0; var4 <= var2; ++var4) { - this.vertexLabels[var4] = new int[var1[var4]]; - var1[var4] = 0; - } - - for (var4 = 0; var4 < this.verticesCount; this.vertexLabels[var5][var1[var5]++] = var4++) { - var5 = this.field555[var4]; - } - - this.field555 = null; - } - - if (this.field556 != null) { - var1 = new int[256]; - var2 = 0; - - for (var4 = 0; var4 < this.faceCount; ++var4) { - var5 = this.field556[var4]; - var10003 = var1[var5]++; - if (var5 > var2) { - var2 = var5; - } - } - - this.faceLabelsAlpha = new int[var2 + 1][]; - - for (var4 = 0; var4 <= var2; ++var4) { - this.faceLabelsAlpha[var4] = new int[var1[var4]]; - var1[var4] = 0; - } - - for (var4 = 0; var4 < this.faceCount; this.faceLabelsAlpha[var5][var1[var5]++] = var4++) { - var5 = this.field556[var4]; - } - - this.field556 = null; - } - - } - - @ObfuscatedName("l") - public void method209() { - 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("x") - public void method210() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - this.verticesX[var1] = -this.verticesX[var1]; - this.verticesZ[var1] = -this.verticesZ[var1]; - } - - this.invalidate(); - } - - @ObfuscatedName("d") - public void method211() { - 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("a") - public void method212(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("z") - public void method213(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int[] var5 = this.verticesX; - var5[var4] += var1; - var5 = this.verticesY; - var5[var4] += var2; - var5 = this.verticesZ; - var5[var4] += var3; - } - - this.invalidate(); - } - - @ObfuscatedName("j") - @Export("recolor") - public void recolor(short from, short var2) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { - if (this.faceColors[var3] == from) { - this.faceColors[var3] = var2; - } - } - - } - - @ObfuscatedName("s") - @Export("retexture") - public void retexture(short from, short var2) { - if (this.faceTextures != null) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { - if (this.faceTextures[var3] == from) { - this.faceTextures[var3] = var2; - } - } - } - - } - - @ObfuscatedName("t") - public void method214() { - 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("y") - public void method215(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("h") - public void method216() { - if (this.field557 == null) { - this.field557 = new VertexNormal[this.verticesCount]; - - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { - this.field557[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.field551 == null) { - var15 = 0; - } else { - var15 = this.field551[var1]; - } - - if (var15 == 0) { - VertexNormal var16 = this.field557[var2]; - var16.field947 += var11; - var16.field948 += var12; - var16.field949 += var13; - ++var16.field950; - var16 = this.field557[var3]; - var16.field947 += var11; - var16.field948 += var12; - var16.field949 += var13; - ++var16.field950; - var16 = this.field557[var4]; - var16.field947 += var11; - var16.field948 += var12; - var16.field949 += var13; - ++var16.field950; - } else if (var15 == 1) { - if (this.faceNormals == null) { - this.faceNormals = new FaceNormal[this.faceCount]; - } - - FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); - var17.field346 = var11; - var17.field347 = var12; - var17.field348 = var13; - } - } - } - - } - - @ObfuscatedName("b") - @Export("invalidate") - void invalidate() { - this.field557 = null; - this.field558 = null; - this.faceNormals = null; - this.isBoundsCalculated = false; - } - - @ObfuscatedName("c") - void method217() { - if (!this.isBoundsCalculated) { - super.height = 0; - this.field561 = 0; - this.field562 = 999999; - this.field563 = -999999; - this.field564 = -99999; - this.field565 = 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.field562) { - this.field562 = var2; - } - - if (var2 > this.field563) { - this.field563 = var2; - } - - if (var4 < this.field565) { - this.field565 = var4; - } - - if (var4 > this.field564) { - this.field564 = var4; - } - - if (-var3 > super.height) { - super.height = -var3; - } - - if (var3 > this.field561) { - this.field561 = var3; - } - } - - this.isBoundsCalculated = true; - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIIII)Ldu;" - ) - @Export("toModel") - public final Model toModel(int var1, int var2, int var3, int var4, int var5) { - this.method216(); - 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.field554 > 0 && this.textureCoords != null) { - int[] var9 = new int[this.field554]; - - int var10; - for (var10 = 0; var10 < this.faceCount; ++var10) { - if (this.textureCoords[var10] != -1) { - ++var9[this.textureCoords[var10] & 255]; - } - } - - var8.field544 = 0; - - for (var10 = 0; var10 < this.field554; ++var10) { - if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { - ++var8.field544; - } - } - - var8.field545 = new int[var8.field544]; - var8.field546 = new int[var8.field544]; - var8.field547 = new int[var8.field544]; - var10 = 0; - - int var11; - for (var11 = 0; var11 < this.field554; ++var11) { - if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { - var8.field545[var10] = this.texTriangleX[var11] & '\uffff'; - var8.field546[var10] = this.texTriangleY[var11] & '\uffff'; - var8.field547[var10] = this.texTriangleZ[var11] & '\uffff'; - var9[var11] = var10++; - } else { - var9[var11] = -1; - } - } - - var8.field542 = new byte[this.faceCount]; - - for (var11 = 0; var11 < this.faceCount; ++var11) { - if (this.textureCoords[var11] != -1) { - var8.field542[var11] = (byte)var9[this.textureCoords[var11] & 255]; - } else { - var8.field542[var11] = -1; - } - } - } - - for (int var17 = 0; var17 < this.faceCount; ++var17) { - byte var18; - if (this.field551 == null) { - var18 = 0; - } else { - var18 = this.field551[var17]; - } - - byte var19; - if (this.faceAlphas == null) { - var19 = 0; - } else { - var19 = this.faceAlphas[var17]; - } - - short var12; - if (this.faceTextures == null) { - var12 = -1; - } else { - var12 = this.faceTextures[var17]; - } - - if (var19 == -2) { - var18 = 3; - } - - if (var19 == -1) { - var18 = 2; - } - - VertexNormal var13; - int var14; - FaceNormal var15; - if (var12 == -1) { - if (var18 != 0) { - if (var18 == 1) { - var15 = this.faceNormals[var17]; - var14 = (var4 * var15.field347 + var5 * var15.field348 + var3 * var15.field346) / (var7 / 2 + var7) + var1; - var8.faceColors1[var17] = method2802(this.faceColors[var17] & '\uffff', var14); - var8.faceColors3[var17] = -1; - } else if (var18 == 3) { - var8.faceColors1[var17] = 128; - var8.faceColors3[var17] = -1; - } else { - var8.faceColors3[var17] = -2; - } - } else { - int var16 = this.faceColors[var17] & '\uffff'; - if (this.field558 != null && this.field558[this.indices1[var17]] != null) { - var13 = this.field558[this.indices1[var17]]; - } else { - var13 = this.field557[this.indices1[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors1[var17] = method2802(var16, var14); - if (this.field558 != null && this.field558[this.indices2[var17]] != null) { - var13 = this.field558[this.indices2[var17]]; - } else { - var13 = this.field557[this.indices2[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors2[var17] = method2802(var16, var14); - if (this.field558 != null && this.field558[this.indices3[var17]] != null) { - var13 = this.field558[this.indices3[var17]]; - } else { - var13 = this.field557[this.indices3[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors3[var17] = method2802(var16, var14); - } - } else if (var18 != 0) { - if (var18 == 1) { - var15 = this.faceNormals[var17]; - var14 = (var4 * var15.field347 + var5 * var15.field348 + var3 * var15.field346) / (var7 / 2 + var7) + var1; - var8.faceColors1[var17] = method2803(var14); - var8.faceColors3[var17] = -1; - } else { - var8.faceColors3[var17] = -2; - } - } else { - if (this.field558 != null && this.field558[this.indices1[var17]] != null) { - var13 = this.field558[this.indices1[var17]]; - } else { - var13 = this.field557[this.indices1[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors1[var17] = method2803(var14); - if (this.field558 != null && this.field558[this.indices2[var17]] != null) { - var13 = this.field558[this.indices2[var17]]; - } else { - var13 = this.field557[this.indices2[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors2[var17] = method2803(var14); - if (this.field558 != null && this.field558[this.indices3[var17]] != null) { - var13 = this.field558[this.indices3[var17]]; - } else { - var13 = this.field557[this.indices3[var17]]; - } - - var14 = (var4 * var13.field948 + var5 * var13.field949 + var3 * var13.field947) / (var7 * var13.field950) + var1; - var8.faceColors3[var17] = method2803(var14); - } - } - - this.method208(); - 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.field552; - var8.faceAlphas = this.faceAlphas; - var8.field543 = this.field553; - var8.vertexLabels = this.vertexLabels; - var8.faceLabelsAlpha = this.faceLabelsAlpha; - var8.faceTextures = this.faceTextures; - return var8; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;II)Ldw;" - ) - public static ModelData method2788(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - return var3 == null ? null : new ModelData(var3); - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(Ldw;Ldw;IIIZ)V" - ) - static void method2800(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { - var0.method217(); - var0.method216(); - var1.method217(); - var1.method216(); - ++field550; - int var6 = 0; - int[] var7 = var1.verticesX; - int var8 = var1.verticesCount; - - int var9; - for (var9 = 0; var9 < var0.verticesCount; ++var9) { - VertexNormal var10 = var0.field557[var9]; - if (var10.field950 != 0) { - int var11 = var0.verticesY[var9] - var3; - if (var11 <= var1.field561) { - int var12 = var0.verticesX[var9] - var2; - if (var12 >= var1.field562 && var12 <= var1.field563) { - int var13 = var0.verticesZ[var9] - var4; - if (var13 >= var1.field565 && var13 <= var1.field564) { - for (int var14 = 0; var14 < var8; ++var14) { - VertexNormal var15 = var1.field557[var14]; - if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.field950 != 0) { - if (var0.field558 == null) { - var0.field558 = new VertexNormal[var0.verticesCount]; - } - - if (var1.field558 == null) { - var1.field558 = new VertexNormal[var8]; - } - - VertexNormal var16 = var0.field558[var9]; - if (var16 == null) { - var16 = var0.field558[var9] = new VertexNormal(var10); - } - - VertexNormal var17 = var1.field558[var14]; - if (var17 == null) { - var17 = var1.field558[var14] = new VertexNormal(var15); - } - - var16.field947 += var15.field947; - var16.field948 += var15.field948; - var16.field949 += var15.field949; - var16.field950 += var15.field950; - var17.field947 += var10.field947; - var17.field948 += var10.field948; - var17.field949 += var10.field949; - var17.field950 += var10.field950; - ++var6; - field548[var9] = field550; - field549[var14] = field550; - } - } - } - } - } - } - } - - if (var6 >= 3 && var5) { - for (var9 = 0; var9 < var0.faceCount; ++var9) { - if (field548[var0.indices1[var9]] == field550 && field548[var0.indices2[var9]] == field550 && field548[var0.indices3[var9]] == field550) { - if (var0.field551 == null) { - var0.field551 = new byte[var0.faceCount]; - } - - var0.field551[var9] = 2; - } - } - - for (var9 = 0; var9 < var1.faceCount; ++var9) { - if (field550 == field549[var1.indices1[var9]] && field550 == field549[var1.indices2[var9]] && field550 == field549[var1.indices3[var9]]) { - if (var1.field551 == null) { - var1.field551 = new byte[var1.faceCount]; - } - - var1.field551[var9] = 2; - } - } - } - - } - - @ObfuscatedName("ag") - static final int method2802(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("aq") - static final int method2803(int var0) { - if (var0 < 2) { - var0 = 2; - } else if (var0 > 126) { - var0 = 126; - } - - return var0; - } - - static { - field548 = new int[10000]; - field549 = new int[10000]; - field550 = 0; - ModelData_sine = Rasterizer3D.Rasterizer3D_sine; - ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; - } + @ObfuscatedName("ae") + static int[] field1584; + @ObfuscatedName("ao") + static int[] field1585; + @ObfuscatedName("aj") + static int field1586; + @ObfuscatedName("at") + @Export("ModelData_sine") + static int[] ModelData_sine; + @ObfuscatedName("ac") + @Export("ModelData_cosine") + static int[] ModelData_cosine; + @ObfuscatedName("q") + @Export("verticesCount") + int verticesCount; + @ObfuscatedName("w") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("e") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("p") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("k") + @Export("faceCount") + int faceCount; + @ObfuscatedName("l") + @Export("indices1") + int[] indices1; + @ObfuscatedName("b") + @Export("indices2") + int[] indices2; + @ObfuscatedName("i") + @Export("indices3") + int[] indices3; + @ObfuscatedName("c") + byte[] field1557; + @ObfuscatedName("f") + byte[] field1559; + @ObfuscatedName("m") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("u") + @Export("textureCoords") + byte[] textureCoords; + @ObfuscatedName("x") + @Export("faceColors") + short[] faceColors; + @ObfuscatedName("r") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("v") + byte field1563; + @ObfuscatedName("y") + int field1555; + @ObfuscatedName("g") + @Export("textureRenderTypes") + byte[] textureRenderTypes; + @ObfuscatedName("a") + @Export("texTriangleX") + short[] texTriangleX; + @ObfuscatedName("j") + @Export("texTriangleY") + short[] texTriangleY; + @ObfuscatedName("t") + @Export("texTriangleZ") + short[] texTriangleZ; + @ObfuscatedName("h") + int[] field1569; + @ObfuscatedName("o") + int[] field1553; + @ObfuscatedName("n") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("d") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "[Len;" + ) + @Export("faceNormals") + FaceNormal[] faceNormals; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[Ldd;" + ) + VertexNormal[] field1574; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "[Ldd;" + ) + VertexNormal[] field1581; + @ObfuscatedName("av") + public short field1580; + @ObfuscatedName("as") + public short field1577; + @ObfuscatedName("aw") + @Export("isBoundsCalculated") + boolean isBoundsCalculated; + @ObfuscatedName("ad") + int field1579; + @ObfuscatedName("ag") + int field1575; + @ObfuscatedName("ar") + int field1564; + @ObfuscatedName("ax") + int field1582; + @ObfuscatedName("az") + int field1554; + + static { + field1584 = new int[10000]; + field1585 = new int[10000]; + field1586 = 0; + ModelData_sine = Rasterizer3D.Rasterizer3D_sine; + ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; + } + + ModelData() { + this.verticesCount = 0; + this.faceCount = 0; + this.field1563 = 0; + this.isBoundsCalculated = false; + } + + @ObfuscatedSignature( + signature = "([Lds;I)V" + ) + public ModelData(ModelData[] var1, int var2) { + this.verticesCount = 0; + this.faceCount = 0; + this.field1563 = 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.field1555 = 0; + this.field1563 = -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.field1555 += var10.field1555; + if (var10.field1559 != null) { + var4 = true; + } else { + if (this.field1563 == -1) { + this.field1563 = var10.field1563; + } + + if (this.field1563 != var10.field1563) { + var4 = true; + } + } + + var3 |= var10.field1557 != null; + var5 |= var10.faceAlphas != null; + var6 |= var10.field1553 != 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.field1569 = 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.field1557 = new byte[this.faceCount]; + } + + if (var4) { + this.field1559 = new byte[this.faceCount]; + } + + if (var5) { + this.faceAlphas = new byte[this.faceCount]; + } + + if (var6) { + this.field1553 = 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.field1555 > 0) { + this.textureRenderTypes = new byte[this.field1555]; + this.texTriangleX = new short[this.field1555]; + this.texTriangleY = new short[this.field1555]; + this.texTriangleZ = new short[this.field1555]; + } + + this.verticesCount = 0; + this.faceCount = 0; + this.field1555 = 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.field1557 != null) { + this.field1557[this.faceCount] = var10.field1557[var11]; + } + + if (var4) { + if (var10.field1559 != null) { + this.field1559[this.faceCount] = var10.field1559[var11]; + } else { + this.field1559[this.faceCount] = var10.field1563; + } + } + + if (var5 && var10.faceAlphas != null) { + this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; + } + + if (var6 && var10.field1553 != null) { + this.field1553[this.faceCount] = var10.field1553[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.field1555 + var10.textureCoords[var11]); + } else { + this.textureCoords[this.faceCount] = -1; + } + } + + this.faceColors[this.faceCount] = var10.faceColors[var11]; + this.indices1[this.faceCount] = this.method2816(var10, var10.indices1[var11]); + this.indices2[this.faceCount] = this.method2816(var10, var10.indices2[var11]); + this.indices3[this.faceCount] = this.method2816(var10, var10.indices3[var11]); + ++this.faceCount; + } + + for (var11 = 0; var11 < var10.field1555; ++var11) { + byte var12 = this.textureRenderTypes[this.field1555] = var10.textureRenderTypes[var11]; + if (var12 == 0) { + this.texTriangleX[this.field1555] = (short)this.method2816(var10, var10.texTriangleX[var11]); + this.texTriangleY[this.field1555] = (short)this.method2816(var10, var10.texTriangleY[var11]); + this.texTriangleZ[this.field1555] = (short)this.method2816(var10, var10.texTriangleZ[var11]); + } + + ++this.field1555; + } + } + } + + } + + ModelData(byte[] var1) { + this.verticesCount = 0; + this.faceCount = 0; + this.field1563 = 0; + this.isBoundsCalculated = false; + if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { + this.method2770(var1); + } else { + this.method2793(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.field1563 = 0; + this.isBoundsCalculated = false; + this.verticesCount = var1.verticesCount; + this.faceCount = var1.faceCount; + this.field1555 = var1.field1555; + 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.field1557 = var1.field1557; + this.field1559 = var1.field1559; + this.textureCoords = var1.textureCoords; + this.field1563 = var1.field1563; + this.textureRenderTypes = var1.textureRenderTypes; + this.texTriangleX = var1.texTriangleX; + this.texTriangleY = var1.texTriangleY; + this.texTriangleZ = var1.texTriangleZ; + this.field1569 = var1.field1569; + this.field1553 = var1.field1553; + this.vertexLabels = var1.vertexLabels; + this.faceLabelsAlpha = var1.faceLabelsAlpha; + this.field1574 = var1.field1574; + this.faceNormals = var1.faceNormals; + this.field1581 = var1.field1581; + this.field1580 = var1.field1580; + this.field1577 = var1.field1577; + } + + @ObfuscatedName("w") + void method2770(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.field1555 = 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.field1569 = new int[var9]; + } + + if (var12 == 1) { + this.field1557 = new byte[var10]; + } + + if (var13 == 255) { + this.field1559 = new byte[var10]; + } else { + this.field1563 = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.field1553 = 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.field1569[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.field1557[var51] = var3.readByte(); + } + + if (var13 == 255) { + this.field1559[var51] = var4.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var51] = var5.readByte(); + } + + if (var15 == 1) { + this.field1553[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("e") + void method2793(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.field1555 = 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.field1569 = new int[var9]; + } + + if (var12 == 1) { + this.field1557 = new byte[var10]; + this.textureCoords = new byte[var10]; + this.faceTextures = new short[var10]; + } + + if (var13 == 255) { + this.field1559 = new byte[var10]; + } else { + this.field1563 = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.field1553 = 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.field1569[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.field1557[var38] = 1; + var2 = true; + } else { + this.field1557[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.field1559[var38] = var6.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var38] = var7.readByte(); + } + + if (var15 == 1) { + this.field1553[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.field1557 = null; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lds;I)I" + ) + final int method2816(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.field1569 != null) { + this.field1569[this.verticesCount] = var1.field1569[var2]; + } + + var3 = this.verticesCount++; + } + + return var3; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "()Lds;" + ) + public ModelData method2775() { + ModelData var1 = new ModelData(); + if (this.field1557 != null) { + var1.field1557 = new byte[this.faceCount]; + + for (int var2 = 0; var2 < this.faceCount; ++var2) { + var1.field1557[var2] = this.field1557[var2]; + } + } + + var1.verticesCount = this.verticesCount; + var1.faceCount = this.faceCount; + var1.field1555 = this.field1555; + 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.field1559 = this.field1559; + var1.faceAlphas = this.faceAlphas; + var1.textureCoords = this.textureCoords; + var1.faceColors = this.faceColors; + var1.faceTextures = this.faceTextures; + var1.field1563 = this.field1563; + var1.textureRenderTypes = this.textureRenderTypes; + var1.texTriangleX = this.texTriangleX; + var1.texTriangleY = this.texTriangleY; + var1.texTriangleZ = this.texTriangleZ; + var1.field1569 = this.field1569; + var1.field1553 = this.field1553; + var1.vertexLabels = this.vertexLabels; + var1.faceLabelsAlpha = this.faceLabelsAlpha; + var1.field1574 = this.field1574; + var1.faceNormals = this.faceNormals; + var1.field1580 = this.field1580; + var1.field1577 = this.field1577; + return var1; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "([[IIIIZI)Lds;" + ) + public ModelData method2776(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + this.method2789(); + int var7 = var2 + this.field1575; + int var8 = var2 + this.field1564; + int var9 = var4 + this.field1554; + int var10 = var4 + this.field1582; + 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.field1555 = this.field1555; + var11.verticesX = this.verticesX; + var11.verticesZ = this.verticesZ; + var11.indices1 = this.indices1; + var11.indices2 = this.indices2; + var11.indices3 = this.indices3; + var11.field1557 = this.field1557; + var11.field1559 = this.field1559; + var11.faceAlphas = this.faceAlphas; + var11.textureCoords = this.textureCoords; + var11.faceColors = this.faceColors; + var11.faceTextures = this.faceTextures; + var11.field1563 = this.field1563; + var11.textureRenderTypes = this.textureRenderTypes; + var11.texTriangleX = this.texTriangleX; + var11.texTriangleY = this.texTriangleY; + var11.texTriangleZ = this.texTriangleZ; + var11.field1569 = this.field1569; + var11.field1553 = this.field1553; + var11.vertexLabels = this.vertexLabels; + var11.faceLabelsAlpha = this.faceLabelsAlpha; + var11.field1580 = this.field1580; + var11.field1577 = this.field1577; + 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("b") + void method2777() { + int[] var1; + int var2; + int var10002; + int var3; + int var4; + if (this.field1569 != null) { + var1 = new int[256]; + var2 = 0; + + for (var3 = 0; var3 < this.verticesCount; ++var3) { + var4 = this.field1569[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.field1569[var3]; + } + + this.field1569 = null; + } + + if (this.field1553 != null) { + var1 = new int[256]; + var2 = 0; + + for (var3 = 0; var3 < this.faceCount; ++var3) { + var4 = this.field1553[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.field1553[var3]; + } + + this.field1553 = null; + } + + } + + @ObfuscatedName("i") + public void method2778() { + 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("u") + public void method2797() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesX[var1] = -this.verticesX[var1]; + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + this.invalidate(); + } + + @ObfuscatedName("x") + public void method2780() { + 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("r") + public void method2781(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("v") + public void method2782(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("y") + @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("g") + @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("a") + public void method2785() { + 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("j") + public void method2786(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("o") + public void method2787() { + if (this.field1574 == null) { + this.field1574 = new VertexNormal[this.verticesCount]; + + int var1; + for (var1 = 0; var1 < this.verticesCount; ++var1) { + this.field1574[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.field1557 == null) { + var15 = 0; + } else { + var15 = this.field1557[var1]; + } + + if (var15 == 0) { + VertexNormal var16 = this.field1574[var2]; + var16.field1759 += var11; + var16.field1760 += var12; + var16.field1758 += var13; + ++var16.field1761; + var16 = this.field1574[var3]; + var16.field1759 += var11; + var16.field1760 += var12; + var16.field1758 += var13; + ++var16.field1761; + var16 = this.field1574[var4]; + var16.field1759 += var11; + var16.field1760 += var12; + var16.field1758 += var13; + ++var16.field1761; + } else if (var15 == 1) { + if (this.faceNormals == null) { + this.faceNormals = new FaceNormal[this.faceCount]; + } + + FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); + var17.field1889 = var11; + var17.field1890 = var12; + var17.field1888 = var13; + } + } + + } + } + + @ObfuscatedName("d") + @Export("invalidate") + void invalidate() { + this.field1574 = null; + this.field1581 = null; + this.faceNormals = null; + this.isBoundsCalculated = false; + } + + @ObfuscatedName("s") + void method2789() { + if (!this.isBoundsCalculated) { + super.height = 0; + this.field1579 = 0; + this.field1575 = 999999; + this.field1564 = -999999; + this.field1582 = -99999; + this.field1554 = 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.field1575) { + this.field1575 = var2; + } + + if (var2 > this.field1564) { + this.field1564 = var2; + } + + if (var4 < this.field1554) { + this.field1554 = var4; + } + + if (var4 > this.field1582) { + this.field1582 = var4; + } + + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.field1579) { + this.field1579 = var3; + } + } + + this.isBoundsCalculated = true; + } + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(IIIII)Ldm;" + ) + @Export("toModel") + public final Model toModel(int var1, int var2, int var3, int var4, int var5) { + this.method2787(); + 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.field1555 > 0 && this.textureCoords != null) { + int[] var9 = new int[this.field1555]; + + int var10; + for (var10 = 0; var10 < this.faceCount; ++var10) { + if (this.textureCoords[var10] != -1) { + ++var9[this.textureCoords[var10] & 255]; + } + } + + var8.field1691 = 0; + + for (var10 = 0; var10 < this.field1555; ++var10) { + if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { + ++var8.field1691; + } + } + + var8.field1692 = new int[var8.field1691]; + var8.field1693 = new int[var8.field1691]; + var8.field1694 = new int[var8.field1691]; + var10 = 0; + + int var11; + for (var11 = 0; var11 < this.field1555; ++var11) { + if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { + var8.field1692[var10] = this.texTriangleX[var11] & '\uffff'; + var8.field1693[var10] = this.texTriangleY[var11] & '\uffff'; + var8.field1694[var10] = this.texTriangleZ[var11] & '\uffff'; + var9[var11] = var10++; + } else { + var9[var11] = -1; + } + } + + var8.field1688 = new byte[this.faceCount]; + + for (var11 = 0; var11 < this.faceCount; ++var11) { + if (this.textureCoords[var11] != -1) { + var8.field1688[var11] = (byte)var9[this.textureCoords[var11] & 255]; + } else { + var8.field1688[var11] = -1; + } + } + } + + for (int var16 = 0; var16 < this.faceCount; ++var16) { + byte var17; + if (this.field1557 == null) { + var17 = 0; + } else { + var17 = this.field1557[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.field1890 + var5 * var19.field1888 + var3 * var19.field1889) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2792(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.field1581 != null && this.field1581[this.indices1[var16]] != null) { + var13 = this.field1581[this.indices1[var16]]; + } else { + var13 = this.field1574[this.indices1[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors1[var16] = method2792(var15, var14); + if (this.field1581 != null && this.field1581[this.indices2[var16]] != null) { + var13 = this.field1581[this.indices2[var16]]; + } else { + var13 = this.field1574[this.indices2[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors2[var16] = method2792(var15, var14); + if (this.field1581 != null && this.field1581[this.indices3[var16]] != null) { + var13 = this.field1581[this.indices3[var16]]; + } else { + var13 = this.field1574[this.indices3[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors3[var16] = method2792(var15, var14); + } + } else if (var17 != 0) { + if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.field1890 + var5 * var19.field1888 + var3 * var19.field1889) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2818(var14); + var8.faceColors3[var16] = -1; + } else { + var8.faceColors3[var16] = -2; + } + } else { + if (this.field1581 != null && this.field1581[this.indices1[var16]] != null) { + var13 = this.field1581[this.indices1[var16]]; + } else { + var13 = this.field1574[this.indices1[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors1[var16] = method2818(var14); + if (this.field1581 != null && this.field1581[this.indices2[var16]] != null) { + var13 = this.field1581[this.indices2[var16]]; + } else { + var13 = this.field1574[this.indices2[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors2[var16] = method2818(var14); + if (this.field1581 != null && this.field1581[this.indices3[var16]] != null) { + var13 = this.field1581[this.indices3[var16]]; + } else { + var13 = this.field1574[this.indices3[var16]]; + } + + var14 = (var4 * var13.field1760 + var5 * var13.field1758 + var3 * var13.field1759) / (var7 * var13.field1761) + var1; + var8.faceColors3[var16] = method2818(var14); + } + } + + this.method2777(); + 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.field1559; + var8.faceAlphas = this.faceAlphas; + var8.field1690 = this.field1563; + var8.vertexLabels = this.vertexLabels; + var8.faceLabelsAlpha = this.faceLabelsAlpha; + var8.faceTextures = this.faceTextures; + return var8; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;II)Lds;" + ) + public static ModelData method2769(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new ModelData(var3); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lds;Lds;IIIZ)V" + ) + static void method2790(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { + var0.method2789(); + var0.method2787(); + var1.method2789(); + var1.method2787(); + ++field1586; + int var6 = 0; + int[] var7 = var1.verticesX; + int var8 = var1.verticesCount; + + int var9; + for (var9 = 0; var9 < var0.verticesCount; ++var9) { + VertexNormal var10 = var0.field1574[var9]; + if (var10.field1761 != 0) { + int var11 = var0.verticesY[var9] - var3; + if (var11 <= var1.field1579) { + int var12 = var0.verticesX[var9] - var2; + if (var12 >= var1.field1575 && var12 <= var1.field1564) { + int var13 = var0.verticesZ[var9] - var4; + if (var13 >= var1.field1554 && var13 <= var1.field1582) { + for (int var14 = 0; var14 < var8; ++var14) { + VertexNormal var15 = var1.field1574[var14]; + if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.field1761 != 0) { + if (var0.field1581 == null) { + var0.field1581 = new VertexNormal[var0.verticesCount]; + } + + if (var1.field1581 == null) { + var1.field1581 = new VertexNormal[var8]; + } + + VertexNormal var16 = var0.field1581[var9]; + if (var16 == null) { + var16 = var0.field1581[var9] = new VertexNormal(var10); + } + + VertexNormal var17 = var1.field1581[var14]; + if (var17 == null) { + var17 = var1.field1581[var14] = new VertexNormal(var15); + } + + var16.field1759 += var15.field1759; + var16.field1760 += var15.field1760; + var16.field1758 += var15.field1758; + var16.field1761 += var15.field1761; + var17.field1759 += var10.field1759; + var17.field1760 += var10.field1760; + var17.field1758 += var10.field1758; + var17.field1761 += var10.field1761; + ++var6; + field1584[var9] = field1586; + field1585[var14] = field1586; + } + } + } + } + } + } + } + + if (var6 >= 3 && var5) { + for (var9 = 0; var9 < var0.faceCount; ++var9) { + if (field1584[var0.indices1[var9]] == field1586 && field1584[var0.indices2[var9]] == field1586 && field1584[var0.indices3[var9]] == field1586) { + if (var0.field1557 == null) { + var0.field1557 = new byte[var0.faceCount]; + } + + var0.field1557[var9] = 2; + } + } + + for (var9 = 0; var9 < var1.faceCount; ++var9) { + if (field1586 == field1585[var1.indices1[var9]] && field1586 == field1585[var1.indices2[var9]] && field1586 == field1585[var1.indices3[var9]]) { + if (var1.field1557 == null) { + var1.field1557 = new byte[var1.faceCount]; + } + + var1.field1557[var9] = 2; + } + } + + } + } + + @ObfuscatedName("av") + static final int method2792(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("as") + static final int method2818(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 8720409ab8..376c72ecf9 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -1,22 +1,122 @@ +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("ed") +@ObfuscatedName("eu") @Implements("ModelData0") public class ModelData0 { - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = 3311945626287518857L - ) - @Export("currentTimeMsLast") - static long currentTimeMsLast; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Liz;" - ) - @Export("NetCache_currentResponse") - public static NetFileRequest NetCache_currentResponse; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 109358047 + ) + static int field1871; + @ObfuscatedName("b") + public static short[] field1870; + @ObfuscatedName("i") + @Export("inMembersWorld") + public static boolean inMembersWorld; + + ModelData0() { + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Lbk;", + garbageValue = "1887842280" + ) + @Export("loadClientPreferences") + static ClientPreferences loadClientPreferences() { + AccessFile var0 = null; + ClientPreferences var1 = new ClientPreferences(); + + try { + var0 = WorldMapIcon_0.getPreferencesFile("", WorldMapRegion.field248.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; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "-93" + ) + static int method3250(int var0, Script var1, boolean var2) { + int var3 = -1; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var4 = class80.getWidget(var3); + } else { + var4 = var2 ? Interpreter.field1111 : Calendar.field2507; + } + + if (var0 == ScriptOpcodes.CC_SETPOSITION) { + HealthBarUpdate.Interpreter_intStackSize -= 4; + var4.rawX = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4.rawY = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var4.xAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + var4.yAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + Strings.method4120(var4); + WorldMapSprite.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSIZE) { + HealthBarUpdate.Interpreter_intStackSize -= 4; + var4.rawWidth = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4.rawHeight = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var4.widthAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + var4.heightAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + Strings.method4120(var4); + WorldMapSprite.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHIDE) { + boolean var5 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (var5 != var4.isHidden) { + var4.isHidden = var5; + Strings.method4120(var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { + var4.noClickThrough = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { + var4.noScrollThrough = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index 1fd21f3e99..3f02016f0f 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -9,268 +9,416 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bb") +@ObfuscatedName("bi") @Implements("MouseHandler") public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lbb;" - ) - @Export("MouseHandler_instance") - public static MouseHandler MouseHandler_instance; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1080652669 - ) - @Export("MouseHandler_idleCycles") - public static volatile int MouseHandler_idleCycles; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 642308075 - ) - @Export("MouseHandler_currentButton0") - public static volatile int MouseHandler_currentButton0; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1048471439 - ) - @Export("MouseHandler_x0") - public static volatile int MouseHandler_x0; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 2000222973 - ) - @Export("MouseHandler_y0") - public static volatile int MouseHandler_y0; - @ObfuscatedName("e") - @ObfuscatedGetter( - longValue = -5429651987476437823L - ) - @Export("MouseHandler_millis0") - public static volatile long MouseHandler_millis0; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1291011547 - ) - @Export("MouseHandler_y") - public static int MouseHandler_y; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2044247305 - ) - @Export("MouseHandler_currentButton") - public static int MouseHandler_currentButton; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -649043937 - ) - @Export("MouseHandler_x") - public static int MouseHandler_x; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = -7587574528523107151L - ) - @Export("MouseHandler_millis") - public static long MouseHandler_millis; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 590718769 - ) - @Export("MouseHandler_lastButton0") - public static volatile int MouseHandler_lastButton0; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -813801905 - ) - @Export("MouseHandler_lastPressedX0") - public static volatile int MouseHandler_lastPressedX0; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 14138669 - ) - @Export("MouseHandler_lastPressedY0") - public static volatile int MouseHandler_lastPressedY0; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = 3555003757894628243L - ) - @Export("MouseHandler_lastPressedTimeMillis0") - public static volatile long MouseHandler_lastPressedTimeMillis0; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 2126310249 - ) - @Export("MouseHandler_lastButton") - public static int MouseHandler_lastButton; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1853704165 - ) - @Export("MouseHandler_lastPressedX") - public static int MouseHandler_lastPressedX; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1876967757 - ) - @Export("MouseHandler_lastPressedY") - public static int MouseHandler_lastPressedY; - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = 3806612340723844439L - ) - @Export("MouseHandler_lastPressedTimeMillis") - public static long MouseHandler_lastPressedTimeMillis; - @ObfuscatedName("gb") - @Export("regionLandArchiveIds") - static int[] regionLandArchiveIds; - @ObfuscatedName("hz") - @ObfuscatedGetter( - intValue = -215744973 - ) - @Export("oculusOrbFocalPointX") - static int oculusOrbFocalPointX; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lbi;" + ) + @Export("MouseHandler_instance") + public static MouseHandler MouseHandler_instance; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1010010923 + ) + @Export("MouseHandler_x") + public static int MouseHandler_x; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 224194115 + ) + @Export("MouseHandler_idleCycles") + public static volatile int MouseHandler_idleCycles; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1710921911 + ) + @Export("MouseHandler_currentButton0") + public static volatile int MouseHandler_currentButton0; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1256133149 + ) + @Export("MouseHandler_x0") + public static volatile int MouseHandler_x0; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1661434067 + ) + @Export("MouseHandler_y0") + public static volatile int MouseHandler_y0; + @ObfuscatedName("f") + @ObfuscatedGetter( + longValue = -8614064843857647631L + ) + @Export("MouseHandler_millis0") + public static volatile long MouseHandler_millis0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1270652981 + ) + @Export("MouseHandler_currentButton") + public static int MouseHandler_currentButton; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1776792987 + ) + @Export("MouseHandler_y") + public static int MouseHandler_y; + @ObfuscatedName("x") + @ObfuscatedGetter( + longValue = 5241023896637855779L + ) + @Export("MouseHandler_millis") + public static long MouseHandler_millis; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1163235529 + ) + @Export("MouseHandler_lastButton0") + public static volatile int MouseHandler_lastButton0; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1839013683 + ) + @Export("MouseHandler_lastPressedX0") + public static volatile int MouseHandler_lastPressedX0; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -62123151 + ) + @Export("MouseHandler_lastPressedY0") + public static volatile int MouseHandler_lastPressedY0; + @ObfuscatedName("g") + @ObfuscatedGetter( + longValue = -4691083224527858071L + ) + @Export("MouseHandler_lastPressedTimeMillis0") + public static volatile long MouseHandler_lastPressedTimeMillis0; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1647189949 + ) + @Export("MouseHandler_lastButton") + public static int MouseHandler_lastButton; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -836499887 + ) + @Export("MouseHandler_lastPressedX") + public static int MouseHandler_lastPressedX; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 201376633 + ) + @Export("MouseHandler_lastPressedY") + public static int MouseHandler_lastPressedY; + @ObfuscatedName("h") + @ObfuscatedGetter( + longValue = -687699044042245685L + ) + @Export("MouseHandler_lastPressedTimeMillis") + public static long MouseHandler_lastPressedTimeMillis; + @ObfuscatedName("ht") + @ObfuscatedGetter( + intValue = -400570657 + ) + @Export("oculusOrbFocalPointX") + static int oculusOrbFocalPointX; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/awt/event/MouseEvent;I)I", - garbageValue = "-965288682" - ) - @Export("getButton") - final int getButton(MouseEvent mouseEvent) { - int var2 = mouseEvent.getButton(); - return !mouseEvent.isAltDown() && var2 != 2 ? (!mouseEvent.isMetaDown() && var2 != 3 ? 1 : 2) : 4; - } + static { + MouseHandler_instance = new MouseHandler(); + MouseHandler_idleCycles = 0; + MouseHandler_currentButton0 = 0; + MouseHandler_x0 = -1; + MouseHandler_y0 = -1; + MouseHandler_millis0 = -1L; + MouseHandler_currentButton = 0; + MouseHandler_x = 0; + MouseHandler_y = 0; + MouseHandler_millis = 0L; + MouseHandler_lastButton0 = 0; + MouseHandler_lastPressedX0 = 0; + MouseHandler_lastPressedY0 = 0; + MouseHandler_lastPressedTimeMillis0 = 0L; + MouseHandler_lastButton = 0; + MouseHandler_lastPressedX = 0; + MouseHandler_lastPressedY = 0; + MouseHandler_lastPressedTimeMillis = 0L; + } - public final synchronized void mouseMoved(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_x0 = var1.getX(); - MouseHandler_y0 = var1.getY(); - MouseHandler_millis0 = var1.getWhen(); - } + MouseHandler() { + } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/awt/event/MouseEvent;I)I", + garbageValue = "-1900631244" + ) + @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 mousePressed(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_lastPressedX0 = var1.getX(); - MouseHandler_lastPressedY0 = var1.getY(); - MouseHandler_lastPressedTimeMillis0 = class203.currentTimeMs(); - MouseHandler_lastButton0 = this.getButton(var1); - if (MouseHandler_lastButton0 != 0) { - MouseHandler_currentButton0 = MouseHandler_lastButton0; - } - } + public final synchronized void mouseMoved(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_x0 = var1.getX(); + MouseHandler_y0 = var1.getY(); + MouseHandler_millis0 = var1.getWhen(); + } - if (var1.isPopupTrigger()) { - var1.consume(); - } + } - } + public final synchronized void mousePressed(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_lastPressedX0 = var1.getX(); + MouseHandler_lastPressedY0 = var1.getY(); + MouseHandler_lastPressedTimeMillis0 = DirectByteArrayCopier.currentTimeMs(); + MouseHandler_lastButton0 = this.getButton(var1); + if (MouseHandler_lastButton0 != 0) { + MouseHandler_currentButton0 = MouseHandler_lastButton0; + } + } - public final synchronized void mouseReleased(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_currentButton0 = 0; - } + if (var1.isPopupTrigger()) { + var1.consume(); + } - if (var1.isPopupTrigger()) { - var1.consume(); - } + } - } + public final synchronized void mouseReleased(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_currentButton0 = 0; + } - public final void mouseClicked(MouseEvent var1) { - if (var1.isPopupTrigger()) { - var1.consume(); - } + if (var1.isPopupTrigger()) { + var1.consume(); + } - } + } - public final synchronized void mouseExited(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_x0 = -1; - MouseHandler_y0 = -1; - MouseHandler_millis0 = var1.getWhen(); - } + public final void mouseClicked(MouseEvent var1) { + if (var1.isPopupTrigger()) { + var1.consume(); + } - } + } - public final synchronized void mouseDragged(MouseEvent var1) { - this.mouseMoved(var1); - } + 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_currentButton0 = 0; + } - public final synchronized void focusLost(FocusEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_currentButton0 = 0; - } + } - } + public final synchronized void mouseExited(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_x0 = -1; + MouseHandler_y0 = -1; + MouseHandler_millis0 = var1.getWhen(); + } - public final synchronized void mouseEntered(MouseEvent var1) { - this.mouseMoved(var1); - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIII)J", - garbageValue = "1909006131" - ) - static long method1083(int var0, int var1, int var2) { - return (long)(var2 << 16 | var0 << 8 | var1); - } + public final void focusGained(FocusEvent var1) { + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", - garbageValue = "1860098743" - ) - @Export("parseInt") - public static int parseInt(CharSequence var0) { - return IgnoreList.parseIntCustomRadix(var0, 10, true); - } + public final synchronized void mouseEntered(MouseEvent var1) { + this.mouseMoved(var1); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "876254587" - ) - static void method1084(boolean var0) { - Login.Login_response1 = ""; - Login.Login_response2 = "Enter your username/email & password."; - Login.Login_response3 = ""; - Login.loginIndex = 2; - if (var0) { - Login.Login_password = ""; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-102731253" + ) + public static int method1009(int var0, int var1) { + int var2; + for (var2 = 1; var1 > 1; var1 >>= 1) { + if ((var1 & 1) != 0) { + var2 = var0 * var2; + } - Messages.method2200(); - class196.method3740(); - } + var0 *= var0; + } - static { - MouseHandler_instance = new MouseHandler(); - MouseHandler_idleCycles = 0; - MouseHandler_currentButton0 = 0; - MouseHandler_x0 = -1; - MouseHandler_y0 = -1; - MouseHandler_millis0 = -1L; - MouseHandler_currentButton = 0; - MouseHandler_x = 0; - MouseHandler_y = 0; - MouseHandler_millis = 0L; - MouseHandler_lastButton0 = 0; - MouseHandler_lastPressedX0 = 0; - MouseHandler_lastPressedY0 = 0; - MouseHandler_lastPressedTimeMillis0 = 0L; - MouseHandler_lastButton = 0; - MouseHandler_lastPressedX = 0; - MouseHandler_lastPressedY = 0; - MouseHandler_lastPressedTimeMillis = 0L; - } + if (var1 == 1) { + return var0 * var2; + } else { + return var2; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkx;I)V", + garbageValue = "-685707928" + ) + static final void method1037(PacketBuffer var0) { + int var1 = 0; + var0.importIndex(); + + byte[] var10000; + int var2; + int var3; + int var4; + for (var2 = 0; var2 < Players.Players_count; ++var2) { + var3 = Players.Players_indices[var2]; + if ((Players.field1252[var3] & 1) == 0) { + if (var1 > 0) { + --var1; + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = World.method1686(var0); + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + WorldMapIcon_0.method210(var0, var3); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var2 = 0; var2 < Players.Players_count; ++var2) { + var3 = Players.Players_indices[var2]; + if ((Players.field1252[var3] & 1) != 0) { + if (var1 > 0) { + --var1; + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = World.method1686(var0); + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + WorldMapIcon_0.method210(var0, var3); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { + var3 = Players.Players_emptyIndices[var2]; + if ((Players.field1252[var3] & 1) != 0) { + if (var1 > 0) { + --var1; + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = World.method1686(var0); + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else if (class226.updateExternalPlayer(var0, var3)) { + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { + var3 = Players.Players_emptyIndices[var2]; + if ((Players.field1252[var3] & 1) == 0) { + if (var1 > 0) { + --var1; + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = World.method1686(var0); + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } else if (class226.updateExternalPlayer(var0, var3)) { + var10000 = Players.field1252; + var10000[var3] = (byte)(var10000[var3] | 2); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + Players.Players_count = 0; + Players.Players_emptyIdxCount = 0; + + for (var2 = 1; var2 < 2048; ++var2) { + var10000 = Players.field1252; + var10000[var2] = (byte)(var10000[var2] >> 1); + Player var5 = Client.players[var2]; + if (var5 != null) { + Players.Players_indices[++Players.Players_count - 1] = var2; + } else { + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var2; + } + } + + } + } + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-37" + ) + static void method1039() { + Login.loginIndex = 24; + class268.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "1793626495" + ) + static final int method1021(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; + } } diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 128649af6c..722a18d162 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -4,391 +4,134 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bu") +@ObfuscatedName("bs") @Implements("MouseRecorder") public class MouseRecorder implements Runnable { - @ObfuscatedName("no") - @ObfuscatedGetter( - intValue = 2059180753 - ) - @Export("widgetDragDuration") - static int widgetDragDuration; - @ObfuscatedName("hy") - @ObfuscatedGetter( - intValue = 1075569245 - ) - static int field566; - @ObfuscatedName("m") - @Export("isRunning") - boolean isRunning; - @ObfuscatedName("f") - @Export("lock") - Object lock; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 973045825 - ) - @Export("index") - int index; - @ObfuscatedName("w") - @Export("xs") - int[] xs; - @ObfuscatedName("o") - @Export("ys") - int[] ys; - @ObfuscatedName("u") - @Export("millis") - long[] millis; + @ObfuscatedName("ix") + @ObfuscatedGetter( + intValue = -2050629733 + ) + @Export("selectedItemWidget") + static int selectedItemWidget; + @ObfuscatedName("q") + @Export("isRunning") + boolean isRunning; + @ObfuscatedName("w") + @Export("lock") + Object lock; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -944219323 + ) + @Export("index") + int index; + @ObfuscatedName("p") + @Export("xs") + int[] xs; + @ObfuscatedName("k") + @Export("ys") + int[] ys; + @ObfuscatedName("l") + @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]; - } + 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; class203.method4010(50L)) { - Object var1 = this.lock; - 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; - } - } - } + public void run() { + for (; this.isRunning; EnumDefinition.method4550(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("hr") - @ObfuscatedSignature( - signature = "(IIIIIB)V", - garbageValue = "-51" - ) - @Export("drawObject") - static final void drawObject(int var0, int var1, int var2, int var3, int var4) { - long var5 = class65.scene.getBoundaryObjectTag(var0, var1, var2); - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var13; - if (var5 != 0L) { - var7 = class65.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = var3; - boolean var14 = var5 != 0L; - if (var14) { - boolean var15 = (int)(var5 >>> 16 & 1L) == 1; - var14 = !var15; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "5" + ) + @Export("WorldMapElement_clearCached") + public static void WorldMapElement_clearCached() { + WorldMapElement.WorldMapElement_cachedSprites.clear(); + } - if (var14) { - var10 = var4; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "234130562" + ) + static final void method1138() { + Object var10000 = null; + String var0 = "Your friend list is full. Max of 200 for free users, and 400 for members"; + ScriptEvent.addGameMessage(30, "", var0); + } - int[] var20 = InterfaceParent.sceneMinimapSprite.pixels; - var12 = var1 * 4 + (103 - var2) * 2048 + 24624; - var11 = HitSplatDefinition.method4972(var5); - ObjectDefinition var16 = class50.getObjectDefinition(var11); - if (var16.mapSceneId != -1) { - IndexedSprite var17 = class192.mapSceneSprites[var16.mapSceneId]; - if (var17 != null) { - var13 = (var16.sizeX * 4 - var17.subWidth) / 2; - int var18 = (var16.sizeY * 4 - var17.subHeight) / 2; - var17.drawAt(var1 * 4 + var13 + 48, (104 - var2 - var16.sizeY) * 4 + var18 + 48); - } - } else { - if (var9 == 0 || var9 == 2) { - if (var8 == 0) { - var20[var12] = var10; - var20[var12 + 512] = var10; - var20[var12 + 1024] = var10; - var20[var12 + 1536] = var10; - } else if (var8 == 1) { - var20[var12] = var10; - var20[var12 + 1] = var10; - var20[var12 + 2] = var10; - var20[var12 + 3] = var10; - } else if (var8 == 2) { - var20[var12 + 3] = var10; - var20[var12 + 512 + 3] = var10; - var20[var12 + 1024 + 3] = var10; - var20[var12 + 1536 + 3] = var10; - } else if (var8 == 3) { - var20[var12 + 1536] = var10; - var20[var12 + 1536 + 1] = var10; - var20[var12 + 1536 + 2] = var10; - var20[var12 + 1536 + 3] = var10; - } - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1823729833" + ) + static void method1137(int var0) { + Login.loginIndex = 12; + Login.field1182 = var0; + } - if (var9 == 3) { - if (var8 == 0) { - var20[var12] = var10; - } else if (var8 == 1) { - var20[var12 + 3] = var10; - } else if (var8 == 2) { - var20[var12 + 1536 + 3] = var10; - } else if (var8 == 3) { - var20[var12 + 1536] = var10; - } - } + @ObfuscatedName("fu") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1953240154" + ) + static final void method1141() { + for (int var0 = 0; var0 < Client.npcCount; ++var0) { + int var1 = Client.npcIndices[var0]; + NPC var2 = Client.npcs[var1]; + if (var2 != null) { + StructDefinition.calculateActorPosition(var2, var2.definition.size); + } + } - if (var9 == 2) { - if (var8 == 3) { - var20[var12] = var10; - var20[var12 + 512] = var10; - var20[var12 + 1024] = var10; - var20[var12 + 1536] = var10; - } else if (var8 == 0) { - var20[var12] = var10; - var20[var12 + 1] = var10; - var20[var12 + 2] = var10; - var20[var12 + 3] = var10; - } else if (var8 == 1) { - var20[var12 + 3] = var10; - var20[var12 + 512 + 3] = var10; - var20[var12 + 1024 + 3] = var10; - var20[var12 + 1536 + 3] = var10; - } else if (var8 == 2) { - var20[var12 + 1536] = var10; - var20[var12 + 1536 + 1] = var10; - var20[var12 + 1536 + 2] = var10; - var20[var12 + 1536 + 3] = var10; - } - } - } - } + } - var5 = class65.scene.getGameObjectTag(var0, var1, var2); - ObjectDefinition var19; - IndexedSprite var21; - int var22; - if (0L != var5) { - var7 = class65.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = HitSplatDefinition.method4972(var5); - var19 = class50.getObjectDefinition(var10); - if (var19.mapSceneId != -1) { - var21 = class192.mapSceneSprites[var19.mapSceneId]; - if (var21 != null) { - var12 = (var19.sizeX * 4 - var21.subWidth) / 2; - var11 = (var19.sizeY * 4 - var21.subHeight) / 2; - var21.drawAt(var12 + var1 * 4 + 48, (104 - var2 - var19.sizeY) * 4 + var11 + 48); - } - } else if (var9 == 9) { - var22 = 15658734; - boolean var23 = 0L != var5; - if (var23) { - boolean var24 = (int)(var5 >>> 16 & 1L) == 1; - var23 = !var24; - } + @ObfuscatedName("fl") + @ObfuscatedSignature( + signature = "(Lbd;IIB)V", + garbageValue = "-124" + ) + @Export("performPlayerAnimation") + static void performPlayerAnimation(Player var0, int var1, int var2) { + if (var0.sequence == var1 && var1 != -1) { + int var3 = GrandExchangeEvent.getSequenceDefinition(var1).field3529; + if (var3 == 1) { + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field985 = 0; + } - if (var23) { - var22 = 15597568; - } + if (var3 == 2) { + var0.field985 = 0; + } + } else if (var1 == -1 || var0.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var1).field3533 >= GrandExchangeEvent.getSequenceDefinition(var0.sequence).field3533) { + var0.sequence = var1; + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field985 = 0; + var0.field1008 = var0.pathLength; + } - int[] var25 = InterfaceParent.sceneMinimapSprite.pixels; - var13 = var1 * 4 + (103 - var2) * 2048 + 24624; - if (var8 != 0 && var8 != 2) { - var25[var13] = var22; - var25[var13 + 1 + 512] = var22; - var25[var13 + 1024 + 2] = var22; - var25[var13 + 1536 + 3] = var22; - } else { - var25[var13 + 1536] = var22; - var25[var13 + 1 + 1024] = var22; - var25[var13 + 512 + 2] = var22; - var25[var13 + 3] = var22; - } - } - } - - var5 = class65.scene.getFloorDecorationTag(var0, var1, var2); - if (var5 != 0L) { - var7 = HitSplatDefinition.method4972(var5); - var19 = class50.getObjectDefinition(var7); - if (var19.mapSceneId != -1) { - var21 = class192.mapSceneSprites[var19.mapSceneId]; - if (var21 != null) { - var10 = (var19.sizeX * 4 - var21.subWidth) / 2; - var22 = (var19.sizeY * 4 - var21.subHeight) / 2; - var21.drawAt(var10 + var1 * 4 + 48, var22 + (104 - var2 - var19.sizeY) * 4 + 48); - } - } - } - - } - - @ObfuscatedName("it") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lho;B)Ljava/lang/String;", - garbageValue = "17" - ) - static String method1194(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 var5 = class16.method187(var1, var2 - 1); - String var6; - if (var5 < 999999999) { - var6 = Integer.toString(var5); - } else { - var6 = "*"; - } - - var0 = var4 + var6 + var0.substring(var3 + 2); - } - } - } - - return var0; - } - - @ObfuscatedName("ji") - @ObfuscatedSignature( - signature = "(Lho;IIII)V", - garbageValue = "-335916694" - ) - @Export("drawMinimap") - static final void drawMinimap(Widget minimapComponent, int x, int y, int rootIndex) { - class13.playPcmPlayers(); - SpriteMask var4 = minimapComponent.getSpriteMask(false); - if (var4 != null) { - Rasterizer2D.Rasterizer2D_setClip(x, y, var4.width + x, y + var4.height); - if (Client.minimapState != 2 && Client.minimapState != 5) { - int var5 = Client.camAngleY & 2047; - int var6 = Canvas.localPlayer.x / 32 + 48; - int var7 = 464 - Canvas.localPlayer.y / 32; - InterfaceParent.sceneMinimapSprite.drawRotatedMaskedCenteredAround(x, y, 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 - Canvas.localPlayer.x / 32; - var10 = Client.mapIconYs[var8] * 4 + 2 - Canvas.localPlayer.y / 32; - NetFileRequest.drawSpriteOnMinimap(x, y, var9, var10, Client.mapIcons[var8], var4); - } - - var8 = 0; - - while (true) { - int var11; - int var12; - if (var8 >= 104) { - for (var8 = 0; var8 < Client.npcCount; ++var8) { - NPC var17 = Client.npcs[Client.npcIndices[var8]]; - if (var17 != null && var17.isVisible()) { - NPCDefinition var14 = var17.definition; - if (var14 != null && var14.transforms != null) { - var14 = var14.transform(); - } - - if (var14 != null && var14.drawMapDot && var14.isInteractable) { - var11 = var17.x / 32 - Canvas.localPlayer.x / 32; - var12 = var17.y / 32 - Canvas.localPlayer.y / 32; - NetFileRequest.drawSpriteOnMinimap(x, y, var11, var12, class39.mapDotSprites[1], var4); - } - } - } - - var8 = Players.Players_count; - int[] var18 = Players.Players_indices; - - Player var19; - for (var10 = 0; var10 < var8; ++var10) { - var19 = Client.players[var18[var10]]; - if (var19 != null && var19.isVisible() && !var19.isHidden && var19 != Canvas.localPlayer) { - var12 = var19.x / 32 - Canvas.localPlayer.x / 32; - int var15 = var19.y / 32 - Canvas.localPlayer.y / 32; - boolean var16 = false; - if (Canvas.localPlayer.team != 0 && var19.team != 0 && var19.team == Canvas.localPlayer.team) { - var16 = true; - } - - if (var19.isFriend()) { - NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[3], var4); - } else if (var16) { - NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[4], var4); - } else if (var19.isClanMember()) { - NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[5], var4); - } else { - NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.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 - Canvas.localPlayer.x / 32; - var12 = var20.y / 32 - Canvas.localPlayer.y / 32; - UserComparator5.worldToMinimap(x, y, var11, var12, class16.mapMarkerSprites[1], var4); - } - } - - if (Client.hintArrowType == 2) { - var10 = Client.hintArrowX * 4 - class50.baseX * 4 + 2 - Canvas.localPlayer.x / 32; - var11 = Client.hintArrowY * 4 - GraphicsObject.baseY * 4 + 2 - Canvas.localPlayer.y / 32; - UserComparator5.worldToMinimap(x, y, var10, var11, class16.mapMarkerSprites[1], var4); - } - - if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { - var19 = Client.players[Client.hintArrowPlayerIndex]; - if (var19 != null) { - var11 = var19.x / 32 - Canvas.localPlayer.x / 32; - var12 = var19.y / 32 - Canvas.localPlayer.y / 32; - UserComparator5.worldToMinimap(x, y, var11, var12, class16.mapMarkerSprites[1], var4); - } - } - } - - if (Client.destinationX != 0) { - var10 = Client.destinationX * 4 + 2 - Canvas.localPlayer.x / 32; - var11 = Client.destinationY * 4 + 2 - Canvas.localPlayer.y / 32; - NetFileRequest.drawSpriteOnMinimap(x, y, var10, var11, class16.mapMarkerSprites[0], var4); - } - - if (!Canvas.localPlayer.isHidden) { - Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + x - 1, var4.height / 2 + y - 1, 3, 3, 16777215); - } - break; - } - - for (var9 = 0; var9 < 104; ++var9) { - NodeDeque var13 = Client.groundItems[SoundSystem.plane][var8][var9]; - if (var13 != null) { - var11 = var8 * 4 + 2 - Canvas.localPlayer.x / 32; - var12 = var9 * 4 + 2 - Canvas.localPlayer.y / 32; - NetFileRequest.drawSpriteOnMinimap(x, y, var11, var12, class39.mapDotSprites[0], var4); - } - } - - ++var8; - } - } else { - Rasterizer2D.method5948(x, y, 0, var4.xStarts, var4.xWidths); - } - - Client.field102[rootIndex] = true; - } - - } + } } diff --git a/runescape-client/src/main/java/MouseWheel.java b/runescape-client/src/main/java/MouseWheel.java index bb5ff4d143..13576c8737 100644 --- a/runescape-client/src/main/java/MouseWheel.java +++ b/runescape-client/src/main/java/MouseWheel.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fv") +@ObfuscatedName("fj") @Implements("MouseWheel") public interface MouseWheel { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1293035280" - ) - @Export("useRotation") - int useRotation(); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1768142580" + ) + @Export("useRotation") + int useRotation(); } diff --git a/runescape-client/src/main/java/MouseWheelHandler.java b/runescape-client/src/main/java/MouseWheelHandler.java index 758d0dce83..1e76822066 100644 --- a/runescape-client/src/main/java/MouseWheelHandler.java +++ b/runescape-client/src/main/java/MouseWheelHandler.java @@ -7,53 +7,53 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("am") +@ObfuscatedName("au") @Implements("MouseWheelHandler") public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -182252389 - ) - @Export("rotation") - int rotation; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -362089629 + ) + @Export("rotation") + int rotation; - MouseWheelHandler() { - this.rotation = 0; - } + MouseWheelHandler() { + this.rotation = 0; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;B)V", - garbageValue = "-28" - ) - @Export("addTo") - void addTo(Component component) { - component.addMouseWheelListener(this); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;B)V", + garbageValue = "31" + ) + @Export("addTo") + void addTo(Component var1) { + var1.addMouseWheelListener(this); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", - garbageValue = "-544062729" - ) - @Export("removeFrom") - void removeFrom(Component component) { - component.removeMouseWheelListener(this); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "-325226469" + ) + @Export("removeFrom") + void removeFrom(Component var1) { + var1.removeMouseWheelListener(this); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1293035280" - ) - @Export("useRotation") - public synchronized int useRotation() { - int var1 = this.rotation; - this.rotation = 0; - return var1; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1768142580" + ) + @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(); - } + 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 753ae666df..8c05cd130a 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -4,528 +4,589 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hl") +@ObfuscatedName("gg") @Implements("MusicPatch") public class MusicPatch extends Node { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 574200865 - ) - int field567; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Lcx;" - ) - @Export("rawSounds") - RawSound[] rawSounds; - @ObfuscatedName("q") - short[] field568; - @ObfuscatedName("w") - byte[] field569; - @ObfuscatedName("o") - byte[] field570; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[Lhd;" - ) - MusicPatchNode2[] field571; - @ObfuscatedName("g") - byte[] field572; - @ObfuscatedName("l") - int[] field573; - - MusicPatch(byte[] var1) { - this.rawSounds = new RawSound[128]; - this.field568 = new short[128]; - this.field569 = new byte[128]; - this.field570 = new byte[128]; - this.field571 = new MusicPatchNode2[128]; - this.field572 = new byte[128]; - this.field573 = new int[128]; - Buffer var2 = new Buffer(var1); - - int var3; - for (var3 = 0; var2.array[var3 + var2.index] != 0; ++var3) { - } - - byte[] var4 = new byte[var3]; - - int var5; - for (var5 = 0; var5 < var3; ++var5) { - var4[var5] = var2.readByte(); - } - - ++var2.index; - ++var3; - var5 = var2.index; - var2.index += var3; - - int var6; - for (var6 = 0; var2.array[var6 + var2.index] != 0; ++var6) { - } - - byte[] var7 = new byte[var6]; - - int var8; - for (var8 = 0; var8 < var6; ++var8) { - var7[var8] = var2.readByte(); - } - - ++var2.index; - ++var6; - var8 = var2.index; - var2.index += var6; - - int var9; - for (var9 = 0; var2.array[var9 + var2.index] != 0; ++var9) { - } - - byte[] var10 = new byte[var9]; - - for (int var11 = 0; var11 < var9; ++var11) { - var10[var11] = var2.readByte(); - } - - ++var2.index; - ++var9; - byte[] var42 = new byte[var9]; - int var12; - int var13; - if (var9 > 1) { - var42[1] = 1; - int var14 = 1; - var12 = 2; - - for (var13 = 2; var13 < var9; ++var13) { - int var15 = var2.readUnsignedByte(); - if (var15 == 0) { - var14 = var12++; - } else { - if (var15 <= var14) { - --var15; - } - - var14 = var15; - } - - var42[var13] = (byte)var14; - } - } else { - var12 = var9; - } - - MusicPatchNode2[] var43 = new MusicPatchNode2[var12]; - - MusicPatchNode2 var44; - for (var13 = 0; var13 < var43.length; ++var13) { - var44 = var43[var13] = new MusicPatchNode2(); - int var16 = var2.readUnsignedByte(); - if (var16 > 0) { - var44.field593 = new byte[var16 * 2]; - } - - var16 = var2.readUnsignedByte(); - if (var16 > 0) { - var44.field594 = new byte[var16 * 2 + 2]; - var44.field594[1] = 64; - } - } - - var13 = var2.readUnsignedByte(); - byte[] var45 = var13 > 0 ? new byte[var13 * 2] : null; - var13 = var2.readUnsignedByte(); - byte[] var17 = var13 > 0 ? new byte[var13 * 2] : null; - - int var18; - for (var18 = 0; var2.array[var18 + var2.index] != 0; ++var18) { - } - - byte[] var19 = new byte[var18]; - - int var20; - for (var20 = 0; var20 < var18; ++var20) { - var19[var20] = var2.readByte(); - } - - ++var2.index; - ++var18; - var20 = 0; - - int var21; - for (var21 = 0; var21 < 128; ++var21) { - var20 += var2.readUnsignedByte(); - this.field568[var21] = (short)var20; - } - - var20 = 0; - - for (var21 = 0; var21 < 128; ++var21) { - var20 += var2.readUnsignedByte(); - this.field568[var21] = (short)(this.field568[var21] + (var20 << 8)); - } - - var21 = 0; - int var22 = 0; - int var23 = 0; - - int var24; - for (var24 = 0; var24 < 128; ++var24) { - if (var21 == 0) { - if (var22 < var19.length) { - var21 = var19[var22++]; - } else { - var21 = -1; - } - - var23 = var2.readVarInt(); - } - - this.field568[var24] = (short)(this.field568[var24] + ((var23 - 1 & 2) << 14)); - this.field573[var24] = var23; - --var21; - } - - var21 = 0; - var22 = 0; - var24 = 0; - - int var25; - for (var25 = 0; var25 < 128; ++var25) { - if (this.field573[var25] != 0) { - if (var21 == 0) { - if (var22 < var4.length) { - var21 = var4[var22++]; - } else { - var21 = -1; - } - - var24 = var2.array[var5++] - 1; - } - - this.field572[var25] = (byte)var24; - --var21; - } - } - - var21 = 0; - var22 = 0; - var25 = 0; - - for (int var26 = 0; var26 < 128; ++var26) { - if (this.field573[var26] != 0) { - if (var21 == 0) { - if (var22 < var7.length) { - var21 = var7[var22++]; - } else { - var21 = -1; - } - - var25 = var2.array[var8++] + 16 << 2; - } - - this.field570[var26] = (byte)var25; - --var21; - } - } - - var21 = 0; - var22 = 0; - MusicPatchNode2 var46 = null; - - int var27; - for (var27 = 0; var27 < 128; ++var27) { - if (this.field573[var27] != 0) { - if (var21 == 0) { - var46 = var43[var42[var22]]; - if (var22 < var10.length) { - var21 = var10[var22++]; - } else { - var21 = -1; - } - } - - this.field571[var27] = var46; - --var21; - } - } - - var21 = 0; - var22 = 0; - var27 = 0; - - int var28; - for (var28 = 0; var28 < 128; ++var28) { - if (var21 == 0) { - if (var22 < var19.length) { - var21 = var19[var22++]; - } else { - var21 = -1; - } - - if (this.field573[var28] > 0) { - var27 = var2.readUnsignedByte() + 1; - } - } - - this.field569[var28] = (byte)var27; - --var21; - } - - this.field567 = var2.readUnsignedByte() + 1; - - MusicPatchNode2 var29; - int var30; - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field593 != null) { - for (var30 = 1; var30 < var29.field593.length; var30 += 2) { - var29.field593[var30] = var2.readByte(); - } - } - - if (var29.field594 != null) { - for (var30 = 3; var30 < var29.field594.length - 2; var30 += 2) { - var29.field594[var30] = var2.readByte(); - } - } - } - - if (var45 != null) { - for (var28 = 1; var28 < var45.length; var28 += 2) { - var45[var28] = var2.readByte(); - } - } - - if (var17 != null) { - for (var28 = 1; var28 < var17.length; var28 += 2) { - var17[var28] = var2.readByte(); - } - } - - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field594 != null) { - var20 = 0; - - for (var30 = 2; var30 < var29.field594.length; var30 += 2) { - var20 = 1 + var20 + var2.readUnsignedByte(); - var29.field594[var30] = (byte)var20; - } - } - } - - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field593 != null) { - var20 = 0; - - for (var30 = 2; var30 < var29.field593.length; var30 += 2) { - var20 = 1 + var20 + var2.readUnsignedByte(); - var29.field593[var30] = (byte)var20; - } - } - } - - byte var31; - int var32; - int var33; - int var34; - int var35; - int var36; - int var37; - byte var38; - if (var45 != null) { - var20 = var2.readUnsignedByte(); - var45[0] = (byte)var20; - - for (var28 = 2; var28 < var45.length; var28 += 2) { - var20 = 1 + var20 + var2.readUnsignedByte(); - var45[var28] = (byte)var20; - } - - var38 = var45[0]; - byte var39 = var45[1]; - - for (var30 = 0; var30 < var38; ++var30) { - this.field569[var30] = (byte)(var39 * this.field569[var30] + 32 >> 6); - } - - for (var30 = 2; var30 < var45.length; var30 += 2) { - var31 = var45[var30]; - byte var40 = var45[var30 + 1]; - var32 = var39 * (var31 - var38) + (var31 - var38) / 2; - - for (var33 = var38; var33 < var31; ++var33) { - var35 = var31 - var38; - var36 = var32 >>> 31; - var34 = (var32 + var36) / var35 - var36; - this.field569[var33] = (byte)(var34 * this.field569[var33] + 32 >> 6); - var32 += var40 - var39; - } - - var38 = var31; - var39 = var40; - } - - for (var37 = var38; var37 < 128; ++var37) { - this.field569[var37] = (byte)(var39 * this.field569[var37] + 32 >> 6); - } - - var44 = null; - } - - if (var17 != null) { - var20 = var2.readUnsignedByte(); - var17[0] = (byte)var20; - - for (var28 = 2; var28 < var17.length; var28 += 2) { - var20 = 1 + var20 + var2.readUnsignedByte(); - var17[var28] = (byte)var20; - } - - var38 = var17[0]; - int var47 = var17[1] << 1; - - for (var30 = 0; var30 < var38; ++var30) { - var37 = var47 + (this.field570[var30] & 255); - if (var37 < 0) { - var37 = 0; - } - - if (var37 > 128) { - var37 = 128; - } - - this.field570[var30] = (byte)var37; - } - - int var48; - for (var30 = 2; var30 < var17.length; var30 += 2) { - var31 = var17[var30]; - var48 = var17[var30 + 1] << 1; - var32 = var47 * (var31 - var38) + (var31 - var38) / 2; - - for (var33 = var38; var33 < var31; ++var33) { - var35 = var31 - var38; - var36 = var32 >>> 31; - var34 = (var32 + var36) / var35 - var36; - int var41 = var34 + (this.field570[var33] & 255); - if (var41 < 0) { - var41 = 0; - } - - if (var41 > 128) { - var41 = 128; - } - - this.field570[var33] = (byte)var41; - var32 += var48 - var47; - } - - var38 = var31; - var47 = var48; - } - - for (var37 = var38; var37 < 128; ++var37) { - var48 = var47 + (this.field570[var37] & 255); - if (var48 < 0) { - var48 = 0; - } - - if (var48 > 128) { - var48 = 128; - } - - this.field570[var37] = (byte)var48; - } - - Object var49 = null; - } - - for (var28 = 0; var28 < var12; ++var28) { - var43[var28].field595 = var2.readUnsignedByte(); - } - - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field593 != null) { - var29.field596 = var2.readUnsignedByte(); - } - - if (var29.field594 != null) { - var29.field597 = var2.readUnsignedByte(); - } - - if (var29.field595 > 0) { - var29.field598 = var2.readUnsignedByte(); - } - } - - for (var28 = 0; var28 < var12; ++var28) { - var43[var28].field600 = var2.readUnsignedByte(); - } - - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field600 > 0) { - var29.field599 = var2.readUnsignedByte(); - } - } - - for (var28 = 0; var28 < var12; ++var28) { - var29 = var43[var28]; - if (var29.field599 > 0) { - var29.field601 = var2.readUnsignedByte(); - } - } - - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ldt;[B[II)Z", - garbageValue = "1828768318" - ) - boolean method218(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.field573[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.field573[var7] = 0; - } - } - } - } - - return var4; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "2" - ) - @Export("clear") - void clear() { - this.field573 = null; - } + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 954776245 + ) + int field2475; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lcd;" + ) + @Export("rawSounds") + RawSound[] rawSounds; + @ObfuscatedName("e") + short[] field2482; + @ObfuscatedName("p") + byte[] field2476; + @ObfuscatedName("k") + byte[] field2477; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "[Lgk;" + ) + MusicPatchNode2[] field2481; + @ObfuscatedName("b") + byte[] field2479; + @ObfuscatedName("i") + int[] field2480; + + MusicPatch(byte[] var1) { + this.rawSounds = new RawSound[128]; + this.field2482 = new short[128]; + this.field2476 = new byte[128]; + this.field2477 = new byte[128]; + this.field2481 = new MusicPatchNode2[128]; + this.field2479 = new byte[128]; + this.field2480 = 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.field2387 = new byte[var16 * 2]; + } + + var16 = var2.readUnsignedByte(); + if (var16 > 0) { + var38.field2388 = new byte[var16 * 2 + 2]; + var38.field2388[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.field2482[var20] = (short)var19; + } + + var19 = 0; + + short[] var48; + for (var20 = 0; var20 < 128; ++var20) { + var19 += var2.readUnsignedByte(); + var48 = this.field2482; + 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.field2482; + var48[var23] = (short)(var48[var23] + ((var22 - 1 & 2) << 14)); + this.field2480[var23] = var22; + --var20; + } + + var20 = 0; + var21 = 0; + var23 = 0; + + int var24; + for (var24 = 0; var24 < 128; ++var24) { + if (this.field2480[var24] != 0) { + if (var20 == 0) { + if (var21 < var4.length) { + var20 = var4[var21++]; + } else { + var20 = -1; + } + + var23 = var2.array[var5++] - 1; + } + + this.field2479[var24] = (byte)var23; + --var20; + } + } + + var20 = 0; + var21 = 0; + var24 = 0; + + for (int var25 = 0; var25 < 128; ++var25) { + if (this.field2480[var25] != 0) { + if (var20 == 0) { + if (var21 < var7.length) { + var20 = var7[var21++]; + } else { + var20 = -1; + } + + var24 = var2.array[var8++] + 16 << 2; + } + + this.field2477[var25] = (byte)var24; + --var20; + } + } + + var20 = 0; + var21 = 0; + MusicPatchNode2 var40 = null; + + int var26; + for (var26 = 0; var26 < 128; ++var26) { + if (this.field2480[var26] != 0) { + if (var20 == 0) { + var40 = var37[var36[var21]]; + if (var21 < var10.length) { + var20 = var10[var21++]; + } else { + var20 = -1; + } + } + + this.field2481[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.field2480[var27] > 0) { + var26 = var2.readUnsignedByte() + 1; + } + } + + this.field2476[var27] = (byte)var26; + --var20; + } + + this.field2475 = var2.readUnsignedByte() + 1; + + MusicPatchNode2 var28; + int var29; + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2387 != null) { + for (var29 = 1; var29 < var28.field2387.length; var29 += 2) { + var28.field2387[var29] = var2.readByte(); + } + } + + if (var28.field2388 != null) { + for (var29 = 3; var29 < var28.field2388.length - 2; var29 += 2) { + var28.field2388[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.field2388 != null) { + var19 = 0; + + for (var29 = 2; var29 < var28.field2388.length; var29 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var28.field2388[var29] = (byte)var19; + } + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2387 != null) { + var19 = 0; + + for (var29 = 2; var29 < var28.field2387.length; var29 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var28.field2387[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.field2476[var29] = (byte)(var41 * this.field2476[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 = GroundItemPile.method2767(var32, var30 - var44); + this.field2476[var33] = (byte)(var34 * this.field2476[var33] + 32 >> 6); + var32 += var31 - var41; + } + + var44 = var30; + var41 = var31; + } + + for (var42 = var44; var42 < 128; ++var42) { + this.field2476[var42] = (byte)(var41 * this.field2476[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.field2477[var29] & 255); + if (var42 < 0) { + var42 = 0; + } + + if (var42 > 128) { + var42 = 128; + } + + this.field2477[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 = GroundItemPile.method2767(var32, var30 - var44); + int var35 = var34 + (this.field2477[var33] & 255); + if (var35 < 0) { + var35 = 0; + } + + if (var35 > 128) { + var35 = 128; + } + + this.field2477[var33] = (byte)var35; + var32 += var43 - var47; + } + + var44 = var30; + var47 = var43; + } + + for (var42 = var44; var42 < 128; ++var42) { + var43 = var47 + (this.field2477[var42] & 255); + if (var43 < 0) { + var43 = 0; + } + + if (var43 > 128) { + var43 = 128; + } + + this.field2477[var42] = (byte)var43; + } + + Object var46 = null; + } + + for (var27 = 0; var27 < var12; ++var27) { + var37[var27].field2392 = var2.readUnsignedByte(); + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2387 != null) { + var28.field2390 = var2.readUnsignedByte(); + } + + if (var28.field2388 != null) { + var28.field2398 = var2.readUnsignedByte(); + } + + if (var28.field2392 > 0) { + var28.field2391 = var2.readUnsignedByte(); + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var37[var27].field2394 = var2.readUnsignedByte(); + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2394 > 0) { + var28.field2393 = var2.readUnsignedByte(); + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2393 > 0) { + var28.field2395 = var2.readUnsignedByte(); + } + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ldf;[B[II)Z", + garbageValue = "1229710126" + ) + boolean method3883(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.field2480[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.field2480[var7] = 0; + } + } + } + } + + return var4; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "56898655" + ) + @Export("clear") + void clear() { + this.field2480 = null; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)Lib;", + garbageValue = "-20" + ) + @Export("getSpotAnimationDefinition") + public static SpotAnimationDefinition getSpotAnimationDefinition(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("e") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + public static void method3888() { + VarbitDefinition.VarbitDefinition_cached.clear(); + } + + @ObfuscatedName("gl") + @ObfuscatedSignature( + signature = "(IIIIIIIIII)V", + garbageValue = "-1700353173" + ) + static final void method3885(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; + class294.method5327(var9); + Client.pendingSpawns.addFirst(var9); + } + + var9.id = var4; + var9.field940 = var5; + var9.orientation = var6; + var9.delay = var7; + var9.hitpoints = var8; + } } diff --git a/runescape-client/src/main/java/MusicPatchNode.java b/runescape-client/src/main/java/MusicPatchNode.java index 4615410c85..d3bfd6affb 100644 --- a/runescape-client/src/main/java/MusicPatchNode.java +++ b/runescape-client/src/main/java/MusicPatchNode.java @@ -4,133 +4,130 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ha") +@ObfuscatedName("gi") @Implements("MusicPatchNode") public class MusicPatchNode extends Node { - @ObfuscatedName("he") - @ObfuscatedGetter( - intValue = 2069364655 - ) - @Export("cameraYaw") - static int cameraYaw; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 801157533 - ) - int field574; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lhl;" - ) - @Export("patch") - MusicPatch patch; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lcx;" - ) - @Export("rawSound") - RawSound rawSound; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lhd;" - ) - MusicPatchNode2 field575; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -2058553171 - ) - int field576; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 62958303 - ) - int field577; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -836502917 - ) - int field578; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -308599455 - ) - int field579; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -471899285 - ) - int field580; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1520706641 - ) - int field581; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -852988281 - ) - int field582; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -439388365 - ) - int field583; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 476852577 - ) - int field584; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -2136855685 - ) - int field585; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -2083252379 - ) - int field586; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1605236771 - ) - int field587; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 173672931 - ) - int field588; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 219840779 - ) - int field589; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lds;" - ) - @Export("stream") - RawPcmStream stream; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -666877449 - ) - int field590; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1359854411 - ) - int field591; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1987451655 + ) + int field2440; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgk;" + ) + MusicPatchNode2 field2452; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgg;" + ) + @Export("patch") + MusicPatch patch; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lcd;" + ) + @Export("rawSound") + RawSound rawSound; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1602742247 + ) + int field2438; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -2106336541 + ) + int field2450; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -871817931 + ) + int field2442; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -968890095 + ) + int field2443; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1922706661 + ) + int field2441; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1739231469 + ) + int field2445; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 959590897 + ) + int field2446; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -182096649 + ) + int field2447; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1688509749 + ) + int field2448; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -79165823 + ) + int field2449; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1291015747 + ) + int field2436; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -174266075 + ) + int field2451; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 889616959 + ) + int field2458; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 602095745 + ) + int field2453; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("stream") + RawPcmStream stream; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1993238455 + ) + int field2455; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1377522023 + ) + int field2444; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "39" - ) - void method219() { - this.patch = null; - this.rawSound = null; - this.field575 = null; - this.stream = null; - } + MusicPatchNode() { + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-18" + ) + void method3826() { + this.patch = null; + this.rawSound = null; + this.field2452 = null; + this.stream = null; + } } diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index c6d425a0a6..af663807ce 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -1,52 +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("hd") +@ObfuscatedName("gk") @Implements("MusicPatchNode2") public class MusicPatchNode2 { - @ObfuscatedName("fc") - @ObfuscatedGetter( - longValue = -6780258776884306463L - ) - static long field592; - @ObfuscatedName("m") - byte[] field593; - @ObfuscatedName("f") - byte[] field594; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 140046797 - ) - int field595; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -249046051 - ) - int field596; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1455145595 - ) - int field597; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1577527995 - ) - int field598; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 391670135 - ) - int field599; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 320761691 - ) - int field600; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1984131473 - ) - int field601; + @ObfuscatedName("fb") + @ObfuscatedGetter( + intValue = 1668948707 + ) + @Export("baseX") + static int baseX; + @ObfuscatedName("q") + byte[] field2387; + @ObfuscatedName("w") + byte[] field2388; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1099658343 + ) + int field2392; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -369193851 + ) + int field2390; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1130103085 + ) + int field2398; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 582227349 + ) + int field2391; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 371780499 + ) + int field2393; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -273928819 + ) + int field2394; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 934948077 + ) + int field2395; + + MusicPatchNode2() { + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IS)I", + garbageValue = "17338" + ) + static int method3686(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; + } + } } diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index f8cd4f1e2c..2e2e973cab 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -1,203 +1,278 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hq") +@ObfuscatedName("gq") @Implements("MusicPatchPcmStream") public class MusicPatchPcmStream extends PcmStream { - @ObfuscatedName("qg") - @ObfuscatedGetter( - intValue = -1367955455 - ) - static int field602; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lhm;" - ) - @Export("superStream") - MidiPcmStream superStream; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("queue") - NodeDeque queue; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lct;" - ) - @Export("mixer") - PcmStreamMixer mixer; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "Llt;" + ) + @Export("rasterProvider") + public static AbstractRasterProvider rasterProvider; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lga;" + ) + @Export("superStream") + MidiPcmStream superStream; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("queue") + NodeDeque queue; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lcz;" + ) + @Export("mixer") + PcmStreamMixer mixer; - @ObfuscatedSignature( - signature = "(Lhm;)V" - ) - MusicPatchPcmStream(MidiPcmStream var1) { - this.queue = new NodeDeque(); - this.mixer = new PcmStreamMixer(); - this.superStream = var1; - } + @ObfuscatedSignature( + signature = "(Lga;)V" + ) + MusicPatchPcmStream(MidiPcmStream var1) { + this.queue = new NodeDeque(); + this.mixer = new PcmStreamMixer(); + this.superStream = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lha;[IIIII)V", - garbageValue = "1988628167" - ) - void method220(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { - if ((this.superStream.field506[var1.field574] & 4) != 0 && var1.field586 < 0) { - int var6 = this.superStream.field511[var1.field574] / class309.PcmPlayer_sampleRate; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lgi;[IIIII)V", + garbageValue = "1316254184" + ) + void method3895(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { + if ((this.superStream.field2421[var1.field2440] & 4) != 0 && var1.field2436 < 0) { + int var6 = this.superStream.field2408[var1.field2440] / CollisionMap.PcmPlayer_sampleRate; - while (true) { - int var7 = (var6 + 1048575 - var1.field591) / var6; - if (var7 > var4) { - var1.field591 += var4 * var6; - break; - } + while (true) { + int var7 = (var6 + 1048575 - var1.field2444) / var6; + if (var7 > var4) { + var1.field2444 += var4 * var6; + break; + } - var1.stream.fill(var2, var3, var7); - var3 += var7; - var4 -= var7; - var1.field591 += var7 * var6 - 1048576; - int var8 = class309.PcmPlayer_sampleRate / 100; - int var9 = 262144 / var6; - if (var9 < var8) { - var8 = var9; - } + var1.stream.fill(var2, var3, var7); + var3 += var7; + var4 -= var7; + var1.field2444 += var6 * var7 - 1048576; + int var8 = CollisionMap.PcmPlayer_sampleRate / 100; + int var9 = 262144 / var6; + if (var9 < var8) { + var8 = var9; + } - RawPcmStream var10 = var1.stream; - if (this.superStream.field509[var1.field574] == 0) { - var1.stream = RawPcmStream.method2524(var1.rawSound, var10.method277(), var10.method268(), var10.method269()); - } else { - var1.stream = RawPcmStream.method2524(var1.rawSound, var10.method277(), 0, var10.method269()); - this.superStream.method178(var1, var1.patch.field568[var1.field577] < 0); - var1.stream.method273(var8, var10.method268()); - } + RawPcmStream var10 = var1.stream; + if (this.superStream.field2410[var1.field2440] == 0) { + var1.stream = RawPcmStream.method2524(var1.rawSound, var10.method2539(), var10.method2531(), var10.method2541()); + } else { + var1.stream = RawPcmStream.method2524(var1.rawSound, var10.method2539(), 0, var10.method2541()); + this.superStream.method3767(var1, var1.patch.field2482[var1.field2450] < 0); + var1.stream.method2535(var8, var10.method2531()); + } - if (var1.patch.field568[var1.field577] < 0) { - var1.stream.setNumLoops(-1); - } + if (var1.patch.field2482[var1.field2450] < 0) { + var1.stream.setNumLoops(-1); + } - var10.method275(var8); - var10.fill(var2, var3, var5 - var3); - if (var10.method279()) { - this.mixer.addSubStream(var10); - } - } - } + var10.method2540(var8); + var10.fill(var2, var3, var5 - var3); + if (var10.method2585()) { + this.mixer.addSubStream(var10); + } + } + } - var1.stream.fill(var2, var3, var4); - } + var1.stream.fill(var2, var3, var4); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lha;II)V", - garbageValue = "1882591412" - ) - void method221(MusicPatchNode var1, int var2) { - if ((this.superStream.field506[var1.field574] & 4) != 0 && var1.field586 < 0) { - int var3 = this.superStream.field511[var1.field574] / class309.PcmPlayer_sampleRate; - int var4 = (var3 + 1048575 - var1.field591) / var3; - var1.field591 = var3 * var2 + var1.field591 & 1048575; - if (var4 <= var2) { - if (this.superStream.field509[var1.field574] == 0) { - var1.stream = RawPcmStream.method2524(var1.rawSound, var1.stream.method277(), var1.stream.method268(), var1.stream.method269()); - } else { - var1.stream = RawPcmStream.method2524(var1.rawSound, var1.stream.method277(), 0, var1.stream.method269()); - this.superStream.method178(var1, var1.patch.field568[var1.field577] < 0); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lgi;II)V", + garbageValue = "1166888342" + ) + void method3896(MusicPatchNode var1, int var2) { + if ((this.superStream.field2421[var1.field2440] & 4) != 0 && var1.field2436 < 0) { + int var3 = this.superStream.field2408[var1.field2440] / CollisionMap.PcmPlayer_sampleRate; + int var4 = (var3 + 1048575 - var1.field2444) / var3; + var1.field2444 = var3 * var2 + var1.field2444 & 1048575; + if (var4 <= var2) { + if (this.superStream.field2410[var1.field2440] == 0) { + var1.stream = RawPcmStream.method2524(var1.rawSound, var1.stream.method2539(), var1.stream.method2531(), var1.stream.method2541()); + } else { + var1.stream = RawPcmStream.method2524(var1.rawSound, var1.stream.method2539(), 0, var1.stream.method2541()); + this.superStream.method3767(var1, var1.patch.field2482[var1.field2450] < 0); + } - if (var1.patch.field568[var1.field577] < 0) { - var1.stream.setNumLoops(-1); - } + if (var1.patch.field2482[var1.field2450] < 0) { + var1.stream.setNumLoops(-1); + } - var2 = var1.field591 / var3; - } - } + var2 = var1.field2444 / var3; + } + } - var1.stream.skip(var2); - } + var1.stream.skip(var2); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - MusicPatchNode var1 = (MusicPatchNode)this.queue.last(); - return (PcmStream)(var1 == null ? null : (var1.stream != null ? var1.stream : this.nextSubStream())); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + @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("g") - @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); + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + @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; - } + return var1.stream; + } - @ObfuscatedName("l") - protected int vmethod262() { - return 0; - } + @ObfuscatedName("i") + protected int vmethod3892() { + return 0; + } - @ObfuscatedName("e") - @Export("fill") - protected void fill(int[] var1, int var2, int var3) { - this.mixer.fill(var1, var2, var3); + @ObfuscatedName("c") + @Export("fill") + protected void fill(int[] var1, int var2, int var3) { + this.mixer.fill(var1, var2, var3); - for (MusicPatchNode var4 = (MusicPatchNode)this.queue.last(); var4 != null; var4 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method195(var4)) { - int var5 = var2; - int var6 = var3; + for (MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3739(var6)) { + int var4 = var2; + int var5 = var3; - do { - if (var6 <= var4.field590) { - this.method220(var4, var1, var5, var6, var6 + var5); - var4.field590 -= var6; - break; - } + do { + if (var5 <= var6.field2455) { + this.method3895(var6, var1, var4, var5, var4 + var5); + var6.field2455 -= var5; + break; + } - this.method220(var4, var1, var5, var4.field590, var6 + var5); - var5 += var4.field590; - var6 -= var4.field590; - } while(!this.superStream.method196(var4, var1, var5, var6)); - } - } + this.method3895(var6, var1, var4, var6.field2455, var5 + var4); + var4 += var6.field2455; + var5 -= var6.field2455; + } while(!this.superStream.method3740(var6, var1, var4, var5)); + } + } - } + } - @ObfuscatedName("d") - @Export("skip") - protected void skip(int var1) { - this.mixer.skip(var1); + @ObfuscatedName("x") + @Export("skip") + protected void skip(int var1) { + this.mixer.skip(var1); - for (MusicPatchNode var2 = (MusicPatchNode)this.queue.last(); var2 != null; var2 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method195(var2)) { - int var3 = var1; + for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3739(var3)) { + int var2 = var1; - do { - if (var3 <= var2.field590) { - this.method221(var2, var3); - var2.field590 -= var3; - break; - } + do { + if (var2 <= var3.field2455) { + this.method3896(var3, var2); + var3.field2455 -= var2; + break; + } - this.method221(var2, var2.field590); - var3 -= var2.field590; - } while(!this.superStream.method196(var2, (int[])null, 0, var3)); - } - } + this.method3896(var3, var3.field2455); + var2 -= var3.field2455; + } while(!this.superStream.method3740(var3, (int[])null, 0, var2)); + } + } - } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lbw;B)V", + garbageValue = "35" + ) + @Export("changeWorld") + static void changeWorld(World var0) { + if (var0.isMembersOnly() != Client.isMembersWorld) { + Client.isMembersWorld = var0.isMembersOnly(); + boolean var1 = var0.isMembersOnly(); + if (var1 != ModelData0.inMembersWorld) { + ItemDefinition.ItemDefinition_cached.clear(); + ItemDefinition.ItemDefinition_cachedModels.clear(); + ItemDefinition.ItemDefinition_cachedSprites.clear(); + ModelData0.inMembersWorld = var1; + } + } + + ClientPreferences.worldHost = var0.host; + Client.worldId = var0.id; + Client.worldProperties = var0.properties; + class190.port1 = Client.gameBuild == 0 ? 43594 : var0.id + 40000; + Skeleton.port2 = Client.gameBuild == 0 ? 443 : var0.id + 50000; + Varcs.port3 = class190.port1; + } + + @ObfuscatedName("ih") + @ObfuscatedSignature( + signature = "(IIIIIII)V", + garbageValue = "2095922546" + ) + static final void method3912(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.method2981(var17, var18, var19); + Rasterizer3D.method3007(var21, var22, var23, var17, var18, var19, var4); + Rasterizer3D.method2981(var17, var19, var20); + Rasterizer3D.method3007(var21, var23, var24, var17, var19, var20, var4); + } + } } diff --git a/runescape-client/src/main/java/MusicSample.java b/runescape-client/src/main/java/MusicSample.java deleted file mode 100644 index 182e0b9278..0000000000 --- a/runescape-client/src/main/java/MusicSample.java +++ /dev/null @@ -1,633 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cd") -@Implements("MusicSample") -public class MusicSample extends Node { - @ObfuscatedName("g") - static byte[] field603; - @ObfuscatedName("l") - static int field604; - @ObfuscatedName("e") - static int field605; - @ObfuscatedName("x") - static int field606; - @ObfuscatedName("d") - static int field607; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "[Lcc;" - ) - static class98[] field1323; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "[Lca;" - ) - static class102[] field1324; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "[Lda;" - ) - static class109[] field1344; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "[Ldg;" - ) - static class114[] field1326; - @ObfuscatedName("z") - static boolean[] field608; - @ObfuscatedName("j") - static int[] field609; - @ObfuscatedName("s") - static boolean field610; - @ObfuscatedName("c") - static float[] field611; - @ObfuscatedName("r") - static float[] field612; - @ObfuscatedName("p") - static float[] field613; - @ObfuscatedName("v") - static float[] field614; - @ObfuscatedName("ag") - static float[] field615; - @ObfuscatedName("aq") - static float[] field616; - @ObfuscatedName("aj") - static float[] field617; - @ObfuscatedName("av") - static int[] field618; - @ObfuscatedName("ar") - static int[] field619; - @ObfuscatedName("m") - byte[][] field620; - @ObfuscatedName("f") - @Export("sampleRate") - int sampleRate; - @ObfuscatedName("q") - @Export("sampleCount") - int sampleCount; - @ObfuscatedName("w") - @Export("start") - int start; - @ObfuscatedName("o") - @Export("end") - int end; - @ObfuscatedName("u") - boolean field621; - @ObfuscatedName("t") - float[] field622; - @ObfuscatedName("y") - int field623; - @ObfuscatedName("h") - int field624; - @ObfuscatedName("b") - boolean field625; - @ObfuscatedName("ac") - @Export("samples") - byte[] samples; - @ObfuscatedName("ay") - int field626; - @ObfuscatedName("ah") - int field627; - - MusicSample(byte[] var1) { - this.read(var1); - } - - @ObfuscatedName("o") - @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.field621 = true; - } - - int var3 = var2.readInt(); - this.field620 = 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.field620[var4] = var7; - } - - } - - @ObfuscatedName("g") - float[] method225(int var1) { - method2337(this.field620[var1], 0); - method2338(); - int var2 = method2352(WorldMapCacheName.method634(field609.length - 1)); - boolean var3 = field608[var2]; - int var4 = var3 ? field607 : field606; - boolean var5 = false; - boolean var6 = false; - if (var3) { - var5 = method2338() != 0; - var6 = method2338() != 0; - } - - int var7 = var4 >> 1; - int var8; - int var9; - int var10; - if (var3 && !var5) { - var8 = (var4 >> 2) - (field606 >> 2); - var9 = (field606 >> 2) + (var4 >> 2); - var10 = field606 >> 1; - } else { - var8 = 0; - var9 = var7; - var10 = var4 >> 1; - } - - int var11; - int var12; - int var13; - if (var3 && !var6) { - var11 = var4 - (var4 >> 2) - (field606 >> 2); - var12 = (field606 >> 2) + (var4 - (var4 >> 2)); - var13 = field606 >> 1; - } else { - var11 = var7; - var12 = var4; - var13 = var4 >> 1; - } - - class114 var14 = field1326[field609[var2]]; - int var15 = var14.field1454; - int var16 = var14.field1452[var15]; - boolean var17 = !field1324[var16].method2367(); - boolean var18 = var17; - - float[] var20; - for (var16 = 0; var16 < var14.field1453; ++var16) { - class109 var19 = field1344[var14.field1455[var16]]; - var20 = field611; - var19.method2473(var20, var4 >> 1, var18); - } - - int var48; - if (!var17) { - var16 = var14.field1454; - var48 = var14.field1452[var16]; - field1324[var48].method2375(field611, var4 >> 1); - } - - int var21; - int var22; - float[] var23; - if (var17) { - for (var16 = var4 >> 1; var16 < var4; ++var16) { - field611[var16] = 0.0F; - } - } else { - var16 = var4 >> 1; - var48 = var4 >> 2; - var22 = var4 >> 3; - var20 = field611; - - for (var21 = 0; var21 < var16; ++var21) { - var20[var21] *= 0.5F; - } - - for (var21 = var16; var21 < var4; ++var21) { - var20[var21] = -var20[var4 - var21 - 1]; - } - - var23 = var3 ? field615 : field612; - float[] var24 = var3 ? field616 : field613; - float[] var25 = var3 ? field617 : field614; - int[] var26 = var3 ? field619 : field618; - - int var27; - float var28; - float var29; - float var30; - float var31; - for (var27 = 0; var27 < var48; ++var27) { - var28 = var20[var27 * 4] - var20[var4 - var27 * 4 - 1]; - var29 = var20[var27 * 4 + 2] - var20[var4 - var27 * 4 - 3]; - var30 = var23[var27 * 2]; - var31 = var23[var27 * 2 + 1]; - var20[var4 - var27 * 4 - 1] = var28 * var30 - var29 * var31; - var20[var4 - var27 * 4 - 3] = var28 * var31 + var29 * var30; - } - - float var32; - float var33; - for (var27 = 0; var27 < var22; ++var27) { - var28 = var20[var16 + var27 * 4 + 3]; - var29 = var20[var16 + var27 * 4 + 1]; - var30 = var20[var27 * 4 + 3]; - var31 = var20[var27 * 4 + 1]; - var20[var16 + var27 * 4 + 3] = var28 + var30; - var20[var16 + var27 * 4 + 1] = var29 + var31; - var32 = var23[var16 - 4 - var27 * 4]; - var33 = var23[var16 - 3 - var27 * 4]; - var20[var27 * 4 + 3] = (var28 - var30) * var32 - (var29 - var31) * var33; - var20[var27 * 4 + 1] = (var29 - var31) * var32 + (var28 - var30) * var33; - } - - var27 = WorldMapCacheName.method634(var4 - 1); - - int var34; - int var35; - int var36; - int var37; - for (var34 = 0; var34 < var27 - 3; ++var34) { - var35 = var4 >> var34 + 2; - var36 = 8 << var34; - - for (var37 = 0; var37 < 2 << var34; ++var37) { - int var38 = var4 - var35 * var37 * 2; - int var39 = var4 - var35 * (var37 * 2 + 1); - - for (int var40 = 0; var40 < var4 >> var34 + 4; ++var40) { - int var41 = var40 * 4; - float var42 = var20[var38 - 1 - var41]; - float var43 = var20[var38 - 3 - var41]; - float var44 = var20[var39 - 1 - var41]; - float var45 = var20[var39 - 3 - var41]; - var20[var38 - 1 - var41] = var42 + var44; - var20[var38 - 3 - var41] = var43 + var45; - float var46 = var23[var40 * var36]; - float var47 = var23[var40 * var36 + 1]; - var20[var39 - 1 - var41] = (var42 - var44) * var46 - (var43 - var45) * var47; - var20[var39 - 3 - var41] = (var43 - var45) * var46 + (var42 - var44) * var47; - } - } - } - - for (var34 = 1; var34 < var22 - 1; ++var34) { - var35 = var26[var34]; - if (var34 < var35) { - var36 = var34 * 8; - var37 = var35 * 8; - var32 = var20[var36 + 1]; - var20[var36 + 1] = var20[var37 + 1]; - var20[var37 + 1] = var32; - var32 = var20[var36 + 3]; - var20[var36 + 3] = var20[var37 + 3]; - var20[var37 + 3] = var32; - var32 = var20[var36 + 5]; - var20[var36 + 5] = var20[var37 + 5]; - var20[var37 + 5] = var32; - var32 = var20[var36 + 7]; - var20[var36 + 7] = var20[var37 + 7]; - var20[var37 + 7] = var32; - } - } - - for (var34 = 0; var34 < var16; ++var34) { - var20[var34] = var20[var34 * 2 + 1]; - } - - for (var34 = 0; var34 < var22; ++var34) { - var20[var4 - 1 - var34 * 2] = var20[var34 * 4]; - var20[var4 - 2 - var34 * 2] = var20[var34 * 4 + 1]; - var20[var4 - var48 - 1 - var34 * 2] = var20[var34 * 4 + 2]; - var20[var4 - var48 - 2 - var34 * 2] = var20[var34 * 4 + 3]; - } - - for (var34 = 0; var34 < var22; ++var34) { - var29 = var25[var34 * 2]; - var30 = var25[var34 * 2 + 1]; - var31 = var20[var16 + var34 * 2]; - var32 = var20[var16 + var34 * 2 + 1]; - var33 = var20[var4 - 2 - var34 * 2]; - float var49 = var20[var4 - 1 - var34 * 2]; - float var51 = var30 * (var31 - var33) + var29 * (var32 + var49); - var20[var16 + var34 * 2] = (var31 + var33 + var51) * 0.5F; - var20[var4 - 2 - var34 * 2] = (var31 + var33 - var51) * 0.5F; - var51 = var30 * (var32 + var49) - var29 * (var31 - var33); - var20[var16 + var34 * 2 + 1] = (var32 - var49 + var51) * 0.5F; - var20[var4 - 1 - var34 * 2] = (-var32 + var49 + var51) * 0.5F; - } - - for (var34 = 0; var34 < var48; ++var34) { - var20[var34] = var20[var16 + var34 * 2] * var24[var34 * 2] + var20[var16 + var34 * 2 + 1] * var24[var34 * 2 + 1]; - var20[var16 - 1 - var34] = var20[var16 + var34 * 2] * var24[var34 * 2 + 1] - var20[var16 + var34 * 2 + 1] * var24[var34 * 2]; - } - - for (var34 = 0; var34 < var48; ++var34) { - var20[var34 + (var4 - var48)] = -var20[var34]; - } - - for (var34 = 0; var34 < var48; ++var34) { - var20[var34] = var20[var48 + var34]; - } - - for (var34 = 0; var34 < var48; ++var34) { - var20[var48 + var34] = -var20[var48 - var34 - 1]; - } - - for (var34 = 0; var34 < var48; ++var34) { - var20[var16 + var34] = var20[var4 - var34 - 1]; - } - - float[] var50; - for (var34 = var8; var34 < var9; ++var34) { - var29 = (float)Math.sin(((double)(var34 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); - var50 = field611; - var50[var34] *= (float)Math.sin(1.5707963267948966D * (double)var29 * (double)var29); - } - - for (var34 = var11; var34 < var12; ++var34) { - var29 = (float)Math.sin(((double)(var34 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); - var50 = field611; - var50[var34] *= (float)Math.sin(1.5707963267948966D * (double)var29 * (double)var29); - } - } - - var20 = null; - if (this.field623 > 0) { - var48 = var4 + this.field623 >> 2; - var20 = new float[var48]; - if (!this.field625) { - for (var22 = 0; var22 < this.field624; ++var22) { - var21 = var22 + (this.field623 >> 1); - var20[var22] += this.field622[var21]; - } - } - - if (!var17) { - for (var22 = var8; var22 < var4 >> 1; ++var22) { - var21 = var20.length - (var4 >> 1) + var22; - var20[var21] += field611[var22]; - } - } - } - - var23 = this.field622; - this.field622 = field611; - field611 = var23; - this.field623 = var4; - this.field624 = var12 - (var4 >> 1); - this.field625 = var17; - return var20; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([I)Lcx;" - ) - @Export("toRawSound") - RawSound toRawSound(int[] var1) { - if (var1 != null && var1[0] <= 0) { - return null; - } else { - if (this.samples == null) { - this.field623 = 0; - this.field622 = new float[field607]; - this.samples = new byte[this.sampleCount]; - this.field626 = 0; - this.field627 = 0; - } - - for (; this.field627 < this.field620.length; ++this.field627) { - if (var1 != null && var1[0] <= 0) { - return null; - } - - float[] var2 = this.method225(this.field627); - if (var2 != null) { - int var3 = this.field626; - 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.field626; - } - - this.field626 = var3; - } - } - - this.field622 = null; - byte[] var7 = this.samples; - this.samples = null; - return new RawSound(this.sampleRate, var7, this.start, this.end, this.field621); - } - } - - @ObfuscatedName("m") - static float method2357(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("f") - static void method2337(byte[] var0, int var1) { - field603 = var0; - field604 = var1; - field605 = 0; - } - - @ObfuscatedName("q") - static int method2338() { - int var0 = field603[field604] >> field605 & 1; - ++field605; - field604 += field605 >> 3; - field605 &= 7; - return var0; - } - - @ObfuscatedName("w") - static int method2352(int var0) { - int var1 = 0; - - int var2; - int var3; - for (var2 = 0; var0 >= 8 - field605; var0 -= var3) { - var3 = 8 - field605; - int var4 = (1 << var3) - 1; - var1 += (field603[field604] >> field605 & var4) << var2; - field605 = 0; - ++field604; - var2 += var3; - } - - if (var0 > 0) { - var3 = (1 << var0) - 1; - var1 += (field603[field604] >> field605 & var3) << var2; - field605 += var0; - } - - return var1; - } - - @ObfuscatedName("u") - static void method2341(byte[] var0) { - method2337(var0, 0); - field606 = 1 << method2352(4); - field607 = 1 << method2352(4); - field611 = new float[field607]; - - int var1; - int var2; - int var3; - int var4; - int var5; - for (var1 = 0; var1 < 2; ++var1) { - var2 = var1 != 0 ? field607 : field606; - 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[] var13 = new float[var3]; - - for (int var8 = 0; var8 < var4; ++var8) { - var13[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); - var13[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); - } - - float[] var14 = new float[var4]; - - for (int var9 = 0; var9 < var5; ++var9) { - var14[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); - var14[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); - } - - int[] var15 = new int[var5]; - int var10 = WorldMapCacheName.method634(var5 - 1); - - for (int var11 = 0; var11 < var5; ++var11) { - var15[var11] = GrandExchangeEvent.method87(var11, var10); - } - - if (var1 != 0) { - field615 = var6; - field616 = var13; - field617 = var14; - field619 = var15; - } else { - field612 = var6; - field613 = var13; - field614 = var14; - field618 = var15; - } - } - - var1 = method2352(8) + 1; - field1323 = new class98[var1]; - - for (var2 = 0; var2 < var1; ++var2) { - field1323[var2] = new class98(); - } - - var2 = method2352(6) + 1; - - for (var3 = 0; var3 < var2; ++var3) { - method2352(16); - } - - var2 = method2352(6) + 1; - field1324 = new class102[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - field1324[var3] = new class102(); - } - - var3 = method2352(6) + 1; - field1344 = new class109[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - field1344[var4] = new class109(); - } - - var4 = method2352(6) + 1; - field1326 = new class114[var4]; - - for (var5 = 0; var5 < var4; ++var5) { - field1326[var5] = new class114(); - } - - var5 = method2352(6) + 1; - field608 = new boolean[var5]; - field609 = new int[var5]; - - for (int var12 = 0; var12 < var5; ++var12) { - field608[var12] = method2338() != 0; - method2352(16); - method2352(16); - field609[var12] = method2352(8); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lir;)Z" - ) - static boolean method2343(AbstractArchive var0) { - if (!field610) { - byte[] var1 = var0.takeFile(0, 0); - if (var1 == null) { - return false; - } - - method2341(var1); - field610 = true; - } - - return true; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Lir;II)Lcd;" - ) - @Export("readMusicSample") - static MusicSample 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 MusicSample(var3); - } - } - - static { - field610 = false; - } -} diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index 7c5b88f066..97e717542c 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -3,432 +3,432 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("he") +@ObfuscatedName("gl") @Implements("MusicTrack") public class MusicTrack extends Node { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("table") - NodeHashTable table; - @ObfuscatedName("f") - @Export("midi") - byte[] midi; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("table") + NodeHashTable table; + @ObfuscatedName("w") + @Export("midi") + byte[] midi; - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - MusicTrack(Buffer var1) { - var1.index = var1.array.length - 3; - int var2 = var1.readUnsignedByte(); - int var3 = var1.readUnsignedShort(); - int var4 = var2 * 10 + 14; - var1.index = 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; + @ObfuscatedSignature( + signature = "(Lkf;)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; + int var13; + int var14; + int var15; + for (var13 = 0; var13 < var2; ++var13) { + var14 = -1; - while (true) { - var15 = var1.readUnsignedByte(); - if (var15 != var14) { - ++var4; - } + while (true) { + var15 = var1.readUnsignedByte(); + if (var15 != var14) { + ++var4; + } - var14 = var15 & 15; - if (var15 == 7) { - break; - } + 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(); - } + 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; - } - } - } + ++var12; + } + } + } - var4 += var5 * 5; - var4 += (var7 + var8 + var6 + var9 + var11) * 2; - var4 = var4 + var10 + var12; - var13 = var1.index; - var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + 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(); - } + for (var15 = 0; var15 < var14; ++var15) { + var1.readVarInt(); + } - var4 += var1.index - var13; - var15 = var1.index; - 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; + 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; - } - } + 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.index; - var1.index += var26; - int var31 = var1.index; - var1.index += var11; - int var32 = var1.index; - var1.index += var10; - int var33 = var1.index; - var1.index += var9; - int var34 = var1.index; - var1.index += var16; - int var35 = var1.index; - var1.index += var18; - int var36 = var1.index; - var1.index += var20; - int var37 = var1.index; - var1.index += var7 + var8 + var11; - int var38 = var1.index; - var1.index += var7; - int var39 = var1.index; - var1.index += var27; - int var40 = var1.index; - var1.index += var8; - int var41 = var1.index; - var1.index += var17; - int var42 = var1.index; - var1.index += var19; - int var43 = var1.index; - var1.index += var21; - int var44 = var1.index; - var1.index += var12; - int var45 = var1.index; - var1.index += var9; - int var46 = var1.index; - var1.index += var22; - int var47 = var1.index; - var1.index += var23; - int var48 = var1.index; - var1.index += var24; - int var49 = var1.index; - var1.index += var25; - int var50 = var1.index; - var1.index += 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.index = 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; + 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; - label222: - for (int var60 = 0; var60 < var2; ++var60) { - var51.writeInt(1297379947); - var51.index += 4; - int var61 = var51.index; - int var62 = -1; + label235: + 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); - } + 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.index - var61); - continue label222; - } + var51.writeByte(47); + var51.writeByte(0); + var51.writeLengthInt(var51.offset - var61); + continue label235; + } - if (var64 == 23) { - if (var65) { - var51.writeByte(255); - } + 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); - } + 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++]; + 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); - } + 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++]; - } + 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); - } + 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); - } + 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); - } + 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(); - } + 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); - } + if (var65) { + var51.writeByte(var52 + 192); + } - var51.writeByte(var1.array[var44++]); - } - } - } - } - } + var51.writeByte(var1.array[var44++]); + } + } + } + } + } - } + } - @ObfuscatedName("f") - void method226() { - 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 var3 = new MidiFileReader(this.midi); - int var4 = var3.trackCount(); + @ObfuscatedName("w") + void method3925() { + 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 var5; - for (var5 = 0; var5 < var4; ++var5) { - var3.gotoTrack(var5); - var3.readTrackLength(var5); - var3.markTrackPosition(var5); - } + int var6; + for (var6 = 0; var6 < var5; ++var6) { + var4.gotoTrack(var6); + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } - label56: - do { - while (true) { - var5 = var3.getPrioritizedTrack(); - int var6 = var3.trackLengths[var5]; + label53: + do { + while (true) { + var6 = var4.getPrioritizedTrack(); + int var7 = var4.trackLengths[var6]; - while (var6 == var3.trackLengths[var5]) { - var3.gotoTrack(var5); - int var7 = var3.readMessage(var5); - if (var7 == 1) { - var3.setTrackDone(); - var3.markTrackPosition(var5); - continue label56; - } + while (var7 == var4.trackLengths[var6]) { + var4.gotoTrack(var6); + int var8 = var4.readMessage(var6); + if (var8 == 1) { + var4.setTrackDone(); + var4.markTrackPosition(var6); + continue label53; + } - int var8 = var7 & 240; - int var9; - int var10; - int var11; - if (var8 == 176) { - var9 = var7 & 15; - var10 = var7 >> 8 & 127; - var11 = var7 >> 16 & 127; - if (var10 == 0) { - var1[var9] = (var11 << 14) + (var1[var9] & -2080769); - } + 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 (var10 == 32) { - var1[var9] = (var1[var9] & -16257) + (var11 << 7); - } - } + if (var11 == 32) { + var1[var10] = (var1[var10] & -16257) + (var12 << 7); + } + } - if (var8 == 192) { - var9 = var7 & 15; - var10 = var7 >> 8 & 127; - var2[var9] = var10 + var1[var9]; - } + if (var9 == 192) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var2[var10] = var11 + var1[var10]; + } - if (var8 == 144) { - var9 = var7 & 15; - var10 = var7 >> 8 & 127; - var11 = var7 >> 16 & 127; - if (var11 > 0) { - int var12 = var2[var9]; - ByteArrayNode var13 = (ByteArrayNode)this.table.get((long)var12); - if (var13 == null) { - var13 = new ByteArrayNode(new byte[128]); - this.table.put(var13, (long)var12); - } + 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); + } - var13.byteArray[var10] = 1; - } - } + var14.byteArray[var11] = 1; + } + } - var3.readTrackLength(var5); - var3.markTrackPosition(var5); - } - } - } while(!var3.isDone()); - } + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + } + } while(!var4.isDone()); - } + } + } - @ObfuscatedName("q") - @Export("clear") - void clear() { - this.table = null; - } + @ObfuscatedName("e") + @Export("clear") + void clear() { + this.table = null; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;II)Lhe;" - ) - @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)); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;II)Lgl;" + ) + @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 29b6330f94..a7d57a5786 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -3,191 +3,254 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cv") +@ObfuscatedName("cf") @Implements("NPC") public final class NPC extends Actor { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ljz;" - ) - @Export("definition") - NPCDefinition definition; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("rightTitleSprite") + static Sprite rightTitleSprite; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lij;" + ) + @Export("definition") + NPCDefinition definition; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IBI)V", - garbageValue = "306250019" - ) - final void method227(int var1, byte var2) { - int var3 = super.pathX[0]; - int var4 = super.pathY[0]; - if (var1 == 0) { - --var3; - ++var4; - } + NPC() { + } - if (var1 == 1) { - ++var4; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IBI)V", + garbageValue = "1156693210" + ) + final void method1974(int var1, byte var2) { + int var3 = super.pathX[0]; + int var4 = super.pathY[0]; + if (var1 == 0) { + --var3; + ++var4; + } - if (var1 == 2) { - ++var3; - ++var4; - } + if (var1 == 1) { + ++var4; + } - if (var1 == 3) { - --var3; - } + if (var1 == 2) { + ++var3; + ++var4; + } - if (var1 == 4) { - ++var3; - } + if (var1 == 3) { + --var3; + } - if (var1 == 5) { - --var3; - --var4; - } + if (var1 == 4) { + ++var3; + } - if (var1 == 6) { - --var4; - } + if (var1 == 5) { + --var3; + --var4; + } - if (var1 == 7) { - ++var3; - --var4; - } + if (var1 == 6) { + --var4; + } - if (super.sequence != -1 && WorldMapAreaData.getSequenceDefinition(super.sequence).field782 == 1) { - super.sequence = -1; - } + if (var1 == 7) { + ++var3; + --var4; + } - if (super.pathLength < 9) { - ++super.pathLength; - } + if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + super.sequence = -1; + } - 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]; - } + if (super.pathLength < 9) { + ++super.pathLength; + } - super.pathX[0] = var3; - super.pathY[0] = var4; - super.pathTraversed[0] = var2; - } + 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]; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIZI)V", - garbageValue = "-1647134110" - ) - final void method228(int var1, int var2, boolean var3) { - if (super.sequence != -1 && WorldMapAreaData.getSequenceDefinition(super.sequence).field782 == 1) { - super.sequence = -1; - } + super.pathX[0] = var3; + super.pathY[0] = var4; + super.pathTraversed[0] = var2; + } - 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; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIZS)V", + garbageValue = "128" + ) + final void method1963(int var1, int var2, boolean var3) { + if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + super.sequence = -1; + } - 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]; - } + 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; + } - super.pathX[0] = var1; - super.pathY[0] = var2; - super.pathTraversed[0] = 1; - return; - } - } + 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.pathLength = 0; - super.field25 = 0; - super.field24 = 0; - super.pathX[0] = var1; - super.pathY[0] = var2; - super.x = super.size * 64 + super.pathX[0] * 128; - super.y = super.size * 64 + super.pathY[0] * 128; - } + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = 1; + return; + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected final Model getModel() { - if (this.definition == null) { - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? WorldMapAreaData.getSequenceDefinition(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence != -1 && (super.movementSequence != super.readySequence || var1 == null) ? WorldMapAreaData.getSequenceDefinition(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 = class50.getSpotAnimationDefinition(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); - } - } + super.pathLength = 0; + super.field1008 = 0; + super.field1007 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + super.x = super.size * -1342954560 + super.pathX[0] * 128; + super.y = super.pathY[0] * 128 + super.size * -1342954560; + } - if (this.definition.size == 1) { - var3.isSingleTile = true; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected final Model getModel() { + if (this.definition == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(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 = MusicPatch.getSpotAnimationDefinition(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); + } + } - return var3; - } - } - } + if (this.definition.size == 1) { + var3.isSingleTile = true; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "1" - ) - @Export("isVisible") - final boolean isVisible() { - return this.definition != null; - } + return var3; + } + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(ILff;Lit;B)V", - garbageValue = "-51" - ) - static void method2009(int var0, ArchiveDisk var1, Archive var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); - var3.type = 1; - var3.key = (long)var0; - var3.archiveDisk = var1; - var3.archive = var2; - NodeDeque var4 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1461786701" + ) + @Export("isVisible") + final boolean isVisible() { + return this.definition != null; + } - Object var5 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field412 == 0) { - Frames.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); - Frames.ArchiveDiskActionHandler_thread.setDaemon(true); - Frames.ArchiveDiskActionHandler_thread.start(); - Frames.ArchiveDiskActionHandler_thread.setPriority(5); - } - - ArchiveDiskActionHandler.field412 = 600; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-1435183788" + ) + static int method1977(int var0, Script var1, boolean var2) { + if (var0 < 1000) { + return Skeleton.method3064(var0, var1, var2); + } else if (var0 < 1100) { + return ModelData0.method3250(var0, var1, var2); + } else if (var0 < 1200) { + return class83.method1994(var0, var1, var2); + } else if (var0 < 1300) { + return WorldMapDecoration.method324(var0, var1, var2); + } else if (var0 < 1400) { + return UserComparator9.method3389(var0, var1, var2); + } else if (var0 < 1500) { + return GraphicsObject.method1943(var0, var1, var2); + } else if (var0 < 1600) { + return GrandExchangeOfferAgeComparator.method147(var0, var1, var2); + } else if (var0 < 1700) { + return MenuAction.method1992(var0, var1, var2); + } else if (var0 < 1800) { + return class169.method3501(var0, var1, var2); + } else if (var0 < 1900) { + return StudioGame.method4137(var0, var1, var2); + } else if (var0 < 2000) { + return ArchiveLoader.method1100(var0, var1, var2); + } else if (var0 < 2100) { + return ModelData0.method3250(var0, var1, var2); + } else if (var0 < 2200) { + return class83.method1994(var0, var1, var2); + } else if (var0 < 2300) { + return WorldMapDecoration.method324(var0, var1, var2); + } else if (var0 < 2400) { + return UserComparator9.method3389(var0, var1, var2); + } else if (var0 < 2500) { + return GraphicsObject.method1943(var0, var1, var2); + } else if (var0 < 2600) { + return ScriptEvent.method1127(var0, var1, var2); + } else if (var0 < 2700) { + return TextureProvider.method2743(var0, var1, var2); + } else if (var0 < 2800) { + return UrlRequester.method3306(var0, var1, var2); + } else if (var0 < 2900) { + return FloorUnderlayDefinition.method4433(var0, var1, var2); + } else if (var0 < 3000) { + return ArchiveLoader.method1100(var0, var1, var2); + } else if (var0 < 3200) { + return class30.method536(var0, var1, var2); + } else if (var0 < 3300) { + return AbstractArchive.method4172(var0, var1, var2); + } else if (var0 < 3400) { + return WorldMapID.method540(var0, var1, var2); + } else if (var0 < 3500) { + return class65.method1175(var0, var1, var2); + } else if (var0 < 3700) { + return class30.method535(var0, var1, var2); + } else if (var0 < 4000) { + return FriendSystem.method1817(var0, var1, var2); + } else if (var0 < 4100) { + return EnumDefinition.method4532(var0, var1, var2); + } else if (var0 < 4200) { + return class208.method3941(var0, var1, var2); + } else if (var0 < 4300) { + return FontName.method5316(var0, var1, var2); + } else if (var0 < 5100) { + return ClientPreferences.method1753(var0, var1, var2); + } else if (var0 < 5400) { + return UserComparator6.method3436(var0, var1, var2); + } else if (var0 < 5600) { + return WorldMapSectionType.method239(var0, var1, var2); + } else if (var0 < 5700) { + return WorldMapData_1.method696(var0, var1, var2); + } else if (var0 < 6300) { + return WorldMapSectionType.method242(var0, var1, var2); + } else if (var0 < 6600) { + return class197.method3703(var0, var1, var2); + } else { + return var0 < 6700 ? GrandExchangeOffer.method114(var0, var1, var2) : 2; + } + } } diff --git a/runescape-client/src/main/java/NPCDefinition.java b/runescape-client/src/main/java/NPCDefinition.java index 11ff7ab09a..b07ab1ea26 100644 --- a/runescape-client/src/main/java/NPCDefinition.java +++ b/runescape-client/src/main/java/NPCDefinition.java @@ -1,741 +1,592 @@ -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.URL; -import java.net.URLConnection; import net.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") +@ObfuscatedName("ij") @Implements("NPCDefinition") public class NPCDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("NpcDefinition_archive") - static AbstractArchive NpcDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("NpcDefinition_modelArchive") - static AbstractArchive NpcDefinition_modelArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("NpcDefinition_cached") - static EvictingDualNodeHashTable NpcDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("NpcDefinition_cachedModels") - static EvictingDualNodeHashTable NpcDefinition_cachedModels; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1937346627 - ) - @Export("id") - public int id; - @ObfuscatedName("u") - @Export("name") - public String name; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1541308911 - ) - @Export("size") - public int size; - @ObfuscatedName("l") - @Export("models") - int[] models; - @ObfuscatedName("e") - int[] field636; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 275200787 - ) - @Export("readySequence") - public int readySequence; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 819690597 - ) - @Export("turnLeftSequence") - public int turnLeftSequence; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1311553413 - ) - @Export("turnRightSequence") - public int turnRightSequence; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -284110917 - ) - @Export("walkSequence") - public int walkSequence; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1952230339 - ) - @Export("walkBackSequence") - public int walkBackSequence; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1213774321 - ) - @Export("walkLeftSequence") - public int walkLeftSequence; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -96930503 - ) - @Export("walkRightSequence") - public int walkRightSequence; - @ObfuscatedName("j") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("s") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("t") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("y") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("h") - @Export("actions") - public String[] actions; - @ObfuscatedName("b") - @Export("drawMapDot") - public boolean drawMapDot; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1192179847 - ) - @Export("combatLevel") - public int combatLevel; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1469219067 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1390683537 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("v") - @Export("isVisible") - public boolean isVisible; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -1235927151 - ) - int field637; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 1962875903 - ) - int field638; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 235824283 - ) - @Export("headIconPrayer") - public int headIconPrayer; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -506638747 - ) - public int field639; - @ObfuscatedName("ar") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = 1011388197 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1631362233 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("ah") - @Export("isInteractable") - public boolean isInteractable; - @ObfuscatedName("ak") - @Export("isClickable") - public boolean isClickable; - @ObfuscatedName("aw") - @Export("isFollower") - public boolean isFollower; - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("params") - IterableNodeHashTable params; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("NpcDefinition_archive") + static AbstractArchive NpcDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("NpcDefinition_modelArchive") + static AbstractArchive NpcDefinition_modelArchive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("NpcDefinition_cached") + static EvictingDualNodeHashTable NpcDefinition_cached; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("NpcDefinition_cachedModels") + static EvictingDualNodeHashTable NpcDefinition_cachedModels; + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("worldSelectRightSprite") + static IndexedSprite worldSelectRightSprite; + @ObfuscatedName("do") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive7") + static Archive archive7; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -2095411363 + ) + @Export("id") + public int id; + @ObfuscatedName("l") + @Export("name") + public String name; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 182085113 + ) + @Export("size") + public int size; + @ObfuscatedName("i") + @Export("models") + int[] models; + @ObfuscatedName("c") + int[] field3463; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -530997781 + ) + @Export("readySequence") + public int readySequence; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1697646117 + ) + @Export("turnLeftSequence") + public int turnLeftSequence; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -225693269 + ) + @Export("turnRightSequence") + public int turnRightSequence; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -480719565 + ) + @Export("walkSequence") + public int walkSequence; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -527626491 + ) + @Export("walkBackSequence") + public int walkBackSequence; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1672595499 + ) + @Export("walkLeftSequence") + public int walkLeftSequence; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -389638615 + ) + @Export("walkRightSequence") + public int walkRightSequence; + @ObfuscatedName("g") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("a") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("j") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("t") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("h") + @Export("actions") + public String[] actions; + @ObfuscatedName("o") + @Export("drawMapDot") + public boolean drawMapDot; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -785647373 + ) + @Export("combatLevel") + public int combatLevel; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1029052063 + ) + @Export("widthScale") + int widthScale; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 409024439 + ) + @Export("heightScale") + int heightScale; + @ObfuscatedName("z") + @Export("isVisible") + public boolean isVisible; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -1025761835 + ) + int field3489; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -704573687 + ) + int field3477; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -958294189 + ) + @Export("headIconPrayer") + public int headIconPrayer; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 648485331 + ) + public int field3492; + @ObfuscatedName("ad") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 971935579 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -375353725 + ) + @Export("transformVarp") + int transformVarp; + @ObfuscatedName("ax") + @Export("isInteractable") + public boolean isInteractable; + @ObfuscatedName("az") + @Export("isClickable") + public boolean isClickable; + @ObfuscatedName("ae") + @Export("isFollower") + public boolean isFollower; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("params") + IterableNodeHashTable params; - 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.field637 = 0; - this.field638 = 0; - this.headIconPrayer = -1; - this.field639 = 32; - this.transformVarbit = -1; - this.transformVarp = -1; - this.isInteractable = true; - this.isClickable = true; - this.isFollower = false; - } + static { + NpcDefinition_cached = new EvictingDualNodeHashTable(64); + NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "482179419" - ) - @Export("postDecode") - void postDecode() { - } + 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.field3489 = 0; + this.field3477 = 0; + this.headIconPrayer = -1; + this.field3492 = 32; + this.transformVarbit = -1; + this.transformVarp = -1; + this.isInteractable = true; + this.isClickable = true; + this.isFollower = false; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-893102766" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-169621084" + ) + @Export("postDecode") + void postDecode() { + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1547887563" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;IB)V", - garbageValue = "-98" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { - var3 = var1.readUnsignedByte(); - this.models = new int[var3]; + this.decodeNext(var1, var2); + } + } - 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]; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "-24" + ) + @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.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.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.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 60) { - var3 = var1.readUnsignedByte(); - this.field636 = new int[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.field636[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.field637 = var1.readByte(); - } else if (var2 == 101) { - this.field638 = var1.readByte(); - } else if (var2 == 102) { - this.headIconPrayer = var1.readUnsignedShort(); - } else if (var2 == 103) { - this.field639 = 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 = AbstractArchive.readStringIntParameters(var1, this.params); - } - } else { - this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { - this.transformVarbit = -1; - } + 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.field3463 = new int[var3]; - this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { - this.transformVarp = -1; - } + for (var4 = 0; var4 < var3; ++var4) { + this.field3463[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.field3489 = var1.readByte(); + } else if (var2 == 101) { + this.field3477 = var1.readByte() * 5; + } else if (var2 == 102) { + this.headIconPrayer = var1.readUnsignedShort(); + } else if (var2 == 103) { + this.field3492 = 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 = WorldMapArea.readStringIntParameters(var1, this.params); + } + } else { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } - var3 = -1; - if (var2 == 118) { - var3 = var1.readUnsignedShort(); - if (var3 == 65535) { - var3 = -1; - } - } + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } - var4 = var1.readUnsignedByte(); - this.transforms = new int[var4 + 2]; + var3 = -1; + if (var2 == 118) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } - for (int var5 = 0; var5 <= var4; ++var5) { - this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { - this.transforms[var5] = -1; - } - } + var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; - this.transforms[var4 + 1] = var3; - } + 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 = "(Ljh;ILjh;II)Ldu;", - garbageValue = "1205135740" - ) - @Export("getModel") - public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.transforms != null) { - NPCDefinition var11 = this.transform(); - return var11 == null ? null : var11.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; - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lis;ILis;IB)Ldm;", + garbageValue = "27" + ) + @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; - if (var6) { - return null; - } + for (int var7 = 0; var7 < this.models.length; ++var7) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.models[var7], 0)) { + var6 = true; + } + } - ModelData[] var12 = new ModelData[this.models.length]; + if (var6) { + return null; + } - int var8; - for (var8 = 0; var8 < this.models.length; ++var8) { - var12[var8] = ModelData.method2788(NpcDefinition_modelArchive, this.models[var8], 0); - } + ModelData[] var8 = new ModelData[this.models.length]; - ModelData var9; - if (var12.length == 1) { - var9 = var12[0]; - } else { - var9 = new ModelData(var12, var12.length); - } + int var9; + for (var9 = 0; var9 < this.models.length; ++var9) { + var8[var9] = ModelData.method2769(NpcDefinition_modelArchive, this.models[var9], 0); + } - if (this.recolorFrom != null) { - for (var8 = 0; var8 < this.recolorFrom.length; ++var8) { - var9.recolor(this.recolorFrom[var8], this.recolorTo[var8]); - } - } + ModelData var11; + if (var8.length == 1) { + var11 = var8[0]; + } else { + var11 = new ModelData(var8, var8.length); + } - if (this.retextureFrom != null) { - for (var8 = 0; var8 < this.retextureFrom.length; ++var8) { - var9.retexture(this.retextureFrom[var8], this.retextureTo[var8]); - } - } + if (this.recolorFrom != null) { + for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var11.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } - var5 = var9.toModel(this.field637 + 64, this.field638 * 5 + 850, -30, -50, -30); - NpcDefinition_cachedModels.put(var5, (long)this.id); - } + if (this.retextureFrom != null) { + for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var11.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } - 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); - } + var5 = var11.toModel(this.field3489 + 64, this.field3477 + 850, -30, -50, -30); + NpcDefinition_cachedModels.put(var5, (long)this.id); + } - if (this.widthScale != 128 || this.heightScale != 128) { - var10.scale(this.widthScale, this.heightScale, this.widthScale); - } + 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); + } - return var10; - } - } + if (this.widthScale != 128 || this.heightScale != 128) { + var10.scale(this.widthScale, this.heightScale, this.widthScale); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Ldw;", - garbageValue = "-682265638" - ) - @Export("getModelData") - public final ModelData getModelData() { - if (this.transforms != null) { - NPCDefinition var5 = this.transform(); - return var5 == null ? null : var5.getModelData(); - } else if (this.field636 == null) { - return null; - } else { - boolean var1 = false; + return var10; + } + } - for (int var2 = 0; var2 < this.field636.length; ++var2) { - if (!NpcDefinition_modelArchive.tryLoadFile(this.field636[var2], 0)) { - var1 = true; - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(B)Lds;", + garbageValue = "87" + ) + @Export("getModelData") + public final ModelData getModelData() { + if (this.transforms != null) { + NPCDefinition var1 = this.transform(); + return var1 == null ? null : var1.getModelData(); + } else if (this.field3463 == null) { + return null; + } else { + boolean var5 = false; - if (var1) { - return null; - } else { - ModelData[] var6 = new ModelData[this.field636.length]; + for (int var2 = 0; var2 < this.field3463.length; ++var2) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.field3463[var2], 0)) { + var5 = true; + } + } - for (int var3 = 0; var3 < this.field636.length; ++var3) { - var6[var3] = ModelData.method2788(NpcDefinition_modelArchive, this.field636[var3], 0); - } + if (var5) { + return null; + } else { + ModelData[] var6 = new ModelData[this.field3463.length]; - ModelData var7; - if (var6.length == 1) { - var7 = var6[0]; - } else { - var7 = new ModelData(var6, var6.length); - } + for (int var3 = 0; var3 < this.field3463.length; ++var3) { + var6[var3] = ModelData.method2769(NpcDefinition_modelArchive, this.field3463[var3], 0); + } - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var7.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } + ModelData var7; + if (var6.length == 1) { + var7 = var6[0]; + } else { + var7 = new ModelData(var6, var6.length); + } - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var7.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var7.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - return var7; - } - } - } + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var7.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)Ljz;", - garbageValue = "-113" - ) - @Export("transform") - public final NPCDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapSection0.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } + return var7; + } + } + } - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { - var2 = this.transforms[var1]; - } else { - var2 = this.transforms[this.transforms.length - 1]; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Lij;", + garbageValue = "942859640" + ) + @Export("transform") + public final NPCDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = GrandExchangeOfferOwnWorldComparator.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - return var2 != -1 ? ObjectDefinition.getNpcDefinition(var2) : null; - } + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "853540088" - ) - public boolean method229() { - if (this.transforms == null) { - return true; - } else { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapSection0.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } + return var2 != -1 ? GameShell.getNpcDefinition(var2) : null; + } - return var1 >= 0 && var1 < this.transforms.length ? this.transforms[var1] != -1 : this.transforms[this.transforms.length - 1] != -1; - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-119" + ) + @Export("transformIsVisible") + public boolean transformIsVisible() { + if (this.transforms == null) { + return true; + } else { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = GrandExchangeOfferOwnWorldComparator.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "256516117" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var3 = this.params; - int var4; - if (var3 == null) { - var4 = var2; - } else { - IntegerNode var5 = (IntegerNode)var3.get((long)var1); - if (var5 == null) { - var4 = var2; - } else { - var4 = var5.integer; - } - } + if (var1 >= 0 && var1 < this.transforms.length) { + return this.transforms[var1] != -1; + } else { + return this.transforms[this.transforms.length - 1] != -1; + } + } + } - return var4; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-696362374" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + IterableNodeHashTable var4 = this.params; + int var3; + if (var4 == null) { + var3 = var2; + } else { + IntegerNode var5 = (IntegerNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = var5.integer; + } + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-245239968" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - return Frames.method3238(this.params, var1, var2); - } + return var3; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", - garbageValue = "-2130256963" - ) - @Export("sendStackTrace") - public static void sendStackTrace(String var0, Throwable var1) { - if (var1 != null) { - var1.printStackTrace(); - } else { - try { - String var2 = ""; - if (var1 != null) { - var2 = Canvas.method860(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.revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.field761 + "&e=" + var2); - DataInputStream var4 = new DataInputStream(var3.openStream()); - var4.read(); - var4.close(); - } catch (Exception var5) { - } - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIIIIIIS)Z", - garbageValue = "-6579" - ) - static final boolean method5164(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("e") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "330235566" - ) - static void method5162() { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - class54.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - } else { - long var0; - try { - URL var2 = new URL(Message.method1227("services", false) + "m=accountappeal/login.ws"); - URLConnection var3 = var2.openConnection(); - var3.setRequestProperty("connection", "close"); - var3.setDoInput(true); - var3.setDoOutput(true); - var3.setConnectTimeout(5000); - OutputStreamWriter var4 = new OutputStreamWriter(var3.getOutputStream()); - var4.write("data1=req"); - var4.flush(); - InputStream var5 = var3.getInputStream(); - Buffer var6 = new Buffer(new byte[1000]); - - while (true) { - int var7 = var5.read(var6.array, var6.index, 1000 - var6.index); - if (var7 == -1) { - var6.index = 0; - long var8 = var6.readLong(); - var0 = var8; - break; - } - - var6.index += var7; - if (var6.index >= 1000) { - var0 = 0L; - break; - } - } - } catch (Exception var10) { - var0 = 0L; - } - - int var11; - if (var0 == 0L) { - var11 = 5; - } else { - var11 = LoginScreenAnimation.method1778(var0, Login.Login_username); - } - - switch(var11) { - case 2: - class54.setLoginResponseString(Strings.field882, Strings.field883, Strings.field884); - Login.loginIndex = 6; - break; - case 3: - class54.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 4: - class54.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); - break; - case 5: - class54.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); - break; - case 6: - class54.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 7: - class54.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("kw") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "1100306484" - ) - static String method5161(String var0) { - PlayerType[] var1 = class48.PlayerType_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - PlayerType var3 = var1[var2]; - if (var3.modIcon != -1 && var0.startsWith(ItemContainer.method1170(var3.modIcon))) { - var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); - break; - } - } - - return var0; - } - - static { - NpcDefinition_cached = new EvictingDualNodeHashTable(64); - NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1901190491" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return GrandExchangeOfferWorldComparator.method54(this.params, var1, var2); + } } diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java index 27dda9d57e..2a00cb8a11 100644 --- a/runescape-client/src/main/java/NanoClock.java +++ b/runescape-client/src/main/java/NanoClock.java @@ -4,55 +4,55 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fp") +@ObfuscatedName("ft") @Implements("NanoClock") public class NanoClock extends Clock { - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = 7586221391557635221L - ) - @Export("lastTimeNano") - long lastTimeNano; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 6745793608477696967L + ) + @Export("lastTimeNano") + long lastTimeNano; - public NanoClock() { - this.lastTimeNano = System.nanoTime(); - } + NanoClock() { + this.lastTimeNano = System.nanoTime(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "61" - ) - @Export("mark") - public void mark() { - this.lastTimeNano = System.nanoTime(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1402657312" + ) + @Export("mark") + public void mark() { + this.lastTimeNano = System.nanoTime(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-126803683" - ) - @Export("wait") - public int wait(int cycleMs, int minSleepMs) { - long var3 = 1000000L * (long)minSleepMs; - long var5 = this.lastTimeNano - System.nanoTime(); - if (var5 < var3) { - var5 = var3; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-333181863" + ) + @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; + } - class203.method4010(var5 / 1000000L); - long var7 = System.nanoTime(); + EnumDefinition.method4550(var5 / 1000000L); + long var7 = System.nanoTime(); - int var9; - for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += 1000000L * (long)cycleMs) { - ++var9; - } + int var9; + for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += (long)var1 * 1000000L) { + ++var9; + } - if (this.lastTimeNano < var7) { - this.lastTimeNano = var7; - } + if (this.lastTimeNano < var7) { + this.lastTimeNano = var7; + } - return var9; - } + return var9; + } } diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index 8373742355..924cea0dd9 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -5,140 +5,174 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iq") +@ObfuscatedName("ii") @Implements("NetCache") public class NetCache { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfu;" - ) - @Export("NetCache_socket") - public static AbstractSocket NetCache_socket; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 948359621 - ) - public static int field628; - @ObfuscatedName("q") - @ObfuscatedGetter( - longValue = -4580427166942649525L - ) - public static long field629; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("NetCache_pendingPriorityWrites") - public static NodeHashTable NetCache_pendingPriorityWrites; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1495729287 - ) - @Export("NetCache_pendingPriorityWritesCount") - public static int NetCache_pendingPriorityWritesCount; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("NetCache_pendingPriorityResponses") - public static NodeHashTable NetCache_pendingPriorityResponses; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 516430597 - ) - @Export("NetCache_pendingPriorityResponsesCount") - public static int NetCache_pendingPriorityResponsesCount; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Ljp;" - ) - @Export("NetCache_pendingWritesQueue") - public static DualNodeDeque NetCache_pendingWritesQueue; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("NetCache_pendingWrites") - public static NodeHashTable NetCache_pendingWrites; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1592359229 - ) - @Export("NetCache_pendingWritesCount") - public static int NetCache_pendingWritesCount; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("NetCache_pendingResponses") - public static NodeHashTable NetCache_pendingResponses; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1627751389 - ) - @Export("NetCache_pendingResponsesCount") - public static int NetCache_pendingResponsesCount; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lgr;" - ) - @Export("NetCache_responseHeaderBuffer") - public static Buffer NetCache_responseHeaderBuffer; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 840549915 - ) - public static int field630; - @ObfuscatedName("t") - @Export("NetCache_crc") - public static CRC32 NetCache_crc; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "[Lit;" - ) - @Export("NetCache_archives") - public static Archive[] NetCache_archives; - @ObfuscatedName("b") - public static byte field631; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1404585009 - ) - @Export("NetCache_crcMismatches") - public static int NetCache_crcMismatches; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1141619871 - ) - @Export("NetCache_ioExceptions") - public static int NetCache_ioExceptions; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("NetCache_socket") + public static AbstractSocket NetCache_socket; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 351053657 + ) + static int field3163; + @ObfuscatedName("e") + @ObfuscatedGetter( + longValue = 906577835555410159L + ) + static long field3169; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("NetCache_pendingPriorityWrites") + static NodeHashTable NetCache_pendingPriorityWrites; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -975999093 + ) + @Export("NetCache_pendingPriorityWritesCount") + public static int NetCache_pendingPriorityWritesCount; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("NetCache_pendingPriorityResponses") + static NodeHashTable NetCache_pendingPriorityResponses; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2100347839 + ) + @Export("NetCache_pendingPriorityResponsesCount") + public static int NetCache_pendingPriorityResponsesCount; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lix;" + ) + @Export("NetCache_pendingWritesQueue") + static DualNodeDeque NetCache_pendingWritesQueue; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("NetCache_pendingWrites") + static NodeHashTable NetCache_pendingWrites; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -478006427 + ) + @Export("NetCache_pendingWritesCount") + public static int NetCache_pendingWritesCount; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("NetCache_pendingResponses") + static NodeHashTable NetCache_pendingResponses; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 302917267 + ) + @Export("NetCache_pendingResponsesCount") + public static int NetCache_pendingResponsesCount; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("NetCache_responseHeaderBuffer") + static Buffer NetCache_responseHeaderBuffer; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 266827 + ) + static int field3175; + @ObfuscatedName("j") + @Export("NetCache_crc") + static CRC32 NetCache_crc; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "[Liu;" + ) + @Export("NetCache_archives") + static Archive[] NetCache_archives; + @ObfuscatedName("o") + static byte field3181; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 779627437 + ) + @Export("NetCache_crcMismatches") + public static int NetCache_crcMismatches; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1542260379 + ) + @Export("NetCache_ioExceptions") + public static int NetCache_ioExceptions; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IB)Lbm;", - garbageValue = "31" - ) - static Message method4708(int var0) { - return (Message)Messages.Messages_hashTable.get((long)var0); - } + static { + field3163 = 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); + field3175 = 0; + NetCache_crc = new CRC32(); + NetCache_archives = new Archive[256]; + field3181 = 0; + NetCache_crcMismatches = 0; + NetCache_ioExceptions = 0; + } - static { - field628 = 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); - field630 = 0; - NetCache_crc = new CRC32(); - NetCache_archives = new Archive[256]; - field631 = 0; - NetCache_crcMismatches = 0; - NetCache_ioExceptions = 0; - } + @ObfuscatedName("hm") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1775821653" + ) + static void method4312(int var0, int var1) { + int var2 = WorldMapIcon_1.fontBold12.stringWidth("Choose Option"); + + int var3; + int var4; + for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { + var4 = WorldMapIcon_1.fontBold12.stringWidth(WorldMapLabel.method417(var3)); + if (var4 > var2) { + var2 = var4; + } + } + + var2 += 8; + var3 = Client.menuOptionsCount * 15 + 22; + var4 = var0 - var2 / 2; + if (var2 + var4 > GrandExchangeEvent.canvasWidth) { + var4 = GrandExchangeEvent.canvasWidth - var2; + } + + if (var4 < 0) { + var4 = 0; + } + + int var5 = var1; + if (var3 + var1 > ParamDefinition.canvasHeight) { + var5 = ParamDefinition.canvasHeight - var3; + } + + if (var5 < 0) { + var5 = 0; + } + + class247.menuX = var4; + class30.menuY = var5; + class42.menuWidth = var2; + ObjectSound.menuHeight = Client.menuOptionsCount * 15 + 22; + } } diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index 147c4ca831..c41103fcfb 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -1,116 +1,66 @@ +import java.awt.Image; import net.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") +@ObfuscatedName("hq") @Implements("NetFileRequest") public class NetFileRequest extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive") - public Archive archive; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1487103265 - ) - @Export("crc") - public int crc; - @ObfuscatedName("q") - @Export("padding") - public byte padding; + @ObfuscatedName("az") + static Image field3125; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive") + Archive archive; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1663016965 + ) + @Export("crc") + int crc; + @ObfuscatedName("e") + @Export("padding") + byte padding; - @ObfuscatedName("jt") - @ObfuscatedSignature( - signature = "([Lho;II)V", - garbageValue = "1807602893" - ) - static final void method4555(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { - Widget var3 = var0[var2]; - if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !PacketBufferNode.isComponentHidden(var3))) { - if (var3.type == 0) { - if (!var3.isIf3 && PacketBufferNode.isComponentHidden(var3) && var3 != Clock.mousedOverWidgetIf1) { - continue; - } + NetFileRequest() { + } - method4555(var0, var3.id); - if (var3.children != null) { - method4555(var3.children, var3.id); - } + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "616247304" + ) + static int method4140(int var0) { + return (int)((Math.log((double)var0) / Interpreter.field1110 - 7.0D) * 256.0D); + } - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - ClientPreferences.method1809(var4.group); - } - } + @ObfuscatedName("ia") + @ObfuscatedSignature( + signature = "(IIIIIB)V", + garbageValue = "-20" + ) + static final void method4139(int var0, int var1, int var2, int var3, int var4) { + GrandExchangeOfferAgeComparator.scrollBarSprites[0].drawAt(var0, var1); + GrandExchangeOfferAgeComparator.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field715); + int var5 = var3 * (var3 - 32) / var4; + if (var5 < 8) { + var5 = 8; + } - if (var3.type == 6) { - int var7; - if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { - boolean var5 = class238.runCs1(var3); - if (var5) { - var7 = var3.sequenceId2; - } else { - var7 = var3.sequenceId; - } - - if (var7 != -1) { - SequenceDefinition var6 = WorldMapAreaData.getSequenceDefinition(var7); - - for (var3.modelFrameCycle += Client.field183; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; WorldMapRectangle.method295(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.field963 != 0 && !var3.isIf3) { - int var8 = var3.field963 >> 16; - var7 = var3.field963 << 16 >> 16; - var8 *= Client.field183; - var7 *= Client.field183; - var3.modelAngleX = var8 + var3.modelAngleX & 2047; - var3.modelAngleY = var7 + var3.modelAngleY & 2047; - WorldMapRectangle.method295(var3); - } - } - } - } - - } - - @ObfuscatedName("js") - @ObfuscatedSignature( - signature = "(IIIILln;Lhp;B)V", - garbageValue = "-37" - ) - @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 = var3 * var8 + var9 * var2 >> 16; - int var11 = var3 * var9 - var8 * var2 >> 16; - if (var7 > 2500) { - var4.method314(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.drawAt2(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); - } - } - } - - } + int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field716); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field772); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field772); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field772); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field772); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field720); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field720); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field720); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field720); + } } diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index 5c00ce13a7..e1f4fb4680 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -9,536 +9,375 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fb") +@ObfuscatedName("fp") @Implements("NetSocket") public final class NetSocket extends AbstractSocket implements Runnable { - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("worldSelectRightSprite") - static IndexedSprite worldSelectRightSprite; - @ObfuscatedName("m") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("f") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("q") - @Export("socket") - Socket socket; - @ObfuscatedName("w") - @Export("isClosed") - boolean isClosed; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lfz;" - ) - @Export("taskHandler") - TaskHandler taskHandler; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("task") - Task task; - @ObfuscatedName("g") - @Export("array") - byte[] array; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -738185459 - ) - int field632; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 2057244853 - ) - int field633; - @ObfuscatedName("x") - @Export("exceptionWriting") - boolean exceptionWriting; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1644762957 - ) - final int field634; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -782964015 - ) - final int field635; + @ObfuscatedName("q") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("w") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("e") + @Export("socket") + Socket socket; + @ObfuscatedName("p") + @Export("isClosed") + boolean isClosed; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("taskHandler") + TaskHandler taskHandler; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lfa;" + ) + @Export("task") + Task task; + @ObfuscatedName("b") + @Export("outBuffer") + byte[] outBuffer; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 2008977937 + ) + @Export("outLength") + int outLength; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1864141069 + ) + @Export("outOffset") + int outOffset; + @ObfuscatedName("f") + @Export("exceptionWriting") + boolean exceptionWriting; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 772976519 + ) + @Export("bufferLength") + final int bufferLength; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1242990043 + ) + @Export("maxPacketLength") + final int maxPacketLength; - @ObfuscatedSignature( - signature = "(Ljava/net/Socket;Lfz;I)V" - ) - public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { - this.isClosed = false; - this.field632 = 0; - this.field633 = 0; - this.exceptionWriting = false; - this.taskHandler = var2; - this.socket = var1; - this.field634 = var3; - this.field635 = 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(); - } + @ObfuscatedSignature( + signature = "(Ljava/net/Socket;Lfs;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("f") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1765046516" - ) - @Export("isAvailable") - public boolean isAvailable(int length) throws IOException { - return this.isClosed ? false : this.inputStream.available() >= length; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1144636612" + ) + @Export("close") + public void close() { + if (!this.isClosed) { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1078471130" - ) - @Export("available") - public int available() throws IOException { - return this.isClosed ? 0 : this.inputStream.available(); - } + if (this.task != null) { + while (this.task.status == 0) { + EnumDefinition.method4550(1L); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "516705222" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.isClosed ? 0 : this.inputStream.read(); - } + if (this.task.status == 1) { + try { + ((Thread)this.task.result).join(); + } catch (InterruptedException var3) { + } + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "-1089665746" - ) - @Export("read") - public int read(byte[] dst, int dstIndex, int length) throws IOException { - if (this.isClosed) { - return 0; - } else { - int var4; - int var5; - for (var4 = length; length > 0; length -= var5) { - var5 = this.inputStream.read(dst, dstIndex, length); - if (var5 <= 0) { - throw new EOFException(); - } + this.task = null; + } + } - dstIndex += var5; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "2" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.isClosed ? 0 : this.inputStream.read(); + } - return var4; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "55" + ) + @Export("available") + public int available() throws IOException { + return this.isClosed ? 0 : this.inputStream.available(); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-86" - ) - @Export("write") - public void write(byte[] src, int srcIndex, int length) throws IOException { - this.write0(src, srcIndex, length); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1948150862" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + if (this.isClosed) { + return false; + } else { + return this.inputStream.available() >= var1; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1252618448" - ) - @Export("close") - public void close() { - if (!this.isClosed) { - synchronized(this) { - this.isClosed = true; - this.notifyAll(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "([BIIB)I", + garbageValue = "26" + ) + @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(); + } - if (this.task != null) { - while (this.task.status == 0) { - class203.method4010(1L); - } + var2 += var5; + } - if (this.task.status == 1) { - try { - ((Thread)this.task.result).join(); - } catch (InterruptedException var3) { - } - } - } + return var4; + } + } - this.task = null; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-338727961" + ) + @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.outLength + this.maxPacketLength) % this.bufferLength == this.outOffset) { + throw new IOException(); + } + } - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-77" - ) - @Export("write0") - void write0(byte[] src, int srcIndex, int length) throws IOException { - if (!this.isClosed) { - if (this.exceptionWriting) { - this.exceptionWriting = false; - throw new IOException(); - } + if (this.task == null) { + this.task = this.taskHandler.newThreadTask(this, 3); + } - if (this.array == null) { - this.array = new byte[this.field634]; - } + this.notifyAll(); + } + } + } + } - synchronized(this) { - for (int var5 = 0; var5 < length; ++var5) { - this.array[this.field633] = src[var5 + srcIndex]; - this.field633 = (this.field633 + 1) % this.field634; - if ((this.field635 + this.field632) % this.field634 == this.field633) { - throw new IOException(); - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-1696227994" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.write0(var1, var2, var3); + } - if (this.task == null) { - this.task = this.taskHandler.newThreadTask(this, 3); - } + protected void finalize() { + this.close(); + } - this.notifyAll(); - } - } + 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) { + } + } - public void run() { - try { - while (true) { - label84: { - int var1; - int var2; - synchronized(this) { - if (this.field633 == this.field632) { - if (this.isClosed) { - break label84; - } + var2 = this.outLength; + if (this.outOffset >= this.outLength) { + var1 = this.outOffset - this.outLength; + } else { + var1 = this.bufferLength - this.outLength; + } + } - try { - this.wait(); - } catch (InterruptedException var9) { - } - } + if (var1 <= 0) { + continue; + } - var2 = this.field632; - if (this.field633 >= this.field632) { - var1 = this.field633 - this.field632; - } else { - var1 = this.field634 - this.field632; - } - } + try { + this.outputStream.write(this.outBuffer, var2, var1); + } catch (IOException var9) { + this.exceptionWriting = true; + } - if (var1 <= 0) { - continue; - } + this.outLength = (var1 + this.outLength) % this.bufferLength; - try { - this.outputStream.write(this.array, var2, var1); - } catch (IOException var8) { - this.exceptionWriting = true; - } + try { + if (this.outOffset == this.outLength) { + this.outputStream.flush(); + } + } catch (IOException var8) { + this.exceptionWriting = true; + } + continue; + } - this.field632 = (var1 + this.field632) % this.field634; + try { + if (this.inputStream != null) { + this.inputStream.close(); + } - try { - if (this.field633 == this.field632) { - this.outputStream.flush(); - } - } catch (IOException var7) { - this.exceptionWriting = true; - } - continue; - } + if (this.outputStream != null) { + this.outputStream.close(); + } - try { - if (this.inputStream != null) { - this.inputStream.close(); - } + if (this.socket != null) { + this.socket.close(); + } + } catch (IOException var7) { + } - if (this.outputStream != null) { - this.outputStream.close(); - } + this.outBuffer = null; + break; + } + } catch (Exception var12) { + HitSplatDefinition.sendStackTrace((String)null, var12); + } - if (this.socket != null) { - this.socket.close(); - } - } catch (IOException var6) { - } + } - this.array = null; - break; - } - } catch (Exception var11) { - NPCDefinition.sendStackTrace((String)null, var11); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lkl;", + garbageValue = "939071894" + ) + public static class310 method3530(int var0) { + class310[] var1 = UserComparator9.method3383(); - } + for (int var2 = 0; var2 < var1.length; ++var2) { + class310 var3 = var1[var2]; + if (var0 == var3.field3815) { + return var3; + } + } - protected void finalize() { - this.close(); - } + return null; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIILfe;Lfy;Z[I[IB)I", - garbageValue = "-98" - ) - @Export("calculateRoute") - public static int calculateRoute(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4, boolean var5, int[] var6, int[] var7) { - int var8; - int var9; - for (var9 = 0; var9 < 128; ++var9) { - for (var8 = 0; var8 < 128; ++var8) { - class178.directions[var9][var8] = 0; - class178.distances[var9][var8] = 99999999; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "691418621" + ) + public static void method3554(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)); + } - int var10; - byte var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - boolean var18; - int var19; - int var20; - int var21; - byte var22; - if (var2 == 1) { - var9 = var0; - var10 = var1; - var22 = 64; - var11 = 64; - var12 = var0 - var22; - var13 = var1 - var11; - class178.directions[var22][var11] = 99; - class178.distances[var22][var11] = 0; - byte var23 = 0; - var14 = 0; - class178.bufferX[var23] = var0; - var21 = var23 + 1; - class178.bufferY[var23] = var1; - int[][] var24 = var4.flags; + VarbitDefinition.VarbitDefinition_cached.put(var3, (long)var0); + var2 = var3; + } - boolean var25; - while (true) { - if (var21 == var14) { - InterfaceParent.field986 = var9; - UrlRequester.field929 = var10; - var25 = false; - break; - } + 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; + } - var9 = class178.bufferX[var14]; - var10 = class178.bufferY[var14]; - var14 = var14 + 1 & 4095; - var19 = var9 - var12; - var20 = var10 - var13; - var15 = var9 - var4.xInset; - var16 = var10 - var4.yInset; - if (var3.vmethod3644(1, var9, var10, var4)) { - InterfaceParent.field986 = var9; - UrlRequester.field929 = var10; - var25 = true; - break; - } + var7 <<= var5; + Varps.Varps_main[var4] = Varps.Varps_main[var4] & ~var7 | var1 << var5 & var7; + } - var17 = class178.distances[var19][var20] + 1; - if (var19 > 0 && class178.directions[var19 - 1][var20] == 0 && (var24[var15 - 1][var16] & 19136776) == 0) { - class178.bufferX[var21] = var9 - 1; - class178.bufferY[var21] = var10; - var21 = var21 + 1 & 4095; - class178.directions[var19 - 1][var20] = 2; - class178.distances[var19 - 1][var20] = var17; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lig;", + garbageValue = "-1252480817" + ) + @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)); + } - if (var19 < 127 && class178.directions[var19 + 1][var20] == 0 && (var24[var15 + 1][var16] & 19136896) == 0) { - class178.bufferX[var21] = var9 + 1; - class178.bufferY[var21] = var10; - var21 = var21 + 1 & 4095; - class178.directions[var19 + 1][var20] = 8; - class178.distances[var19 + 1][var20] = var17; - } + InvDefinition.InvDefinition_cached.put(var1, (long)var0); + return var1; + } + } - if (var20 > 0 && class178.directions[var19][var20 - 1] == 0 && (var24[var15][var16 - 1] & 19136770) == 0) { - class178.bufferX[var21] = var9; - class178.bufferY[var21] = var10 - 1; - var21 = var21 + 1 & 4095; - class178.directions[var19][var20 - 1] = 1; - class178.distances[var19][var20 - 1] = var17; - } - - if (var20 < 127 && class178.directions[var19][var20 + 1] == 0 && (var24[var15][var16 + 1] & 19136800) == 0) { - class178.bufferX[var21] = var9; - class178.bufferY[var21] = var10 + 1; - var21 = var21 + 1 & 4095; - class178.directions[var19][var20 + 1] = 4; - class178.distances[var19][var20 + 1] = var17; - } - - if (var19 > 0 && var20 > 0 && class178.directions[var19 - 1][var20 - 1] == 0 && (var24[var15 - 1][var16 - 1] & 19136782) == 0 && (var24[var15 - 1][var16] & 19136776) == 0 && (var24[var15][var16 - 1] & 19136770) == 0) { - class178.bufferX[var21] = var9 - 1; - class178.bufferY[var21] = var10 - 1; - var21 = var21 + 1 & 4095; - class178.directions[var19 - 1][var20 - 1] = 3; - class178.distances[var19 - 1][var20 - 1] = var17; - } - - if (var19 < 127 && var20 > 0 && class178.directions[var19 + 1][var20 - 1] == 0 && (var24[var15 + 1][var16 - 1] & 19136899) == 0 && (var24[var15 + 1][var16] & 19136896) == 0 && (var24[var15][var16 - 1] & 19136770) == 0) { - class178.bufferX[var21] = var9 + 1; - class178.bufferY[var21] = var10 - 1; - var21 = var21 + 1 & 4095; - class178.directions[var19 + 1][var20 - 1] = 9; - class178.distances[var19 + 1][var20 - 1] = var17; - } - - if (var19 > 0 && var20 < 127 && class178.directions[var19 - 1][var20 + 1] == 0 && (var24[var15 - 1][var16 + 1] & 19136824) == 0 && (var24[var15 - 1][var16] & 19136776) == 0 && (var24[var15][var16 + 1] & 19136800) == 0) { - class178.bufferX[var21] = var9 - 1; - class178.bufferY[var21] = var10 + 1; - var21 = var21 + 1 & 4095; - class178.directions[var19 - 1][var20 + 1] = 6; - class178.distances[var19 - 1][var20 + 1] = var17; - } - - if (var19 < 127 && var20 < 127 && class178.directions[var19 + 1][var20 + 1] == 0 && (var24[var15 + 1][var16 + 1] & 19136992) == 0 && (var24[var15 + 1][var16] & 19136896) == 0 && (var24[var15][var16 + 1] & 19136800) == 0) { - class178.bufferX[var21] = var9 + 1; - class178.bufferY[var21] = var10 + 1; - var21 = var21 + 1 & 4095; - class178.directions[var19 + 1][var20 + 1] = 12; - class178.distances[var19 + 1][var20 + 1] = var17; - } - } - - var18 = var25; - } else if (var2 == 2) { - var18 = WorldMapSection0.method593(var0, var1, var3, var4); - } else { - var18 = ArchiveDisk.method3585(var0, var1, var2, var3, var4); - } - - var8 = var0 - 64; - var9 = var1 - 64; - var10 = InterfaceParent.field986; - var19 = UrlRequester.field929; - if (!var18) { - var20 = Integer.MAX_VALUE; - var12 = Integer.MAX_VALUE; - var22 = 10; - var21 = var3.approxDestinationX; - var14 = var3.approxDestinationY; - int var29 = var3.approxDestinationSizeX; - var15 = var3.approxDestinationSizeY; - - for (var16 = var21 - var22; var16 <= var22 + var21; ++var16) { - for (var17 = var14 - var22; var17 <= var14 + var22; ++var17) { - int var30 = var16 - var8; - int var31 = var17 - var9; - if (var30 >= 0 && var31 >= 0 && var30 < 128 && var31 < 128 && class178.distances[var30][var31] < 100) { - int var26 = 0; - if (var16 < var21) { - var26 = var21 - var16; - } else if (var16 > var29 + var21 - 1) { - var26 = var16 - (var29 + var21 - 1); - } - - int var27 = 0; - if (var17 < var14) { - var27 = var14 - var17; - } else if (var17 > var15 + var14 - 1) { - var27 = var17 - (var15 + var14 - 1); - } - - int var28 = var27 * var27 + var26 * var26; - if (var28 < var20 || var28 == var20 && class178.distances[var30][var31] < var12) { - var20 = var28; - var12 = class178.distances[var30][var31]; - var10 = var16; - var19 = var17; - } - } - } - } - - if (var20 == Integer.MAX_VALUE) { - return -1; - } - } - - if (var0 == var10 && var19 == var1) { - return 0; - } else { - var11 = 0; - class178.bufferX[var11] = var10; - var20 = var11 + 1; - class178.bufferY[var11] = var19; - - for (var12 = var13 = class178.directions[var10 - var8][var19 - var9]; var0 != var10 || var19 != var1; var12 = class178.directions[var10 - var8][var19 - var9]) { - if (var12 != var13) { - var13 = var12; - class178.bufferX[var20] = var10; - class178.bufferY[var20++] = var19; - } - - if ((var12 & 2) != 0) { - ++var10; - } else if ((var12 & 8) != 0) { - --var10; - } - - if ((var12 & 1) != 0) { - ++var19; - } else if ((var12 & 4) != 0) { - --var19; - } - } - - var21 = 0; - - while (var20-- > 0) { - var6[var21] = class178.bufferX[var20]; - var7[var21++] = class178.bufferY[var20]; - if (var21 >= var6.length) { - break; - } - } - - return var21; - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;Lir;Lhm;I)Z", - garbageValue = "-590103687" - ) - @Export("setAudioArchives") - public static boolean setAudioArchives(AbstractArchive patches, AbstractArchive samples, AbstractArchive fx, MidiPcmStream var3) { - class1.musicPatchesArchive = patches; - class214.musicSamplesArchive = samples; - class214.soundEffectsArchive = fx; - class214.midiPcmStream = var3; - return true; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2054009362" + ) + public static void method3553() { + Interpreter.midiPcmStream.clear(); + class197.field2402 = 1; + GrandExchangeOfferNameComparator.musicTrackArchive = null; + } } diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java index 938753e5bc..d47c4b1ce2 100644 --- a/runescape-client/src/main/java/Node.java +++ b/runescape-client/src/main/java/Node.java @@ -3,40 +3,39 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gw") +@ObfuscatedName("fw") @Implements("Node") public class Node { - @ObfuscatedName("cl") - @Export("key") - public long key; - @ObfuscatedName("ct") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("previous") - public Node previous; - @ObfuscatedName("cz") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("next") - public Node next; + @ObfuscatedName("cg") + @Export("key") + public long key; + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("previous") + public Node previous; + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("next") + public Node next; - @ObfuscatedName("es") - @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("fz") + @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("eg") - @Export("hasNext") - public boolean hasNext() { - return this.next != null; - } + @ObfuscatedName("fn") + @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 b7d3eb37a3..a75aa89b33 100644 --- a/runescape-client/src/main/java/NodeDeque.java +++ b/runescape-client/src/main/java/NodeDeque.java @@ -3,181 +3,181 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("je") +@ObfuscatedName("jh") @Implements("NodeDeque") public class NodeDeque { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("sentinel") - public Node sentinel; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("current") - Node current; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("sentinel") + public Node sentinel; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("current") + Node current; - public NodeDeque() { - this.sentinel = new Node(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } + public NodeDeque() { + this.sentinel = new Node(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("m") - @Export("clear") - public void clear() { - while (true) { - Node var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - this.current = null; - return; - } + @ObfuscatedName("q") + @Export("clear") + public void clear() { + while (true) { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return; + } - var1.remove(); - } - } + var1.remove(); + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgw;)V" - ) - @Export("addFirst") - public void addFirst(Node node) { - if (node.next != null) { - node.remove(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } - node.next = this.sentinel.next; - node.previous = this.sentinel; - node.next.previous = node; - node.previous.next = node; - } + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgw;)V" - ) - @Export("addLast") - public void addLast(Node node) { - if (node.next != null) { - node.remove(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } - node.next = this.sentinel; - node.previous = this.sentinel.previous; - node.next.previous = node; - node.previous.next = node; - } + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @Export("removeLast") - public Node removeLast() { - Node var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - return null; - } else { - var1.remove(); - return var1; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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 = "()Lgw;" - ) - @Export("removeFirst") - public Node removeFirst() { - Node var1 = this.sentinel.next; - if (var1 == this.sentinel) { - return null; - } else { - var1.remove(); - return var1; - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("removeFirst") + public Node removeFirst() { + Node var1 = this.sentinel.next; + if (var1 == this.sentinel) { + return null; + } else { + var1.remove(); + return var1; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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("b") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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("l") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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("i") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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("e") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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("c") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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("x") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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 = "()Lfw;" + ) + @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("w") - @ObfuscatedSignature( - signature = "(Lgw;Lgw;)V" - ) - @Export("NodeDeque_addBefore") - public static void NodeDeque_addBefore(Node var0, Node var1) { - if (var0.next != null) { - var0.remove(); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lfw;Lfw;)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; - } + 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 d2f8c773d8..f90341dbb1 100644 --- a/runescape-client/src/main/java/NodeHashTable.java +++ b/runescape-client/src/main/java/NodeHashTable.java @@ -3,137 +3,117 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ld") +@ObfuscatedName("lc") @Implements("NodeHashTable") public final class NodeHashTable { - @ObfuscatedName("m") - @Export("size") - int size; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Lgw;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("current") - Node current; - @ObfuscatedName("o") - @Export("index") - int index; + @ObfuscatedName("q") + @Export("size") + int size; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lfw;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("current") + Node current; + @ObfuscatedName("k") + @Export("index") + int index; - public NodeHashTable(int var1) { - this.index = 0; - this.size = var1; - this.buckets = new Node[var1]; + 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; - } + for (int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(J)Lgw;" - ) - @Export("get") - public Node get(long key) { - Node var3 = this.buckets[(int)(key & (long)(this.size - 1))]; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(J)Lfw;" + ) + @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 == key) { - Node var4 = this.currentGet; - this.currentGet = this.currentGet.previous; - return var4; - } - } + 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; - } + this.currentGet = null; + return null; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgw;J)V" - ) - @Export("put") - public void put(Node node, long key) { - if (node.next != null) { - node.remove(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lfw;J)V" + ) + @Export("put") + public void put(Node var1, long var2) { + if (var1.next != null) { + var1.remove(); + } - Node var4 = this.buckets[(int)(key & (long)(this.size - 1))]; - node.next = var4.next; - node.previous = var4; - node.next.previous = node; - node.previous.next = node; - node.key = key; - } + 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("q") - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.size; ++var1) { - Node var2 = this.buckets[var1]; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } - while (true) { - Node var3 = var2.previous; - if (var3 == var2) { - break; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @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; + } - var3.remove(); - } - } + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); - this.currentGet = null; - this.current = null; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @Export("first") - public Node first() { - this.index = 0; - return this.next(); - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "()Lgw;" - ) - @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; - } - } + 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 81e0b08c2c..390afe0301 100644 --- a/runescape-client/src/main/java/ObjectDefinition.java +++ b/runescape-client/src/main/java/ObjectDefinition.java @@ -4,940 +4,906 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jr") +@ObfuscatedName("iy") @Implements("ObjectDefinition") public class ObjectDefinition extends DualNode { - @ObfuscatedName("m") - @Export("ObjectDefinition_isLowDetail") - static boolean ObjectDefinition_isLowDetail; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("ObjectDefinition_archive") - static AbstractArchive ObjectDefinition_archive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("ObjectDefinition_modelsArchive") - static AbstractArchive ObjectDefinition_modelsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ObjectDefinition_cached") - static EvictingDualNodeHashTable ObjectDefinition_cached; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ObjectDefinition_cachedModelData") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ObjectDefinition_cachedEntities") - static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ObjectDefinition_cachedModels") - static EvictingDualNodeHashTable ObjectDefinition_cachedModels; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "[Ldw;" - ) - static ModelData[] field643; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -2034835389 - ) - @Export("id") - public int id; - @ObfuscatedName("x") - int[] field644; - @ObfuscatedName("d") - int[] field645; - @ObfuscatedName("k") - @Export("name") - public String name; - @ObfuscatedName("n") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("i") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("a") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("z") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 998026479 - ) - @Export("sizeX") - public int sizeX; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -301273619 - ) - @Export("sizeY") - public int sizeY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -553719901 - ) - @Export("interactType") - public int interactType; - @ObfuscatedName("y") - @Export("boolean1") - public boolean boolean1; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1419333853 - ) - @Export("int1") - public int int1; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -268374709 - ) - @Export("clipType") - int clipType; - @ObfuscatedName("c") - @Export("nonFlatShading") - boolean nonFlatShading; - @ObfuscatedName("r") - @Export("modelClipped") - public boolean modelClipped; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1018236769 - ) - @Export("animationId") - public int animationId; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 713665805 - ) - @Export("int2") - public int int2; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 533219139 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -216646581 - ) - @Export("contrast") - int contrast; - @ObfuscatedName("aj") - @Export("actions") - public String[] actions; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1737602209 - ) - @Export("mapIconId") - public int mapIconId; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -324183669 - ) - @Export("mapSceneId") - public int mapSceneId; - @ObfuscatedName("ac") - @Export("isRotated") - boolean isRotated; - @ObfuscatedName("ay") - @Export("clipped") - public boolean clipped; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -1509832827 - ) - @Export("modelSizeX") - int modelSizeX; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 511434049 - ) - @Export("modelHeight") - int modelHeight; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 1746573233 - ) - @Export("modelSizeY") - int modelSizeY; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 967376007 - ) - @Export("offsetX") - int offsetX; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1720702573 - ) - @Export("offsetHeight") - int offsetHeight; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 818611483 - ) - @Export("offsetY") - int offsetY; - @ObfuscatedName("at") - @Export("boolean2") - public boolean boolean2; - @ObfuscatedName("ad") - @Export("isSolid") - boolean isSolid; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = 1455451843 - ) - @Export("int3") - public int int3; - @ObfuscatedName("as") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 1136644531 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -2119965579 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 374616127 - ) - @Export("ambientSoundId") - public int ambientSoundId; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1990510197 - ) - @Export("int4") - public int int4; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -1519592967 - ) - @Export("int5") - public int int5; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 1201773735 - ) - @Export("int6") - public int int6; - @ObfuscatedName("ax") - public int[] field646; - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("params") - IterableNodeHashTable params; - - 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("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-245255765" - ) - @Export("postDecode") - void postDecode() { - if (this.int1 == -1) { - this.int1 = 0; - if (this.field644 != null && (this.field645 == null || this.field645[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("w") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1210669830" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-2044409717" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { - var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.field644 != null && !ObjectDefinition_isLowDetail) { - var1.index += var3 * 3; - } else { - this.field645 = new int[var3]; - this.field644 = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.field644[var4] = var1.readUnsignedShort(); - this.field645[var4] = var1.readUnsignedByte(); - } - } - } - } else if (var2 == 2) { - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 5) { - var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.field644 != null && !ObjectDefinition_isLowDetail) { - var1.index += var3 * 2; - } else { - this.field645 = null; - this.field644 = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.field644[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.field646 = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.field646[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 = AbstractArchive.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("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1880172029" - ) - public final boolean method230(int var1) { - if (this.field645 != null) { - for (int var4 = 0; var4 < this.field645.length; ++var4) { - if (this.field645[var4] == var1) { - return ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var4] & 65535, 0); - } - } - - return true; - } else if (this.field644 == null) { - return true; - } else if (var1 != 10) { - return true; - } else { - boolean var2 = true; - - for (int var3 = 0; var3 < this.field644.length; ++var3) { - var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var3] & 65535, 0); - } - - return var2; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-666846742" - ) - public final boolean method231() { - if (this.field644 == null) { - return true; - } else { - boolean var1 = true; - - for (int var2 = 0; var2 < this.field644.length; ++var2) { - var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var2] & 65535, 0); - } - - return var1; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II[[IIIIS)Lex;", - garbageValue = "-27831" - ) - public final Entity method232(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.field645 == 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.field559 = (short)(this.ambient + 64); - var10.field560 = (short)(this.contrast + 768); - var10.method216(); - var9 = var10; - } - - ObjectDefinition_cachedEntities.put((DualNode)var9, var7); - } - - if (this.nonFlatShading) { - var9 = ((ModelData)var9).method206(); - } - - if (this.clipType >= 0) { - if (var9 instanceof Model) { - var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType); - } else if (var9 instanceof ModelData) { - var9 = ((ModelData)var9).method207(var3, var4, var5, var6, true, this.clipType); - } - } - - return (Entity)var9; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(II[[IIIIB)Ldu;", - garbageValue = "0" - ) - @Export("getModel") - public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.field645 == 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 >= 0) { - var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType); - } - - return var9; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II[[IIIILjh;II)Ldu;", - garbageValue = "1045723499" - ) - @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.field645 == 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 == -1) { - return var11; - } else { - if (var7 != null) { - var11 = var7.transformObjectModel(var11, var8, var2); - } else { - var11 = var11.toSharedSequenceModel(true); - } - - if (this.clipType >= 0) { - var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType); - } - - return var11; - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIB)Ldw;", - garbageValue = "6" - ) - @Export("getModelData") - final ModelData getModelData(int var1, int var2) { - ModelData var3 = null; - boolean var4; - int var5; - int var6; - int var7; - boolean var8; - if (this.field645 == null) { - if (var1 != 10) { - return null; - } - - if (this.field644 == null) { - return null; - } - - var4 = this.isRotated; - if (var1 == 2 && var2 > 3) { - var4 = !var4; - } - - var5 = this.field644.length; - - for (var7 = 0; var7 < var5; ++var7) { - var6 = this.field644[var7]; - if (var4) { - var6 += 65536; - } - - var3 = (ModelData) ObjectDefinition_cachedModelData.get((long)var6); - if (var3 == null) { - var3 = ModelData.method2788(ObjectDefinition_modelsArchive, var6 & 65535, 0); - if (var3 == null) { - return null; - } - - if (var4) { - var3.method214(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var6); - } - - if (var5 > 1) { - field643[var7] = var3; - } - } - - if (var5 > 1) { - var3 = new ModelData(field643, var5); - } - } else { - var7 = -1; - - for (var5 = 0; var5 < this.field645.length; ++var5) { - if (this.field645[var5] == var1) { - var7 = var5; - break; - } - } - - if (var7 == -1) { - return null; - } - - var5 = this.field644[var7]; - var8 = this.isRotated ^ var2 > 3; - if (var8) { - var5 += 65536; - } - - var3 = (ModelData) ObjectDefinition_cachedModelData.get((long)var5); - if (var3 == null) { - var3 = ModelData.method2788(ObjectDefinition_modelsArchive, var5 & 65535, 0); - if (var3 == null) { - return null; - } - - if (var8) { - var3.method214(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var5); - } - } - - if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) { - var4 = false; - } else { - var4 = true; - } - - if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) { - var8 = false; - } else { - var8 = true; - } - - ModelData var9 = new ModelData(var3, var2 == 0 && !var4 && !var8, this.recolorFrom == null, null == this.retextureFrom, true); - if (var1 == 4 && var2 > 3) { - var9.method212(256); - var9.method213(45, 0, -45); - } - - var2 &= 3; - if (var2 == 1) { - var9.method209(); - } else if (var2 == 2) { - var9.method210(); - } else if (var2 == 3) { - var9.method211(); - } - - if (this.recolorFrom != null) { - for (var6 = 0; var6 < this.recolorFrom.length; ++var6) { - var9.recolor(this.recolorFrom[var6], this.recolorTo[var6]); - } - } - - if (this.retextureFrom != null) { - for (var6 = 0; var6 < this.retextureFrom.length; ++var6) { - var9.retexture(this.retextureFrom[var6], this.retextureTo[var6]); - } - } - - if (var4) { - var9.method215(this.modelSizeX, this.modelHeight, this.modelSizeY); - } - - if (var8) { - var9.method213(this.offsetX, this.offsetHeight, this.offsetY); - } - - return var9; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(B)Ljr;", - garbageValue = "-107" - ) - @Export("transform") - public final ObjectDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapSection0.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 ? class50.getObjectDefinition(var2) : null; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "-52" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var3 = this.params; - int var4; - if (var3 == null) { - var4 = var2; - } else { - IntegerNode var5 = (IntegerNode)var3.get((long)var1); - if (var5 == null) { - var4 = var2; - } else { - var4 = var5.integer; - } - } - - return var4; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1961654631" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - return Frames.method3238(this.params, var1, var2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "8470625" - ) - public boolean method233() { - if (this.transforms == null) { - return this.ambientSoundId != -1 || this.field646 != null; - } else { - for (int var1 = 0; var1 < this.transforms.length; ++var1) { - if (this.transforms[var1] != -1) { - ObjectDefinition var2 = class50.getObjectDefinition(this.transforms[var1]); - if (var2.ambientSoundId != -1 || var2.field646 != null) { - return true; - } - } - } - - return false; - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Ljz;", - garbageValue = "-1284680749" - ) - @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("p") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - public static void method5041() { - ItemDefinition.ItemDefinition_cachedSprites.clear(); - } - - static { - ObjectDefinition_isLowDetail = false; - ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); - ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); - ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); - ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); - field643 = new ModelData[4]; - } + @ObfuscatedName("q") + @Export("ObjectDefinition_isLowDetail") + public static boolean ObjectDefinition_isLowDetail; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ObjectDefinition_archive") + public static AbstractArchive ObjectDefinition_archive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ObjectDefinition_modelsArchive") + public static AbstractArchive ObjectDefinition_modelsArchive; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ObjectDefinition_cached") + static EvictingDualNodeHashTable ObjectDefinition_cached; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ObjectDefinition_cachedModelData") + public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ObjectDefinition_cachedEntities") + static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ObjectDefinition_cachedModels") + static EvictingDualNodeHashTable ObjectDefinition_cachedModels; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "[Lds;" + ) + static ModelData[] field3398; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -2068374329 + ) + @Export("id") + public int id; + @ObfuscatedName("f") + int[] field3362; + @ObfuscatedName("m") + int[] field3359; + @ObfuscatedName("u") + @Export("name") + public String name; + @ObfuscatedName("x") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("r") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("v") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("y") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 212808303 + ) + @Export("sizeX") + public int sizeX; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 421587309 + ) + @Export("sizeY") + public int sizeY; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 2015026185 + ) + @Export("interactType") + public int interactType; + @ObfuscatedName("t") + @Export("boolean1") + public boolean boolean1; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -515360821 + ) + @Export("int1") + public int int1; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -708119296 + ) + @Export("clipType") + int clipType; + @ObfuscatedName("n") + @Export("nonFlatShading") + boolean nonFlatShading; + @ObfuscatedName("d") + @Export("modelClipped") + public boolean modelClipped; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -812430179 + ) + @Export("animationId") + public int animationId; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -424786087 + ) + @Export("int2") + public int int2; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -521483261 + ) + @Export("ambient") + int ambient; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -785836155 + ) + @Export("contrast") + int contrast; + @ObfuscatedName("as") + @Export("actions") + public String[] actions; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 1327834339 + ) + @Export("mapIconId") + public int mapIconId; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -118615167 + ) + @Export("mapSceneId") + public int mapSceneId; + @ObfuscatedName("ag") + @Export("isRotated") + boolean isRotated; + @ObfuscatedName("ar") + @Export("clipped") + public boolean clipped; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -106428285 + ) + @Export("modelSizeX") + int modelSizeX; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -535612109 + ) + @Export("modelHeight") + int modelHeight; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1113005599 + ) + @Export("modelSizeY") + int modelSizeY; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -1159375361 + ) + @Export("offsetX") + int offsetX; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 744922465 + ) + @Export("offsetHeight") + int offsetHeight; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1695338293 + ) + @Export("offsetY") + int offsetY; + @ObfuscatedName("ac") + @Export("boolean2") + public boolean boolean2; + @ObfuscatedName("ap") + @Export("isSolid") + boolean isSolid; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -509602785 + ) + @Export("int3") + public int int3; + @ObfuscatedName("aa") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -1303757557 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 1417540859 + ) + @Export("transformVarp") + int transformVarp; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 2125356431 + ) + @Export("ambientSoundId") + public int ambientSoundId; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1963280521 + ) + @Export("int4") + public int int4; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 1234407491 + ) + @Export("int5") + public int int5; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 69509337 + ) + @Export("int6") + public int int6; + @ObfuscatedName("ay") + public int[] field3367; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Lla;" + ) + @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); + field3398 = new ModelData[4]; + } + + ObjectDefinition() { + this.name = "null"; + this.sizeX = 1; + this.sizeY = 1; + this.interactType = 2; + this.boolean1 = true; + this.int1 = -1; + this.clipType = -256; + 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("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-583792962" + ) + @Export("postDecode") + void postDecode() { + if (this.int1 == -1) { + this.int1 = 0; + if (this.field3362 != null && (this.field3359 == null || this.field3359[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("e") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "82" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "2121034762" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.field3362 != null && !ObjectDefinition_isLowDetail) { + var1.offset += 3 * var3; + } else { + this.field3359 = new int[var3]; + this.field3362 = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.field3362[var4] = var1.readUnsignedShort(); + this.field3359[var4] = var1.readUnsignedByte(); + } + } + } + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 5) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.field3362 != null && !ObjectDefinition_isLowDetail) { + var1.offset += var3 * 2; + } else { + this.field3359 = null; + this.field3362 = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.field3362[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.field3367 = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.field3367[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 81) { + this.clipType = var1.readUnsignedByte() * 65536; + } else if (var2 == 82) { + this.mapIconId = var1.readUnsignedShort(); + } else if (var2 == 249) { + this.params = WorldMapArea.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("k") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-672143890" + ) + public final boolean method4589(int var1) { + if (this.field3359 != null) { + for (int var4 = 0; var4 < this.field3359.length; ++var4) { + if (this.field3359[var4] == var1) { + return ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var4] & 65535, 0); + } + } + + return true; + } else if (this.field3362 == null) { + return true; + } else if (var1 != 10) { + return true; + } else { + boolean var2 = true; + + for (int var3 = 0; var3 < this.field3362.length; ++var3) { + var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var3] & 65535, 0); + } + + return var2; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-275510577" + ) + public final boolean method4608() { + if (this.field3362 == null) { + return true; + } else { + boolean var1 = true; + + for (int var2 = 0; var2 < this.field3362.length; ++var2) { + var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var2] & 65535, 0); + } + + return var1; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(II[[IIIIB)Leo;", + garbageValue = "-18" + ) + public final Entity method4591(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.field3359 == 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.field1580 = (short)(this.ambient + 64); + var10.field1577 = (short)(this.contrast * 25 + 768); + var10.method2787(); + var9 = var10; + } + + ObjectDefinition_cachedEntities.put((DualNode)var9, var7); + } + + if (this.nonFlatShading) { + var9 = ((ModelData)var9).method2775(); + } + + if (this.clipType * 256 >= 0) { + if (var9 instanceof Model) { + var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType * 256); + } else if (var9 instanceof ModelData) { + var9 = ((ModelData)var9).method2776(var3, var4, var5, var6, true, this.clipType * 256); + } + } + + return (Entity)var9; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II[[IIIII)Ldm;", + garbageValue = "-1160623337" + ) + @Export("getModel") + public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.field3359 == 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 * 256 >= 0) { + var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType * 256); + } + + return var9; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(II[[IIIILis;IB)Ldm;", + garbageValue = "5" + ) + @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.field3359 == 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 * 256 == -1) { + return var11; + } else { + if (var7 != null) { + var11 = var7.transformObjectModel(var11, var8, var2); + } else { + var11 = var11.toSharedSequenceModel(true); + } + + if (this.clipType * 256 >= 0) { + var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType * 256); + } + + return var11; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)Lds;", + garbageValue = "828225621" + ) + @Export("getModelData") + final ModelData getModelData(int var1, int var2) { + ModelData var3 = null; + boolean var4; + int var5; + int var7; + if (this.field3359 == null) { + if (var1 != 10) { + return null; + } + + if (this.field3362 == null) { + return null; + } + + var4 = this.isRotated; + if (var1 == 2 && var2 > 3) { + var4 = !var4; + } + + var5 = this.field3362.length; + + for (int var6 = 0; var6 < var5; ++var6) { + var7 = this.field3362[var6]; + if (var4) { + var7 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); + if (var3 == null) { + var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var7 & 65535, 0); + if (var3 == null) { + return null; + } + + if (var4) { + var3.method2785(); + } + + ObjectDefinition_cachedModelData.put(var3, (long)var7); + } + + if (var5 > 1) { + field3398[var6] = var3; + } + } + + if (var5 > 1) { + var3 = new ModelData(field3398, var5); + } + } else { + int var9 = -1; + + for (var5 = 0; var5 < this.field3359.length; ++var5) { + if (this.field3359[var5] == var1) { + var9 = var5; + break; + } + } + + if (var9 == -1) { + return null; + } + + var5 = this.field3362[var9]; + boolean var10 = this.isRotated ^ var2 > 3; + if (var10) { + var5 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); + if (var3 == null) { + var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var5 & 65535, 0); + if (var3 == null) { + return null; + } + + if (var10) { + var3.method2785(); + } + + 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, null == this.recolorFrom, this.retextureFrom == null, true); + if (var1 == 4 && var2 > 3) { + var8.method2781(256); + var8.method2782(45, 0, -45); + } + + var2 &= 3; + if (var2 == 1) { + var8.method2778(); + } else if (var2 == 2) { + var8.method2797(); + } else if (var2 == 3) { + var8.method2780(); + } + + 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.method2786(this.modelSizeX, this.modelHeight, this.modelSizeY); + } + + if (var11) { + var8.method2782(this.offsetX, this.offsetHeight, this.offsetY); + } + + return var8; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(B)Liy;", + garbageValue = "45" + ) + @Export("transform") + public final ObjectDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = GrandExchangeOfferOwnWorldComparator.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 ? ViewportMouse.getObjectDefinition(var2) : null; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-291840142" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + IterableNodeHashTable var4 = this.params; + int var3; + if (var4 == null) { + var3 = var2; + } else { + IntegerNode var5 = (IntegerNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = var5.integer; + } + } + + return var3; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;B)Ljava/lang/String;", + garbageValue = "37" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return GrandExchangeOfferWorldComparator.method54(this.params, var1, var2); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-2033078684" + ) + public boolean method4598() { + if (this.transforms == null) { + return this.ambientSoundId != -1 || this.field3367 != null; + } else { + for (int var1 = 0; var1 < this.transforms.length; ++var1) { + if (this.transforms[var1] != -1) { + ObjectDefinition var2 = ViewportMouse.getObjectDefinition(this.transforms[var1]); + if (var2.ambientSoundId != -1 || var2.field3367 != null) { + return true; + } + } + } + + return false; + } + } } diff --git a/runescape-client/src/main/java/ObjectNode.java b/runescape-client/src/main/java/ObjectNode.java index e58c8b133b..9ac74b93a9 100644 --- a/runescape-client/src/main/java/ObjectNode.java +++ b/runescape-client/src/main/java/ObjectNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("fk") +@ObfuscatedName("fx") @Implements("ObjectNode") public class ObjectNode extends Node { - @ObfuscatedName("m") - @Export("obj") - public final Object obj; + @ObfuscatedName("q") + @Export("obj") + public final Object obj; - public ObjectNode(Object var1) { - this.obj = var1; - } + 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 f9a0dde47d..578998b1fd 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -4,125 +4,202 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("be") +@ObfuscatedName("bv") @Implements("ObjectSound") public final class ObjectSound extends Node { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("objectSounds") - static NodeDeque objectSounds; - @ObfuscatedName("dg") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive2") - static Archive archive2; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 647270745 - ) - int field647; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -800464493 - ) - int field648; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -85911525 - ) - int field649; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -211591209 - ) - int field650; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 512258949 - ) - int field651; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1344558633 - ) - int field652; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -731474443 - ) - @Export("soundEffectId") - int soundEffectId; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lds;" - ) - @Export("stream1") - RawPcmStream stream1; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1608400407 - ) - int field653; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1748890449 - ) - int field654; - @ObfuscatedName("k") - @Export("soundEffectIds") - int[] soundEffectIds; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1041508847 - ) - int field655; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lds;" - ) - @Export("stream2") - RawPcmStream stream2; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Ljr;" - ) - @Export("obj") - ObjectDefinition obj; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("objectSounds") + static NodeDeque objectSounds; + @ObfuscatedName("kt") + @ObfuscatedGetter( + intValue = -1438835767 + ) + @Export("menuHeight") + static int menuHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 621824935 + ) + int field1078; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1620734975 + ) + int field1083; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1755977344 + ) + int field1090; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 75852160 + ) + int field1077; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1222659712 + ) + int field1082; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 526073997 + ) + int field1091; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -675228961 + ) + @Export("soundEffectId") + int soundEffectId; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("stream1") + RawPcmStream stream1; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1323025429 + ) + int field1086; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1728328017 + ) + int field1081; + @ObfuscatedName("u") + @Export("soundEffectIds") + int[] soundEffectIds; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 398204327 + ) + int field1089; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Liy;" + ) + @Export("obj") + ObjectDefinition obj; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("stream2") + RawPcmStream stream2; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "585404027" - ) - @Export("set") - void set() { - int var1 = this.soundEffectId; - ObjectDefinition var2 = this.obj.transform(); - if (var2 != null) { - this.soundEffectId = var2.ambientSoundId; - this.field652 = var2.int4 * 128; - this.field653 = var2.int5; - this.field654 = var2.int6; - this.soundEffectIds = var2.field646; - } else { - this.soundEffectId = -1; - this.field652 = 0; - this.field653 = 0; - this.field654 = 0; - this.soundEffectIds = null; - } + static { + objectSounds = new NodeDeque(); + } - if (var1 != this.soundEffectId && this.stream1 != null) { - TaskHandler.pcmStreamMixer.removeSubStream(this.stream1); - this.stream1 = null; - } + ObjectSound() { + } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2146253621" + ) + @Export("set") + void set() { + int var1 = this.soundEffectId; + ObjectDefinition var2 = this.obj.transform(); + if (var2 != null) { + this.soundEffectId = var2.ambientSoundId; + this.field1091 = var2.int4 * 128; + this.field1086 = var2.int5; + this.field1081 = var2.int6; + this.soundEffectIds = var2.field3367; + } else { + this.soundEffectId = -1; + this.field1091 = 0; + this.field1086 = 0; + this.field1081 = 0; + this.soundEffectIds = null; + } - static { - objectSounds = new NodeDeque(); - } + if (var1 != this.soundEffectId && this.stream1 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(this.stream1); + this.stream1 = null; + } + + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIIS)Lcx;", + garbageValue = "17061" + ) + @Export("getWorldMapScript") + static Script getWorldMapScript(int var0, int var1, int var2) { + int var3 = (var1 << 8) + var0; + Script var5 = class49.getWorldMapScript(var3, var0); + if (var5 != null) { + return var5; + } else { + int var4 = GraphicsDefaults.getWorldMapScriptIdCategory(var2, var0); + var5 = class49.getWorldMapScript(var4, var0); + return var5 != null ? var5 : null; + } + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(ILhv;ZB)V", + garbageValue = "22" + ) + static void method1824(int var0, Coord var1, boolean var2) { + WorldMapArea var3 = WorldMapID.getWorldMap().getMapArea(var0); + int var4 = Client.localPlayer.plane; + int var5 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7); + int var6 = class1.baseY * 64 + (Client.localPlayer.y >> 7); + Coord var7 = new Coord(var4, var5, var6); + WorldMapID.getWorldMap().method6315(var3, var7, var1, var2); + } + + @ObfuscatedName("gu") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1435918510" + ) + static final void method1826() { + Client.field767 = 0; + int var0 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7); + int var1 = class1.baseY * 64 + (Client.localPlayer.y >> 7); + if (var0 >= 3053 && var0 <= 3156 && var1 >= 3056 && var1 <= 3136) { + Client.field767 = 1; + } + + if (var0 >= 3072 && var0 <= 3118 && var1 >= 9492 && var1 <= 9535) { + Client.field767 = 1; + } + + if (Client.field767 == 1 && var0 >= 3139 && var0 <= 3199 && var1 >= 3008 && var1 <= 3062) { + Client.field767 = 0; + } + + } + + @ObfuscatedName("kf") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-472154636" + ) + static void method1827() { + if (PendingSpawn.field944 != null) { + Client.field924 = Client.cycle; + PendingSpawn.field944.method4320(); + + for (int var0 = 0; var0 < Client.players.length; ++var0) { + if (Client.players[var0] != null) { + PendingSpawn.field944.method4316(MusicPatchNode2.baseX * 64 + (Client.players[var0].x >> 7), class1.baseY * 64 + (Client.players[var0].y >> 7)); + } + } + } + + } } diff --git a/runescape-client/src/main/java/Occluder.java b/runescape-client/src/main/java/Occluder.java index ea90eddf8e..a73e52cb4e 100644 --- a/runescape-client/src/main/java/Occluder.java +++ b/runescape-client/src/main/java/Occluder.java @@ -4,187 +4,117 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ee") +@ObfuscatedName("eg") @Implements("Occluder") public final class Occluder { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -691483983 - ) - @Export("minTileX") - int minTileX; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -13700523 - ) - @Export("maxTileX") - int maxTileX; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 768402657 - ) - @Export("minTileY") - int minTileY; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1501977891 - ) - @Export("maxTileY") - int maxTileY; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -806776509 - ) - @Export("type") - int type; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1824663821 - ) - @Export("minX") - int minX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -2141305127 - ) - @Export("maxX") - int maxX; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -41239751 - ) - @Export("minZ") - int minZ; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1805075909 - ) - @Export("maxZ") - int maxZ; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 842961497 - ) - @Export("minY") - int minY; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1114046315 - ) - @Export("maxY") - int maxY; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 826041747 - ) - int field656; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -407777817 - ) - int field657; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1324959981 - ) - int field658; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1527021367 - ) - int field659; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -570391007 - ) - int field660; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -373839103 - ) - int field661; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1334433969 - ) - int field662; + @ObfuscatedName("gy") + @ObfuscatedSignature( + signature = "[Lly;" + ) + @Export("crossSprites") + static Sprite[] crossSprites; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 62165825 + ) + @Export("minTileX") + int minTileX; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -469210933 + ) + @Export("maxTileX") + int maxTileX; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1760688667 + ) + @Export("minTileY") + int minTileY; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 830025567 + ) + @Export("maxTileY") + int maxTileY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 414289255 + ) + @Export("type") + int type; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1048961917 + ) + @Export("minX") + int minX; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 425957683 + ) + @Export("maxX") + int maxX; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -876693447 + ) + @Export("minZ") + int minZ; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 2097243889 + ) + @Export("maxZ") + int maxZ; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1445457591 + ) + @Export("minY") + int minY; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 2060107965 + ) + @Export("maxY") + int maxY; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1501659665 + ) + int field1910; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -816168961 + ) + int field1907; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -861104415 + ) + int field1909; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 841128039 + ) + int field1900; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 828344139 + ) + int field1911; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -596652187 + ) + int field1912; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 566478077 + ) + int field1913; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IB)Lia;", - garbageValue = "16" - ) - @Export("getVarbitDefinition") - public static VarbitDefinition getVarbitDefinition(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("w") - @ObfuscatedSignature( - signature = "([BI)Lcg;", - garbageValue = "-1164060583" - ) - @Export("newScript") - static Script newScript(byte[] bytes) { - Script var1 = new Script(); - Buffer var2 = new Buffer(bytes); - var2.index = var2.array.length - 2; - int var3 = var2.readUnsignedShort(); - int var4 = var2.array.length - 2 - var3 - 12; - var2.index = 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.method302(var6); - - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2.readUnsignedShort(); - IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? World.method1759(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.index = 0; - var2.readStringCp1252NullTerminatedOrNull(); - var1.opcodes = new int[var5]; - var1.intOperands = new int[var5]; - var1.stringOperands = new String[var5]; - - for (var7 = 0; var2.index < 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; - } + Occluder() { + } } diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index 2c70890ad6..da87ae854d 100644 --- a/runescape-client/src/main/java/PacketBuffer.java +++ b/runescape-client/src/main/java/PacketBuffer.java @@ -4,227 +4,186 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hx") +@ObfuscatedName("kx") @Implements("PacketBuffer") -public final class PacketBuffer extends Buffer { - @ObfuscatedName("x") - @Export("PacketBuffer_masks") - static final int[] PacketBuffer_masks; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 701739159 - ) - public static int field667; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lhn;" - ) - @Export("isaacCipher") - IsaacCipher isaacCipher; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1048718919 - ) - @Export("bitIndex") - int bitIndex; +public class PacketBuffer extends Buffer { + @ObfuscatedName("w") + static final int[] field3724; + @ObfuscatedName("hd") + @ObfuscatedGetter( + intValue = -1521348339 + ) + @Export("cameraX") + static int cameraX; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Llv;" + ) + @Export("isaacCipher") + IsaacCipher isaacCipher; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1484140069 + ) + @Export("bitIndex") + int bitIndex; - public PacketBuffer(int var1) { - super(var1); - } + static { + field3724 = 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}; + } - @ObfuscatedName("io") - @ObfuscatedSignature( - signature = "([II)V", - garbageValue = "-763699765" - ) - @Export("newIsaacCipher") - public void newIsaacCipher(int[] array) { - this.isaacCipher = new IsaacCipher(array); - } + public PacketBuffer(int var1) { + super(var1); + } - @ObfuscatedName("ih") - @ObfuscatedSignature( - signature = "(Lhn;B)V", - garbageValue = "0" - ) - @Export("setIsaacCipher") - public void setIsaacCipher(IsaacCipher isaacCipher) { - this.isaacCipher = isaacCipher; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([II)V", + garbageValue = "-1645876260" + ) + @Export("newIsaacCipher") + public void newIsaacCipher(int[] var1) { + this.isaacCipher = new IsaacCipher(var1); + } - @ObfuscatedName("im") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "1405" - ) - @Export("writeByteIsaac") - public void writeByteIsaac(int var1) { - super.array[++super.index - 1] = (byte)(var1 + this.isaacCipher.nextInt()); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Llv;B)V", + garbageValue = "102" + ) + @Export("setIsaacCipher") + public void setIsaacCipher(IsaacCipher var1) { + this.isaacCipher = var1; + } - @ObfuscatedName("ii") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1990206702" - ) - @Export("readByteIsaac") - public int readByteIsaac() { - return super.array[++super.index - 1] - this.isaacCipher.nextInt() & 255; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-624366105" + ) + @Export("writeByteIsaac") + public void writeByteIsaac(int var1) { + super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); + } - @ObfuscatedName("ig") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "101" - ) - public boolean method236() { - int var1 = super.array[super.index] - this.isaacCipher.method137() & 255; - return var1 >= 128; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1669588152" + ) + @Export("readByteIsaac") + public int readByteIsaac() { + return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; + } - @ObfuscatedName("ia") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2087071250" - ) - @Export("readSmartByteShortIsaac") - public int readSmartByteShortIsaac() { - int var1 = super.array[++super.index - 1] - this.isaacCipher.nextInt() & 255; - return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.index - 1] - this.isaacCipher.nextInt() & 255); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1288814590" + ) + public boolean method5441() { + int var1 = super.array[super.offset] - this.isaacCipher.method6254() & 255; + return var1 >= 128; + } - @ObfuscatedName("jb") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-1168019189" - ) - public void method237(byte[] var1, int var2, int var3) { - for (int var4 = 0; var4 < var3; ++var4) { - var1[var4 + var2] = (byte)(super.array[++super.index - 1] - this.isaacCipher.nextInt()); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-588340710" + ) + @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("b") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "2009256610" + ) + public void method5443(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("jq") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1207949100" - ) - @Export("importIndex") - public void importIndex() { - this.bitIndex = super.index * 8; - } + } - @ObfuscatedName("jw") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1710439720" - ) - @Export("readBits") - public int readBits(int bits) { - int var2 = this.bitIndex >> 3; - int var3 = 8 - (this.bitIndex & 7); - int var4 = 0; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1671880174" + ) + @Export("importIndex") + public void importIndex() { + this.bitIndex = super.offset * 8; + } - for (this.bitIndex += bits; bits > var3; var3 = 8) { - var4 += (super.array[var2++] & PacketBuffer_masks[var3]) << bits - var3; - bits -= var3; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1296046831" + ) + @Export("readBits") + public int readBits(int var1) { + int var2 = this.bitIndex >> 3; + int var3 = 8 - (this.bitIndex & 7); + int var4 = 0; - if (var3 == bits) { - var4 += super.array[var2] & PacketBuffer_masks[var3]; - } else { - var4 += super.array[var2] >> var3 - bits & PacketBuffer_masks[bits]; - } + for (this.bitIndex += var1; var1 > var3; var3 = 8) { + var4 += (super.array[var2++] & field3724[var3]) << var1 - var3; + var1 -= var3; + } - return var4; - } + if (var3 == var1) { + var4 += super.array[var2] & field3724[var3]; + } else { + var4 += super.array[var2] >> var3 - var1 & field3724[var1]; + } - @ObfuscatedName("jm") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1466909963" - ) - @Export("exportIndex") - public void exportIndex() { - super.index = (this.bitIndex + 7) / 8; - } + return var4; + } - @ObfuscatedName("jr") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-141269845" - ) - @Export("bitsRemaining") - public int bitsRemaining(int index) { - return index * 8 - this.bitIndex; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-100" + ) + @Export("exportIndex") + public void exportIndex() { + super.offset = (this.bitIndex + 7) / 8; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1249956146" - ) - static boolean method4062(int var0, int var1) { - return var0 != 4 || var1 < 8; - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(IS)I", + garbageValue = "4225" + ) + @Export("bitsRemaining") + public int bitsRemaining(int var1) { + return var1 * 8 - this.bitIndex; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lit;IIIBZI)V", - garbageValue = "-1562700981" - ) - @Export("requestNetFile") - static void requestNetFile(Archive archive, int var1, int var2, int var3, byte var4, boolean priority) { - 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 (priority) { - var8.removeDual(); - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingPriorityWritesCount; - } - } else { - if (!priority) { - var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); - if (var8 != null) { - return; - } - } - - var8 = new NetFileRequest(); - var8.archive = archive; - var8.crc = var3; - var8.padding = var4; - if (priority) { - 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("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "587268539" - ) - public static int method4081(int var0, int var1) { - return (var0 + 40000 << 8) + var1; - } - - static { - PacketBuffer_masks = 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}; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lhp;III)Llx;", + garbageValue = "-1232611828" + ) + static IndexedSprite method5474(AbstractArchive var0, int var1, int var2) { + if (!Friend.SpriteBuffer_loadSprite(var0, var1, var2)) { + return null; + } else { + IndexedSprite var4 = new IndexedSprite(); + var4.width = class326.SpriteBuffer_spriteWidth; + var4.height = class326.SpriteBuffer_spriteHeight; + var4.xOffset = Varps.SpriteBuffer_xOffsets[0]; + var4.yOffset = class326.SpriteBuffer_yOffsets[0]; + var4.subWidth = class326.SpriteBuffer_spriteWidths[0]; + var4.subHeight = class216.SpriteBuffer_spriteHeights[0]; + var4.palette = Frames.SpriteBuffer_spritePalette; + var4.pixels = class326.SpriteBuffer_pixels[0]; + class16.method174(); + return var4; + } + } } diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java index 551145d4b0..2f672eed05 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -4,66 +4,593 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gg") +@ObfuscatedName("gb") @Implements("PacketBufferNode") public class PacketBufferNode extends Node { - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "[Lgg;" - ) - @Export("packetBufferNodes") - public static PacketBufferNode[] packetBufferNodes; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1583654139 - ) - public static int field668; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgs;" - ) - public ClientPacket field669; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1433542775 - ) - public int field670; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("packetBuffer") - public PacketBuffer packetBuffer; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -2051819203 - ) - public int field671; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "[Lgb;" + ) + @Export("PacketBufferNode_packetBufferNodes") + public static PacketBufferNode[] PacketBufferNode_packetBufferNodes; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 303821237 + ) + @Export("PacketBufferNode_packetBufferNodeCount") + public static int PacketBufferNode_packetBufferNodeCount; + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "Lht;" + ) + static ServerBuild field2337; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgx;" + ) + @Export("clientPacket") + public ClientPacket clientPacket; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1717799889 + ) + @Export("clientPacketLength") + public int clientPacketLength; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkx;" + ) + @Export("packetBuffer") + public PacketBuffer packetBuffer; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1405793597 + ) + @Export("index") + public int index; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1987685511" - ) - public void method238() { - if (field668 < packetBufferNodes.length) { - packetBufferNodes[++field668 - 1] = this; - } + static { + PacketBufferNode_packetBufferNodes = new PacketBufferNode[300]; + PacketBufferNode_packetBufferNodeCount = 0; + } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-108" + ) + public void method3620() { + if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { + PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; + } + } - @ObfuscatedName("kq") - @ObfuscatedSignature( - signature = "(Lho;I)Z", - garbageValue = "-739353556" - ) - @Export("isComponentHidden") - static boolean isComponentHidden(Widget component) { - return component.isHidden; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "729695552" + ) + @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; + } - static { - packetBufferNodes = new PacketBufferNode[300]; - field668 = 0; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(CLgu;I)C", + garbageValue = "1821592074" + ) + static char method3623(char var0, class190 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 != class190.field2350) { + 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 != class190.field2350) { + 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("gi") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-13305757" + ) + static final void method3628() { + WorldMapElement.method4368(false); + Client.field705 = 0; + boolean var0 = true; + + int var1; + for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) { + if (SecureRandomFuture.regionMapArchiveIds[var1] != -1 && class13.regionLandArchives[var1] == null) { + class13.regionLandArchives[var1] = WorldMapCacheName.archive5.takeFile(SecureRandomFuture.regionMapArchiveIds[var1], 0); + if (class13.regionLandArchives[var1] == null) { + var0 = false; + ++Client.field705; + } + } + + if (WorldMapRectangle.regionLandArchiveIds[var1] != -1 && class80.regionMapArchives[var1] == null) { + class80.regionMapArchives[var1] = WorldMapCacheName.archive5.takeFileEncrypted(WorldMapRectangle.regionLandArchiveIds[var1], 0, WorldMapRegion.xteaKeys[var1]); + if (class80.regionMapArchives[var1] == null) { + var0 = false; + ++Client.field705; + } + } + } + + if (!var0) { + Client.field709 = 1; + } else { + Client.field707 = 0; + var0 = true; + + int var3; + int var4; + for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) { + byte[] var2 = class80.regionMapArchives[var1]; + if (var2 != null) { + var3 = (DirectByteArrayCopier.regions[var1] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var1] & 255) * 64 - class1.baseY * 64; + if (Client.isInInstance) { + var3 = 10; + var4 = 10; + } + + var0 &= Huffman.method3947(var2, var3, var4); + } + } + + if (!var0) { + Client.field709 = 2; + } else { + if (Client.field709 != 0) { + TriBool.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); + } + + class186.playPcmPlayers(); + GrandExchangeOfferWorldComparator.scene.clear(); + + for (var1 = 0; var1 < 4; ++var1) { + Client.collisionMaps[var1].clear(); + } + + int var49; + for (var1 = 0; var1 < 4; ++var1) { + for (var49 = 0; var49 < 104; ++var49) { + for (var3 = 0; var3 < 104; ++var3) { + Tiles.Tiles_renderFlags[var1][var49][var3] = 0; + } + } + } + + class186.playPcmPlayers(); + Tiles.Tiles_minPlane = 99; + Tiles.field504 = new byte[4][104][104]; + Tiles.field505 = new byte[4][104][104]; + Tiles.field506 = new byte[4][104][104]; + class268.field3561 = new byte[4][104][104]; + FaceNormal.field1887 = new int[4][105][105]; + class32.field282 = new byte[4][105][105]; + Tiles.field515 = new int[105][105]; + ServerBuild.field3103 = new int[104]; + Tiles.field508 = new int[104]; + Tiles.field507 = new int[104]; + DynamicObject.field1301 = new int[104]; + Fonts.field3689 = new int[104]; + var1 = class13.regionLandArchives.length; + + for (ObjectSound var55 = (ObjectSound)ObjectSound.objectSounds.last(); var55 != null; var55 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var55.stream1 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream1); + var55.stream1 = null; + } + + if (var55.stream2 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream2); + var55.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + WorldMapElement.method4368(true); + int var6; + int var7; + int var9; + int var10; + int var11; + int var12; + int var51; + if (!Client.isInInstance) { + byte[] var5; + for (var49 = 0; var49 < var1; ++var49) { + var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + var5 = class13.regionLandArchives[var49]; + if (var5 != null) { + class186.playPcmPlayers(); + var6 = Canvas.field418 * 8 - 48; + var7 = ViewportMouse.field1747 * 8 - 48; + CollisionMap[] var8 = Client.collisionMaps; + + for (var9 = 0; var9 < 4; ++var9) { + for (var10 = 0; var10 < 64; ++var10) { + for (var11 = 0; var11 < 64; ++var11) { + if (var3 + var10 > 0 && var10 + var3 < 103 && var11 + var4 > 0 && var11 + var4 < 103) { + int[] var10000 = var8[var9].flags[var3 + var10]; + var10000[var11 + var4] &= -16777217; + } + } + } + } + + Buffer var50 = new Buffer(var5); + + for (var10 = 0; var10 < 4; ++var10) { + for (var11 = 0; var11 < 64; ++var11) { + for (var12 = 0; var12 < 64; ++var12) { + WorldMapLabel.loadTerrain(var50, var10, var3 + var11, var4 + var12, var6, var7, 0); + } + } + } + } + } + + for (var49 = 0; var49 < var1; ++var49) { + var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + var5 = class13.regionLandArchives[var49]; + if (var5 == null && ViewportMouse.field1747 < 800) { + class186.playPcmPlayers(); + Players.method2092(var3, var4, 64, 64); + } + } + + WorldMapElement.method4368(true); + + for (var49 = 0; var49 < var1; ++var49) { + byte[] var53 = class80.regionMapArchives[var49]; + if (var53 != null) { + var4 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64; + var51 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64; + class186.playPcmPlayers(); + AbstractByteArrayCopier.method3933(var53, var4, var51, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); + } + } + } + + int var52; + if (Client.isInInstance) { + for (var49 = 0; var49 < 4; ++var49) { + class186.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + for (var4 = 0; var4 < 13; ++var4) { + boolean var56 = false; + var6 = Client.instanceChunkTemplates[var49][var3][var4]; + if (var6 != -1) { + var7 = var6 >> 24 & 3; + var52 = var6 >> 1 & 3; + var9 = var6 >> 14 & 1023; + var10 = var6 >> 3 & 2047; + var11 = (var9 / 8 << 8) + var10 / 8; + + for (var12 = 0; var12 < DirectByteArrayCopier.regions.length; ++var12) { + if (DirectByteArrayCopier.regions[var12] == var11 && class13.regionLandArchives[var12] != null) { + ScriptFrame.method1088(class13.regionLandArchives[var12], var49, var3 * 8, var4 * 8, var7, (var9 & 7) * 8, (var10 & 7) * 8, var52, Client.collisionMaps); + var56 = true; + break; + } + } + } + + if (!var56) { + var7 = var49; + var52 = var3 * 8; + var9 = var4 * 8; + + for (var10 = 0; var10 < 8; ++var10) { + for (var11 = 0; var11 < 8; ++var11) { + Tiles.Tiles_heights[var7][var52 + var10][var11 + var9] = 0; + } + } + + if (var52 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var52][var9 + var10] = Tiles.Tiles_heights[var7][var52 - 1][var9 + var10]; + } + } + + if (var9 > 0) { + for (var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var7][var52 + var10][var9] = Tiles.Tiles_heights[var7][var52 + var10][var9 - 1]; + } + } + + if (var52 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9]; + } else if (var9 > 0 && Tiles.Tiles_heights[var7][var52][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52][var9 - 1]; + } else if (var52 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9 - 1] != 0) { + Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9 - 1]; + } + } + } + } + } + + for (var49 = 0; var49 < 13; ++var49) { + for (var3 = 0; var3 < 13; ++var3) { + var4 = Client.instanceChunkTemplates[0][var49][var3]; + if (var4 == -1) { + Players.method2092(var49 * 8, var3 * 8, 8, 8); + } + } + } + + WorldMapElement.method4368(true); + + for (var49 = 0; var49 < 4; ++var49) { + class186.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + label447: + for (var4 = 0; var4 < 13; ++var4) { + var51 = Client.instanceChunkTemplates[var49][var3][var4]; + if (var51 != -1) { + var6 = var51 >> 24 & 3; + var7 = var51 >> 1 & 3; + var52 = var51 >> 14 & 1023; + var9 = var51 >> 3 & 2047; + var10 = (var52 / 8 << 8) + var9 / 8; + + for (var11 = 0; var11 < DirectByteArrayCopier.regions.length; ++var11) { + if (DirectByteArrayCopier.regions[var11] == var10 && class80.regionMapArchives[var11] != null) { + byte[] var54 = class80.regionMapArchives[var11]; + int var13 = var3 * 8; + int var14 = var4 * 8; + int var15 = (var52 & 7) * 8; + int var16 = (var9 & 7) * 8; + Scene var17 = GrandExchangeOfferWorldComparator.scene; + CollisionMap[] var18 = Client.collisionMaps; + Buffer var19 = new Buffer(var54); + int var20 = -1; + + while (true) { + int var21 = var19.method5509(); + if (var21 == 0) { + continue label447; + } + + var20 += var21; + int var22 = 0; + + while (true) { + int var23 = var19.readUShortSmart(); + if (var23 == 0) { + break; + } + + var22 += var23 - 1; + int var24 = var22 & 63; + int var25 = var22 >> 6 & 63; + int var26 = var22 >> 12; + int var27 = var19.readUnsignedByte(); + int var28 = var27 >> 2; + int var29 = var27 & 3; + if (var6 == var26 && var25 >= var15 && var25 < var15 + 8 && var24 >= var16 && var24 < var16 + 8) { + ObjectDefinition var30 = ViewportMouse.getObjectDefinition(var20); + int var33 = var25 & 7; + int var34 = var24 & 7; + int var36 = var30.sizeX; + int var37 = var30.sizeY; + int var38; + if ((var29 & 1) == 1) { + var38 = var36; + var36 = var37; + var37 = var38; + } + + int var35 = var7 & 3; + int var32; + if (var35 == 0) { + var32 = var33; + } else if (var35 == 1) { + var32 = var34; + } else if (var35 == 2) { + var32 = 7 - var33 - (var36 - 1); + } else { + var32 = 7 - var34 - (var37 - 1); + } + + var38 = var32 + var13; + int var41 = var25 & 7; + int var42 = var24 & 7; + int var44 = var30.sizeX; + int var45 = var30.sizeY; + int var46; + if ((var29 & 1) == 1) { + var46 = var44; + var44 = var45; + var45 = var46; + } + + int var43 = var7 & 3; + int var40; + if (var43 == 0) { + var40 = var42; + } else if (var43 == 1) { + var40 = 7 - var41 - (var44 - 1); + } else if (var43 == 2) { + var40 = 7 - var42 - (var45 - 1); + } else { + var40 = var41; + } + + var46 = var40 + var14; + if (var38 > 0 && var46 > 0 && var38 < 103 && var46 < 103) { + int var47 = var49; + if ((Tiles.Tiles_renderFlags[1][var38][var46] & 2) == 2) { + var47 = var49 - 1; + } + + CollisionMap var48 = null; + if (var47 >= 0) { + var48 = var18[var47]; + } + + GrandExchangeOfferOwnWorldComparator.method1236(var49, var38, var46, var20, var29 + var7 & 3, var28, var17, var48); + } + } + } + } + } + } + } + } + } + } + } + + WorldMapElement.method4368(true); + class186.playPcmPlayers(); + GrandExchangeEvents.method72(GrandExchangeOfferWorldComparator.scene, Client.collisionMaps); + WorldMapElement.method4368(true); + var49 = Tiles.Tiles_minPlane; + if (var49 > class42.plane) { + var49 = class42.plane; + } + + if (var49 < class42.plane - 1) { + var49 = class42.plane - 1; + } + + if (Client.isLowDetail) { + GrandExchangeOfferWorldComparator.scene.init(Tiles.Tiles_minPlane); + } else { + GrandExchangeOfferWorldComparator.scene.init(0); + } + + for (var3 = 0; var3 < 104; ++var3) { + for (var4 = 0; var4 < 104; ++var4) { + GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); + } + } + + class186.playPcmPlayers(); + + for (PendingSpawn var57 = (PendingSpawn)Client.pendingSpawns.last(); var57 != null; var57 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var57.hitpoints == -1) { + var57.delay = 0; + class294.method5327(var57); + } else { + var57.remove(); + } + } + + ObjectDefinition.ObjectDefinition_cachedModelData.clear(); + PacketBufferNode var58; + if (WorldMapSprite.client.hasFrame()) { + var58 = Archive.method4265(ClientPacket.field2212, Client.packetWriter.isaacCipher); + var58.packetBuffer.writeInt(1057001181); + Client.packetWriter.method2219(var58); + } + + if (!Client.isInInstance) { + var3 = (Canvas.field418 - 6) / 8; + var4 = (Canvas.field418 + 6) / 8; + var51 = (ViewportMouse.field1747 - 6) / 8; + var6 = (ViewportMouse.field1747 + 6) / 8; + + for (var7 = var3 - 1; var7 <= var4 + 1; ++var7) { + for (var52 = var51 - 1; var52 <= var6 + 1; ++var52) { + if (var7 < var3 || var7 > var4 || var52 < var51 || var52 > var6) { + WorldMapCacheName.archive5.loadRegionFromName("m" + var7 + "_" + var52); + WorldMapCacheName.archive5.loadRegionFromName("l" + var7 + "_" + var52); + } + } + } + } + + class96.updateGameState(30); + class186.playPcmPlayers(); + KeyHandler.method787(); + var58 = Archive.method4265(ClientPacket.field2279, Client.packetWriter.isaacCipher); + Client.packetWriter.method2219(var58); + WallDecoration.method3291(); + } + } + } } diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index a3cd746e9c..85898d2f89 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -5,192 +5,242 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cl") +@ObfuscatedName("cg") @Implements("PacketWriter") public class PacketWriter { - @ObfuscatedName("pg") - @ObfuscatedSignature( - signature = "Lkv;" - ) - @Export("clanChat") - static ClanChat clanChat; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfu;" - ) - @Export("socket") - AbstractSocket socket; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lja;" - ) - @Export("packetBufferNodes") - IterableNodeDeque packetBufferNodes; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1028046199 - ) - int field672; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgr;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lhn;" - ) - @Export("isaacCipher") - public IsaacCipher isaacCipher; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("packetBuffer") - PacketBuffer packetBuffer; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lge;" - ) - @Export("serverPacket0") - ServerPacket serverPacket0; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1986766063 - ) - @Export("serverPacket0Length") - int serverPacket0Length; - @ObfuscatedName("e") - boolean field673; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 120570975 - ) - int field674; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1672229609 - ) - int field675; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lge;" - ) - ServerPacket field676; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lge;" - ) - ServerPacket field677; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lge;" - ) - ServerPacket field678; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("socket") + AbstractSocket socket; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lju;" + ) + @Export("packetBufferNodes") + IterableNodeDeque packetBufferNodes; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1004294931 + ) + @Export("bufferSize") + int bufferSize; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("buffer") + Buffer buffer; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Llv;" + ) + @Export("isaacCipher") + public IsaacCipher isaacCipher; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lkx;" + ) + @Export("packetBuffer") + PacketBuffer packetBuffer; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgc;" + ) + @Export("serverPacket") + ServerPacket serverPacket; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1529475721 + ) + @Export("serverPacketLength") + int serverPacketLength; + @ObfuscatedName("c") + boolean field1322; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1922577877 + ) + int field1318; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1793928125 + ) + int field1319; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgc;" + ) + ServerPacket field1309; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgc;" + ) + ServerPacket field1321; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgc;" + ) + ServerPacket field1317; - PacketWriter() { - this.packetBufferNodes = new IterableNodeDeque(); - this.field672 = 0; - this.buffer = new Buffer(5000); - this.packetBuffer = new PacketBuffer(40000); - this.serverPacket0 = null; - this.serverPacket0Length = 0; - this.field673 = true; - this.field674 = 0; - this.field675 = 0; - } + 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.field1322 = true; + this.field1318 = 0; + this.field1319 = 0; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1561094077" - ) - final void method239() { - this.packetBufferNodes.clear(); - this.field672 = 0; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "19166064" + ) + final void method2218() { + this.packetBufferNodes.clear(); + this.bufferSize = 0; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1839929685" - ) - final void method240() throws IOException { - if (this.socket != null && this.field672 > 0) { - this.buffer.index = 0; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "294803591" + ) + final void method2234() 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.field671 > this.buffer.array.length - this.buffer.index) { - this.socket.write(this.buffer.array, 0, this.buffer.index); - this.field675 = 0; - break; - } + 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.field1319 = 0; + break; + } - this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.field671); - this.field672 -= var1.field671; - var1.remove(); - var1.packetBuffer.method36(); - var1.method238(); - } - } + this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); + this.bufferSize -= var1.index; + var1.remove(); + var1.packetBuffer.method5477(); + var1.method3620(); + } + } - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgg;I)V", - garbageValue = "599379248" - ) - public final void method241(PacketBufferNode var1) { - this.packetBufferNodes.addFirst(var1); - var1.field671 = var1.packetBuffer.index; - var1.packetBuffer.index = 0; - this.field672 += var1.field671; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lgb;I)V", + garbageValue = "2067459847" + ) + public final void method2219(PacketBufferNode var1) { + this.packetBufferNodes.addFirst(var1); + var1.index = var1.packetBuffer.offset; + var1.packetBuffer.offset = 0; + this.bufferSize += var1.index; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lfu;B)V", - garbageValue = "111" - ) - @Export("setSocket") - void setSocket(AbstractSocket socket) { - this.socket = socket; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lky;I)V", + garbageValue = "242555588" + ) + @Export("setSocket") + void setSocket(AbstractSocket var1) { + this.socket = var1; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2060019267" - ) - @Export("close") - void close() { - if (this.socket != null) { - this.socket.close(); - this.socket = null; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "-14154" + ) + @Export("close") + void close() { + if (this.socket != null) { + this.socket.close(); + this.socket = null; + } - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "120" - ) - @Export("removeSocket") - void removeSocket() { - this.socket = null; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "94" + ) + @Export("removeSocket") + void removeSocket() { + this.socket = null; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Lfu;", - garbageValue = "1161554709" - ) - @Export("getSocket") - AbstractSocket getSocket() { - return this.socket; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(S)Lky;", + garbageValue = "-14430" + ) + @Export("getSocket") + AbstractSocket getSocket() { + return this.socket; + } + + @ObfuscatedName("gs") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-107" + ) + static final void method2245() { + for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { + if (var0.plane == class42.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 >= 0 && var1.y < 13312) { + var0.setDestination(var1.x, var1.y, ScriptEvent.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + if (var0.targetIndex < 0) { + int var2 = -var0.targetIndex - 1; + Player var3; + if (var2 == Client.localPlayerIndex) { + var3 = Client.localPlayer; + } else { + var3 = Client.players[var2]; + } + + if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) { + var0.setDestination(var3.x, var3.y, ScriptEvent.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + var0.advance(Client.field718); + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); + } + } else { + var0.remove(); + } + } + + } + + @ObfuscatedName("it") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-1368328511" + ) + static boolean method2244(int var0) { + for (int var1 = 0; var1 < Client.field754; ++var1) { + if (Client.field921[var1] == var0) { + return true; + } + } + + return false; + } } diff --git a/runescape-client/src/main/java/ParamDefinition.java b/runescape-client/src/main/java/ParamDefinition.java index dc7c2c46d0..4b4b7ce650 100644 --- a/runescape-client/src/main/java/ParamDefinition.java +++ b/runescape-client/src/main/java/ParamDefinition.java @@ -4,395 +4,142 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jb") +@ObfuscatedName("ie") @Implements("ParamDefinition") public class ParamDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("ParamDefinition_archive") - public static AbstractArchive ParamDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("ParamDefinition_cached") - static EvictingDualNodeHashTable ParamDefinition_cached; - @ObfuscatedName("q") - @Export("type") - char type; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1133042753 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("o") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("u") - @Export("autoDisable") - boolean autoDisable; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ParamDefinition_archive") + static AbstractArchive ParamDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("ParamDefinition_cached") + static EvictingDualNodeHashTable ParamDefinition_cached; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1398808155 + ) + @Export("canvasHeight") + public static int canvasHeight; + @ObfuscatedName("e") + @Export("type") + char type; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -956924169 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("k") + @Export("defaultStr") + public String defaultStr; + @ObfuscatedName("l") + @Export("autoDisable") + boolean autoDisable; - ParamDefinition() { - this.autoDisable = true; - } + static { + ParamDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "121" - ) - @Export("postDecode") - void postDecode() { - } + ParamDefinition() { + this.autoDisable = true; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-975533635" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-67" + ) + @Export("postDecode") + void postDecode() { + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "-1" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "1664350313" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.type = class14.method171(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(); - } + this.decodeNext(var1, var2); + } + } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "506424646" + ) + @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)); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1897943299" - ) - @Export("isString") - public boolean isString() { - return this.type == 's'; - } + if (var5 >= 128 && var5 < 160) { + char var6 = class288.cp1252AsciiExtension[var5 - 128]; + if (var6 == 0) { + var6 = '?'; + } - @ObfuscatedName("hs") - @ObfuscatedSignature( - signature = "(IIIIIIII)V", - garbageValue = "-904254947" - ) - @Export("addPendingSpawnToScene") - static final void addPendingSpawnToScene(int plane, int objectType, int x, int y, int id, int orientation, int var6) { - if (x >= 1 && y >= 1 && x <= 102 && y <= 102) { - if (Client.isLowDetail && plane != SoundSystem.plane) { - return; - } + var5 = var6; + } - long var7 = 0L; - boolean var9 = true; - boolean var10 = false; - boolean var11 = false; - if (objectType == 0) { - var7 = class65.scene.getBoundaryObjectTag(plane, x, y); - } + 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(); + } - if (objectType == 1) { - var7 = class65.scene.getWallDecorationTag(plane, x, y); - } + } - if (objectType == 2) { - var7 = class65.scene.getGameObjectTag(plane, x, y); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "715128499" + ) + @Export("isString") + public boolean isString() { + return this.type == 's'; + } - if (objectType == 3) { - var7 = class65.scene.getFloorDecorationTag(plane, x, y); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lin;", + garbageValue = "1544024361" + ) + @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)); + } - int var12; - if (0L != var7) { - var12 = class65.scene.getObjectFlags(plane, x, y, var7); - int var13 = HitSplatDefinition.method4972(var7); - int var14 = var12 & 31; - int var15 = var12 >> 6 & 3; - ObjectDefinition var16; - if (objectType == 0) { - class65.scene.removeBoundaryObject(plane, x, y); - var16 = class50.getObjectDefinition(var13); - if (var16.interactType != 0) { - Client.collisionMaps[plane].method95(x, y, var14, var15, var16.boolean1); - } - } - - if (objectType == 1) { - class65.scene.removeWallDecoration(plane, x, y); - } - - if (objectType == 2) { - class65.scene.method288(plane, x, y); - var16 = class50.getObjectDefinition(var13); - if (x + var16.sizeX > 103 || y + var16.sizeX > 103 || x + var16.sizeY > 103 || y + var16.sizeY > 103) { - return; - } - - if (var16.interactType != 0) { - Client.collisionMaps[plane].method96(x, y, var16.sizeX, var16.sizeY, var15, var16.boolean1); - } - } - - if (objectType == 3) { - class65.scene.removeFloorDecoration(plane, x, y); - var16 = class50.getObjectDefinition(var13); - if (var16.interactType == 1) { - Client.collisionMaps[plane].method98(x, y); - } - } - } - - if (id >= 0) { - var12 = plane; - if (plane < 3 && (Tiles.Tiles_renderFlags[1][x][y] & 2) == 2) { - var12 = plane + 1; - } - - Scene var36 = class65.scene; - CollisionMap var37 = Client.collisionMaps[plane]; - ObjectDefinition var38 = class50.getObjectDefinition(id); - int var17; - int var39; - if (orientation != 1 && orientation != 3) { - var17 = var38.sizeX; - var39 = var38.sizeY; - } else { - var17 = var38.sizeY; - var39 = var38.sizeX; - } - - int var18; - int var19; - if (var17 + x <= 104) { - var18 = (var17 >> 1) + x; - var19 = x + (var17 + 1 >> 1); - } else { - var18 = x; - var19 = x + 1; - } - - int var20; - int var21; - if (y + var39 <= 104) { - var20 = y + (var39 >> 1); - var21 = y + (var39 + 1 >> 1); - } else { - var20 = y; - var21 = y + 1; - } - - int[][] var22 = Tiles.Tiles_heights[var12]; - int var23 = var22[var18][var21] + var22[var19][var20] + var22[var18][var20] + var22[var19][var21] >> 2; - int var24 = (x << 7) + (var17 << 6); - int var25 = (y << 7) + (var39 << 6); - long var26 = FontName.calculateTag(x, y, 2, var38.int1 == 0, id); - int var28 = (orientation << 6) + var6; - if (var38.int3 == 1) { - var28 += 256; - } - - Object var29; - if (var6 == 22) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(22, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 22, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newFloorDecoration(plane, x, y, var23, (Entity)var29, var26, var28); - if (var38.interactType == 1) { - var37.method93(x, y); - } - } else if (var6 != 10 && var6 != 11) { - if (var6 >= 12) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(var6, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, var6, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.method284(plane, x, y, var23, 1, 1, (Entity)var29, 0, var26, var28); - if (var38.interactType != 0) { - var37.method91(x, y, var17, var39, var38.boolean1); - } - } else if (var6 == 0) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(0, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 0, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field911[orientation], 0, var26, var28); - if (var38.interactType != 0) { - var37.method90(x, y, var6, orientation, var38.boolean1); - } - } else if (var6 == 1) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(1, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 1, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field912[orientation], 0, var26, var28); - if (var38.interactType != 0) { - var37.method90(x, y, var6, orientation, var38.boolean1); - } - } else { - int var30; - Object var31; - if (var6 == 2) { - var30 = orientation + 1 & 3; - Object var32; - if (var38.animationId == -1 && var38.transforms == null) { - var31 = var38.getModel(2, orientation + 4, var22, var24, var23, var25); - var32 = var38.getModel(2, var30, var22, var24, var23, var25); - } else { - var31 = new DynamicObject(id, 2, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null); - var32 = new DynamicObject(id, 2, var30, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newBoundaryObject(plane, x, y, var23, (Entity)var31, (Entity)var32, Tiles.field911[orientation], Tiles.field911[var30], var26, var28); - if (var38.interactType != 0) { - var37.method90(x, y, var6, orientation, var38.boolean1); - } - } else if (var6 == 3) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(3, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 3, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newBoundaryObject(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field912[orientation], 0, var26, var28); - if (var38.interactType != 0) { - var37.method90(x, y, var6, orientation, var38.boolean1); - } - } else if (var6 == 9) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(var6, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, var6, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.method284(plane, x, y, var23, 1, 1, (Entity)var29, 0, var26, var28); - if (var38.interactType != 0) { - var37.method91(x, y, var17, var39, var38.boolean1); - } - } else if (var6 == 4) { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(4, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 4, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newWallDecoration(plane, x, y, var23, (Entity)var29, (Entity)null, Tiles.field911[orientation], 0, 0, 0, var26, var28); - } else { - long var40; - if (var6 == 5) { - var30 = 16; - var40 = var36.getBoundaryObjectTag(plane, x, y); - if (var40 != 0L) { - var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2; - } - - if (var38.animationId == -1 && var38.transforms == null) { - var31 = var38.getModel(4, orientation, var22, var24, var23, var25); - } else { - var31 = new DynamicObject(id, 4, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)null, Tiles.field911[orientation], 0, var30 * Tiles.field913[orientation], var30 * Tiles.field914[orientation], var26, var28); - } else if (var6 == 6) { - var30 = 8; - var40 = var36.getBoundaryObjectTag(plane, x, y); - if (var40 != 0L) { - var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2 / 2; - } - - if (var38.animationId == -1 && var38.transforms == null) { - var31 = var38.getModel(4, orientation + 4, var22, var24, var23, var25); - } else { - var31 = new DynamicObject(id, 4, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)null, 256, orientation, var30 * Tiles.field915[orientation], var30 * Tiles.field916[orientation], var26, var28); - } else { - int var34; - if (var6 == 7) { - var34 = orientation + 2 & 3; - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(4, var34 + 4, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 4, var34 + 4, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newWallDecoration(plane, x, y, var23, (Entity)var29, (Entity)null, 256, var34, 0, 0, var26, var28); - } else if (var6 == 8) { - var30 = 8; - var40 = var36.getBoundaryObjectTag(plane, x, y); - if (var40 != 0L) { - var30 = class50.getObjectDefinition(HitSplatDefinition.method4972(var40)).int2 / 2; - } - - var34 = orientation + 2 & 3; - Object var35; - if (var38.animationId == -1 && var38.transforms == null) { - var31 = var38.getModel(4, orientation + 4, var22, var24, var23, var25); - var35 = var38.getModel(4, var34 + 4, var22, var24, var23, var25); - } else { - var31 = new DynamicObject(id, 4, orientation + 4, var12, x, y, var38.animationId, true, (Entity)null); - var35 = new DynamicObject(id, 4, var34 + 4, var12, x, y, var38.animationId, true, (Entity)null); - } - - var36.newWallDecoration(plane, x, y, var23, (Entity)var31, (Entity)var35, 256, orientation, var30 * Tiles.field915[orientation], var30 * Tiles.field916[orientation], var26, var28); - } - } - } - } - } else { - if (var38.animationId == -1 && var38.transforms == null) { - var29 = var38.getModel(10, orientation, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(id, 10, orientation, var12, x, y, var38.animationId, true, (Entity)null); - } - - if (var29 != null) { - var36.method284(plane, x, y, var23, var17, var39, (Entity)var29, var6 == 11 ? 256 : 0, var26, var28); - } - - if (var38.interactType != 0) { - var37.method91(x, y, var17, var39, var38.boolean1); - } - } - } - } - - } - - static { - ParamDefinition_cached = new EvictingDualNodeHashTable(64); - } + var1.postDecode(); + StructDefinition.StructDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index ef333e2f0f..41ec0aadd4 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -4,467 +4,510 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("co") +@ObfuscatedName("dn") @Implements("PcmPlayer") public class PcmPlayer { - @ObfuscatedName("u") - @Export("isStereo") - protected static boolean isStereo; - @ObfuscatedName("i") - @Export("samples") - protected int[] samples; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Ldc;" - ) - @Export("stream") - PcmStream stream; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1125788887 - ) - int field680; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -8124323644430480811L - ) - @Export("timeMs") - long timeMs; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1671644011 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 951871565 - ) - @Export("frequency") - int frequency; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1907203055 - ) - int field681; - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = -200656835998283411L - ) - @Export("retryTimeMs") - long retryTimeMs; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 48658021 - ) - int field682; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1624619697 - ) - int field683; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1586398263 - ) - @Export("nextPosition") - int nextPosition; - @ObfuscatedName("p") - @ObfuscatedGetter( - longValue = -8188447292076890879L - ) - long field684; - @ObfuscatedName("v") - boolean field685; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -645495803 - ) - int field686; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "[Ldc;" - ) - PcmStream[] field687; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "[Ldc;" - ) - PcmStream[] field688; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1278180609 + ) + @Export("pcmPlayerCount") + static int pcmPlayerCount; + @ObfuscatedName("r") + @Export("samples") + protected int[] samples; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldx;" + ) + @Export("stream") + PcmStream stream; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1475444063 + ) + int field1406; + @ObfuscatedName("g") + @ObfuscatedGetter( + longValue = -1948698164081779065L + ) + @Export("timeMs") + long timeMs; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1789796573 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1737413085 + ) + int field1414; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1691943703 + ) + int field1413; + @ObfuscatedName("h") + @ObfuscatedGetter( + longValue = -7968110108619228373L + ) + long field1416; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 2131398703 + ) + int field1417; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 586161719 + ) + int field1418; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1508308009 + ) + int field1419; + @ObfuscatedName("s") + @ObfuscatedGetter( + longValue = -2950449123303085351L + ) + long field1420; + @ObfuscatedName("z") + boolean field1421; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 550758429 + ) + int field1423; + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "[Ldx;" + ) + PcmStream[] field1426; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "[Ldx;" + ) + PcmStream[] field1425; - protected PcmPlayer() { - this.field680 = 32; - this.timeMs = class203.currentTimeMs(); - this.retryTimeMs = 0L; - this.field682 = 0; - this.field683 = 0; - this.nextPosition = 0; - this.field684 = 0L; - this.field685 = true; - this.field686 = 0; - this.field687 = new PcmStream[8]; - this.field688 = new PcmStream[8]; - } + protected PcmPlayer() { + this.field1406 = 32; + this.timeMs = DirectByteArrayCopier.currentTimeMs(); + this.field1416 = 0L; + this.field1417 = 0; + this.field1418 = 0; + this.field1419 = 0; + this.field1420 = 0L; + this.field1421 = true; + this.field1423 = 0; + this.field1426 = new PcmStream[8]; + this.field1425 = new PcmStream[8]; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "949670609" - ) - @Export("init") - protected void init() throws Exception { - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1518489339" + ) + protected void init() throws Exception { + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1738349775" - ) - @Export("open") - protected void open(int bufferSize) throws Exception { - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "2" + ) + protected void open(int var1) throws Exception { + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("position") - protected int position() throws Exception { - return this.capacity; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "97" + ) + @Export("position") + protected int position() throws Exception { + return this.capacity; + } - @ObfuscatedName("w") - @Export("write") - protected void write() throws Exception { - } + @ObfuscatedName("p") + protected void write() throws Exception { + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "244995961" - ) - @Export("close") - protected void close() { - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "57" + ) + @Export("close") + protected void close() { + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-191421600" - ) - @Export("discard") - protected void discard() throws Exception { - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-313753219" + ) + @Export("discard") + protected void discard() throws Exception { + } - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ldc;I)V", - garbageValue = "2106357590" - ) - @Export("setStream") - public final synchronized void setStream(PcmStream stream) { - this.stream = stream; - } + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(Ldx;I)V", + garbageValue = "750974673" + ) + @Export("setStream") + public final synchronized void setStream(PcmStream var1) { + this.stream = var1; + } - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "453523469" - ) - @Export("run") - public final synchronized void run() { - if (this.samples != null) { - long var1 = class203.currentTimeMs(); + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1453359051" + ) + @Export("run") + public final synchronized void run() { + if (this.samples != null) { + long var1 = DirectByteArrayCopier.currentTimeMs(); - try { - if (0L != this.retryTimeMs) { - if (var1 < this.retryTimeMs) { - return; - } + try { + if (0L != this.field1416) { + if (var1 < this.field1416) { + return; + } - this.open(this.capacity); - this.retryTimeMs = 0L; - this.field685 = true; - } + this.open(this.capacity); + this.field1416 = 0L; + this.field1421 = true; + } - int var3 = this.position(); - if (this.nextPosition - var3 > this.field682) { - this.field682 = this.nextPosition - var3; - } + int var3 = this.position(); + if (this.field1419 - var3 > this.field1417) { + this.field1417 = this.field1419 - var3; + } - int var4 = this.field681 + this.frequency; - if (var4 + 256 > 16384) { - var4 = 16128; - } + int var4 = this.field1413 + this.field1414; + if (var4 + 256 > 16384) { + var4 = 16128; + } - if (var4 + 256 > this.capacity) { - this.capacity += 1024; - if (this.capacity > 16384) { - this.capacity = 16384; - } + if (var4 + 256 > this.capacity) { + this.capacity += 1024; + if (this.capacity > 16384) { + this.capacity = 16384; + } - this.close(); - this.open(this.capacity); - var3 = 0; - this.field685 = true; - if (var4 + 256 > this.capacity) { - var4 = this.capacity - 256; - this.field681 = var4 - this.frequency; - } - } + this.close(); + this.open(this.capacity); + var3 = 0; + this.field1421 = true; + if (var4 + 256 > this.capacity) { + var4 = this.capacity - 256; + this.field1413 = var4 - this.field1414; + } + } - while (var3 < var4) { - this.fill(this.samples, 256); - this.write(); - var3 += 256; - } + while (var3 < var4) { + this.fill(this.samples, 256); + this.write(); + var3 += 256; + } - if (var1 > this.field684) { - if (!this.field685) { - if (this.field682 == 0 && this.field683 == 0) { - this.close(); - this.retryTimeMs = 2000L + var1; - return; - } + if (var1 > this.field1420) { + if (!this.field1421) { + if (this.field1417 == 0 && this.field1418 == 0) { + this.close(); + this.field1416 = 2000L + var1; + return; + } - this.field681 = Math.min(this.field683, this.field682); - this.field683 = this.field682; - } else { - this.field685 = false; - } + this.field1413 = Math.min(this.field1418, this.field1417); + this.field1418 = this.field1417; + } else { + this.field1421 = false; + } - this.field682 = 0; - this.field684 = 2000L + var1; - } + this.field1417 = 0; + this.field1420 = 2000L + var1; + } - this.nextPosition = var3; - } catch (Exception var6) { - this.close(); - this.retryTimeMs = var1 + 2000L; - } + this.field1419 = var3; + } catch (Exception var7) { + this.close(); + this.field1416 = var1 + 2000L; + } - try { - if (var1 > this.timeMs + 500000L) { - var1 = this.timeMs; - } + try { + if (var1 > 500000L + this.timeMs) { + var1 = this.timeMs; + } - while (var1 > 5000L + this.timeMs) { - this.skip(256); - this.timeMs += (long)(256000 / class309.PcmPlayer_sampleRate); - } - } catch (Exception var5) { - this.timeMs = var1; - } - } + while (var1 > 5000L + this.timeMs) { + this.skip(256); + this.timeMs += (long)(256000 / CollisionMap.PcmPlayer_sampleRate); + } + } catch (Exception var6) { + this.timeMs = var1; + } - } + } + } - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-922069005" - ) - public final void method242() { - this.field685 = true; - } + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-42" + ) + public final void method2407() { + this.field1421 = true; + } - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "50" - ) - @Export("tryDiscard") - public final synchronized void tryDiscard() { - this.field685 = true; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1267599868" + ) + @Export("tryDiscard") + public final synchronized void tryDiscard() { + this.field1421 = true; - try { - this.discard(); - } catch (Exception var2) { - this.close(); - this.retryTimeMs = class203.currentTimeMs() + 2000L; - } + try { + this.discard(); + } catch (Exception var2) { + this.close(); + this.field1416 = DirectByteArrayCopier.currentTimeMs() + 2000L; + } - } + } - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "300201744" - ) - @Export("shutdown") - public final synchronized void shutdown() { - if (Messages.soundSystem != null) { - boolean var1 = true; + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + @Export("shutdown") + public final synchronized void shutdown() { + if (SecureRandomFuture.soundSystem != null) { + boolean var1 = true; - for (int var2 = 0; var2 < 2; ++var2) { - if (this == Messages.soundSystem.players[var2]) { - Messages.soundSystem.players[var2] = null; - } + for (int var2 = 0; var2 < 2; ++var2) { + if (this == SecureRandomFuture.soundSystem.players[var2]) { + SecureRandomFuture.soundSystem.players[var2] = null; + } - if (Messages.soundSystem.players[var2] != null) { - var1 = false; - } - } + if (SecureRandomFuture.soundSystem.players[var2] != null) { + var1 = false; + } + } - if (var1) { - Friend.soundSystemExecutor.shutdownNow(); - Friend.soundSystemExecutor = null; - Messages.soundSystem = null; - } - } + if (var1) { + class14.soundSystemExecutor.shutdownNow(); + class14.soundSystemExecutor = null; + SecureRandomFuture.soundSystem = null; + } + } - this.close(); - this.samples = null; - } + this.close(); + this.samples = null; + } - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-424358259" - ) - @Export("skip") - final void skip(int length) { - this.field686 -= length; - if (this.field686 < 0) { - this.field686 = 0; - } + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1268557925" + ) + @Export("skip") + final void skip(int var1) { + this.field1423 -= var1; + if (this.field1423 < 0) { + this.field1423 = 0; + } - if (this.stream != null) { - this.stream.skip(length); - } + if (this.stream != null) { + this.stream.skip(var1); + } - } + } - @ObfuscatedName("aw") - @Export("fill") - final void fill(int[] buffer, int length) { - int var3 = length; - if (isStereo) { - var3 = length << 1; - } + @ObfuscatedName("ax") + @Export("fill") + final void fill(int[] var1, int var2) { + int var3 = var2; + if (class169.isStereo) { + var3 = var2 << 1; + } - class212.clearIntArray(buffer, 0, var3); - this.field686 -= length; - if (this.stream != null && this.field686 <= 0) { - this.field686 += class309.PcmPlayer_sampleRate >> 4; - MidiPcmStream.PcmStream_disable(this.stream); - this.method243(this.stream, this.stream.vmethod282()); - int var4 = 0; - int var5 = 255; + class301.clearIntArray(var1, 0, var3); + this.field1423 -= var2; + if (this.stream != null && this.field1423 <= 0) { + this.field1423 += CollisionMap.PcmPlayer_sampleRate >> 4; + GraphicsObject.PcmStream_disable(this.stream); + this.method2456(this.stream, this.stream.vmethod2689()); + int var4 = 0; + int var5 = 255; - int var6; - PcmStream var7; - label106: - for (var6 = 7; var5 != 0; --var6) { - int var8; - int var9; - if (var6 < 0) { - var8 = var6 & 3; - var9 = -(var6 >> 2); - } else { - var8 = var6; - var9 = 0; - } + 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 var10 = var5 >>> var8 & 286331153; var10 != 0; var10 >>>= 4) { - if ((var10 & 1) != 0) { - var5 &= ~(1 << var8); - var7 = null; - PcmStream var11 = this.field687[var8]; + for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { + if ((var9 & 1) != 0) { + var5 &= ~(1 << var7); + var10 = null; + PcmStream var11 = this.field1426[var7]; - label100: - while (true) { - while (true) { - if (var11 == null) { - break label100; - } + label98: + while (true) { + while (true) { + if (var11 == null) { + break label98; + } - AbstractSound var12 = var11.sound; - if (var12 != null && var12.position > var9) { - var5 |= 1 << var8; - var7 = var11; - var11 = var11.after; - } else { - var11.active = true; - int var13 = var11.vmethod262(); - var4 += var13; - if (var12 != null) { - var12.position += var13; - } + 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.vmethod3892(); + var4 += var13; + if (var12 != null) { + var12.position += var13; + } - if (var4 >= this.field680) { - break label106; - } + if (var4 >= this.field1406) { + break label104; + } - PcmStream var14 = var11.firstSubStream(); - if (var14 != null) { - for (int var15 = var11.field689; var14 != null; var14 = var11.nextSubStream()) { - this.method243(var14, var15 * var14.vmethod282() >> 8); - } - } + PcmStream var14 = var11.firstSubStream(); + if (var14 != null) { + for (int var15 = var11.field1496; var14 != null; var14 = var11.nextSubStream()) { + this.method2456(var14, var15 * var14.vmethod2689() >> 8); + } + } - PcmStream var18 = var11.after; - var11.after = null; - if (var7 == null) { - this.field687[var8] = var18; - } else { - var7.after = var18; - } + PcmStream var18 = var11.after; + var11.after = null; + if (var10 == null) { + this.field1426[var7] = var18; + } else { + var10.after = var18; + } - if (var18 == null) { - this.field688[var8] = var7; - } + if (var18 == null) { + this.field1425[var7] = var10; + } - var11 = var18; - } - } - } - } + var11 = var18; + } + } + } + } - var8 += 4; - ++var9; - } - } + var7 += 4; + ++var8; + } + } - for (var6 = 0; var6 < 8; ++var6) { - PcmStream var16 = this.field687[var6]; - PcmStream[] var17 = this.field687; - this.field688[var6] = null; + for (var6 = 0; var6 < 8; ++var6) { + PcmStream var16 = this.field1426[var6]; + PcmStream[] var17 = this.field1426; + this.field1425[var6] = null; - for (var17[var6] = null; var16 != null; var16 = var7) { - var7 = var16.after; - var16.after = null; - } - } - } + for (var17[var6] = null; var16 != null; var16 = var10) { + var10 = var16.after; + var16.after = null; + } + } + } - if (this.field686 < 0) { - this.field686 = 0; - } + if (this.field1423 < 0) { + this.field1423 = 0; + } - if (this.stream != null) { - this.stream.fill(buffer, 0, length); - } + if (this.stream != null) { + this.stream.fill(var1, 0, var2); + } - this.timeMs = class203.currentTimeMs(); - } + this.timeMs = DirectByteArrayCopier.currentTimeMs(); + } - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(Ldc;II)V", - garbageValue = "-1884182540" - ) - final void method243(PcmStream var1, int var2) { - int var3 = var2 >> 5; - PcmStream var4 = this.field688[var3]; - if (var4 == null) { - this.field687[var3] = var1; - } else { - var4.after = var1; - } + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(Ldx;II)V", + garbageValue = "2049205678" + ) + final void method2456(PcmStream var1, int var2) { + int var3 = var2 >> 5; + PcmStream var4 = this.field1425[var3]; + if (var4 == null) { + this.field1426[var3] = var1; + } else { + var4.after = var1; + } - this.field688[var3] = var1; - var1.field689 = var2; - } + this.field1425[var3] = var1; + var1.field1496 = var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)[Lll;", + garbageValue = "69" + ) + public static class323[] method2405() { + return new class323[]{class323.field3887, class323.SOLID, class323.field3885}; + } + + @ObfuscatedName("ip") + @ObfuscatedSignature( + signature = "(Lhj;IIB)V", + garbageValue = "-55" + ) + @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.rawY >> 14) + (var2 - var0.height) / 2; + } else { + var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); + } + + } } diff --git a/runescape-client/src/main/java/PcmPlayerProvider.java b/runescape-client/src/main/java/PcmPlayerProvider.java deleted file mode 100644 index 4c51d4d180..0000000000 --- a/runescape-client/src/main/java/PcmPlayerProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cz") -@Implements("PcmPlayerProvider") -public interface PcmPlayerProvider { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)Lco;", - garbageValue = "-49" - ) - @Export("player") - PcmPlayer player(); -} diff --git a/runescape-client/src/main/java/PcmStream.java b/runescape-client/src/main/java/PcmStream.java index b7e6a9af70..447f42fa68 100644 --- a/runescape-client/src/main/java/PcmStream.java +++ b/runescape-client/src/main/java/PcmStream.java @@ -3,69 +3,69 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dc") +@ObfuscatedName("dx") @Implements("PcmStream") public abstract class PcmStream extends Node { - @ObfuscatedName("w") - @Export("active") - volatile boolean active; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Ldc;" - ) - @Export("after") - PcmStream after; - @ObfuscatedName("s") - int field689; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ldd;" - ) - @Export("sound") - AbstractSound sound; + @ObfuscatedName("w") + @Export("active") + volatile boolean active; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Ldx;" + ) + @Export("after") + PcmStream after; + @ObfuscatedName("a") + int field1496; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Ldu;" + ) + @Export("sound") + AbstractSound sound; - protected PcmStream() { - this.active = true; - } + protected PcmStream() { + this.active = true; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("firstSubStream") - protected abstract PcmStream firstSubStream(); + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + @Export("firstSubStream") + protected abstract PcmStream firstSubStream(); - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("nextSubStream") - protected abstract PcmStream nextSubStream(); + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + @Export("nextSubStream") + protected abstract PcmStream nextSubStream(); - @ObfuscatedName("l") - protected abstract int vmethod262(); + @ObfuscatedName("i") + protected abstract int vmethod3892(); - @ObfuscatedName("e") - @Export("fill") - protected abstract void fill(int[] buffer, int start, int end); + @ObfuscatedName("c") + @Export("fill") + protected abstract void fill(int[] var1, int var2, int var3); - @ObfuscatedName("d") - @Export("skip") - protected abstract void skip(int length); + @ObfuscatedName("x") + @Export("skip") + protected abstract void skip(int var1); - @ObfuscatedName("az") - int vmethod282() { - return 255; - } + @ObfuscatedName("ay") + int vmethod2689() { + return 255; + } - @ObfuscatedName("ef") - @Export("update") - final void update(int[] buffer, int start, int end) { - if (this.active) { - this.fill(buffer, start, end); - } else { - this.skip(end); - } + @ObfuscatedName("ec") + @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 95c0469546..5485f33091 100644 --- a/runescape-client/src/main/java/PcmStreamMixer.java +++ b/runescape-client/src/main/java/PcmStreamMixer.java @@ -3,201 +3,199 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ct") +@ObfuscatedName("cz") @Implements("PcmStreamMixer") public class PcmStreamMixer extends PcmStream { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("subStreams") - NodeDeque subStreams; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lje;" - ) - NodeDeque field690; - @ObfuscatedName("q") - int field691; - @ObfuscatedName("o") - int field692; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("subStreams") + NodeDeque subStreams; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljh;" + ) + NodeDeque field1342; + @ObfuscatedName("p") + int field1343; + @ObfuscatedName("k") + int field1344; - public PcmStreamMixer() { - this.subStreams = new NodeDeque(); - this.field690 = new NodeDeque(); - this.field691 = 0; - this.field692 = -1; - } + public PcmStreamMixer() { + this.subStreams = new NodeDeque(); + this.field1342 = new NodeDeque(); + this.field1343 = 0; + this.field1344 = -1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ldc;)V" - ) - @Export("addSubStream") - public final synchronized void addSubStream(PcmStream subStream) { - this.subStreams.addLast(subStream); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ldx;)V" + ) + @Export("addSubStream") + public final synchronized void addSubStream(PcmStream var1) { + this.subStreams.addLast(var1); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ldc;)V" - ) - @Export("removeSubStream") - public final synchronized void removeSubStream(PcmStream subStream) { - subStream.remove(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ldx;)V" + ) + @Export("removeSubStream") + public final synchronized void removeSubStream(PcmStream var1) { + var1.remove(); + } - @ObfuscatedName("q") - void method248() { - if (this.field691 > 0) { - for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field690.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field690.previous()) { - var1.field693 -= this.field691; - } + @ObfuscatedName("e") + void method2283() { + if (this.field1343 > 0) { + for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field1342.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field1342.previous()) { + var1.field1452 -= this.field1343; + } - this.field692 -= this.field691; - this.field691 = 0; - } + this.field1344 -= this.field1343; + this.field1343 = 0; + } - } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgw;Ldf;)V" - ) - void method249(Node var1, PcmStreamMixerListener var2) { - while (this.field690.sentinel != var1 && ((PcmStreamMixerListener)var1).field693 <= var2.field693) { - var1 = var1.previous; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lfw;Ldj;)V" + ) + void method2273(Node var1, PcmStreamMixerListener var2) { + while (this.field1342.sentinel != var1 && ((PcmStreamMixerListener)var1).field1452 <= var2.field1452) { + var1 = var1.previous; + } - NodeDeque.NodeDeque_addBefore(var2, var1); - this.field692 = ((PcmStreamMixerListener)this.field690.sentinel.previous).field693; - } + NodeDeque.NodeDeque_addBefore(var2, var1); + this.field1344 = ((PcmStreamMixerListener)this.field1342.sentinel.previous).field1452; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ldf;)V" - ) - void method250(PcmStreamMixerListener var1) { - var1.remove(); - var1.remove2(); - Node var2 = this.field690.sentinel.previous; - if (var2 == this.field690.sentinel) { - this.field692 = -1; - } else { - this.field692 = ((PcmStreamMixerListener)var2).field693; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ldj;)V" + ) + void method2274(PcmStreamMixerListener var1) { + var1.remove(); + var1.remove2(); + Node var2 = this.field1342.sentinel.previous; + if (var2 == this.field1342.sentinel) { + this.field1344 = -1; + } else { + this.field1344 = ((PcmStreamMixerListener)var2).field1452; + } - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return (PcmStream)this.subStreams.last(); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected PcmStream firstSubStream() { + return (PcmStream)this.subStreams.last(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return (PcmStream)this.subStreams.previous(); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected PcmStream nextSubStream() { + return (PcmStream)this.subStreams.previous(); + } - @ObfuscatedName("l") - protected int vmethod262() { - return 0; - } + @ObfuscatedName("i") + protected int vmethod3892() { + return 0; + } - @ObfuscatedName("e") - @Export("fill") - public final synchronized void fill(int[] var1, int var2, int var3) { - do { - if (this.field692 < 0) { - this.updateSubStreams(var1, var2, var3); - return; - } + @ObfuscatedName("c") + @Export("fill") + public final synchronized void fill(int[] var1, int var2, int var3) { + do { + if (this.field1344 < 0) { + this.updateSubStreams(var1, var2, var3); + return; + } - if (var3 + this.field691 < this.field692) { - this.field691 += var3; - this.updateSubStreams(var1, var2, var3); - return; - } + if (var3 + this.field1343 < this.field1344) { + this.field1343 += var3; + this.updateSubStreams(var1, var2, var3); + return; + } - int var4 = this.field692 - this.field691; - this.updateSubStreams(var1, var2, var4); - var2 += var4; - var3 -= var4; - this.field691 += var4; - this.method248(); - PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field690.last(); - synchronized(var5) { - int var7 = var5.update(); - if (var7 < 0) { - var5.field693 = 0; - this.method250(var5); - } else { - var5.field693 = var7; - this.method249(var5.previous, var5); - } - } - } while(var3 != 0); + int var4 = this.field1344 - this.field1343; + this.updateSubStreams(var1, var2, var4); + var2 += var4; + var3 -= var4; + this.field1343 += var4; + this.method2283(); + PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field1342.last(); + synchronized(var5) { + int var7 = var5.update(); + if (var7 < 0) { + var5.field1452 = 0; + this.method2274(var5); + } else { + var5.field1452 = var7; + this.method2273(var5.previous, var5); + } + } + } while(var3 != 0); - } + } - @ObfuscatedName("x") - @Export("updateSubStreams") - void updateSubStreams(int[] buffer, int start, int end) { - for (PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { - var4.update(buffer, start, end); - } + @ObfuscatedName("u") + @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("d") - @Export("skip") - public final synchronized void skip(int var1) { - do { - if (this.field692 < 0) { - this.skipSubStreams(var1); - return; - } + @ObfuscatedName("x") + @Export("skip") + public final synchronized void skip(int var1) { + do { + if (this.field1344 < 0) { + this.skipSubStreams(var1); + return; + } - if (this.field691 + var1 < this.field692) { - this.field691 += var1; - this.skipSubStreams(var1); - return; - } + if (this.field1343 + var1 < this.field1344) { + this.field1343 += var1; + this.skipSubStreams(var1); + return; + } - int var2 = this.field692 - this.field691; - this.skipSubStreams(var2); - var1 -= var2; - this.field691 += var2; - this.method248(); - PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field690.last(); - synchronized(var3) { - int var5 = var3.update(); - if (var5 < 0) { - var3.field693 = 0; - this.method250(var3); - } else { - var3.field693 = var5; - this.method249(var3.previous, var3); - } - } - } while(var1 != 0); + int var2 = this.field1344 - this.field1343; + this.skipSubStreams(var2); + var1 -= var2; + this.field1343 += var2; + this.method2283(); + PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field1342.last(); + synchronized(var3) { + int var5 = var3.update(); + if (var5 < 0) { + var3.field1452 = 0; + this.method2274(var3); + } else { + var3.field1452 = var5; + this.method2273(var3.previous, var3); + } + } + } while(var1 != 0); - } + } - @ObfuscatedName("a") - @Export("skipSubStreams") - void skipSubStreams(int length) { - for (PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { - var2.skip(length); - } + @ObfuscatedName("r") + @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 a1db067cc7..7959db7f2a 100644 --- a/runescape-client/src/main/java/PcmStreamMixerListener.java +++ b/runescape-client/src/main/java/PcmStreamMixerListener.java @@ -3,20 +3,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("df") +@ObfuscatedName("dj") @Implements("PcmStreamMixerListener") public abstract class PcmStreamMixerListener extends Node { - @ObfuscatedName("m") - int field693; + @ObfuscatedName("q") + int field1452; - @ObfuscatedName("m") - @Export("remove2") - abstract void remove2(); + @ObfuscatedName("q") + @Export("remove2") + abstract void remove2(); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lct;)I" - ) - @Export("update") - abstract int update(); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lcz;)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 5712ee43e4..a0e29d84bb 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -4,143 +4,151 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bi") +@ObfuscatedName("bt") @Implements("PendingSpawn") public final class PendingSpawn extends Node { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1439936951 - ) - @Export("plane") - int plane; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1471611383 - ) - @Export("type") - int type; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1059464897 - ) - @Export("x") - int x; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1306474107 - ) - @Export("y") - int y; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1889242993 - ) - int field903; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 318288659 - ) - int field904; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 629071861 - ) - int field905; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1986990761 - ) - @Export("id") - int id; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1768602131 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1989829133 - ) - int field908; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -715662659 - ) - @Export("delay") - int delay; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -2141472019 - ) - @Export("hitpoints") - int hitpoints; + @ObfuscatedName("sq") + @ObfuscatedSignature( + signature = "Lih;" + ) + public static class237 field944; + @ObfuscatedName("sw") + @ObfuscatedSignature( + signature = "Lb;" + ) + @Export("grandExchangeEvents") + static GrandExchangeEvents grandExchangeEvents; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1117563783 + ) + @Export("plane") + int plane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1026352463 + ) + @Export("type") + int type; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1124430139 + ) + @Export("x") + int x; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1248195559 + ) + @Export("y") + int y; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 160620695 + ) + int field935; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1900923625 + ) + int field936; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1207440287 + ) + int field933; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1651150405 + ) + @Export("id") + int id; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1876574001 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -884568825 + ) + int field940; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1567883817 + ) + @Export("delay") + int delay; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 783887651 + ) + @Export("hitpoints") + int hitpoints; - PendingSpawn() { - this.delay = 0; - this.hitpoints = -1; - } + PendingSpawn() { + this.delay = 0; + this.hitpoints = -1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "100" - ) - public static void method1694() { - class322.reflectionChecks = new IterableNodeDeque(); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1833847542" + ) + static void method1653(int var0, int var1) { + long var2 = (long)((var0 << 16) + var1); + NetFileRequest var4 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var2); + if (var4 != null) { + NetCache.NetCache_pendingWritesQueue.addLast(var4); + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1641191614" - ) - public static void method1695(int var0, int var1) { - VarbitDefinition var2 = Occluder.getVarbitDefinition(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; - } + @ObfuscatedName("jr") + @ObfuscatedSignature( + signature = "(IIIB)Lbo;", + garbageValue = "124" + ) + static final InterfaceParent method1652(int var0, int var1, int var2) { + InterfaceParent var3 = new InterfaceParent(); + var3.group = var1; + var3.type = var2; + Client.interfaceParents.put(var3, (long)var0); + GrandExchangeOfferAgeComparator.method146(var1); + Widget var4 = class80.getWidget(var0); + Strings.method4120(var4); + if (Client.field850 != null) { + Strings.method4120(Client.field850); + Client.field850 = null; + } - var6 <<= var4; - Varps.Varps_main[var3] = Varps.Varps_main[var3] & ~var6 | var1 << var4 & var6; - } + for (int var5 = 0; var5 < Client.menuOptionsCount; ++var5) { + if (class1.isWidgetMenuOpcode(Client.menuOpcodes[var5])) { + if (var5 < Client.menuOptionsCount - 1) { + for (int var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { + Client.menuActions[var6] = Client.menuActions[var6 + 1]; + Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; + Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; + Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; + Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; + Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; + Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; + } + } - @ObfuscatedName("gl") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)V", - garbageValue = "-1792684945" - ) - @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 = DevicePcmPlayerProvider.fontPlain12.lineWidth(var0, 250); - int var6 = DevicePcmPlayerProvider.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, var5 + var2 + var2, var2 + var2 + var6, 16777215); - DevicePcmPlayerProvider.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); - Players.method2112(var3 - var2, var4 - var2, var2 + var5 + var2, var6 + var2 + var2); - if (var1) { - class197.rasterProvider.drawFull(0, 0); - } else { - int var7 = var3; - int var8 = var4; - int var9 = var5; - int var10 = var6; + --var5; + --Client.menuOptionsCount; + } + } - for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) { - if (Client.rootWidgetWidths[var11] + Client.rootWidgetXs[var11] > var7 && Client.rootWidgetXs[var11] < var9 + var7 && Client.rootWidgetHeights[var11] + Client.rootWidgetYs[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) { - Client.field102[var11] = true; - } - } - } - } + GrandExchangeOfferAgeComparator.method145(); + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var0 >> 16], var4, false); + Canvas.runWidgetOnLoadListener(var1); + if (Client.rootInterface != -1) { + WorldMapLabelSize.method175(Client.rootInterface, 1); + } - } + return var3; + } } diff --git a/runescape-client/src/main/java/PlatformInfo.java b/runescape-client/src/main/java/PlatformInfo.java index d3cd3d6756..ddae5142e5 100644 --- a/runescape-client/src/main/java/PlatformInfo.java +++ b/runescape-client/src/main/java/PlatformInfo.java @@ -4,188 +4,188 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lb") +@ObfuscatedName("lo") @Implements("PlatformInfo") public class PlatformInfo extends Node { - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1318366785 - ) - int field694; - @ObfuscatedName("ah") - boolean field695; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 703904161 - ) - int field696; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 467004305 - ) - int field697; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 2097018521 - ) - int field698; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1667177301 - ) - int field699; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 385109109 - ) - int field700; - @ObfuscatedName("at") - boolean field701; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -1765017 - ) - int field702; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -817941105 - ) - int field703; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 30207059 - ) - int field704; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 890109053 - ) - int field705; - @ObfuscatedName("az") - String field706; - @ObfuscatedName("au") - String field707; - @ObfuscatedName("ao") - String field708; - @ObfuscatedName("aa") - String field709; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 871094255 - ) - int field710; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 1955966365 - ) - int field711; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1196598207 - ) - int field712; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = -170839105 - ) - int field713; - @ObfuscatedName("bb") - String field714; - @ObfuscatedName("bs") - String field715; - @ObfuscatedName("bq") - int[] field716; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = 1466207635 - ) - int field717; - @ObfuscatedName("bk") - String field718; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 1707055259 + ) + int field3938; + @ObfuscatedName("ax") + boolean field3939; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -2001152495 + ) + int field3953; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -695975343 + ) + int field3941; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -1607985897 + ) + int field3942; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 2094714279 + ) + int field3961; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -861639539 + ) + int field3944; + @ObfuscatedName("ac") + boolean field3945; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 2056129 + ) + int field3962; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -1736431355 + ) + int field3943; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -233301775 + ) + int field3948; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 847094315 + ) + int field3949; + @ObfuscatedName("ai") + String field3934; + @ObfuscatedName("ak") + String field3951; + @ObfuscatedName("ah") + String field3952; + @ObfuscatedName("am") + String field3946; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -1073737943 + ) + int field3936; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 1191319899 + ) + int field3955; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = 1715941693 + ) + int field3956; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = 1742476945 + ) + int field3957; + @ObfuscatedName("bz") + String field3947; + @ObfuscatedName("bi") + String field3959; + @ObfuscatedName("bg") + int[] field3960; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -1399141483 + ) + int field3935; + @ObfuscatedName("bm") + String field3931; - 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.field716 = new int[3]; - this.field694 = var1; - this.field695 = var2; - this.field696 = var3; - this.field697 = var4; - this.field698 = var5; - this.field699 = var6; - this.field700 = var7; - this.field701 = var8; - this.field702 = var9; - this.field703 = var10; - this.field704 = var11; - this.field705 = var12; - this.field706 = var13; - this.field707 = var14; - this.field708 = var15; - this.field709 = var16; - this.field710 = var17; - this.field711 = var18; - this.field712 = var19; - this.field713 = var20; - this.field714 = var21; - this.field715 = var22; - this.field716 = var23; - this.field717 = var24; - this.field718 = var25; - } + 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.field3960 = new int[3]; + this.field3938 = var1; + this.field3939 = var2; + this.field3953 = var3; + this.field3941 = var4; + this.field3942 = var5; + this.field3961 = var6; + this.field3944 = var7; + this.field3945 = var8; + this.field3962 = var9; + this.field3943 = var10; + this.field3948 = var11; + this.field3949 = var12; + this.field3934 = var13; + this.field3951 = var14; + this.field3952 = var15; + this.field3946 = var16; + this.field3936 = var17; + this.field3955 = var18; + this.field3956 = var19; + this.field3957 = var20; + this.field3947 = var21; + this.field3959 = var22; + this.field3960 = var23; + this.field3935 = var24; + this.field3931 = var25; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1518809220" - ) - @Export("write") - public void write(Buffer buffer) { - buffer.writeByte(7); - buffer.writeByte(this.field694); - buffer.writeByte(this.field695 ? 1 : 0); - buffer.writeByte(this.field696); - buffer.writeByte(this.field697); - buffer.writeByte(this.field698); - buffer.writeByte(this.field699); - buffer.writeByte(this.field700); - buffer.writeByte(this.field701 ? 1 : 0); - buffer.writeShort(this.field702); - buffer.writeByte(this.field703); - buffer.writeMedium(this.field704); - buffer.writeShort(this.field705); - buffer.writeStringCp1252NullCircumfixed(this.field706); - buffer.writeStringCp1252NullCircumfixed(this.field707); - buffer.writeStringCp1252NullCircumfixed(this.field708); - buffer.writeStringCp1252NullCircumfixed(this.field709); - buffer.writeByte(this.field711); - buffer.writeShort(this.field710); - buffer.writeStringCp1252NullCircumfixed(this.field714); - buffer.writeStringCp1252NullCircumfixed(this.field715); - buffer.writeByte(this.field712); - buffer.writeByte(this.field713); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1667072289" + ) + @Export("write") + public void write(Buffer var1) { + var1.writeByte(8); + var1.writeByte(this.field3938); + var1.writeByte(this.field3939 ? 1 : 0); + var1.writeShort(this.field3953); + var1.writeByte(this.field3941); + var1.writeByte(this.field3942); + var1.writeByte(this.field3961); + var1.writeByte(this.field3944); + var1.writeByte(this.field3945 ? 1 : 0); + var1.writeShort(this.field3962); + var1.writeByte(this.field3943); + var1.writeMedium(this.field3948); + var1.writeShort(this.field3949); + var1.writeStringCp1252NullCircumfixed(this.field3934); + var1.writeStringCp1252NullCircumfixed(this.field3951); + var1.writeStringCp1252NullCircumfixed(this.field3952); + var1.writeStringCp1252NullCircumfixed(this.field3946); + var1.writeByte(this.field3955); + var1.writeShort(this.field3936); + var1.writeStringCp1252NullCircumfixed(this.field3947); + var1.writeStringCp1252NullCircumfixed(this.field3959); + var1.writeByte(this.field3956); + var1.writeByte(this.field3957); - for (int var2 = 0; var2 < this.field716.length; ++var2) { - buffer.writeInt(this.field716[var2]); - } + for (int var2 = 0; var2 < this.field3960.length; ++var2) { + var1.writeInt(this.field3960[var2]); + } - buffer.writeInt(this.field717); - buffer.writeStringCp1252NullCircumfixed(this.field718); - } + var1.writeInt(this.field3935); + var1.writeStringCp1252NullCircumfixed(this.field3931); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2071624512" - ) - @Export("size") - public int size() { - byte var1 = 38; - int var2 = var1 + Client.method1692(this.field706); - var2 += Client.method1692(this.field707); - var2 += Client.method1692(this.field708); - var2 += Client.method1692(this.field709); - var2 += Client.method1692(this.field714); - var2 += Client.method1692(this.field715); - var2 += Client.method1692(this.field718); - return var2; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-5" + ) + @Export("size") + public int size() { + byte var1 = 39; + int var2 = var1 + class13.method152(this.field3934); + var2 += class13.method152(this.field3951); + var2 += class13.method152(this.field3952); + var2 += class13.method152(this.field3946); + var2 += class13.method152(this.field3947); + var2 += class13.method152(this.field3959); + var2 += class13.method152(this.field3931); + return var2; + } } diff --git a/runescape-client/src/main/java/PlatformInfoProvider.java b/runescape-client/src/main/java/PlatformInfoProvider.java index f5b19f5e61..9917b1e843 100644 --- a/runescape-client/src/main/java/PlatformInfoProvider.java +++ b/runescape-client/src/main/java/PlatformInfoProvider.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lm") +@ObfuscatedName("lu") @Implements("PlatformInfoProvider") public interface PlatformInfoProvider { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Llb;", - garbageValue = "-843739713" - ) - @Export("get") - PlatformInfo get(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Llo;", + garbageValue = "1619784372" + ) + @Export("get") + PlatformInfo get(); } diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index f51c19a45e..7955bfecad 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -1,537 +1,605 @@ +import java.applet.Applet; +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("br") +@ObfuscatedName("bd") @Implements("Player") public final class Player extends Actor { - @ObfuscatedName("gi") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("headIconHintSprites") - static Sprite[] headIconHintSprites; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lkp;" - ) - @Export("username") - Username username; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lhi;" - ) - @Export("appearance") - PlayerAppearance appearance; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 2021372599 - ) - @Export("headIconPk") - int headIconPk; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -793415473 - ) - @Export("headIconPrayer") - int headIconPrayer; - @ObfuscatedName("u") - @Export("actions") - String[] actions; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 984869133 - ) - @Export("combatLevel") - int combatLevel; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1136542281 - ) - @Export("skillLevel") - int skillLevel; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1989338999 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -351876137 - ) - @Export("animationCycleStart") - int animationCycleStart; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -359981047 - ) - @Export("animationCycleEnd") - int animationCycleEnd; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 665272587 - ) - int field719; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1624108131 - ) - @Export("tileHeight2") - int tileHeight2; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1771431457 - ) - int field720; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Ldu;" - ) - @Export("model0") - Model model0; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1610462047 - ) - int field721; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 224552403 - ) - int field722; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 305969541 - ) - int field723; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 892671055 - ) - int field724; - @ObfuscatedName("y") - @Export("isUnanimated") - boolean isUnanimated; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 91041167 - ) - @Export("team") - int team; - @ObfuscatedName("b") - @Export("isHidden") - boolean isHidden; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1332604413 - ) - @Export("plane") - int plane; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1486240677 - ) - @Export("index") - int index; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isFriendTriBool") - TriBool isFriendTriBool; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("isInClanChat") - TriBool isInClanChat; - @ObfuscatedName("ag") - boolean field725; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -539678769 - ) - @Export("tileX") - int tileX; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 702193221 - ) - @Export("tileY") - int tileY; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("username") + Username username; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhh;" + ) + @Export("appearance") + PlayerAppearance appearance; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1793171209 + ) + @Export("headIconPk") + int headIconPk; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -116528069 + ) + @Export("headIconPrayer") + int headIconPrayer; + @ObfuscatedName("l") + @Export("actions") + String[] actions; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1476185215 + ) + @Export("combatLevel") + int combatLevel; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1080230181 + ) + @Export("skillLevel") + int skillLevel; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -2135092057 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1201001853 + ) + @Export("animationCycleStart") + int animationCycleStart; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -638825891 + ) + @Export("animationCycleEnd") + int animationCycleEnd; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1264352661 + ) + int field633; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1920260179 + ) + @Export("tileHeight2") + int tileHeight2; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -458476465 + ) + int field620; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("model0") + Model model0; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 122892619 + ) + int field627; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 496730799 + ) + int field625; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1488894543 + ) + int field612; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -87750643 + ) + int field630; + @ObfuscatedName("t") + @Export("isUnanimated") + boolean isUnanimated; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1859866113 + ) + @Export("team") + int team; + @ObfuscatedName("o") + @Export("isHidden") + boolean isHidden; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1801151479 + ) + @Export("plane") + int plane; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1548494187 + ) + @Export("index") + int index; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("isFriendTriBool") + TriBool isFriendTriBool; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("isInClanChat") + TriBool isInClanChat; + @ObfuscatedName("al") + boolean field638; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 811764289 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -1120087893 + ) + @Export("tileY") + int tileY; - Player() { - this.headIconPk = -1; - this.headIconPrayer = -1; - this.actions = new String[3]; + Player() { + this.headIconPk = -1; + this.headIconPrayer = -1; + this.actions = new String[3]; - for (int var1 = 0; var1 < 3; ++var1) { - this.actions[var1] = ""; - } + 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.field725 = false; - } + 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.field638 = false; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-801926003" - ) - @Export("read") - final void read(Buffer buffer) { - buffer.index = 0; - int var2 = buffer.readUnsignedByte(); - this.headIconPk = buffer.readByte(); - this.headIconPrayer = buffer.readByte(); - int var3 = -1; - this.team = 0; - int[] var4 = new int[12]; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-641392846" + ) + @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 var5; - int var6; - for (int var7 = 0; var7 < 12; ++var7) { - var5 = buffer.readUnsignedByte(); - if (var5 == 0) { - var4[var7] = 0; - } else { - var6 = buffer.readUnsignedByte(); - var4[var7] = var6 + (var5 << 8); - if (var7 == 0 && var4[0] == 65535) { - var3 = buffer.readUnsignedShort(); - break; - } + 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[var7] >= 512) { - int var8 = Skills.getItemDefinition(var4[var7] - 512).team; - if (var8 != 0) { - this.team = var8; - } - } - } - } + if (var4[var5] >= 512) { + int var8 = WorldMapArea.getItemDefinition(var4[var5] - 512).team; + if (var8 != 0) { + this.team = var8; + } + } + } + } - int[] var9 = new int[5]; + int[] var9 = new int[5]; - for (var5 = 0; var5 < 5; ++var5) { - var6 = buffer.readUnsignedByte(); - if (var6 < 0 || var6 >= class229.field1137[var5].length) { - var6 = 0; - } + for (var6 = 0; var6 < 5; ++var6) { + var7 = var1.readUnsignedByte(); + if (var7 < 0 || var7 >= class247.field3291[var6].length) { + var7 = 0; + } - var9[var5] = var6; - } + var9[var6] = var7; + } - super.readySequence = buffer.readUnsignedShort(); - if (super.readySequence == 65535) { - super.readySequence = -1; - } + super.readySequence = var1.readUnsignedShort(); + if (super.readySequence == 65535) { + super.readySequence = -1; + } - super.turnLeftSequence = buffer.readUnsignedShort(); - if (super.turnLeftSequence == 65535) { - super.turnLeftSequence = -1; - } + super.turnLeftSequence = var1.readUnsignedShort(); + if (super.turnLeftSequence == 65535) { + super.turnLeftSequence = -1; + } - super.turnRightSequence = super.turnLeftSequence; - super.walkSequence = buffer.readUnsignedShort(); - if (super.walkSequence == 65535) { - super.walkSequence = -1; - } + super.turnRightSequence = super.turnLeftSequence; + super.walkSequence = var1.readUnsignedShort(); + if (super.walkSequence == 65535) { + super.walkSequence = -1; + } - super.walkBackSequence = buffer.readUnsignedShort(); - if (super.walkBackSequence == 65535) { - super.walkBackSequence = -1; - } + super.walkBackSequence = var1.readUnsignedShort(); + if (super.walkBackSequence == 65535) { + super.walkBackSequence = -1; + } - super.walkLeftSequence = buffer.readUnsignedShort(); - if (super.walkLeftSequence == 65535) { - super.walkLeftSequence = -1; - } + super.walkLeftSequence = var1.readUnsignedShort(); + if (super.walkLeftSequence == 65535) { + super.walkLeftSequence = -1; + } - super.walkRightSequence = buffer.readUnsignedShort(); - if (super.walkRightSequence == 65535) { - super.walkRightSequence = -1; - } + super.walkRightSequence = var1.readUnsignedShort(); + if (super.walkRightSequence == 65535) { + super.walkRightSequence = -1; + } - super.runSequence = buffer.readUnsignedShort(); - if (super.runSequence == 65535) { - super.runSequence = -1; - } + super.runSequence = var1.readUnsignedShort(); + if (super.runSequence == 65535) { + super.runSequence = -1; + } - this.username = new Username(buffer.readStringCp1252NullTerminated(), KeyHandler.loginType); - this.clearIsFriend(); - this.clearIsInClanChat(); - if (this == Canvas.localPlayer) { - RunException.localPlayerName = this.username.getName(); - } + this.username = new Username(var1.readStringCp1252NullTerminated(), class40.loginType); + this.clearIsFriend(); + this.clearIsInClanChat(); + if (this == Client.localPlayer) { + GrandExchangeOfferUnitPriceComparator.localPlayerName = this.username.getName(); + } - this.combatLevel = buffer.readUnsignedByte(); - this.skillLevel = buffer.readUnsignedShort(); - this.isHidden = buffer.readUnsignedByte() == 1; - if (Client.gameBuild == 0 && Client.staffModLevel >= 2) { - this.isHidden = false; - } + 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(); - } + if (this.appearance == null) { + this.appearance = new PlayerAppearance(); + } - this.appearance.update(var4, var9, var2 == 1, var3); - } + this.appearance.update(var4, var9, var2 == 1, var3); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "92" - ) - @Export("isFriend") - boolean isFriend() { - if (this.isFriendTriBool == TriBool.TriBool_unknown) { - this.checkIsFriend(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1900430541" + ) + @Export("isFriend") + boolean isFriend() { + if (this.isFriendTriBool == TriBool.TriBool_unknown) { + this.checkIsFriend(); + } - return this.isFriendTriBool == TriBool.TriBool_true; - } + return this.isFriendTriBool == TriBool.TriBool_true; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2059706128" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.isFriendTriBool = TriBool.TriBool_unknown; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-29" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.isFriendTriBool = TriBool.TriBool_unknown; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2126310249" - ) - @Export("checkIsFriend") - void checkIsFriend() { - this.isFriendTriBool = WorldMapArea.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1998050438" + ) + @Export("checkIsFriend") + void checkIsFriend() { + this.isFriendTriBool = ArchiveLoader.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "21" - ) - @Export("isClanMember") - boolean isClanMember() { - if (this.isInClanChat == TriBool.TriBool_unknown) { - this.updateIsInClanChat(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "12" + ) + @Export("isClanMember") + boolean isClanMember() { + if (this.isInClanChat == TriBool.TriBool_unknown) { + this.updateIsInClanChat(); + } - return this.isInClanChat == TriBool.TriBool_true; - } + return this.isInClanChat == TriBool.TriBool_true; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1982407728" - ) - @Export("clearIsInClanChat") - void clearIsInClanChat() { - this.isInClanChat = TriBool.TriBool_unknown; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2115191954" + ) + @Export("clearIsInClanChat") + void clearIsInClanChat() { + this.isInClanChat = TriBool.TriBool_unknown; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "833825629" - ) - @Export("updateIsInClanChat") - void updateIsInClanChat() { - this.isInClanChat = PacketWriter.clanChat != null && PacketWriter.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1972244682" + ) + @Export("updateIsInClanChat") + void updateIsInClanChat() { + this.isInClanChat = DevicePcmPlayerProvider.clanChat != null && DevicePcmPlayerProvider.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2025332260" - ) - @Export("transformedSize") - int transformedSize() { - return this.appearance != null && this.appearance.npcTransformId != -1 ? ObjectDefinition.getNpcDefinition(this.appearance.npcTransformId).size : 1; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1116736107" + ) + @Export("transformedSize") + int transformedSize() { + return this.appearance != null && this.appearance.npcTransformId != -1 ? GameShell.getNpcDefinition(this.appearance.npcTransformId).size : 1; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected final Model getModel() { - if (this.appearance == null) { - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? WorldMapAreaData.getSequenceDefinition(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence == -1 || this.isUnanimated || super.readySequence == super.movementSequence && var1 != null ? null : WorldMapAreaData.getSequenceDefinition(super.movementSequence); - 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 = class50.getSpotAnimationDefinition(super.spotAnimation).getModel(super.spotAnimationFrame); - if (var4 != null) { - var4.offsetBy(0, -super.heightOffset, 0); - var5 = new Model[]{var3, var4}; - var3 = new Model(var5, 2); - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected final Model getModel() { + if (this.appearance == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(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 = MusicPatch.getSpotAnimationDefinition(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 (!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.field719 - super.x, this.tileHeight2 - this.tileHeight, this.field720 - 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(); - } + if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { + var4 = this.model0; + var4.offsetBy(this.field633 * 4096 - super.x, this.tileHeight2 - this.tileHeight, this.field620 * 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(); - } + 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.field719, this.tileHeight - this.tileHeight2, super.y - this.field720); - } - } + var4.offsetBy(super.x - this.field633 * 4096, this.tileHeight - this.tileHeight2, super.y - this.field620 * 4096); + } + } - var3.isSingleTile = true; - return var3; - } - } - } + var3.isSingleTile = true; + return var3; + } + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIBI)V", - garbageValue = "-2066158770" - ) - final void method254(int var1, int var2, byte var3) { - if (super.sequence != -1 && WorldMapAreaData.getSequenceDefinition(super.sequence).field782 == 1) { - super.sequence = -1; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIBS)V", + garbageValue = "-30153" + ) + final void method1189(int var1, int var2, byte var3) { + if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) { + super.sequence = -1; + } - super.field12 = -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) { - WorldMapIcon2.method316(this, var1, var2, (byte)2); - } + super.field976 = -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) { + Widget.method4056(this, var1, var2, (byte)2); + } - this.method255(var1, var2, var3); - } else { - this.resetPath(var1, var2); - } - } else { - this.resetPath(var1, var2); - } + this.method1191(var1, var2, var3); + } else { + this.resetPath(var1, var2); + } + } else { + this.resetPath(var1, var2); + } - } + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1966552419" - ) - @Export("resetPath") - void resetPath(int x, int y) { - super.pathLength = 0; - super.field25 = 0; - super.field24 = 0; - super.pathX[0] = x; - super.pathY[0] = y; - int var3 = this.transformedSize(); - super.x = super.pathX[0] * 128 + var3 * 64; - super.y = super.pathY[0] * 128 + var3 * 64; - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1369099765" + ) + @Export("resetPath") + void resetPath(int var1, int var2) { + super.pathLength = 0; + super.field1008 = 0; + super.field1007 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + int var3 = this.transformedSize(); + super.x = super.pathX[0] * 128 + var3 * 64; + super.y = var3 * 64 + super.pathY[0] * 128; + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IIBI)V", - garbageValue = "-1280043751" - ) - final void method255(int var1, int var2, byte var3) { - if (super.pathLength < 9) { - ++super.pathLength; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIBB)V", + garbageValue = "1" + ) + 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]; - } + 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; - } + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = var3; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "1" - ) - @Export("isVisible") - final boolean isVisible() { - return this.appearance != null; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1461786701" + ) + @Export("isVisible") + final boolean isVisible() { + return this.appearance != null; + } - @ObfuscatedName("if") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "13" - ) - static void method1281() { - if (Client.isSpellSelected) { - Widget var0 = class204.getWidgetChild(ServerBuild.field788, Client.field220); - if (var0 != null && var0.onTargetLeave != null) { - ScriptEvent var1 = new ScriptEvent(); - var1.widget = var0; - var1.args0 = var0.onTargetLeave; - AbstractArchive.runScript(var1); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ILjava/lang/String;I)Z", + garbageValue = "1838105426" + ) + static boolean method1226(String var0, int var1, String var2) { + if (var1 == 0) { + try { + if (!class51.field434.startsWith("win")) { + throw new Exception(); + } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { + throw new Exception(); + } else { + String var11 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; - Client.isSpellSelected = false; - WorldMapRectangle.method295(var0); - } + for (int var4 = 0; var4 < var0.length(); ++var4) { + if (var11.indexOf(var0.charAt(var4)) == -1) { + throw new Exception(); + } + } - } + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); + return true; + } + } catch (Throwable var5) { + return false; + } + } else if (var1 == 1) { + try { + Object var10 = class47.method806(class51.applet, var2, new Object[]{(new URL(class51.applet.getCodeBase(), var0)).toString()}); + return var10 != null; + } catch (Throwable var6) { + return false; + } + } else if (var1 == 2) { + try { + class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_blank"); + return true; + } catch (Exception var7) { + return false; + } + } else if (var1 == 3) { + try { + Applet var3 = class51.applet; + JSObject.getWindow(var3).call("loggedout", (Object[])null); + } catch (Throwable var9) { + } + + try { + class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_top"); + return true; + } catch (Exception var8) { + return false; + } + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("ff") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1715272698" + ) + @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; + } + } + } + + } } diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java index c0e5dda47f..1ca86c2bcf 100644 --- a/runescape-client/src/main/java/PlayerAppearance.java +++ b/runescape-client/src/main/java/PlayerAppearance.java @@ -4,413 +4,434 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hi") +@ObfuscatedName("hh") @Implements("PlayerAppearance") public class PlayerAppearance { - @ObfuscatedName("g") - public static short[] field726; - @ObfuscatedName("d") - @Export("equipmentIndices") - static final int[] equipmentIndices; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("PlayerAppearance_cachedModels") - public static EvictingDualNodeHashTable PlayerAppearance_cachedModels; - @ObfuscatedName("m") - @Export("equipment") - int[] equipment; - @ObfuscatedName("f") - @Export("bodyColors") - int[] bodyColors; - @ObfuscatedName("q") - @Export("isFemale") - public boolean isFemale; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1676934923 - ) - @Export("npcTransformId") - public int npcTransformId; - @ObfuscatedName("o") - @ObfuscatedGetter( - longValue = -3506189412688081513L - ) - long field728; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = 8217880921734028425L - ) - long field729; + @ObfuscatedName("m") + @Export("equipmentIndices") + static final int[] equipmentIndices; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("PlayerAppearance_cachedModels") + public static EvictingDualNodeHashTable PlayerAppearance_cachedModels; + @ObfuscatedName("q") + @Export("equipment") + int[] equipment; + @ObfuscatedName("w") + @Export("bodyColors") + int[] bodyColors; + @ObfuscatedName("e") + @Export("isFemale") + public boolean isFemale; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1885708295 + ) + @Export("npcTransformId") + public int npcTransformId; + @ObfuscatedName("k") + @ObfuscatedGetter( + longValue = 7554937625342068879L + ) + long field2539; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = 8463042946937370987L + ) + long field2537; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([I[IZII)V", - garbageValue = "727056871" - ) - @Export("update") - public void update(int[] equipment, int[] bodyColors, boolean isFemale, int npcTransformId) { - if (equipment == null) { - equipment = new int[12]; + static { + equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; + PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); + } - for (int var5 = 0; var5 < 7; ++var5) { - for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { - KitDefinition var7 = WorldMapSection2.getKitDefinition(var6); - if (var7 != null && !var7.nonSelectable && var5 + (isFemale ? 7 : 0) == var7.bodypartID) { - equipment[equipmentIndices[var5]] = var6 + 256; - break; - } - } - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([I[IZII)V", + garbageValue = "646936980" + ) + @Export("update") + public void update(int[] var1, int[] var2, boolean var3, int var4) { + if (var1 == null) { + var1 = new int[12]; - this.equipment = equipment; - this.bodyColors = bodyColors; - this.isFemale = isFemale; - this.npcTransformId = npcTransformId; - this.setHash(); - } + for (int var5 = 0; var5 < 7; ++var5) { + for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { + KitDefinition var7 = ArchiveDiskAction.getKitDefinition(var6); + if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (var3 ? 7 : 0)) { + var1[equipmentIndices[var5]] = var6 + 256; + break; + } + } + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IZI)V", - garbageValue = "-581016899" - ) - public void method257(int var1, boolean var2) { - if (var1 != 1 || !this.isFemale) { - int var3 = this.equipment[equipmentIndices[var1]]; - if (var3 != 0) { - var3 -= 256; + this.equipment = var1; + this.bodyColors = var2; + this.isFemale = var3; + this.npcTransformId = var4; + this.setHash(); + } - KitDefinition var4; - do { - do { - do { - if (!var2) { - --var3; - if (var3 < 0) { - var3 = KitDefinition.KitDefinition_fileCount - 1; - } - } else { - ++var3; - if (var3 >= KitDefinition.KitDefinition_fileCount) { - var3 = 0; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IZS)V", + garbageValue = "7431" + ) + public void method3992(int var1, boolean var2) { + if (var1 != 1 || !this.isFemale) { + int var3 = this.equipment[equipmentIndices[var1]]; + if (var3 != 0) { + var3 -= 256; - var4 = WorldMapSection2.getKitDefinition(var3); - } while(var4 == null); - } while(var4.nonSelectable); - } while(var1 + (this.isFemale ? 7 : 0) != var4.bodypartID); + KitDefinition var4; + do { + if (!var2) { + --var3; + if (var3 < 0) { + var3 = KitDefinition.KitDefinition_fileCount - 1; + } + } else { + ++var3; + if (var3 >= KitDefinition.KitDefinition_fileCount) { + var3 = 0; + } + } - this.equipment[equipmentIndices[var1]] = var3 + 256; - this.setHash(); - } - } + var4 = ArchiveDiskAction.getKitDefinition(var3); + } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1); - } + this.equipment[equipmentIndices[var1]] = var3 + 256; + this.setHash(); + } + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IZI)V", - garbageValue = "1416503110" - ) - public void method258(int var1, boolean var2) { - int var3 = this.bodyColors[var1]; - if (!var2) { - do { - --var3; - if (var3 < 0) { - var3 = class229.field1137[var1].length - 1; - } - } while(!PacketBuffer.method4062(var1, var3)); - } else { - do { - ++var3; - if (var3 >= class229.field1137[var1].length) { - var3 = 0; - } - } while(!PacketBuffer.method4062(var1, var3)); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IZB)V", + garbageValue = "1" + ) + public void method3993(int var1, boolean var2) { + int var3 = this.bodyColors[var1]; + boolean var4; + if (!var2) { + do { + --var3; + if (var3 < 0) { + var3 = class247.field3291[var1].length - 1; + } - this.bodyColors[var1] = var3; - this.setHash(); - } + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); + } else { + do { + ++var3; + if (var3 >= class247.field3291[var1].length) { + var3 = 0; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "-90" - ) - public void method259(boolean var1) { - if (this.isFemale != var1) { - this.update((int[])null, this.bodyColors, var1, -1); - } + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); + } - } + this.bodyColors[var1] = var3; + this.setHash(); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "779254645" - ) - public void method260(Buffer var1) { - var1.writeByte(this.isFemale ? 1 : 0); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1889308905" + ) + public void method4006(boolean var1) { + if (this.isFemale != var1) { + this.update((int[])null, this.bodyColors, var1, -1); + } + } - 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); - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "318518244" + ) + public void method3995(Buffer var1) { + var1.writeByte(this.isFemale ? 1 : 0); - for (var2 = 0; var2 < 5; ++var2) { - var1.writeByte(this.bodyColors[var2]); - } + 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 = "(B)V", - garbageValue = "68" - ) - @Export("setHash") - void setHash() { - long var1 = this.field728; - int var3 = this.equipment[5]; - int var4 = this.equipment[9]; - this.equipment[5] = var4; - this.equipment[9] = var3; - this.field728 = 0L; + } - int var5; - for (var5 = 0; var5 < 12; ++var5) { - this.field728 <<= 4; - if (this.equipment[var5] >= 256) { - this.field728 += (long)(this.equipment[var5] - 256); - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-642872346" + ) + @Export("setHash") + void setHash() { + long var1 = this.field2539; + int var3 = this.equipment[5]; + int var4 = this.equipment[9]; + this.equipment[5] = var4; + this.equipment[9] = var3; + this.field2539 = 0L; - if (this.equipment[0] >= 256) { - this.field728 += (long)(this.equipment[0] - 256 >> 4); - } + int var5; + for (var5 = 0; var5 < 12; ++var5) { + this.field2539 <<= 4; + if (this.equipment[var5] >= 256) { + this.field2539 += (long)(this.equipment[var5] - 256); + } + } - if (this.equipment[1] >= 256) { - this.field728 += (long)(this.equipment[1] - 256 >> 8); - } + if (this.equipment[0] >= 256) { + this.field2539 += (long)(this.equipment[0] - 256 >> 4); + } - for (var5 = 0; var5 < 5; ++var5) { - this.field728 <<= 3; - this.field728 += (long)this.bodyColors[var5]; - } + if (this.equipment[1] >= 256) { + this.field2539 += (long)(this.equipment[1] - 256 >> 8); + } - this.field728 <<= 1; - this.field728 += (long)(this.isFemale ? 1 : 0); - this.equipment[5] = var3; - this.equipment[9] = var4; - if (var1 != 0L && this.field728 != var1) { - PlayerAppearance_cachedModels.remove(var1); - } + for (var5 = 0; var5 < 5; ++var5) { + this.field2539 <<= 3; + this.field2539 += (long)this.bodyColors[var5]; + } - } + this.field2539 <<= 1; + this.field2539 += (long)(this.isFemale ? 1 : 0); + this.equipment[5] = var3; + this.equipment[9] = var4; + if (0L != var1 && var1 != this.field2539) { + PlayerAppearance_cachedModels.remove(var1); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljh;ILjh;II)Ldu;", - garbageValue = "-735725541" - ) - @Export("getModel") - public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.npcTransformId != -1) { - return ObjectDefinition.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); - } else { - long var5 = this.field728; - int[] var7 = this.equipment; - if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { - var7 = new int[12]; + } - for (int var8 = 0; var8 < 12; ++var8) { - var7[var8] = this.equipment[var8]; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Lis;ILis;IB)Ldm;", + garbageValue = "-15" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { + if (this.npcTransformId != -1) { + return GameShell.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); + } else { + long var5 = this.field2539; + int[] var7 = this.equipment; + if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { + var7 = new int[12]; - if (var1.shield >= 0) { - var5 += (long)(var1.shield - this.equipment[5] << 40); - var7[5] = var1.shield; - } + for (int var15 = 0; var15 < 12; ++var15) { + var7[var15] = this.equipment[var15]; + } - if (var1.weapon >= 0) { - var5 += (long)(var1.weapon - this.equipment[3] << 48); - var7[3] = var1.weapon; - } - } + if (var1.shield >= 0) { + var5 += (long)(var1.shield - this.equipment[5] << 40); + var7[5] = var1.shield; + } - Model var15 = (Model)PlayerAppearance_cachedModels.get(var5); - if (var15 == null) { - boolean var9 = false; + if (var1.weapon >= 0) { + var5 += (long)(var1.weapon - this.equipment[3] << 48); + var7[3] = var1.weapon; + } + } - int var10; - for (int var11 = 0; var11 < 12; ++var11) { - var10 = var7[var11]; - if (var10 >= 256 && var10 < 512 && !WorldMapSection2.getKitDefinition(var10 - 256).ready()) { - var9 = true; - } + Model var8 = (Model)PlayerAppearance_cachedModels.get(var5); + if (var8 == null) { + boolean var9 = false; - if (var10 >= 512 && !Skills.getItemDefinition(var10 - 512).method145(this.isFemale)) { - var9 = true; - } - } + int var11; + for (int var10 = 0; var10 < 12; ++var10) { + var11 = var7[var10]; + if (var11 >= 256 && var11 < 512 && !ArchiveDiskAction.getKitDefinition(var11 - 256).ready()) { + var9 = true; + } - if (var9) { - if (this.field729 != -1L) { - var15 = (Model)PlayerAppearance_cachedModels.get(this.field729); - } + if (var11 >= 512 && !WorldMapArea.getItemDefinition(var11 - 512).method4646(this.isFemale)) { + var9 = true; + } + } - if (var15 == null) { - return null; - } - } + if (var9) { + if (-1L != this.field2537) { + var8 = (Model)PlayerAppearance_cachedModels.get(this.field2537); + } - if (var15 == null) { - ModelData[] var17 = new ModelData[12]; - var10 = 0; + if (var8 == null) { + return null; + } + } - int var12; - for (int var13 = 0; var13 < 12; ++var13) { - var12 = var7[var13]; - ModelData var14; - if (var12 >= 256 && var12 < 512) { - var14 = WorldMapSection2.getKitDefinition(var12 - 256).getModelData(); - if (var14 != null) { - var17[var10++] = var14; - } - } + if (var8 == null) { + ModelData[] var16 = new ModelData[12]; + var11 = 0; - if (var12 >= 512) { - var14 = Skills.getItemDefinition(var12 - 512).method146(this.isFemale); - if (var14 != null) { - var17[var10++] = var14; - } - } - } + int var13; + for (int var12 = 0; var12 < 12; ++var12) { + var13 = var7[var12]; + ModelData var14; + if (var13 >= 256 && var13 < 512) { + var14 = ArchiveDiskAction.getKitDefinition(var13 - 256).getModelData(); + if (var14 != null) { + var16[var11++] = var14; + } + } - ModelData var18 = new ModelData(var17, var10); + if (var13 >= 512) { + var14 = WorldMapArea.getItemDefinition(var13 - 512).method4694(this.isFemale); + if (var14 != null) { + var16[var11++] = var14; + } + } + } - for (var12 = 0; var12 < 5; ++var12) { - if (this.bodyColors[var12] < class229.field1137[var12].length) { - var18.recolor(field726[var12], class229.field1137[var12][this.bodyColors[var12]]); - } + ModelData var17 = new ModelData(var16, var11); - if (this.bodyColors[var12] < ArchiveLoader.field406[var12].length) { - var18.recolor(class227.field1136[var12], ArchiveLoader.field406[var12][this.bodyColors[var12]]); - } - } + for (var13 = 0; var13 < 5; ++var13) { + if (this.bodyColors[var13] < class247.field3291[var13].length) { + var17.recolor(ModelData0.field1870[var13], class247.field3291[var13][this.bodyColors[var13]]); + } - var15 = var18.toModel(64, 850, -30, -50, -30); - PlayerAppearance_cachedModels.put(var15, var5); - this.field729 = var5; - } - } + if (this.bodyColors[var13] < Message.field604[var13].length) { + var17.recolor(WorldMapCacheName.field309[var13], Message.field604[var13][this.bodyColors[var13]]); + } + } - if (var1 == null && var3 == null) { - return var15; - } else { - Model var16; - if (var1 != null && var3 != null) { - var16 = var1.applyTransformations(var15, var2, var3, var4); - } else if (var1 != null) { - var16 = var1.transformActorModel(var15, var2); - } else { - var16 = var3.transformActorModel(var15, var4); - } + var8 = var17.toModel(64, 850, -30, -50, -30); + PlayerAppearance_cachedModels.put(var8, var5); + this.field2537 = var5; + } + } - return var16; - } - } - } + if (var1 == null && var3 == null) { + return var8; + } else { + Model var18; + if (var1 != null && var3 != null) { + var18 = var1.applyTransformations(var8, var2, var3, var4); + } else if (var1 != null) { + var18 = var1.transformActorModel(var8, var2); + } else { + var18 = var3.transformActorModel(var8, var4); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Ldw;", - garbageValue = "1807737418" - ) - @Export("getModelData") - ModelData getModelData() { - if (this.npcTransformId != -1) { - return ObjectDefinition.getNpcDefinition(this.npcTransformId).getModelData(); - } else { - boolean var1 = false; + return var18; + } + } + } - int var2; - for (int var3 = 0; var3 < 12; ++var3) { - var2 = this.equipment[var3]; - if (var2 >= 256 && var2 < 512 && !WorldMapSection2.getKitDefinition(var2 - 256).method161()) { - var1 = true; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Lds;", + garbageValue = "-1659019882" + ) + @Export("getModelData") + ModelData getModelData() { + if (this.npcTransformId != -1) { + return GameShell.getNpcDefinition(this.npcTransformId).getModelData(); + } else { + boolean var1 = false; - if (var2 >= 512 && !Skills.getItemDefinition(var2 - 512).method147(this.isFemale)) { - var1 = true; - } - } + int var3; + for (int var2 = 0; var2 < 12; ++var2) { + var3 = this.equipment[var2]; + if (var3 >= 256 && var3 < 512 && !ArchiveDiskAction.getKitDefinition(var3 - 256).method4445()) { + var1 = true; + } - if (var1) { - return null; - } else { - ModelData[] var7 = new ModelData[12]; - var2 = 0; + if (var3 >= 512 && !WorldMapArea.getItemDefinition(var3 - 512).method4683(this.isFemale)) { + var1 = true; + } + } - int var4; - for (int var5 = 0; var5 < 12; ++var5) { - var4 = this.equipment[var5]; - ModelData var6; - if (var4 >= 256 && var4 < 512) { - var6 = WorldMapSection2.getKitDefinition(var4 - 256).method162(); - if (var6 != null) { - var7[var2++] = var6; - } - } + if (var1) { + return null; + } else { + ModelData[] var7 = new ModelData[12]; + var3 = 0; - if (var4 >= 512) { - var6 = Skills.getItemDefinition(var4 - 512).method148(this.isFemale); - if (var6 != null) { - var7[var2++] = var6; - } - } - } + int var5; + for (int var4 = 0; var4 < 12; ++var4) { + var5 = this.equipment[var4]; + ModelData var6; + if (var5 >= 256 && var5 < 512) { + var6 = ArchiveDiskAction.getKitDefinition(var5 - 256).method4441(); + if (var6 != null) { + var7[var3++] = var6; + } + } - ModelData var8 = new ModelData(var7, var2); + if (var5 >= 512) { + var6 = WorldMapArea.getItemDefinition(var5 - 512).method4649(this.isFemale); + if (var6 != null) { + var7[var3++] = var6; + } + } + } - for (var4 = 0; var4 < 5; ++var4) { - if (this.bodyColors[var4] < class229.field1137[var4].length) { - var8.recolor(field726[var4], class229.field1137[var4][this.bodyColors[var4]]); - } + ModelData var8 = new ModelData(var7, var3); - if (this.bodyColors[var4] < ArchiveLoader.field406[var4].length) { - var8.recolor(class227.field1136[var4], ArchiveLoader.field406[var4][this.bodyColors[var4]]); - } - } + for (var5 = 0; var5 < 5; ++var5) { + if (this.bodyColors[var5] < class247.field3291[var5].length) { + var8.recolor(ModelData0.field1870[var5], class247.field3291[var5][this.bodyColors[var5]]); + } - return var8; - } - } - } + if (this.bodyColors[var5] < Message.field604[var5].length) { + var8.recolor(WorldMapCacheName.field309[var5], Message.field604[var5][this.bodyColors[var5]]); + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "123" - ) - @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 + ObjectDefinition.getNpcDefinition(this.npcTransformId).id; - } + return var8; + } + } + } - static { - equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; - PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1943102032" + ) + @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 + GameShell.getNpcDefinition(this.npcTransformId).id; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lhp;II)Z", + garbageValue = "-435811450" + ) + @Export("SpriteBuffer_loadSpriteFlat") + public static boolean SpriteBuffer_loadSpriteFlat(AbstractArchive var0, int var1) { + byte[] var2 = var0.takeFileFlat(var1); + if (var2 == null) { + return false; + } else { + class185.SpriteBuffer_decode(var2); + return true; + } + } } diff --git a/runescape-client/src/main/java/PlayerType.java b/runescape-client/src/main/java/PlayerType.java index e42ad431ce..900a868f58 100644 --- a/runescape-client/src/main/java/PlayerType.java +++ b/runescape-client/src/main/java/PlayerType.java @@ -1,102 +1,95 @@ -import java.awt.Image; import net.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") +@ObfuscatedName("hn") @Implements("PlayerType") public enum PlayerType implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_normal") - PlayerType_normal(0, -1, true, false, true), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_playerModerator") - PlayerType_playerModerator(1, 0, true, true, true), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_jagexModerator") - PlayerType_jagexModerator(2, 1, true, true, false), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_ironman") - PlayerType_ironman(3, 2, false, false, true), - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_ultimateIronman") - PlayerType_ultimateIronman(4, 3, false, false, true), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lij;" - ) - @Export("PlayerType_hardcoreIronman") - PlayerType_hardcoreIronman(5, 10, false, false, true); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_normal") + PlayerType_normal(0, -1, true, false, true), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_playerModerator") + PlayerType_playerModerator(1, 0, true, true, true), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_jagexModerator") + PlayerType_jagexModerator(2, 1, true, true, false), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_ironman") + PlayerType_ironman(3, 2, false, false, true), + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_ultimateIronman") + PlayerType_ultimateIronman(4, 3, false, false, true), + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhn;" + ) + @Export("PlayerType_hardcoreIronman") + PlayerType_hardcoreIronman(5, 10, false, false, true); - @ObfuscatedName("ak") - static Image field730; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1999564657 - ) - @Export("id") - final int id; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 613822977 - ) - @Export("modIcon") - public final int modIcon; - @ObfuscatedName("e") - @Export("isPrivileged") - public final boolean isPrivileged; - @ObfuscatedName("x") - @Export("isUser") - public final boolean isUser; + @ObfuscatedName("n") + @Export("userHomeDirectory") + static String userHomeDirectory; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 942937123 + ) + @Export("id") + final int id; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -477607547 + ) + @Export("modIcon") + public final int modIcon; + @ObfuscatedName("c") + @Export("isPrivileged") + public final boolean isPrivileged; + @ObfuscatedName("f") + @Export("isUser") + public final boolean isUser; - private PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { - this.id = var3; - this.modIcon = var4; - this.isPrivileged = var6; - this.isUser = var7; - } + PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { + this.id = var3; + this.modIcon = var4; + this.isPrivileged = var6; + this.isUser = var7; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "300731074" - ) - @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("w") + @ObfuscatedSignature( + signature = "(IIIS)Lly;", + garbageValue = "-4698" + ) + @Export("getWorldMapRegionCachedSprite") + static Sprite getWorldMapRegionCachedSprite(int var0, int var1, int var2) { + return (Sprite)WorldMapRegion.WorldMapRegion_cachedSprites.get(Widget.getWorldMapSpriteHash(var0, var1, var2)); + } } diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index 031248e6ca..a94a58724f 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -1,183 +1,144 @@ -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("cq") +@ObfuscatedName("cw") @Implements("Players") public class Players { - @ObfuscatedName("q") - static byte[] field731; - @ObfuscatedName("w") - static byte[] field732; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "[Lgr;" - ) - static Buffer[] field733; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -766468303 - ) - @Export("Players_count") - static int Players_count; - @ObfuscatedName("g") - @Export("Players_indices") - static int[] Players_indices; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 945250525 - ) - static int field734; - @ObfuscatedName("e") - static int[] field735; - @ObfuscatedName("x") - @Export("Players_regions") - static int[] Players_regions; - @ObfuscatedName("d") - @Export("Players_orientations") - static int[] Players_orientations; - @ObfuscatedName("k") - @Export("Players_targetIndices") - static int[] Players_targetIndices; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -22568397 - ) - static int field736; - @ObfuscatedName("i") - static int[] field737; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lgr;" - ) - static Buffer field738; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lgr;" - ) - @Export("NetCache_reference") - public static Buffer NetCache_reference; + @ObfuscatedName("e") + static byte[] field1252; + @ObfuscatedName("p") + static byte[] field1250; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "[Lkf;" + ) + static Buffer[] field1254; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1230820149 + ) + @Export("Players_count") + static int Players_count; + @ObfuscatedName("b") + @Export("Players_indices") + static int[] Players_indices; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1347586957 + ) + @Export("Players_emptyIdxCount") + static int Players_emptyIdxCount; + @ObfuscatedName("c") + @Export("Players_emptyIndices") + static int[] Players_emptyIndices; + @ObfuscatedName("f") + @Export("Players_regions") + static int[] Players_regions; + @ObfuscatedName("m") + @Export("Players_orientations") + static int[] Players_orientations; + @ObfuscatedName("u") + @Export("Players_targetIndices") + static int[] Players_targetIndices; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1998791081 + ) + @Export("Players_pendingUpdateCount") + static int Players_pendingUpdateCount; + @ObfuscatedName("r") + @Export("Players_pendingUpdateIndices") + static int[] Players_pendingUpdateIndices; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkf;" + ) + static Buffer field1264; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lfx;" - ) - public static RunException method2120(Throwable var0, String var1) { - RunException var2; - if (var0 instanceof RunException) { - var2 = (RunException)var0; - var2.string = var2.string + ' ' + var1; - } else { - var2 = new RunException(var0, var1); - } + static { + field1252 = new byte[2048]; + field1250 = new byte[2048]; + field1254 = 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]; + field1264 = new Buffer(new byte[5000]); + } - return var2; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "-86" + ) + static final void method2092(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) { + class32.field282[0][var5][var4] = 127; + if (var0 == var5 && var5 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Lfz;III)Lco;", - garbageValue = "-1237576843" - ) - @Export("newPcmPlayer") - public static final PcmPlayer newPcmPlayer(TaskHandler var0, int var1, int var2) { - if (var1 >= 0 && var1 < 2) { - if (var2 < 256) { - var2 = 256; - } + if (var5 == var0 + var2 && var5 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; + } - try { - PcmPlayer var3 = class65.pcmPlayerProvider.player(); - var3.samples = new int[(PcmPlayer.isStereo ? 2 : 1) * 256]; - var3.frequency = var2; - var3.init(); - var3.capacity = (var2 & -1024) + 1024; - if (var3.capacity > 16384) { - var3.capacity = 16384; - } + if (var4 == var1 && var4 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; + } - var3.open(var3.capacity); - if (Login.pcmPlayerCount > 0 && Messages.soundSystem == null) { - Messages.soundSystem = new SoundSystem(); - Friend.soundSystemExecutor = Executors.newScheduledThreadPool(1); - Friend.soundSystemExecutor.scheduleAtFixedRate(Messages.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); - } + if (var4 == var3 + var1 && var4 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; + } + } + } + } - if (Messages.soundSystem != null) { - if (Messages.soundSystem.players[var1] != null) { - throw new IllegalArgumentException(); - } + } - Messages.soundSystem.players[var1] = var3; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "0" + ) + public static void method2093() { + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3144 != 0) { + ArchiveDiskActionHandler.field3144 = 1; - return var3; - } catch (Throwable var4) { - return new PcmPlayer(); - } - } else { - throw new IllegalArgumentException(); - } - } + try { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); + } catch (InterruptedException var3) { + } + } - @ObfuscatedName("hu") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "46802049" - ) - static final void method2112(int var0, int var1, int var2, int var3) { - for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { - if (Client.rootWidgetWidths[var4] + Client.rootWidgetXs[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetHeights[var4] + Client.rootWidgetYs[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { - Client.field100[var4] = true; - } - } + } + } - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "2142202681" + ) + static final boolean method2091(int var0, int var1) { + ObjectDefinition var2 = ViewportMouse.getObjectDefinition(var0); + if (var1 == 11) { + var1 = 10; + } - @ObfuscatedName("jf") - @ObfuscatedSignature( - signature = "(Lho;III)V", - garbageValue = "-1991202495" - ) - @Export("clickWidget") - static final void clickWidget(Widget component, int x, int y) { - if (Client.clickedWidget == null && !Client.isMenuOpen && component != null && class48.method869(component) != null) { - Client.clickedWidget = component; - Client.clickedWidgetParent = class48.method869(component); - Client.widgetClickX = x; - Client.widgetClickY = y; - MouseRecorder.widgetDragDuration = 0; - Client.isDraggingWidget = false; - int var3 = Client.menuOptionsCount - 1; - if (var3 != -1) { - GrandExchangeOfferUnitPriceComparator.tempMenuAction = new MenuAction(); - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument1 = Client.menuArguments1[var3]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument2 = Client.menuArguments2[var3]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.opcode = Client.menuOpcodes[var3]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.argument0 = Client.menuArguments0[var3]; - GrandExchangeOfferUnitPriceComparator.tempMenuAction.action = Client.menuActions[var3]; - } - } + if (var1 >= 5 && var1 <= 8) { + var1 = 4; + } - } - - static { - field731 = new byte[2048]; - field732 = new byte[2048]; - field733 = new Buffer[2048]; - Players_count = 0; - Players_indices = new int[2048]; - field734 = 0; - field735 = new int[2048]; - Players_regions = new int[2048]; - Players_orientations = new int[2048]; - Players_targetIndices = new int[2048]; - field736 = 0; - field737 = new int[2048]; - field738 = new Buffer(new byte[5000]); - } + return var2.method4589(var1); + } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 1712df6d1e..2d462aafff 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -4,281 +4,258 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cb") +@ObfuscatedName("cp") @Implements("Projectile") public final class Projectile extends Entity { - @ObfuscatedName("ck") - @ObfuscatedSignature( - signature = "Lbu;" - ) - @Export("mouseRecorder") - static MouseRecorder mouseRecorder; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 2111080001 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1038876505 - ) - @Export("plane") - int plane; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1652455041 - ) - @Export("sourceX") - int sourceX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1421996173 - ) - @Export("sourceY") - int sourceY; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -4446033 - ) - @Export("sourceZ") - int sourceZ; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -675081925 - ) - @Export("endHeight") - int endHeight; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 358196599 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 2121946763 - ) - @Export("cycleEnd") - int cycleEnd; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -769539171 - ) - @Export("slope") - int slope; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -2074328969 - ) - @Export("startHeight") - int startHeight; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 551413977 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("k") - @Export("isMoving") - boolean isMoving; - @ObfuscatedName("n") - @Export("x") - double x; - @ObfuscatedName("i") - @Export("y") - double y; - @ObfuscatedName("a") - @Export("z") - double z; - @ObfuscatedName("z") - @Export("speedX") - double speedX; - @ObfuscatedName("j") - @Export("speedY") - double speedY; - @ObfuscatedName("s") - @Export("speed") - double speed; - @ObfuscatedName("t") - @Export("speedZ") - double speedZ; - @ObfuscatedName("y") - @Export("accelerationZ") - double accelerationZ; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1281680175 - ) - @Export("yaw") - int yaw; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -2072120189 - ) - @Export("pitch") - int pitch; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljh;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -377214997 - ) - @Export("frame") - int frame; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -742871951 - ) - @Export("frameCycle") - int frameCycle; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -2096452169 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 693683503 + ) + @Export("plane") + int plane; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1526378075 + ) + @Export("sourceX") + int sourceX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1758571809 + ) + @Export("sourceY") + int sourceY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1551078339 + ) + @Export("sourceZ") + int sourceZ; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 520106141 + ) + @Export("endHeight") + int endHeight; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1629309513 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1697973671 + ) + @Export("cycleEnd") + int cycleEnd; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1762636667 + ) + @Export("slope") + int slope; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1172953683 + ) + @Export("startHeight") + int startHeight; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1892961843 + ) + @Export("targetIndex") + int targetIndex; + @ObfuscatedName("u") + @Export("isMoving") + boolean isMoving; + @ObfuscatedName("x") + @Export("x") + double x; + @ObfuscatedName("r") + @Export("y") + double y; + @ObfuscatedName("v") + @Export("z") + double z; + @ObfuscatedName("y") + @Export("speedX") + double speedX; + @ObfuscatedName("g") + @Export("speedY") + double speedY; + @ObfuscatedName("a") + @Export("speed") + double speed; + @ObfuscatedName("j") + @Export("speedZ") + double speedZ; + @ObfuscatedName("t") + @Export("accelerationZ") + double accelerationZ; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -2038512103 + ) + @Export("yaw") + int yaw; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1827021613 + ) + @Export("pitch") + int pitch; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lis;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 2144836423 + ) + @Export("frame") + int frame; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1364071235 + ) + @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 = class50.getSpotAnimationDefinition(this.id).sequence; - if (var12 != -1) { - this.sequenceDefinition = WorldMapAreaData.getSequenceDefinition(var12); - } else { - this.sequenceDefinition = null; - } + 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 = MusicPatch.getSpotAnimationDefinition(this.id).sequence; + if (var12 != -1) { + this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var12); + } else { + this.sequenceDefinition = null; + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-553495769" - ) - @Export("setDestination") - final void setDestination(int x, int y, int height, int cycle) { - double var5; - if (!this.isMoving) { - var5 = (double)(x - this.sourceX); - double var7 = (double)(y - this.sourceY); - double var9 = Math.sqrt(var5 * var5 + var7 * var7); - this.x = (double)this.sourceX + var5 * (double)this.startHeight / var9; - this.y = (double)this.sourceY + (double)this.startHeight * var7 / var9; - this.z = (double)this.sourceZ; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-2118689642" + ) + @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(var5 * var5 + var7 * var7); + 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 - cycle); - this.speedX = ((double)x - this.x) / var5; - this.speedY = ((double)y - 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); - } + 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 = ((double)height - this.z - var5 * this.speedZ) * 2.0D / (var5 * var5); - } + this.accelerationZ = 2.0D * ((double)var3 - this.z - var5 * this.speedZ) / (var5 * var5); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1351865817" - ) - @Export("advance") - final void advance(int cycles) { - this.isMoving = true; - this.x += this.speedX * (double)cycles; - this.y += (double)cycles * this.speedY; - this.z += (double)cycles * this.accelerationZ * 0.5D * (double)cycles + this.speedZ * (double)cycles; - this.speedZ += this.accelerationZ * (double)cycles; - 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 += cycles; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-4" + ) + @Export("advance") + final void advance(int var1) { + this.isMoving = true; + this.x += (double)var1 * this.speedX; + this.y += (double)var1 * this.speedY; + this.z += (double)var1 * this.speedZ + 0.5D * this.accelerationZ * (double)var1 * (double)var1; + 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; - } + 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.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 -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - this.frame = 0; - } - } - } + this.frame = 0; + } + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ldu;", - garbageValue = "-2134947096" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = class50.getSpotAnimationDefinition(this.id); - Model var2 = var1.getModel(this.frame); - if (var2 == null) { - return null; - } else { - var2.rotateZ(this.pitch); - return var2; - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ldm;", + garbageValue = "759381421" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id); + Model var2 = var1.getModel(this.frame); + if (var2 == null) { + return null; + } else { + var2.rotateZ(this.pitch); + return var2; + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "([BZB)Ljava/lang/Object;", - garbageValue = "95" - ) - @Export("byteArrayToObject") - public static Object byteArrayToObject(byte[] bytes, boolean copyArray) { - if (bytes == null) { - return null; - } else { - if (bytes.length > 136 && !AbstractByteArrayCopier.directBufferUnavailable) { - try { - DirectByteArrayCopier var2 = new DirectByteArrayCopier(); - var2.set(bytes); - return var2; - } catch (Throwable var3) { - AbstractByteArrayCopier.directBufferUnavailable = true; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)Lio;", + garbageValue = "0" + ) + @Export("getHitSplatDefinition") + public static HitSplatDefinition getHitSplatDefinition(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)); + } - return bytes; - } - } - - @ObfuscatedName("g") - @Export("addEntityTagAtMouse") - static final void addEntityTagAtMouse(long var0) { - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var0; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "372821346" - ) - public static void method2089() { - WorldMapElement.WorldMapElement_cachedSprites.clear(); - } + HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java index af00547fa4..109711e7c6 100644 --- a/runescape-client/src/main/java/RasterProvider.java +++ b/runescape-client/src/main/java/RasterProvider.java @@ -14,88 +14,88 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ai") +@ObfuscatedName("bp") @Implements("RasterProvider") public final class RasterProvider extends AbstractRasterProvider { - @ObfuscatedName("m") - @Export("component0") - Component component0; - @ObfuscatedName("f") - @Export("image") - Image image; + @ObfuscatedName("q") + @Export("component") + Component component; + @ObfuscatedName("w") + @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(); - } + 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("m") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;B)V", - garbageValue = "63" - ) - @Export("setComponent") - final void setComponent(Component var1) { - this.component0 = var1; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;B)V", + garbageValue = "0" + ) + @Export("setComponent") + final void setComponent(Component var1) { + this.component = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-430495007" - ) - @Export("drawFull") - public final void drawFull(int x, int y) { - this.drawFull0(this.component0.getGraphics(), x, y); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1942972544" + ) + @Export("drawFull") + public final void drawFull(int var1, int var2) { + this.drawFull0(this.component.getGraphics(), var1, var2); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "18" - ) - @Export("draw") - public final void draw(int x, int y, int width, int height) { - this.draw0(this.component0.getGraphics(), x, y, width, height); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1902391505" + ) + @Export("draw") + public final void draw(int var1, int var2, int var3, int var4) { + this.draw0(this.component.getGraphics(), var1, var2, var3, var4); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;III)V", - garbageValue = "-2102440865" - ) - @Export("drawFull0") - final void drawFull0(Graphics graphics, int x, int y) { - try { - graphics.drawImage(this.image, x, y, this.component0); - } catch (Exception var5) { - this.component0.repaint(); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/awt/Graphics;III)V", + garbageValue = "689962734" + ) + @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("o") - @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;IIIIB)V", - garbageValue = "3" - ) - @Export("draw0") - final void draw0(Graphics graphics, int x, int y, int width, int height) { - try { - Shape var6 = graphics.getClip(); - graphics.clipRect(x, y, width, height); - graphics.drawImage(this.image, 0, 0, this.component0); - graphics.setClip(var6); - } catch (Exception var7) { - this.component0.repaint(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ljava/awt/Graphics;IIIII)V", + garbageValue = "-143326584" + ) + @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 181dc8e39c..14532b01a9 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -3,830 +3,837 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lf") +@ObfuscatedName("lb") @Implements("Rasterizer2D") public class Rasterizer2D extends DualNode { - @ObfuscatedName("aq") - @Export("Rasterizer2D_pixels") - public static int[] Rasterizer2D_pixels; - @ObfuscatedName("aj") - @Export("Rasterizer2D_width") - public static int Rasterizer2D_width; - @ObfuscatedName("av") - @Export("Rasterizer2D_height") - public static int Rasterizer2D_height; - @ObfuscatedName("ar") - @Export("Rasterizer2D_yClipStart") - public static int Rasterizer2D_yClipStart; - @ObfuscatedName("ac") - @Export("Rasterizer2D_yClipEnd") - public static int Rasterizer2D_yClipEnd; - @ObfuscatedName("ay") - @Export("Rasterizer2D_xClipStart") - public static int Rasterizer2D_xClipStart; - @ObfuscatedName("ah") - @Export("Rasterizer2D_xClipEnd") - public static int Rasterizer2D_xClipEnd; - - @ObfuscatedName("dp") - @Export("Rasterizer2D_replace") - public static void Rasterizer2D_replace(int[] pixels, int width, int height) { - Rasterizer2D_pixels = pixels; - Rasterizer2D_width = width; - Rasterizer2D_height = height; - Rasterizer2D_setClip(0, 0, width, height); - } - - @ObfuscatedName("ds") - @Export("Rasterizer2D_resetClip") - public static void Rasterizer2D_resetClip() { - Rasterizer2D_xClipStart = 0; - Rasterizer2D_yClipStart = 0; - Rasterizer2D_xClipEnd = Rasterizer2D_width; - Rasterizer2D_yClipEnd = Rasterizer2D_height; - } - - @ObfuscatedName("di") - @Export("Rasterizer2D_setClip") - public static void Rasterizer2D_setClip(int xStart, int yStart, int xEnd, int yEnd) { - if (xStart < 0) { - xStart = 0; - } - - if (yStart < 0) { - yStart = 0; - } - - if (xEnd > Rasterizer2D_width) { - xEnd = Rasterizer2D_width; - } - - if (yEnd > Rasterizer2D_height) { - yEnd = Rasterizer2D_height; - } - - Rasterizer2D_xClipStart = xStart; - Rasterizer2D_yClipStart = yStart; - Rasterizer2D_xClipEnd = xEnd; - Rasterizer2D_yClipEnd = yEnd; - } - - @ObfuscatedName("dc") - @Export("Rasterizer2D_expandClip") - public static void Rasterizer2D_expandClip(int xStart, int yStart, int xEnd, int yEnd) { - if (Rasterizer2D_xClipStart < xStart) { - Rasterizer2D_xClipStart = xStart; - } - - if (Rasterizer2D_yClipStart < yStart) { - Rasterizer2D_yClipStart = yStart; - } - - if (Rasterizer2D_xClipEnd > xEnd) { - Rasterizer2D_xClipEnd = xEnd; - } - - if (Rasterizer2D_yClipEnd > yEnd) { - Rasterizer2D_yClipEnd = yEnd; - } - - } - - @ObfuscatedName("dg") - @Export("Rasterizer2D_getClipArray") - public static void Rasterizer2D_getClipArray(int[] dst) { - dst[0] = Rasterizer2D_xClipStart; - dst[1] = Rasterizer2D_yClipStart; - dst[2] = Rasterizer2D_xClipEnd; - dst[3] = Rasterizer2D_yClipEnd; - } - - @ObfuscatedName("db") - @Export("Rasterizer2D_setClipArray") - public static void Rasterizer2D_setClipArray(int[] src) { - Rasterizer2D_xClipStart = src[0]; - Rasterizer2D_yClipStart = src[1]; - Rasterizer2D_xClipEnd = src[2]; - Rasterizer2D_yClipEnd = src[3]; - } - - @ObfuscatedName("dd") - @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) { - } - - } - - @Export("drawCircle") - @ObfuscatedName("dy") - 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("dk") - @Export("Rasterizer2D_drawCircleAlpha") - public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int opacity) { - if (opacity != 0) { - if (opacity == 256) { - drawCircle(var0, var1, var2, var3); - } else { - if (var2 < 0) { - var2 = -var2; - } - - int var5 = 256 - opacity; - int var6 = (var3 >> 16 & 255) * opacity; - int var7 = (var3 >> 8 & 255) * opacity; - int var8 = opacity * (var3 & 255); - int var9 = var1 - var2; - if (var9 < Rasterizer2D_yClipStart) { - var9 = Rasterizer2D_yClipStart; - } - - int var10 = var2 + var1 + 1; - if (var10 > Rasterizer2D_yClipEnd) { - var10 = Rasterizer2D_yClipEnd; - } - - int var11 = var9; - int var12 = var2 * var2; - int var13 = 0; - int var14 = var1 - var9; - int var15 = var14 * var14; - int var16 = var15 - var14; - if (var1 > var10) { - var1 = var10; - } - - int var17; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - int var24; - while (var11 < var1) { - while (var16 <= var12 || var15 <= var12) { - var15 = var15 + var13 + var13; - var16 += var13++ + var13; - } - - var20 = var0 - var13 + 1; - if (var20 < Rasterizer2D_xClipStart) { - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var13; - if (var21 > Rasterizer2D_xClipEnd) { - var21 = Rasterizer2D_xClipEnd; - } - - var22 = var20 + var11 * Rasterizer2D_width; - - for (var23 = var20; var23 < var21; ++var23) { - var17 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); - var18 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; - var19 = var5 * (Rasterizer2D_pixels[var22] & 255); - var24 = (var8 + var19 >> 8) + (var6 + var17 >> 8 << 16) + (var7 + var18 >> 8 << 8); - Rasterizer2D_pixels[var22++] = var24; - } - - ++var11; - var15 -= var14-- + var14; - var16 -= var14 + var14; - } - - var13 = var2; - var14 = -var14; - var16 = var12 + var14 * var14; - var15 = var16 - var2; - - for (var16 -= var14; var11 < var10; var15 += var14++ + var14) { - while (var16 > var12 && var15 > var12) { - var16 -= var13-- + var13; - var15 -= var13 + var13; - } - - var20 = var0 - var13; - if (var20 < Rasterizer2D_xClipStart) { - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var13; - if (var21 > Rasterizer2D_xClipEnd - 1) { - var21 = Rasterizer2D_xClipEnd - 1; - } - - var22 = var20 + var11 * Rasterizer2D_width; - - for (var23 = var20; var23 <= var21; ++var23) { - var17 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); - var18 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; - var19 = var5 * (Rasterizer2D_pixels[var22] & 255); - var24 = (var8 + var19 >> 8) + (var6 + var17 >> 8 << 16) + (var7 + var18 >> 8 << 8); - Rasterizer2D_pixels[var22++] = var24; - } - - ++var11; - var16 = var16 + var14 + var14; - } - } - } - - } - - @ObfuscatedName("dl") - @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("dr") - @Export("Rasterizer2D_fillRectangle") - public static void Rasterizer2D_fillRectangle(int x, int y, int width, int height, int color) { - if (x < Rasterizer2D_xClipStart) { - width -= Rasterizer2D_xClipStart - x; - x = Rasterizer2D_xClipStart; - } - - if (y < Rasterizer2D_yClipStart) { - height -= Rasterizer2D_yClipStart - y; - y = Rasterizer2D_yClipStart; - } - - if (x + width > Rasterizer2D_xClipEnd) { - width = Rasterizer2D_xClipEnd - x; - } - - if (height + y > Rasterizer2D_yClipEnd) { - height = Rasterizer2D_yClipEnd - y; - } - - int var5 = Rasterizer2D_width - width; - int var6 = x + Rasterizer2D_width * y; - - for (int var7 = -height; var7 < 0; ++var7) { - for (int var8 = -width; var8 < 0; ++var8) { - Rasterizer2D_pixels[var6++] = color; - } - - var6 += var5; - } - - } - - @Export("Rasterizer2D_fillRectangleGradient") - @ObfuscatedName("dw") - public static void Rasterizer2D_fillRectangleGradient(int x, int y, int width, int height, int rgbTop, int rgbBot) { - if (width > 0 && height > 0) { - int var6 = 0; - int var7 = 65536 / height; - if (x < Rasterizer2D_xClipStart) { - width -= Rasterizer2D_xClipStart - x; - x = Rasterizer2D_xClipStart; - } - - if (y < Rasterizer2D_yClipStart) { - var6 += (Rasterizer2D_yClipStart - y) * var7; - height -= Rasterizer2D_yClipStart - y; - y = Rasterizer2D_yClipStart; - } - - if (x + width > Rasterizer2D_xClipEnd) { - width = Rasterizer2D_xClipEnd - x; - } - - if (height + y > Rasterizer2D_yClipEnd) { - height = Rasterizer2D_yClipEnd - y; - } - - int var8 = Rasterizer2D_width - width; - int var9 = x + Rasterizer2D_width * y; - - for (int var10 = -height; var10 < 0; ++var10) { - int var11 = 65536 - var6 >> 8; - int var12 = var6 >> 8; - int var13 = (var12 * (rgbBot & 16711935) + var11 * (rgbTop & 16711935) & -16711936) + (var12 * (rgbBot & 65280) + var11 * (rgbTop & 65280) & 16711680) >>> 8; - - for (int var14 = -width; var14 < 0; ++var14) { - Rasterizer2D_pixels[var9++] = var13; - } - - var9 += var8; - var6 += var7; - } - } - - } - - @ObfuscatedName("dv") - @Export("Rasterizer2D_fillRectangleGradientAlpha") - public static void Rasterizer2D_fillRectangleGradientAlpha(int x, int y, int width, int height, int rgbTop, int rgbBot, int alphaTop, int alphaBot) { - if (width > 0 && height > 0) { - int var8 = 0; - int var9 = 65536 / height; - if (x < Rasterizer2D_xClipStart) { - width -= Rasterizer2D_xClipStart - x; - x = Rasterizer2D_xClipStart; - } - - if (y < Rasterizer2D_yClipStart) { - var8 += (Rasterizer2D_yClipStart - y) * var9; - height -= Rasterizer2D_yClipStart - y; - y = Rasterizer2D_yClipStart; - } - - if (x + width > Rasterizer2D_xClipEnd) { - width = Rasterizer2D_xClipEnd - x; - } - - if (height + y > Rasterizer2D_yClipEnd) { - height = Rasterizer2D_yClipEnd - y; - } - - int var10 = Rasterizer2D_width - width; - int var11 = x + Rasterizer2D_width * y; - - for (int var12 = -height; var12 < 0; ++var12) { - int var13 = 65536 - var8 >> 8; - int var14 = var8 >> 8; - int var15 = (var13 * alphaTop + var14 * alphaBot & 65280) >>> 8; - if (var15 == 0) { - var11 += Rasterizer2D_width; - var8 += var9; - } else { - int var16 = (var14 * (rgbBot & 16711935) + var13 * (rgbTop & 16711935) & -16711936) + (var14 * (rgbBot & 65280) + var13 * (rgbTop & 65280) & 16711680) >>> 8; - int var17 = 255 - var15; - int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280); - - for (int var19 = -width; 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("do") - @ObfuscatedSignature( - signature = "(IIIIII[BIZ)V", - garbageValue = "1" - ) - @Export("raster2d7") - public static void raster2d7(int x, int y, int width, int height, int var4, int var5, byte[] var6, int var7) { - if (x + width >= 0 && height + y >= 0 && x < Rasterizer2D_width && y < Rasterizer2D_height) { - int var8 = 0; - int var9 = 0; - if (x < 0) { - var8 -= x; - width += x; - } - - if (y < 0) { - var9 -= y; - height += y; - } - - if (x + width > Rasterizer2D_width) { - width = Rasterizer2D_width - x; - } - - if (height + y > Rasterizer2D_height) { - height = Rasterizer2D_height - y; - } - - int var10 = var6.length / var7; - int var11 = Rasterizer2D_width - width; - int var12 = var4 >>> 24; - int var13 = var5 >>> 24; - int var14; - int var15; - int var16; - int var17; - int var18; - if (var12 == 255 && var13 == 255) { - var14 = x + var8 + (var9 + y) * Rasterizer2D_width; - - for (var15 = var9 + y; var15 < height + var9 + y; ++var15) { - for (var16 = x + var8; var16 < x + var8 + width; ++var16) { - var17 = (var15 - y) % var10; - var18 = (var16 - x) % var7; - if (var6[var18 + var17 * var7] != 0) { - Rasterizer2D_pixels[var14++] = var5; - } else { - Rasterizer2D_pixels[var14++] = var4; - } - } - - var14 += var11; - } - } else { - var14 = x + var8 + (var9 + y) * Rasterizer2D_width; - - for (var15 = var9 + y; var15 < height + var9 + y; ++var15) { - for (var16 = x + var8; var16 < x + var8 + width; ++var16) { - var17 = (var15 - y) % var10; - var18 = (var16 - x) % 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("dh") - @Export("Rasterizer2D_drawRectangle") - public static void Rasterizer2D_drawRectangle(int x, int y, int width, int height, int color) { - Rasterizer2D_drawHorizontalLine(x, y, width, color); - Rasterizer2D_drawHorizontalLine(x, height + y - 1, width, color); - Rasterizer2D_drawVerticalLine(x, y, height, color); - Rasterizer2D_drawVerticalLine(x + width - 1, y, height, color); - } - - @ObfuscatedName("dz") - @Export("Rasterizer2D_drawRectangleAlpha") - public static void Rasterizer2D_drawRectangleAlpha(int x, int y, int width, int height, int rgb, int alpha) { - Rasterizer2D_drawHorizontalLineAlpha(x, y, width, rgb, alpha); - Rasterizer2D_drawHorizontalLineAlpha(x, height + y - 1, width, rgb, alpha); - if (height >= 3) { - Rasterizer2D_drawVerticalLineAlpha(x, y + 1, height - 2, rgb, alpha); - Rasterizer2D_drawVerticalLineAlpha(x + width - 1, y + 1, height - 2, rgb, alpha); - } - - } - - @ObfuscatedName("dj") - @Export("Rasterizer2D_drawHorizontalLine") - public static void Rasterizer2D_drawHorizontalLine(int x, int y, int length, int color) { - if (y >= Rasterizer2D_yClipStart && y < Rasterizer2D_yClipEnd) { - if (x < Rasterizer2D_xClipStart) { - length -= Rasterizer2D_xClipStart - x; - x = Rasterizer2D_xClipStart; - } - - if (x + length > Rasterizer2D_xClipEnd) { - length = Rasterizer2D_xClipEnd - x; - } - - int var4 = x + Rasterizer2D_width * y; - - for (int var5 = 0; var5 < length; ++var5) { - Rasterizer2D_pixels[var4 + var5] = color; - } - } - - } - - @ObfuscatedName("du") - @Export("Rasterizer2D_drawHorizontalLineAlpha") - static void Rasterizer2D_drawHorizontalLineAlpha(int x, int y, int length, int rgb, int alpha) { - if (y >= Rasterizer2D_yClipStart && y < Rasterizer2D_yClipEnd) { - if (x < Rasterizer2D_xClipStart) { - length -= Rasterizer2D_xClipStart - x; - x = Rasterizer2D_xClipStart; - } - - if (x + length > Rasterizer2D_xClipEnd) { - length = Rasterizer2D_xClipEnd - x; - } - - int var5 = 256 - alpha; - int var6 = (rgb >> 16 & 255) * alpha; - int var7 = (rgb >> 8 & 255) * alpha; - int var8 = alpha * (rgb & 255); - int var9 = x + Rasterizer2D_width * y; - - for (int var10 = 0; var10 < length; ++var10) { - int var11 = var5 * (Rasterizer2D_pixels[var9] >> 16 & 255); - int var12 = (Rasterizer2D_pixels[var9] >> 8 & 255) * var5; - int var13 = var5 * (Rasterizer2D_pixels[var9] & 255); - int var14 = (var8 + var13 >> 8) + (var6 + var11 >> 8 << 16) + (var7 + var12 >> 8 << 8); - Rasterizer2D_pixels[var9++] = var14; - } - } - - } - - @ObfuscatedName("dm") - @Export("Rasterizer2D_drawVerticalLine") - public static void Rasterizer2D_drawVerticalLine(int x, int y, int length, int color) { - if (x >= Rasterizer2D_xClipStart && x < Rasterizer2D_xClipEnd) { - if (y < Rasterizer2D_yClipStart) { - length -= Rasterizer2D_yClipStart - y; - y = Rasterizer2D_yClipStart; - } - - if (length + y > Rasterizer2D_yClipEnd) { - length = Rasterizer2D_yClipEnd - y; - } - - int var4 = x + Rasterizer2D_width * y; - - for (int var5 = 0; var5 < length; ++var5) { - Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = color; - } - } - - } - - @ObfuscatedName("dq") - @Export("Rasterizer2D_drawVerticalLineAlpha") - static void Rasterizer2D_drawVerticalLineAlpha(int x, int y, int length, int rgb, int alpha) { - if (x >= Rasterizer2D_xClipStart && x < Rasterizer2D_xClipEnd) { - if (y < Rasterizer2D_yClipStart) { - length -= Rasterizer2D_yClipStart - y; - y = Rasterizer2D_yClipStart; - } - - if (length + y > Rasterizer2D_yClipEnd) { - length = Rasterizer2D_yClipEnd - y; - } - - int var5 = 256 - alpha; - int var6 = (rgb >> 16 & 255) * alpha; - int var7 = (rgb >> 8 & 255) * alpha; - int var8 = alpha * (rgb & 255); - int var9 = x + Rasterizer2D_width * y; - - for (int var10 = 0; var10 < length; ++var10) { - int var11 = var5 * (Rasterizer2D_pixels[var9] >> 16 & 255); - int var12 = (Rasterizer2D_pixels[var9] >> 8 & 255) * var5; - int var13 = var5 * (Rasterizer2D_pixels[var9] & 255); - int var14 = (var8 + var13 >> 8) + (var6 + var11 >> 8 << 16) + (var7 + var12 >> 8 << 8); - Rasterizer2D_pixels[var9] = var14; - var9 += Rasterizer2D_width; - } - } - - } - - @ObfuscatedName("et") - @Export("Rasterizer2D_drawLine") - public static void Rasterizer2D_drawLine(int x0, int y0, int x1, int y1, int color) { - x1 -= x0; - y1 -= y0; - if (y1 == 0) { - if (x1 >= 0) { - Rasterizer2D_drawHorizontalLine(x0, y0, x1 + 1, color); - } else { - Rasterizer2D_drawHorizontalLine(x0 + x1, y0, -x1 + 1, color); - } - } else if (x1 == 0) { - if (y1 >= 0) { - Rasterizer2D_drawVerticalLine(x0, y0, y1 + 1, color); - } else { - Rasterizer2D_drawVerticalLine(x0, y1 + y0, -y1 + 1, color); - } - } else { - if (y1 + x1 < 0) { - x0 += x1; - x1 = -x1; - y0 += y1; - y1 = -y1; - } - - int var5; - int var6; - if (x1 > y1) { - y0 <<= 16; - y0 += 32768; - y1 <<= 16; - var5 = (int)Math.floor((double)y1 / (double)x1 + 0.5D); - x1 += x0; - if (x0 < Rasterizer2D_xClipStart) { - y0 += var5 * (Rasterizer2D_xClipStart - x0); - x0 = Rasterizer2D_xClipStart; - } - - if (x1 >= Rasterizer2D_xClipEnd) { - x1 = Rasterizer2D_xClipEnd - 1; - } - - while (x0 <= x1) { - var6 = y0 >> 16; - if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { - Rasterizer2D_pixels[x0 + var6 * Rasterizer2D_width] = color; - } - - y0 += var5; - ++x0; - } - } else { - x0 <<= 16; - x0 += 32768; - x1 <<= 16; - var5 = (int)Math.floor((double)x1 / (double)y1 + 0.5D); - y1 += y0; - if (y0 < Rasterizer2D_yClipStart) { - x0 += (Rasterizer2D_yClipStart - y0) * var5; - y0 = Rasterizer2D_yClipStart; - } - - if (y1 >= Rasterizer2D_yClipEnd) { - y1 = Rasterizer2D_yClipEnd - 1; - } - - while (y0 <= y1) { - var6 = x0 >> 16; - if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { - Rasterizer2D_pixels[var6 + Rasterizer2D_width * y0] = color; - } - - x0 += var5; - ++y0; - } - } - } - - } - - @ObfuscatedName("eb") - @Export("Rasterizer2D_setPixel") - static void Rasterizer2D_setPixel(int x, int y, int color) { - if (x >= Rasterizer2D_xClipStart && y >= Rasterizer2D_yClipStart && x < Rasterizer2D_xClipEnd && y < Rasterizer2D_yClipEnd) { - Rasterizer2D_pixels[x + Rasterizer2D_width * y] = color; - } - - } - - @ObfuscatedName("ek") - public static void method5948(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; - } - - } - - static { - Rasterizer2D_yClipStart = 0; - Rasterizer2D_yClipEnd = 0; - Rasterizer2D_xClipStart = 0; - Rasterizer2D_xClipEnd = 0; - } + @ObfuscatedName("av") + @Export("Rasterizer2D_pixels") + public static int[] Rasterizer2D_pixels; + @ObfuscatedName("as") + @Export("Rasterizer2D_width") + public static int Rasterizer2D_width; + @ObfuscatedName("aw") + @Export("Rasterizer2D_height") + public static int Rasterizer2D_height; + @ObfuscatedName("ad") + @Export("Rasterizer2D_yClipStart") + public static int Rasterizer2D_yClipStart; + @ObfuscatedName("ag") + @Export("Rasterizer2D_yClipEnd") + public static int Rasterizer2D_yClipEnd; + @ObfuscatedName("ar") + @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("cd") + @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("dr") + @Export("Rasterizer2D_resetClip") + public static void Rasterizer2D_resetClip() { + Rasterizer2D_xClipStart = 0; + Rasterizer2D_yClipStart = 0; + Rasterizer2D_xClipEnd = Rasterizer2D_width; + Rasterizer2D_yClipEnd = Rasterizer2D_height; + } + + @ObfuscatedName("dn") + @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("dw") + @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("dg") + @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("df") + @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("dt") + @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("dj") + @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("dl") + @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("dz") + @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("dh") + @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("dy") + @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("dx") + @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("dp") + @ObfuscatedSignature( + signature = "(IIIIII[BIZ)V", + garbageValue = "1" + ) + @Export("raster2d7") + public static void raster2d7(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("de") + @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("du") + @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("dc") + @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("ds") + @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("dk") + @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("dq") + @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("db") + @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("da") + @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 992dff9e1b..f1968c745f 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -3,3449 +3,3456 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("et") +@ObfuscatedName("ev") @Implements("Rasterizer3D") public class Rasterizer3D extends Rasterizer2D { - @ObfuscatedName("m") - static boolean field739; - @ObfuscatedName("f") - static boolean field740; - @ObfuscatedName("q") - @Export("Rasterizer3D_isLowDetailTexture") - static boolean Rasterizer3D_isLowDetailTexture; - @ObfuscatedName("w") - public static boolean field741; - @ObfuscatedName("o") - @Export("Rasterizer3D_alpha") - static int Rasterizer3D_alpha; - @ObfuscatedName("k") - @Export("Rasterizer3D_zoom") - public static int Rasterizer3D_zoom; - @ObfuscatedName("n") - @Export("Rasterizer3D_clipMidX") - static int Rasterizer3D_clipMidX; - @ObfuscatedName("i") - @Export("Rasterizer3D_clipMidY") - static int Rasterizer3D_clipMidY; - @ObfuscatedName("a") - @Export("Rasterizer3D_clipWidth") - static int Rasterizer3D_clipWidth; - @ObfuscatedName("z") - @Export("Rasterizer3D_clipHeight") - static int Rasterizer3D_clipHeight; - @ObfuscatedName("j") - @Export("Rasterizer3D_clipNegativeMidX") - static int Rasterizer3D_clipNegativeMidX; - @ObfuscatedName("s") - @Export("Rasterizer3D_clipMidX2") - static int Rasterizer3D_clipMidX2; - @ObfuscatedName("t") - @Export("Rasterizer3D_clipNegativeMidY") - static int Rasterizer3D_clipNegativeMidY; - @ObfuscatedName("y") - @Export("Rasterizer3D_clipMidY2") - static int Rasterizer3D_clipMidY2; - @ObfuscatedName("h") - @Export("Rasterizer3D_rowOffsets") - static int[] Rasterizer3D_rowOffsets; - @ObfuscatedName("b") - @Export("Rasterizer3D_colorPalette") - public static int[] Rasterizer3D_colorPalette; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lei;" - ) - @Export("Rasterizer3D_textureLoader") - public static TextureLoader Rasterizer3D_textureLoader; - @ObfuscatedName("r") - static int[] field742; - @ObfuscatedName("p") - static int[] field743; - @ObfuscatedName("v") - @Export("Rasterizer3D_sine") - public static int[] Rasterizer3D_sine; - @ObfuscatedName("ag") - @Export("Rasterizer3D_cosine") - public static int[] Rasterizer3D_cosine; - - @ObfuscatedName("m") - @Export("Rasterizer3D_setClipFromRasterizer2D") - public static final void Rasterizer3D_setClipFromRasterizer2D() { - Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); - } - - @ObfuscatedName("f") - @Export("Rasterizer3D_setClip") - static final void Rasterizer3D_setClip(int xStart, int yStart, int xEnd, int yEnd) { - Rasterizer3D_clipWidth = xEnd - xStart; - Rasterizer3D_clipHeight = yEnd - yStart; - Rasterizer3D_method3(); - if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { - Rasterizer3D_rowOffsets = new int[World.method1759(Rasterizer3D_clipHeight)]; - } - - int var4 = xStart + Rasterizer2D.Rasterizer2D_width * yStart; - - for (int var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { - Rasterizer3D_rowOffsets[var5] = var4; - var4 += Rasterizer2D.Rasterizer2D_width; - } - - } - - @ObfuscatedName("q") - @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("w") - public static final void method2989(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("o") - @ObfuscatedSignature( - signature = "(Lei;)V" - ) - @Export("Rasterizer3D_setTextureLoader") - public static final void Rasterizer3D_setTextureLoader(TextureLoader textureLoader) { - Rasterizer3D_textureLoader = textureLoader; - } - - @ObfuscatedName("u") - @Export("Rasterizer3D_setBrightness") - public static final void Rasterizer3D_setBrightness(double brightness) { - Rasterizer3D_buildPalette(brightness, 0, 512); - } - - @ObfuscatedName("g") - @Export("Rasterizer3D_buildPalette") - static final void Rasterizer3D_buildPalette(double brightness, int hsMin, int hsMax) { - int var4 = hsMin * 128; - - for (int var5 = hsMin; var5 < hsMax; ++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 var25 = var6 - 0.3333333333333333D; - if (var25 < 0.0D) { - ++var25; - } - - 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 * var25 < 1.0D) { - var17 = var21 + (var19 - var21) * 6.0D * var25; - } else if (2.0D * var25 < 1.0D) { - var17 = var19; - } else if (3.0D * var25 < 2.0D) { - var17 = var21 + (var19 - var21) * (0.6666666666666666D - var25) * 6.0D; - } else { - var17 = var21; - } - } - - int var28 = (int)(var13 * 256.0D); - int var20 = (int)(var15 * 256.0D); - int var27 = (int)(var17 * 256.0D); - int var22 = var27 + (var20 << 8) + (var28 << 16); - var22 = Rasterizer3D_brighten(var22, brightness); - if (var22 == 0) { - var22 = 1; - } - - Rasterizer3D_colorPalette[var4++] = var22; - } - } - - } - - @ObfuscatedName("l") - @Export("Rasterizer3D_brighten") - static int Rasterizer3D_brighten(int rgb, double brightness) { - double var3 = (double)(rgb >> 16) / 256.0D; - double var5 = (double)(rgb >> 8 & 255) / 256.0D; - double var7 = (double)(rgb & 255) / 256.0D; - var3 = Math.pow(var3, brightness); - var5 = Math.pow(var5, brightness); - var7 = Math.pow(var7, brightness); - 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("e") - public static void method2985(int var0, int var1, int var2) { - field739 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; - } - - @ObfuscatedName("x") - static final void method3037(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; - } - } - - 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; - } - } - - 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, 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; - } - } - - 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 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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("d") - @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 (field739) { - 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 (field741) { - 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("a") - public static final void method3020(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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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("z") - @Export("Rasterizer3D_horizAlpha") - static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { - if (field739) { - 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("j") - static final void method2986(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.load(var18); - int var20; - if (var19 == null) { - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method3037(var0, var1, var2, var3, var4, var5, method3040(var20, var6), method3040(var20, var7), method3040(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field740 = Rasterizer3D_textureLoader.vmethod325(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; - } - } - - 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; - } - } - - 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; - } - } - - 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, 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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("s") - @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 (field739) { - if (var6 > Rasterizer3D_clipWidth) { - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { - var5 = 0; - } - } - - if (var5 < var6) { - var4 += var5; - var7 += var5 * var8; - int var15 = var6 - var5; - int var16; - int var10000; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - int var24; - if (Rasterizer3D_isLowDetailTexture) { - var24 = var5 - Rasterizer3D_clipMidX; - var9 += var24 * (var12 >> 3); - var10 += (var13 >> 3) * var24; - var11 += var24 * (var14 >> 3); - var23 = var11 >> 12; - if (var23 != 0) { - var19 = var9 / var23; - var20 = var10 / var23; - if (var19 < 0) { - var19 = 0; - } else if (var19 > 4032) { - var19 = 4032; - } - } else { - var19 = 0; - var20 = 0; - } - - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 12; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 4032) { - var21 = 4032; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 20) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20); - var15 >>= 3; - var8 <<= 3; - var16 = var7 >> 8; - if (field740) { - if (var15 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var10000 = var18 + var2; - var19 = var21; - var20 = var22; - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 12; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 4032) { - var21 = 4032; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 20) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20); - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - --var15; - } while(var15 > 0); - } - } else { - if (var15 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var10000 = var18 + var2; - var19 = var21; - var20 = var22; - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 12; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 4032) { - var21 = 4032; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 20) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 20); - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - --var15; - } while(var15 > 0); - } - } - } else { - var24 = var5 - Rasterizer3D_clipMidX; - var9 += var24 * (var12 >> 3); - var10 += (var13 >> 3) * var24; - var11 += var24 * (var14 >> 3); - var23 = var11 >> 14; - if (var23 != 0) { - var19 = var9 / var23; - var20 = var10 / var23; - if (var19 < 0) { - var19 = 0; - } else if (var19 > 16256) { - var19 = 16256; - } - } else { - var19 = 0; - var20 = 0; - } - - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 14; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 16256) { - var21 = 16256; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 18) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18); - var15 >>= 3; - var8 <<= 3; - var16 = var7 >> 8; - if (field740) { - if (var15 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var10000 = var18 + var2; - var19 = var21; - var20 = var22; - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 14; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 16256) { - var21 = 16256; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 18) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18); - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var18; - --var15; - } while(var15 > 0); - } - } else { - if (var15 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var10000 = var18 + var2; - var19 = var21; - var20 = var22; - var9 += var12; - var10 += var13; - var11 += var14; - var23 = var11 >> 14; - if (var23 != 0) { - var21 = var9 / var23; - var22 = var10 / var23; - if (var21 < 0) { - var21 = 0; - } else if (var21 > 16256) { - var21 = 16256; - } - } else { - var21 = 0; - var22 = 0; - } - - var2 = (var19 << 18) + var20; - var18 = (var22 - var20 >> 3) + (var21 - var19 >> 3 << 18); - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var18; - --var15; - } while(var15 > 0); - } - } - } - } - - } - - @ObfuscatedName("t") - static final void method3012(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.load(var18); - int var20; - if (var19 == null) { - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method3037(var0, var1, var2, var3, var4, var5, method3040(var20, var6), method3040(var20, var7), method3040(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field740 = Rasterizer3D_textureLoader.vmethod325(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; - } - } - - 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; - } - } - - 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, 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; - } - } - - 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 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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; - } - } - - 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("y") - @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 (field739) { - if (var6 > Rasterizer3D_clipWidth) { - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { - var5 = 0; - } - } - - if (var5 < var6) { - var4 += var5; - var7 += var5 * var8; - int var15 = var6 - var5; - int var16; - int var17; - 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 += var15 * var12; - var10 += var13 * var15; - var11 += var15 * var14; - var22 = var11 >> 12; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 20) + var19; - var17 = (var21 - var19) / var15 + ((var20 - var18) / var15 << 20); - var15 >>= 3; - var8 <<= 3; - var16 = var7 >> 8; - if (field740) { - if (var15 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - --var15; - } while(var15 > 0); - } - } else { - if (var15 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - --var15; - } while(var15 > 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 += var15 * var12; - var10 += var13 * var15; - var11 += var15 * var14; - var22 = var11 >> 14; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 18) + var19; - var17 = (var21 - var19) / var15 + ((var20 - var18) / var15 << 18); - var15 >>= 3; - var8 <<= 3; - var16 = var7 >> 8; - if (field740) { - if (var15 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - var2 += var17; - --var15; - } while(var15 > 0); - } - } else { - if (var15 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - var7 += var8; - var16 = var7 >> 8; - --var15; - } while(var15 > 0); - } - - var15 = var6 - var5 & 7; - if (var15 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var16 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var16 & -16711936) >> 8; - } - - ++var4; - var2 += var17; - --var15; - } while(var15 > 0); - } - } - } - } - - } - - @ObfuscatedName("h") - static final int method3040(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("b") - static final int method3039(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; - } - - @ObfuscatedName("c") - static final int method3004(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; - } - - @ObfuscatedName("p") - @Export("rot3") - static final int rot3(int var0, int var1, int var2, int var3) { - return var0 * var2 - var3 * var1 >> 16; - } - - @ObfuscatedName("v") - @Export("rot4") - static final int rot4(int var0, int var1, int var2, int var3) { - return var3 * var0 + var2 * var1 >> 16; - } - - @ObfuscatedName("ag") - @Export("rot1") - static final int rot1(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; - } - - @ObfuscatedName("aq") - @Export("rot2") - static final int rot2(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; - } - - static { - field739 = false; - field740 = false; - Rasterizer3D_isLowDetailTexture = false; - field741 = true; - Rasterizer3D_alpha = 0; - Rasterizer3D_zoom = 512; - Rasterizer3D_rowOffsets = new int[1024]; - Rasterizer3D_colorPalette = new int[65536]; - field742 = new int[512]; - field743 = new int[2048]; - Rasterizer3D_sine = new int[2048]; - Rasterizer3D_cosine = new int[2048]; - - int var0; - for (var0 = 1; var0 < 512; ++var0) { - field742[var0] = 32768 / var0; - } - - for (var0 = 1; var0 < 2048; ++var0) { - field743[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("q") + static boolean field1763; + @ObfuscatedName("w") + static boolean field1772; + @ObfuscatedName("e") + @Export("Rasterizer3D_isLowDetailTexture") + static boolean Rasterizer3D_isLowDetailTexture; + @ObfuscatedName("p") + public static boolean field1768; + @ObfuscatedName("k") + @Export("Rasterizer3D_alpha") + static int Rasterizer3D_alpha; + @ObfuscatedName("u") + @Export("Rasterizer3D_zoom") + public static int Rasterizer3D_zoom; + @ObfuscatedName("x") + @Export("Rasterizer3D_clipMidX") + static int Rasterizer3D_clipMidX; + @ObfuscatedName("r") + @Export("Rasterizer3D_clipMidY") + static int Rasterizer3D_clipMidY; + @ObfuscatedName("v") + @Export("Rasterizer3D_clipWidth") + static int Rasterizer3D_clipWidth; + @ObfuscatedName("y") + @Export("Rasterizer3D_clipHeight") + static int Rasterizer3D_clipHeight; + @ObfuscatedName("g") + @Export("Rasterizer3D_clipNegativeMidX") + static int Rasterizer3D_clipNegativeMidX; + @ObfuscatedName("a") + @Export("Rasterizer3D_clipMidX2") + static int Rasterizer3D_clipMidX2; + @ObfuscatedName("j") + @Export("Rasterizer3D_clipNegativeMidY") + static int Rasterizer3D_clipNegativeMidY; + @ObfuscatedName("t") + @Export("Rasterizer3D_clipMidY2") + static int Rasterizer3D_clipMidY2; + @ObfuscatedName("h") + @Export("Rasterizer3D_rowOffsets") + static int[] Rasterizer3D_rowOffsets; + @ObfuscatedName("o") + @Export("Rasterizer3D_colorPalette") + public static int[] Rasterizer3D_colorPalette; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lef;" + ) + @Export("Rasterizer3D_textureLoader") + public static TextureLoader Rasterizer3D_textureLoader; + @ObfuscatedName("d") + static int[] field1785; + @ObfuscatedName("s") + static int[] field1786; + @ObfuscatedName("z") + @Export("Rasterizer3D_sine") + public static int[] Rasterizer3D_sine; + @ObfuscatedName("al") + @Export("Rasterizer3D_cosine") + public static int[] Rasterizer3D_cosine; + + static { + field1763 = false; + field1772 = false; + Rasterizer3D_isLowDetailTexture = false; + field1768 = true; + Rasterizer3D_alpha = 0; + Rasterizer3D_zoom = 512; + Rasterizer3D_rowOffsets = new int[1024]; + Rasterizer3D_colorPalette = new int[65536]; + field1785 = new int[512]; + field1786 = new int[2048]; + Rasterizer3D_sine = new int[2048]; + Rasterizer3D_cosine = new int[2048]; + + int var0; + for (var0 = 1; var0 < 512; ++var0) { + field1785[var0] = 32768 / var0; + } + + for (var0 = 1; var0 < 2048; ++var0) { + field1786[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("q") + @Export("Rasterizer3D_setClipFromRasterizer2D") + public static final void Rasterizer3D_setClipFromRasterizer2D() { + Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); + } + + @ObfuscatedName("w") + @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("e") + @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("p") + public static final void method2976(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("k") + @ObfuscatedSignature( + signature = "(Lef;)V" + ) + @Export("Rasterizer3D_setTextureLoader") + public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { + Rasterizer3D_textureLoader = var0; + } + + @ObfuscatedName("l") + @Export("Rasterizer3D_setBrightness") + public static final void Rasterizer3D_setBrightness(double var0) { + Rasterizer3D_buildPalette(var0, 0, 512); + } + + @ObfuscatedName("b") + @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("i") + @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("c") + public static void method2981(int var0, int var1, int var2) { + field1763 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; + } + + @ObfuscatedName("u") + static final void method3020(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("x") + @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 (field1763) { + 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 (field1768) { + 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("r") + public static final void method3007(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, 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 { + 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 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("v") + @Export("Rasterizer3D_horizAlpha") + static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { + if (field1763) { + 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("y") + static final void method2986(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.load(var18); + int var20; + if (var19 == null) { + var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); + method3020(var0, var1, var2, var3, var4, var5, method3045(var20, var6), method3045(var20, var7), method3045(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1772 = Rasterizer3D_textureLoader.vmethod3278(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, 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, 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("g") + @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 (field1763) { + 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 (field1772) { + 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 (field1772) { + 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("a") + static final void method2988(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.load(var18); + int var20; + if (var19 == null) { + var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); + method3020(var0, var1, var2, var3, var4, var5, method3045(var20, var6), method3045(var20, var7), method3045(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1772 = Rasterizer3D_textureLoader.vmethod3278(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, 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 { + 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 { + 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, 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 { + 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 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, 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 { + 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 { + 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("j") + @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 (field1763) { + 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 (field1772) { + 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 (field1772) { + 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("o") + static final int method3045(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("d") + static final int method3040(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("s") + static final int method3061(int var0, int var1, int var2, int var3) { + return var2 * var1 - var3 * var0 >> 16; + } + + @ObfuscatedName("z") + @Export("rot3") + static final int rot3(int var0, int var1, int var2, int var3) { + return var0 * var2 - var3 * var1 >> 16; + } + + @ObfuscatedName("al") + @Export("rot4") + static final int rot4(int var0, int var1, int var2, int var3) { + return var3 * var0 + var2 * var1 >> 16; + } + + @ObfuscatedName("av") + @Export("rot1") + static final int rot1(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("as") + @Export("rot2") + static final int rot2(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 54a3b4136d..dba81d4745 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -3,1565 +3,1561 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ds") +@ObfuscatedName("dh") @Implements("RawPcmStream") public class RawPcmStream extends PcmStream { - @ObfuscatedName("m") - int field744; - @ObfuscatedName("f") - int field745; - @ObfuscatedName("q") - int field746; - @ObfuscatedName("o") - int field747; - @ObfuscatedName("u") - int field748; - @ObfuscatedName("g") - int field749; - @ObfuscatedName("l") - int field750; - @ObfuscatedName("e") - @Export("numLoops") - int numLoops; - @ObfuscatedName("x") - @Export("start") - int start; - @ObfuscatedName("d") - @Export("end") - int end; - @ObfuscatedName("k") - boolean field751; - @ObfuscatedName("n") - int field752; - @ObfuscatedName("i") - int field753; - @ObfuscatedName("a") - int field754; - @ObfuscatedName("z") - int field755; - - @ObfuscatedSignature( - signature = "(Lcx;III)V" - ) - RawPcmStream(RawSound var1, int var2, int var3, int var4) { - super.sound = var1; - this.start = var1.start; - this.end = var1.end; - this.field751 = var1.field756; - this.field745 = var2; - this.field746 = var3; - this.field747 = var4; - this.field744 = 0; - this.method261(); - } - - @ObfuscatedSignature( - signature = "(Lcx;II)V" - ) - RawPcmStream(RawSound var1, int var2, int var3) { - super.sound = var1; - this.start = var1.start; - this.end = var1.end; - this.field751 = var1.field756; - this.field745 = var2; - this.field746 = var3; - this.field747 = 8192; - this.field744 = 0; - this.method261(); - } - - @ObfuscatedName("o") - void method261() { - this.field748 = this.field746; - this.field749 = method2603(this.field746, this.field747); - this.field750 = method2494(this.field746, this.field747); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return null; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Ldc;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return null; - } - - @ObfuscatedName("l") - protected int vmethod262() { - return this.field746 == 0 && this.field752 == 0 ? 0 : 1; - } - - @ObfuscatedName("e") - @Export("fill") - public synchronized void fill(int[] var1, int var2, int var3) { - if (this.field746 == 0 && this.field752 == 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.field744 < 0) { - if (this.field745 <= 0) { - this.method272(); - this.remove(); - return; - } - - this.field744 = 0; - } - - if (this.field744 >= var7) { - if (this.field745 >= 0) { - this.method272(); - this.remove(); - return; - } - - this.field744 = var7 - 1; - } - - if (this.numLoops < 0) { - if (this.field751) { - if (this.field745 < 0) { - var9 = this.method281(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field744 >= var5) { - return; - } - - this.field744 = var5 + var5 - 1 - this.field744; - this.field745 = -this.field745; - } - - while (true) { - var9 = this.method280(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field744 < var6) { - return; - } - - this.field744 = var6 + var6 - 1 - this.field744; - this.field745 = -this.field745; - var9 = this.method281(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field744 >= var5) { - return; - } - - this.field744 = var5 + var5 - 1 - this.field744; - this.field745 = -this.field745; - } - } - - if (this.field745 < 0) { - while (true) { - var9 = this.method281(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field744 >= var5) { - return; - } - - this.field744 = var6 - 1 - (var6 - 1 - this.field744) % var8; - } - } - - while (true) { - var9 = this.method280(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field744 < var6) { - return; - } - - this.field744 = var5 + (this.field744 - var5) % var8; - } - } - - if (this.numLoops > 0) { - if (this.field751) { - label118: { - if (this.field745 < 0) { - var9 = this.method281(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field744 >= var5) { - return; - } - - this.field744 = var5 + var5 - 1 - this.field744; - this.field745 = -this.field745; - if (--this.numLoops == 0) { - break label118; - } - } - - do { - var9 = this.method280(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field744 < var6) { - return; - } - - this.field744 = var6 + var6 - 1 - this.field744; - this.field745 = -this.field745; - if (--this.numLoops == 0) { - break; - } - - var9 = this.method281(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field744 >= var5) { - return; - } - - this.field744 = var5 + var5 - 1 - this.field744; - this.field745 = -this.field745; - } while(--this.numLoops != 0); - } - } else { - int var10; - if (this.field745 < 0) { - while (true) { - var9 = this.method281(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field744 >= var5) { - return; - } - - var10 = (var6 - 1 - this.field744) / var8; - if (var10 >= this.numLoops) { - this.field744 += var8 * this.numLoops; - this.numLoops = 0; - break; - } - - this.field744 += var8 * var10; - this.numLoops -= var10; - } - } else { - while (true) { - var9 = this.method280(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field744 < var6) { - return; - } - - var10 = (this.field744 - var5) / var8; - if (var10 >= this.numLoops) { - this.field744 -= var8 * this.numLoops; - this.numLoops = 0; - break; - } - - this.field744 -= var8 * var10; - this.numLoops -= var10; - } - } - } - } - - if (this.field745 < 0) { - this.method281(var1, var9, 0, var3, 0); - if (this.field744 < 0) { - this.field744 = -1; - this.method272(); - this.remove(); - } - } else { - this.method280(var1, var9, var7, var3, 0); - if (this.field744 >= var7) { - this.field744 = var7; - this.method272(); - this.remove(); - } - } - } - - } - - @ObfuscatedName("x") - @Export("setNumLoops") - public synchronized void setNumLoops(int var1) { - this.numLoops = var1; - } - - @ObfuscatedName("d") - @Export("skip") - public synchronized void skip(int var1) { - if (this.field752 > 0) { - if (var1 >= this.field752) { - if (this.field746 == Integer.MIN_VALUE) { - this.field746 = 0; - this.field750 = 0; - this.field749 = 0; - this.field748 = 0; - this.remove(); - var1 = this.field752; - } - - this.field752 = 0; - this.method261(); - } else { - this.field748 += this.field753 * var1; - this.field749 += this.field754 * var1; - this.field750 += this.field755 * var1; - this.field752 -= 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.field744 < 0) { - if (this.field745 <= 0) { - this.method272(); - this.remove(); - return; - } - - this.field744 = 0; - } - - if (this.field744 >= var5) { - if (this.field745 >= 0) { - this.method272(); - this.remove(); - return; - } - - this.field744 = var5 - 1; - } - - this.field744 += this.field745 * var1; - if (this.numLoops < 0) { - if (!this.field751) { - if (this.field745 < 0) { - if (this.field744 >= var3) { - return; - } - - this.field744 = var4 - 1 - (var4 - 1 - this.field744) % var6; - } else { - if (this.field744 < var4) { - return; - } - - this.field744 = var3 + (this.field744 - var3) % var6; - } - } else { - if (this.field745 < 0) { - if (this.field744 >= var3) { - return; - } - - this.field744 = var3 + var3 - 1 - this.field744; - this.field745 = -this.field745; - } - - while (this.field744 >= var4) { - this.field744 = var4 + var4 - 1 - this.field744; - this.field745 = -this.field745; - if (this.field744 >= var3) { - return; - } - - this.field744 = var3 + var3 - 1 - this.field744; - this.field745 = -this.field745; - } - } - } else { - if (this.numLoops > 0) { - if (this.field751) { - label113: { - if (this.field745 < 0) { - if (this.field744 >= var3) { - return; - } - - this.field744 = var3 + var3 - 1 - this.field744; - this.field745 = -this.field745; - if (--this.numLoops == 0) { - break label113; - } - } - - do { - if (this.field744 < var4) { - return; - } - - this.field744 = var4 + var4 - 1 - this.field744; - this.field745 = -this.field745; - if (--this.numLoops == 0) { - break; - } - - if (this.field744 >= var3) { - return; - } - - this.field744 = var3 + var3 - 1 - this.field744; - this.field745 = -this.field745; - } while(--this.numLoops != 0); - } - } else { - int var7; - if (this.field745 < 0) { - if (this.field744 >= var3) { - return; - } - - var7 = (var4 - 1 - this.field744) / var6; - if (var7 < this.numLoops) { - this.field744 += var6 * var7; - this.numLoops -= var7; - return; - } - - this.field744 += var6 * this.numLoops; - this.numLoops = 0; - } else { - if (this.field744 < var4) { - return; - } - - var7 = (this.field744 - var3) / var6; - if (var7 < this.numLoops) { - this.field744 -= var6 * var7; - this.numLoops -= var7; - return; - } - - this.field744 -= var6 * this.numLoops; - this.numLoops = 0; - } - } - } - - if (this.field745 < 0) { - if (this.field744 < 0) { - this.field744 = -1; - this.method272(); - this.remove(); - } - } else if (this.field744 >= var5) { - this.field744 = var5; - this.method272(); - this.remove(); - } - } - - } - - @ObfuscatedName("a") - public synchronized void method265(int var1) { - this.method267(var1 << 6, this.method269()); - } - - @ObfuscatedName("z") - synchronized void method266(int var1) { - this.method267(var1, this.method269()); - } - - @ObfuscatedName("j") - synchronized void method267(int var1, int var2) { - this.field746 = var1; - this.field747 = var2; - this.field752 = 0; - this.method261(); - } - - @ObfuscatedName("s") - public synchronized int method268() { - return this.field746 == Integer.MIN_VALUE ? 0 : this.field746; - } - - @ObfuscatedName("t") - public synchronized int method269() { - return this.field747 < 0 ? -1 : this.field747; - } - - @ObfuscatedName("y") - public synchronized void method270(int var1) { - int var2 = ((RawSound)super.sound).samples.length << 8; - if (var1 < -1) { - var1 = -1; - } - - if (var1 > var2) { - var1 = var2; - } - - this.field744 = var1; - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(Z)V", - garbageValue = "1" - ) - public synchronized void method271() { - this.field745 = (this.field745 ^ this.field745 >> 31) + (this.field745 >>> 31); - this.field745 = -this.field745; - } - - @ObfuscatedName("b") - void method272() { - if (this.field752 != 0) { - if (this.field746 == Integer.MIN_VALUE) { - this.field746 = 0; - } - - this.field752 = 0; - this.method261(); - } - - } - - @ObfuscatedName("c") - public synchronized void method273(int var1, int var2) { - this.method274(var1, var2, this.method269()); - } - - @ObfuscatedName("p") - public synchronized void method274(int var1, int var2, int var3) { - if (var1 == 0) { - this.method267(var2, var3); - } else { - int var4 = method2603(var2, var3); - int var5 = method2494(var2, var3); - if (var4 == this.field749 && var5 == this.field750) { - this.field752 = 0; - } else { - int var6 = var2 - this.field748; - if (this.field748 - var2 > var6) { - var6 = this.field748 - var2; - } - - if (var4 - this.field749 > var6) { - var6 = var4 - this.field749; - } - - if (this.field749 - var4 > var6) { - var6 = this.field749 - var4; - } - - if (var5 - this.field750 > var6) { - var6 = var5 - this.field750; - } - - if (this.field750 - var5 > var6) { - var6 = this.field750 - var5; - } - - if (var1 > var6) { - var1 = var6; - } - - this.field752 = var1; - this.field746 = var2; - this.field747 = var3; - this.field753 = (var2 - this.field748) / var1; - this.field754 = (var4 - this.field749) / var1; - this.field755 = (var5 - this.field750) / var1; - } - } - - } - - @ObfuscatedName("v") - public synchronized void method275(int var1) { - if (var1 == 0) { - this.method266(0); - this.remove(); - } else if (this.field749 == 0 && this.field750 == 0) { - this.field752 = 0; - this.field746 = 0; - this.field748 = 0; - this.remove(); - } else { - int var2 = -this.field748; - if (this.field748 > var2) { - var2 = this.field748; - } - - if (-this.field749 > var2) { - var2 = -this.field749; - } - - if (this.field749 > var2) { - var2 = this.field749; - } - - if (-this.field750 > var2) { - var2 = -this.field750; - } - - if (this.field750 > var2) { - var2 = this.field750; - } - - if (var1 > var2) { - var1 = var2; - } - - this.field752 = var1; - this.field746 = Integer.MIN_VALUE; - this.field753 = -this.field748 / var1; - this.field754 = -this.field749 / var1; - this.field755 = -this.field750 / var1; - } - - } - - @ObfuscatedName("ah") - public synchronized void method276(int var1) { - if (this.field745 < 0) { - this.field745 = -var1; - } else { - this.field745 = var1; - } - - } - - @ObfuscatedName("ab") - public synchronized int method277() { - return this.field745 < 0 ? -this.field745 : this.field745; - } - - @ObfuscatedName("ae") - public boolean method278() { - return this.field744 < 0 || this.field744 >= ((RawSound)super.sound).samples.length << 8; - } - - @ObfuscatedName("at") - public boolean method279() { - return this.field752 != 0; - } - - @ObfuscatedName("ad") - int method280(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field752 > 0) { - int var6 = var2 + this.field752; - if (var6 > var4) { - var6 = var4; - } - - this.field752 += var2; - if (this.field745 == 256 && (this.field744 & 255) == 0) { - if (PcmPlayer.isStereo) { - var2 = method2533(0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, this.field754, this.field755, 0, var6, var3, this); - } else { - var2 = method2532(((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, this.field753, 0, var6, var3, this); - } - } else if (PcmPlayer.isStereo) { - var2 = method2504(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, this.field754, this.field755, 0, var6, var3, this, this.field745, var5); - } else { - var2 = method2536(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, this.field753, 0, var6, var3, this, this.field745, var5); - } - - this.field752 -= var2; - if (this.field752 != 0) { - return var2; - } - - if (!this.method283()) { - continue; - } - - return var4; - } - - if (this.field745 == 256 && (this.field744 & 255) == 0) { - if (PcmPlayer.isStereo) { - return method2525(0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, 0, var4, var3, this); - } - - return method2563(((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, 0, var4, var3, this); - } - - if (PcmPlayer.isStereo) { - return method2529(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, 0, var4, var3, this, this.field745, var5); - } - - return method2528(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, 0, var4, var3, this, this.field745, var5); - } - } - - @ObfuscatedName("ap") - int method281(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field752 > 0) { - int var6 = var2 + this.field752; - if (var6 > var4) { - var6 = var4; - } - - this.field752 += var2; - if (this.field745 == -256 && (this.field744 & 255) == 0) { - if (PcmPlayer.isStereo) { - var2 = method2547(0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, this.field754, this.field755, 0, var6, var3, this); - } else { - var2 = method2534(((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, this.field753, 0, var6, var3, this); - } - } else if (PcmPlayer.isStereo) { - var2 = method2624(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, this.field754, this.field755, 0, var6, var3, this, this.field745, var5); - } else { - var2 = method2538(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, this.field753, 0, var6, var3, this, this.field745, var5); - } - - this.field752 -= var2; - if (this.field752 != 0) { - return var2; - } - - if (!this.method283()) { - continue; - } - - return var4; - } - - if (this.field745 == -256 && (this.field744 & 255) == 0) { - if (PcmPlayer.isStereo) { - return method2496(0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, 0, var4, var3, this); - } - - return method2636(((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, 0, var4, var3, this); - } - - if (PcmPlayer.isStereo) { - return method2531(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field749, this.field750, 0, var4, var3, this, this.field745, var5); - } - - return method2509(0, 0, ((RawSound)super.sound).samples, var1, this.field744, var2, this.field748, 0, var4, var3, this, this.field745, var5); - } - } - - @ObfuscatedName("az") - int vmethod282() { - int var1 = this.field748 * 3 >> 6; - var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); - if (this.numLoops == 0) { - var1 -= var1 * this.field744 / (((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("au") - boolean method283() { - int var1 = this.field746; - int var2; - int var3; - if (var1 == Integer.MIN_VALUE) { - var3 = 0; - var2 = 0; - var1 = 0; - } else { - var2 = method2603(var1, this.field747); - var3 = method2494(var1, this.field747); - } - - if (var1 == this.field748 && var2 == this.field749 && var3 == this.field750) { - if (this.field746 == Integer.MIN_VALUE) { - this.field746 = 0; - this.field750 = 0; - this.field749 = 0; - this.field748 = 0; - this.remove(); - return true; - } else { - this.method261(); - return false; - } - } else { - if (this.field748 < var1) { - this.field753 = 1; - this.field752 = var1 - this.field748; - } else if (this.field748 > var1) { - this.field753 = -1; - this.field752 = this.field748 - var1; - } else { - this.field753 = 0; - } - - if (this.field749 < var2) { - this.field754 = 1; - if (this.field752 == 0 || this.field752 > var2 - this.field749) { - this.field752 = var2 - this.field749; - } - } else if (this.field749 > var2) { - this.field754 = -1; - if (this.field752 == 0 || this.field752 > this.field749 - var2) { - this.field752 = this.field749 - var2; - } - } else { - this.field754 = 0; - } - - if (this.field750 < var3) { - this.field755 = 1; - if (this.field752 == 0 || this.field752 > var3 - this.field750) { - this.field752 = var3 - this.field750; - } - } else if (this.field750 > var3) { - this.field755 = -1; - if (this.field752 == 0 || this.field752 > this.field750 - var3) { - this.field752 = this.field750 - var3; - } - } else { - this.field755 = 0; - } - - return false; - } - } - - @ObfuscatedName("m") - static int method2603(int var0, int var1) { - return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); - } - - @ObfuscatedName("f") - static int method2494(int var0, int var1) { - return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lcx;II)Lds;" - ) - @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)(class309.PcmPlayer_sampleRate * 100)), var2 << 6) : null; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lcx;III)Lds;" - ) - public static RawPcmStream method2524(RawSound var0, int var1, int var2, int var3) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "([B[IIIIIIILds;)I" - ) - static int method2563(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 var9; - for (var5 -= 3; var3 < var5; var1[var9] += var0[var2++] * var4) { - var9 = var3++; - var1[var9] += var0[var2++] * var4; - var9 = var3++; - var1[var9] += var0[var2++] * var4; - var9 = var3++; - var1[var9] += var0[var2++] * var4; - var9 = var3++; - } - - for (var5 += 3; var3 < var5; var1[var9] += var0[var2++] * var4) { - var9 = var3++; - } - - var8.field744 = var2 << 8; - return var3; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILds;)I" - ) - static int method2525(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 var11; - byte var12; - for (var7 -= 6; var4 < var7; var2[var11] += var12 * var6) { - var12 = var1[var3++]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3++]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3++]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3++]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - } - - for (var7 += 6; var4 < var7; var2[var11] += var12 * var6) { - var12 = var1[var3++]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - } - - var10.field744 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "([B[IIIIIIILds;)I" - ) - static int method2636(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 var9; - for (var5 -= 3; var3 < var5; var1[var9] += var0[var2--] * var4) { - var9 = var3++; - var1[var9] += var0[var2--] * var4; - var9 = var3++; - var1[var9] += var0[var2--] * var4; - var9 = var3++; - var1[var9] += var0[var2--] * var4; - var9 = var3++; - } - - for (var5 += 3; var3 < var5; var1[var9] += var0[var2--] * var4) { - var9 = var3++; - } - - var8.field744 = var2 << 8; - return var3; - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILds;)I" - ) - static int method2496(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 var11; - byte var12; - for (var7 -= 6; var4 < var7; var2[var11] += var12 * var6) { - var12 = var1[var3--]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3--]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3--]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - var2[var11] += var12 * var6; - var12 = var1[var3--]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - } - - for (var7 += 6; var4 < var7; var2[var11] += var12 * var6) { - var12 = var1[var3--]; - var11 = var4++; - var2[var11] += var12 * var5; - var11 = var4++; - } - - var10.field744 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIILds;II)I" - ) - static int method2528(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 var14; - while (var5 < var7) { - var1 = var4 >> 8; - var13 = var2[var1]; - var14 = var5++; - var3[var14] += ((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]; - var14 = var5++; - var3[var14] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; - } - - var10.field744 = var4; - return var5; - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILds;II)I" - ) - static int method2529(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 var15; - for (var8 <<= 1; var5 < var8; var4 += var12) { - var1 = var4 >> 8; - var14 = var2[var1]; - var0 = (var14 << 8) + (var4 & 255) * (var2[var1 + 1] - var14); - var15 = var5++; - var3[var15] += var0 * var6 >> 6; - var15 = var5++; - var3[var15] += 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); - var15 = var5++; - var3[var15] += var0 * var6 >> 6; - var15 = var5++; - var3[var15] += var0 * var7 >> 6; - } - - var11.field744 = var4; - return var5 >> 1; - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIILds;II)I" - ) - static int method2509(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 var13; - while (var5 < var7) { - var1 = var4 >> 8; - byte var14 = var2[var1 - 1]; - var13 = var5++; - var3[var13] += ((var14 << 8) + (var2[var1] - var14) * (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) { - var13 = var5++; - var3[var13] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; - } - - var10.field744 = var4; - return var5; - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILds;II)I" - ) - static int method2531(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 var14; - for (var8 <<= 1; var5 < var8; var4 += var12) { - var1 = var4 >> 8; - byte var15 = var2[var1 - 1]; - var0 = (var2[var1] - var15) * (var4 & 255) + (var15 << 8); - var14 = var5++; - var3[var14] += var0 * var6 >> 6; - var14 = var5++; - var3[var14] += 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); - var14 = var5++; - var3[var14] += var0 * var6 >> 6; - var14 = var5++; - var3[var14] += var0 * var7 >> 6; - } - - var11.field744 = var4; - return var5 >> 1; - } - - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "([B[IIIIIIIILds;)I" - ) - static int method2532(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.field749 += var9.field754 * (var6 - var3); - var9.field750 += var9.field755 * (var6 - var3); - - int var10; - for (var6 -= 3; var3 < var6; var4 += var5) { - var10 = var3++; - var1[var10] += var0[var2++] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2++] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2++] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2++] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { - var10 = var3++; - var1[var10] += var0[var2++] * var4; - } - - var9.field748 = var4 >> 2; - var9.field744 = var2 << 8; - return var3; - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILds;)I" - ) - static int method2533(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.field748 += var12.field753 * (var9 - var4); - var4 <<= 1; - var9 <<= 1; - - byte var13; - int var14; - for (var9 -= 6; var4 < var9; var6 += var8) { - var13 = var1[var3++]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - } - - for (var9 += 6; var4 < var9; var6 += var8) { - var13 = var1[var3++]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - } - - var12.field749 = var5 >> 2; - var12.field750 = var6 >> 2; - var12.field744 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "([B[IIIIIIIILds;)I" - ) - static int method2534(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.field749 += var9.field754 * (var6 - var3); - var9.field750 += var9.field755 * (var6 - var3); - - int var10; - for (var6 -= 3; var3 < var6; var4 += var5) { - var10 = var3++; - var1[var10] += var0[var2--] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2--] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2--] * var4; - var4 += var5; - var10 = var3++; - var1[var10] += var0[var2--] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { - var10 = var3++; - var1[var10] += var0[var2--] * var4; - } - - var9.field748 = var4 >> 2; - var9.field744 = var2 << 8; - return var3; - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILds;)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 = var3 + var4 - (var11 - 1)) > var10) { - var9 = var10; - } - - var12.field748 += var12.field753 * (var9 - var4); - var4 <<= 1; - var9 <<= 1; - - byte var13; - int var14; - for (var9 -= 6; var4 < var9; var6 += var8) { - var13 = var1[var3--]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - } - - for (var9 += 6; var4 < var9; var6 += var8) { - var13 = var1[var3--]; - var14 = var4++; - var2[var14] += var13 * var5; - var5 += var7; - var14 = var4++; - var2[var14] += var13 * var6; - } - - var12.field749 = var5 >> 2; - var12.field750 = var6 >> 2; - var12.field744 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILds;II)I" - ) - static int method2536(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.field749 -= var11.field754 * var5; - var11.field750 -= var11.field755 * var5; - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { - var8 = var9; - } - - byte var14; - int var15; - while (var5 < var8) { - var1 = var4 >> 8; - var14 = var2[var1]; - var15 = var5++; - var3[var15] += ((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]; - var15 = var5++; - var3[var15] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; - var6 += var7; - } - - var11.field749 += var11.field754 * var5; - var11.field750 += var11.field755 * var5; - var11.field748 = var6; - var11.field744 = var4; - return var5; - } - - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILds;II)I" - ) - static int method2504(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.field748 -= var5 * var13.field753; - if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { - var10 = var11; - } - - var5 <<= 1; - - byte var16; - int var17; - for (var10 <<= 1; var5 < var10; var4 += var14) { - var1 = var4 >> 8; - var16 = var2[var1]; - var0 = (var16 << 8) + (var4 & 255) * (var2[var1 + 1] - var16); - var17 = var5++; - var3[var17] += var0 * var6 >> 6; - var6 += var8; - var17 = var5++; - var3[var17] += 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); - var17 = var5++; - var3[var17] += var0 * var6 >> 6; - var6 += var8; - var17 = var5++; - var3[var17] += var0 * var7 >> 6; - var7 += var9; - } - - var5 >>= 1; - var13.field748 += var13.field753 * var5; - var13.field749 = var6; - var13.field750 = var7; - var13.field744 = var4; - return var5; - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILds;II)I" - ) - static int method2538(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.field749 -= var11.field754 * var5; - var11.field750 -= var11.field755 * var5; - if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { - var8 = var9; - } - - int var14; - while (var5 < var8) { - var1 = var4 >> 8; - byte var15 = var2[var1 - 1]; - var14 = var5++; - var3[var14] += ((var15 << 8) + (var2[var1] - var15) * (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) { - var14 = var5++; - var3[var14] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; - var6 += var7; - } - - var11.field749 += var11.field754 * var5; - var11.field750 += var11.field755 * var5; - var11.field748 = var6; - var11.field744 = var4; - return var5; - } - - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILds;II)I" - ) - static int method2624(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.field748 -= var5 * var13.field753; - if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { - var10 = var11; - } - - var5 <<= 1; - - int var16; - for (var10 <<= 1; var5 < var10; var4 += var14) { - var1 = var4 >> 8; - byte var17 = var2[var1 - 1]; - var0 = (var2[var1] - var17) * (var4 & 255) + (var17 << 8); - var16 = var5++; - var3[var16] += var0 * var6 >> 6; - var6 += var8; - var16 = var5++; - var3[var16] += 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); - var16 = var5++; - var3[var16] += var0 * var6 >> 6; - var6 += var8; - var16 = var5++; - var3[var16] += var0 * var7 >> 6; - var7 += var9; - } - - var5 >>= 1; - var13.field748 += var13.field753 * var5; - var13.field749 = var6; - var13.field750 = var7; - var13.field744 = var4; - return var5; - } + @ObfuscatedName("q") + int field1471; + @ObfuscatedName("e") + int field1469; + @ObfuscatedName("p") + int field1470; + @ObfuscatedName("k") + int field1475; + @ObfuscatedName("l") + int field1472; + @ObfuscatedName("b") + int field1482; + @ObfuscatedName("i") + int field1474; + @ObfuscatedName("c") + @Export("numLoops") + int numLoops; + @ObfuscatedName("f") + @Export("start") + int start; + @ObfuscatedName("m") + @Export("end") + int end; + @ObfuscatedName("u") + boolean field1478; + @ObfuscatedName("x") + int field1479; + @ObfuscatedName("r") + int field1480; + @ObfuscatedName("v") + int field1481; + @ObfuscatedName("y") + int field1468; + + @ObfuscatedSignature( + signature = "(Lcd;III)V" + ) + RawPcmStream(RawSound var1, int var2, int var3, int var4) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1478 = var1.field1393; + this.field1469 = var2; + this.field1470 = var3; + this.field1475 = var4; + this.field1471 = 0; + this.method2525(); + } + + @ObfuscatedSignature( + signature = "(Lcd;II)V" + ) + RawPcmStream(RawSound var1, int var2, int var3) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1478 = var1.field1393; + this.field1469 = var2; + this.field1470 = var3; + this.field1475 = 8192; + this.field1471 = 0; + this.method2525(); + } + + @ObfuscatedName("k") + void method2525() { + this.field1472 = this.field1470; + this.field1482 = method2526(this.field1470, this.field1475); + this.field1474 = method2519(this.field1470, this.field1475); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected PcmStream firstSubStream() { + return null; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "()Ldx;" + ) + protected PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("i") + protected int vmethod3892() { + return this.field1470 == 0 && this.field1479 == 0 ? 0 : 1; + } + + @ObfuscatedName("c") + @Export("fill") + public synchronized void fill(int[] var1, int var2, int var3) { + if (this.field1470 == 0 && this.field1479 == 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.field1471 < 0) { + if (this.field1469 <= 0) { + this.method2647(); + this.remove(); + return; + } + + this.field1471 = 0; + } + + if (this.field1471 >= var7) { + if (this.field1469 >= 0) { + this.method2647(); + this.remove(); + return; + } + + this.field1471 = var7 - 1; + } + + if (this.numLoops < 0) { + if (this.field1478) { + if (this.field1469 < 0) { + var9 = this.method2641(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1471 >= var5) { + return; + } + + this.field1471 = var5 + var5 - 1 - this.field1471; + this.field1469 = -this.field1469; + } + + while (true) { + var9 = this.method2543(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1471 < var6) { + return; + } + + this.field1471 = var6 + var6 - 1 - this.field1471; + this.field1469 = -this.field1469; + var9 = this.method2641(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1471 >= var5) { + return; + } + + this.field1471 = var5 + var5 - 1 - this.field1471; + this.field1469 = -this.field1469; + } + } else if (this.field1469 < 0) { + while (true) { + var9 = this.method2641(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1471 >= var5) { + return; + } + + this.field1471 = var6 - 1 - (var6 - 1 - this.field1471) % var8; + } + } else { + while (true) { + var9 = this.method2543(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1471 < var6) { + return; + } + + this.field1471 = var5 + (this.field1471 - var5) % var8; + } + } + } else { + if (this.numLoops > 0) { + if (this.field1478) { + label119: { + if (this.field1469 < 0) { + var9 = this.method2641(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1471 >= var5) { + return; + } + + this.field1471 = var5 + var5 - 1 - this.field1471; + this.field1469 = -this.field1469; + if (--this.numLoops == 0) { + break label119; + } + } + + do { + var9 = this.method2543(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1471 < var6) { + return; + } + + this.field1471 = var6 + var6 - 1 - this.field1471; + this.field1469 = -this.field1469; + if (--this.numLoops == 0) { + break; + } + + var9 = this.method2641(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1471 >= var5) { + return; + } + + this.field1471 = var5 + var5 - 1 - this.field1471; + this.field1469 = -this.field1469; + } while(--this.numLoops != 0); + } + } else { + int var10; + if (this.field1469 < 0) { + while (true) { + var9 = this.method2641(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1471 >= var5) { + return; + } + + var10 = (var6 - 1 - this.field1471) / var8; + if (var10 >= this.numLoops) { + this.field1471 += var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1471 += var8 * var10; + this.numLoops -= var10; + } + } else { + while (true) { + var9 = this.method2543(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1471 < var6) { + return; + } + + var10 = (this.field1471 - var5) / var8; + if (var10 >= this.numLoops) { + this.field1471 -= var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1471 -= var8 * var10; + this.numLoops -= var10; + } + } + } + } + + if (this.field1469 < 0) { + this.method2641(var1, var9, 0, var3, 0); + if (this.field1471 < 0) { + this.field1471 = -1; + this.method2647(); + this.remove(); + } + } else { + this.method2543(var1, var9, var7, var3, 0); + if (this.field1471 >= var7) { + this.field1471 = var7; + this.method2647(); + this.remove(); + } + } + + } + } + } + + @ObfuscatedName("u") + @Export("setNumLoops") + public synchronized void setNumLoops(int var1) { + this.numLoops = var1; + } + + @ObfuscatedName("x") + @Export("skip") + public synchronized void skip(int var1) { + if (this.field1479 > 0) { + if (var1 >= this.field1479) { + if (this.field1470 == Integer.MIN_VALUE) { + this.field1470 = 0; + this.field1474 = 0; + this.field1482 = 0; + this.field1472 = 0; + this.remove(); + var1 = this.field1479; + } + + this.field1479 = 0; + this.method2525(); + } else { + this.field1472 += this.field1480 * var1; + this.field1482 += this.field1481 * var1; + this.field1474 += this.field1468 * var1; + this.field1479 -= 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.field1471 < 0) { + if (this.field1469 <= 0) { + this.method2647(); + this.remove(); + return; + } + + this.field1471 = 0; + } + + if (this.field1471 >= var5) { + if (this.field1469 >= 0) { + this.method2647(); + this.remove(); + return; + } + + this.field1471 = var5 - 1; + } + + this.field1471 += this.field1469 * var1; + if (this.numLoops < 0) { + if (!this.field1478) { + if (this.field1469 < 0) { + if (this.field1471 >= var3) { + return; + } + + this.field1471 = var4 - 1 - (var4 - 1 - this.field1471) % var6; + } else { + if (this.field1471 < var4) { + return; + } + + this.field1471 = var3 + (this.field1471 - var3) % var6; + } + + } else { + if (this.field1469 < 0) { + if (this.field1471 >= var3) { + return; + } + + this.field1471 = var3 + var3 - 1 - this.field1471; + this.field1469 = -this.field1469; + } + + while (this.field1471 >= var4) { + this.field1471 = var4 + var4 - 1 - this.field1471; + this.field1469 = -this.field1469; + if (this.field1471 >= var3) { + return; + } + + this.field1471 = var3 + var3 - 1 - this.field1471; + this.field1469 = -this.field1469; + } + + } + } else { + if (this.numLoops > 0) { + if (this.field1478) { + label127: { + if (this.field1469 < 0) { + if (this.field1471 >= var3) { + return; + } + + this.field1471 = var3 + var3 - 1 - this.field1471; + this.field1469 = -this.field1469; + if (--this.numLoops == 0) { + break label127; + } + } + + do { + if (this.field1471 < var4) { + return; + } + + this.field1471 = var4 + var4 - 1 - this.field1471; + this.field1469 = -this.field1469; + if (--this.numLoops == 0) { + break; + } + + if (this.field1471 >= var3) { + return; + } + + this.field1471 = var3 + var3 - 1 - this.field1471; + this.field1469 = -this.field1469; + } while(--this.numLoops != 0); + } + } else { + int var7; + if (this.field1469 < 0) { + if (this.field1471 >= var3) { + return; + } + + var7 = (var4 - 1 - this.field1471) / var6; + if (var7 < this.numLoops) { + this.field1471 += var6 * var7; + this.numLoops -= var7; + return; + } + + this.field1471 += var6 * this.numLoops; + this.numLoops = 0; + } else { + if (this.field1471 < var4) { + return; + } + + var7 = (this.field1471 - var3) / var6; + if (var7 < this.numLoops) { + this.field1471 -= var6 * var7; + this.numLoops -= var7; + return; + } + + this.field1471 -= var6 * this.numLoops; + this.numLoops = 0; + } + } + } + + if (this.field1469 < 0) { + if (this.field1471 < 0) { + this.field1471 = -1; + this.method2647(); + this.remove(); + } + } else if (this.field1471 >= var5) { + this.field1471 = var5; + this.method2647(); + this.remove(); + } + + } + } + + @ObfuscatedName("r") + public synchronized void method2527(int var1) { + this.method2600(var1 << 6, this.method2541()); + } + + @ObfuscatedName("v") + synchronized void method2607(int var1) { + this.method2600(var1, this.method2541()); + } + + @ObfuscatedName("y") + synchronized void method2600(int var1, int var2) { + this.field1470 = var1; + this.field1475 = var2; + this.field1479 = 0; + this.method2525(); + } + + @ObfuscatedName("g") + public synchronized int method2531() { + return this.field1470 == Integer.MIN_VALUE ? 0 : this.field1470; + } + + @ObfuscatedName("a") + public synchronized int method2541() { + return this.field1475 < 0 ? -1 : this.field1475; + } + + @ObfuscatedName("j") + public synchronized void method2596(int var1) { + int var2 = ((RawSound)super.sound).samples.length << 8; + if (var1 < -1) { + var1 = -1; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1471 = var1; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Z)V", + garbageValue = "1" + ) + public synchronized void method2614() { + this.field1469 = (this.field1469 ^ this.field1469 >> 31) + (this.field1469 >>> 31); + this.field1469 = -this.field1469; + } + + @ObfuscatedName("d") + void method2647() { + if (this.field1479 != 0) { + if (this.field1470 == Integer.MIN_VALUE) { + this.field1470 = 0; + } + + this.field1479 = 0; + this.method2525(); + } + + } + + @ObfuscatedName("s") + public synchronized void method2535(int var1, int var2) { + this.method2536(var1, var2, this.method2541()); + } + + @ObfuscatedName("z") + public synchronized void method2536(int var1, int var2, int var3) { + if (var1 == 0) { + this.method2600(var2, var3); + } else { + int var4 = method2526(var2, var3); + int var5 = method2519(var2, var3); + if (var4 == this.field1482 && var5 == this.field1474) { + this.field1479 = 0; + } else { + int var6 = var2 - this.field1472; + if (this.field1472 - var2 > var6) { + var6 = this.field1472 - var2; + } + + if (var4 - this.field1482 > var6) { + var6 = var4 - this.field1482; + } + + if (this.field1482 - var4 > var6) { + var6 = this.field1482 - var4; + } + + if (var5 - this.field1474 > var6) { + var6 = var5 - this.field1474; + } + + if (this.field1474 - var5 > var6) { + var6 = this.field1474 - var5; + } + + if (var1 > var6) { + var1 = var6; + } + + this.field1479 = var1; + this.field1470 = var2; + this.field1475 = var3; + this.field1480 = (var2 - this.field1472) / var1; + this.field1481 = (var4 - this.field1482) / var1; + this.field1468 = (var5 - this.field1474) / var1; + } + } + } + + @ObfuscatedName("al") + public synchronized void method2540(int var1) { + if (var1 == 0) { + this.method2607(0); + this.remove(); + } else if (this.field1482 == 0 && this.field1474 == 0) { + this.field1479 = 0; + this.field1470 = 0; + this.field1472 = 0; + this.remove(); + } else { + int var2 = -this.field1472; + if (this.field1472 > var2) { + var2 = this.field1472; + } + + if (-this.field1482 > var2) { + var2 = -this.field1482; + } + + if (this.field1482 > var2) { + var2 = this.field1482; + } + + if (-this.field1474 > var2) { + var2 = -this.field1474; + } + + if (this.field1474 > var2) { + var2 = this.field1474; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1479 = var1; + this.field1470 = Integer.MIN_VALUE; + this.field1480 = -this.field1472 / var1; + this.field1481 = -this.field1482 / var1; + this.field1468 = -this.field1474 / var1; + } + } + + @ObfuscatedName("av") + public synchronized void method2538(int var1) { + if (this.field1469 < 0) { + this.field1469 = -var1; + } else { + this.field1469 = var1; + } + + } + + @ObfuscatedName("as") + public synchronized int method2539() { + return this.field1469 < 0 ? -this.field1469 : this.field1469; + } + + @ObfuscatedName("aw") + public boolean method2558() { + return this.field1471 < 0 || this.field1471 >= ((RawSound)super.sound).samples.length << 8; + } + + @ObfuscatedName("ad") + public boolean method2585() { + return this.field1479 != 0; + } + + @ObfuscatedName("ag") + int method2543(int[] var1, int var2, int var3, int var4, int var5) { + while (true) { + if (this.field1479 > 0) { + int var6 = var2 + this.field1479; + if (var6 > var4) { + var6 = var4; + } + + this.field1479 += var2; + if (this.field1469 == 256 && (this.field1471 & 255) == 0) { + if (class169.isStereo) { + var2 = method2559(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this); + } else { + var2 = method2586(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this); + } + } else if (class169.isStereo) { + var2 = method2627(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5); + } else { + var2 = method2633(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5); + } + + this.field1479 -= var2; + if (this.field1479 != 0) { + return var2; + } + + if (!this.method2530()) { + continue; + } + + return var4; + } + + if (this.field1469 == 256 && (this.field1471 & 255) == 0) { + if (class169.isStereo) { + return method2551(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this); + } + + return method2550(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this); + } + + if (class169.isStereo) { + return method2555(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5); + } + + return method2554(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this, this.field1469, var5); + } + } + + @ObfuscatedName("ar") + int method2641(int[] var1, int var2, int var3, int var4, int var5) { + while (true) { + if (this.field1479 > 0) { + int var6 = var2 + this.field1479; + if (var6 > var4) { + var6 = var4; + } + + this.field1479 += var2; + if (this.field1469 == -256 && (this.field1471 & 255) == 0) { + if (class169.isStereo) { + var2 = method2561(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this); + } else { + var2 = method2560(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this); + } + } else if (class169.isStereo) { + var2 = method2605(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5); + } else { + var2 = method2569(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5); + } + + this.field1479 -= var2; + if (this.field1479 != 0) { + return var2; + } + + if (!this.method2530()) { + continue; + } + + return var4; + } + + if (this.field1469 == -256 && (this.field1471 & 255) == 0) { + if (class169.isStereo) { + return method2553(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this); + } + + return method2594(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this); + } + + if (class169.isStereo) { + return method2557(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5); + } + + return method2556(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this, this.field1469, var5); + } + } + + @ObfuscatedName("ax") + boolean method2530() { + int var1 = this.field1470; + int var2; + int var3; + if (var1 == Integer.MIN_VALUE) { + var3 = 0; + var2 = 0; + var1 = 0; + } else { + var2 = method2526(var1, this.field1475); + var3 = method2519(var1, this.field1475); + } + + if (var1 == this.field1472 && var2 == this.field1482 && var3 == this.field1474) { + if (this.field1470 == Integer.MIN_VALUE) { + this.field1470 = 0; + this.field1474 = 0; + this.field1482 = 0; + this.field1472 = 0; + this.remove(); + return true; + } else { + this.method2525(); + return false; + } + } else { + if (this.field1472 < var1) { + this.field1480 = 1; + this.field1479 = var1 - this.field1472; + } else if (this.field1472 > var1) { + this.field1480 = -1; + this.field1479 = this.field1472 - var1; + } else { + this.field1480 = 0; + } + + if (this.field1482 < var2) { + this.field1481 = 1; + if (this.field1479 == 0 || this.field1479 > var2 - this.field1482) { + this.field1479 = var2 - this.field1482; + } + } else if (this.field1482 > var2) { + this.field1481 = -1; + if (this.field1479 == 0 || this.field1479 > this.field1482 - var2) { + this.field1479 = this.field1482 - var2; + } + } else { + this.field1481 = 0; + } + + if (this.field1474 < var3) { + this.field1468 = 1; + if (this.field1479 == 0 || this.field1479 > var3 - this.field1474) { + this.field1479 = var3 - this.field1474; + } + } else if (this.field1474 > var3) { + this.field1468 = -1; + if (this.field1479 == 0 || this.field1479 > this.field1474 - var3) { + this.field1479 = this.field1474 - var3; + } + } else { + this.field1468 = 0; + } + + return false; + } + } + + @ObfuscatedName("ay") + int vmethod2689() { + int var1 = this.field1472 * 3 >> 6; + var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); + if (this.numLoops == 0) { + var1 -= var1 * this.field1471 / (((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("q") + static int method2526(int var0, int var1) { + return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("w") + static int method2519(int var0, int var1) { + return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lcd;II)Ldh;" + ) + @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)(CollisionMap.PcmPlayer_sampleRate * 100)), var2 << 6) : null; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lcd;III)Ldh;" + ) + public static RawPcmStream method2524(RawSound var0, int var1, int var2, int var3) { + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "([B[IIIIIIILdh;)I" + ) + static int method2550(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.field1471 = var2 << 8; + return var3; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIILdh;)I" + ) + static int method2551(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.field1471 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "([B[IIIIIIILdh;)I" + ) + static int method2594(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.field1471 = var2 << 8; + return var3; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIILdh;)I" + ) + static int method2553(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.field1471 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIILdh;II)I" + ) + static int method2554(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.field1471 = var4; + return var5; + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdh;II)I" + ) + static int method2555(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.field1471 = var4; + return var5 >> 1; + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIILdh;II)I" + ) + static int method2556(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.field1471 = var4; + return var5; + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdh;II)I" + ) + static int method2557(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.field1471 = var4; + return var5 >> 1; + } + + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "([B[IIIIIIIILdh;)I" + ) + static int method2586(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.field1482 += var9.field1481 * (var6 - var3); + var9.field1474 += var9.field1468 * (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.field1472 = var4 >> 2; + var9.field1471 = var2 << 8; + return var3; + } + + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIIIILdh;)I" + ) + static int method2559(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.field1472 += var12.field1480 * (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.field1482 = var5 >> 2; + var12.field1474 = var6 >> 2; + var12.field1471 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "([B[IIIIIIIILdh;)I" + ) + static int method2560(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.field1482 += var9.field1481 * (var6 - var3); + var9.field1474 += var9.field1468 * (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.field1472 = var4 >> 2; + var9.field1471 = var2 << 8; + return var3; + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIIIILdh;)I" + ) + static int method2561(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.field1472 += var12.field1480 * (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.field1482 = var5 >> 2; + var12.field1474 = var6 >> 2; + var12.field1471 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdh;II)I" + ) + static int method2633(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.field1482 -= var11.field1481 * var5; + var11.field1474 -= var11.field1468 * 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.field1482 += var11.field1481 * var5; + var11.field1474 += var11.field1468 * var5; + var11.field1472 = var6; + var11.field1471 = var4; + return var5; + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIIIILdh;II)I" + ) + static int method2627(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.field1472 -= var5 * var13.field1480; + 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.field1472 += var13.field1480 * var5; + var13.field1482 = var6; + var13.field1474 = var7; + var13.field1471 = var4; + return var5; + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdh;II)I" + ) + static int method2569(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.field1482 -= var11.field1481 * var5; + var11.field1474 -= var11.field1468 * 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.field1482 += var11.field1481 * var5; + var11.field1474 += var11.field1468 * var5; + var11.field1472 = var6; + var11.field1471 = var4; + return var5; + } + + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIIIILdh;II)I" + ) + static int method2605(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.field1472 -= var5 * var13.field1480; + 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.field1472 += var13.field1480 * var5; + var13.field1482 = var6; + var13.field1474 = var7; + var13.field1471 = var4; + return var5; + } } diff --git a/runescape-client/src/main/java/RawSound.java b/runescape-client/src/main/java/RawSound.java index 90de54156c..e922159aba 100644 --- a/runescape-client/src/main/java/RawSound.java +++ b/runescape-client/src/main/java/RawSound.java @@ -3,57 +3,57 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cx") +@ObfuscatedName("cd") @Implements("RawSound") public class RawSound extends AbstractSound { - @ObfuscatedName("m") - @Export("sampleRate") - public int sampleRate; - @ObfuscatedName("f") - @Export("samples") - public byte[] samples; - @ObfuscatedName("q") - @Export("start") - public int start; - @ObfuscatedName("w") - @Export("end") - int end; - @ObfuscatedName("o") - public boolean field756; + @ObfuscatedName("q") + @Export("sampleRate") + public int sampleRate; + @ObfuscatedName("w") + @Export("samples") + public byte[] samples; + @ObfuscatedName("e") + @Export("start") + public int start; + @ObfuscatedName("p") + @Export("end") + int end; + @ObfuscatedName("k") + public boolean field1393; - 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) { + 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.field756 = var5; - } + RawSound(int var1, byte[] var2, int var3, int var4, boolean var5) { + this.sampleRate = var1; + this.samples = var2; + this.start = var3; + this.end = var4; + this.field1393 = var5; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ldp;)Lcx;" - ) - @Export("resample") - public RawSound resample(Decimator decimator) { - this.samples = decimator.resample(this.samples); - this.sampleRate = decimator.scaleRate(this.sampleRate); - if (this.start == this.end) { - this.start = this.end = decimator.scalePosition(this.start); - } else { - this.start = decimator.scalePosition(this.start); - this.end = decimator.scalePosition(this.end); - if (this.start == this.end) { - --this.start; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ldz;)Lcd;" + ) + @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; - } + return this; + } } diff --git a/runescape-client/src/main/java/RectangleMode.java b/runescape-client/src/main/java/RectangleMode.java deleted file mode 100644 index 14f08f949e..0000000000 --- a/runescape-client/src/main/java/RectangleMode.java +++ /dev/null @@ -1,71 +0,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("lj") -@Implements("RectangleMode") -public enum RectangleMode implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("SOLID") - SOLID(0, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("GRADIENT_COLOR") - GRADIENT_COLOR(1, 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("GRADIENT_ALPHA") - GRADIENT_ALPHA(2, 2); - - @ObfuscatedName("d") - @Export("musicTrackBoolean") - public static boolean musicTrackBoolean; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1391612747 - ) - @Export("value") - public final int value; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1204297807 - ) - @Export("id") - final int id; - - private RectangleMode(int var3, int var4) { - this.value = var3; - this.id = var4; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;ZB)V", - garbageValue = "1" - ) - @Export("setObjectDefinitionArchives") - public static void setObjectDefinitionArchives(AbstractArchive var0, AbstractArchive var1, boolean isLowDetail) { - ObjectDefinition.ObjectDefinition_archive = var0; - ObjectDefinition.ObjectDefinition_modelsArchive = var1; - ObjectDefinition.ObjectDefinition_isLowDetail = isLowDetail; - } -} diff --git a/runescape-client/src/main/java/ReflectionCheck.java b/runescape-client/src/main/java/ReflectionCheck.java index db2469bb4d..981c7336d1 100644 --- a/runescape-client/src/main/java/ReflectionCheck.java +++ b/runescape-client/src/main/java/ReflectionCheck.java @@ -6,52 +6,70 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lw") +@ObfuscatedName("ce") @Implements("ReflectionCheck") public class ReflectionCheck extends Node { - @ObfuscatedName("su") - @ObfuscatedSignature( - signature = "Lbf;" - ) - @Export("clientPreferences") - static ClientPreferences clientPreferences; - @ObfuscatedName("m") - @Export("arguments") - byte[][][] arguments; - @ObfuscatedName("f") - @Export("intReplaceValues") - int[] intReplaceValues; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1955146989 - ) - @Export("id") - int id; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1091722075 - ) - @Export("size") - int size; - @ObfuscatedName("o") - @Export("operations") - int[] operations; - @ObfuscatedName("u") - @Export("creationErrors") - int[] creationErrors; - @ObfuscatedName("g") - @Export("fields") - Field[] fields; - @ObfuscatedName("l") - @Export("methods") - Method[] methods; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = 749425319 + ) + public static int field1338; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1523966437 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 970491183 + ) + @Export("size") + int size; + @ObfuscatedName("e") + @Export("operations") + int[] operations; + @ObfuscatedName("p") + @Export("creationErrors") + int[] creationErrors; + @ObfuscatedName("k") + @Export("fields") + Field[] fields; + @ObfuscatedName("l") + @Export("intReplaceValues") + int[] intReplaceValues; + @ObfuscatedName("b") + @Export("methods") + Method[] methods; + @ObfuscatedName("i") + @Export("arguments") + byte[][][] arguments; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)Z", - garbageValue = "384237837" - ) - static boolean method5920(String var0, int var1) { - return FaceNormal.method3237(var0, var1, "openjs"); - } + ReflectionCheck() { + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2118101811" + ) + @Export("savePreferences") + static void savePreferences() { + AccessFile var0 = null; + + try { + var0 = WorldMapIcon_0.getPreferencesFile("", WorldMapRegion.field248.name, true); + Buffer var1 = WorldMapLabelSize.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/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index 040ead2a47..c57d525ea1 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -4,84 +4,118 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fe") +@ObfuscatedName("fl") @Implements("RouteStrategy") public abstract class RouteStrategy { - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1237576843 - ) - @Export("Interpreter_intStackSize") - static int Interpreter_intStackSize; - @ObfuscatedName("e") - static byte[][][] field760; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 123677543 - ) - @Export("approxDestinationX") - public int approxDestinationX; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -2126454535 - ) - @Export("approxDestinationY") - public int approxDestinationY; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1566880917 - ) - @Export("approxDestinationSizeX") - public int approxDestinationSizeX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -2126101601 - ) - @Export("approxDestinationSizeY") - public int approxDestinationSizeY; + @ObfuscatedName("pi") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("sceneMinimapSprite") + static Sprite sceneMinimapSprite; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1876567169 + ) + @Export("approxDestinationX") + public int approxDestinationX; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1051805723 + ) + @Export("approxDestinationY") + public int approxDestinationY; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1586804307 + ) + @Export("approxDestinationSizeX") + public int approxDestinationSizeX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 775131021 + ) + @Export("approxDestinationSizeY") + public int approxDestinationSizeY; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIILfy;I)Z", - garbageValue = "-519225044" - ) - protected abstract boolean vmethod3644(int var1, int var2, int var3, CollisionMap var4); + protected RouteStrategy() { + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1634956279" - ) - public static int method3642(int var0, int var1) { - int var2; - for (var2 = 1; var1 > 1; var1 >>= 1) { - if ((var1 & 1) != 0) { - var2 = var0 * var2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIILfv;I)Z", + garbageValue = "-1217489379" + ) + public abstract boolean vmethod3594(int var1, int var2, int var3, CollisionMap var4); - var0 *= var0; - } + @ObfuscatedName("ec") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1403573360" + ) + static final void method3593() { + Client.packetWriter.close(); + class197.FloorUnderlayDefinition_clearCached(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); + KitDefinition.KitDefinition_cached.clear(); + GroundItemPile.ObjectDefinition_clearCached(); + AbstractWorldMapIcon.NpcDefinition_clearCached(); + 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(); + MusicPatch.method3888(); + SecureRandomCallable.method1093(); + HitSplatDefinition.HitSplatDefinition_cached.clear(); + HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); + HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); + WorldMapIcon_1.HealthBarDefinition_clearCached(); + StructDefinition.StructDefinition_cached.clear(); + Coord.ParamDefinition_clearCached(); + MouseRecorder.WorldMapElement_clearCached(); + PlayerAppearance.PlayerAppearance_cachedModels.clear(); + Calendar.Widget_clearCached(); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); + Script.Script_cached.clear(); + class197.archive0.clearFiles(); + class167.archive1.clearFiles(); + class43.archive3.clearFiles(); + class13.archive4.clearFiles(); + WorldMapCacheName.archive5.clearFiles(); + WorldMapRegion.archive6.clearFiles(); + NPCDefinition.archive7.clearFiles(); + Client.archive8.clearFiles(); + class4.archive9.clearFiles(); + WorldMapLabelSize.archive10.clearFiles(); + class32.archive11.clearFiles(); + UserComparator4.archive12.clearFiles(); + GrandExchangeOfferWorldComparator.scene.clear(); - if (var1 == 1) { - return var0 * var2; - } else { - return var2; - } - } + for (int var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0].clear(); + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lir;II)Z", - garbageValue = "-602741260" - ) - @Export("loadSpriteFlat") - static boolean loadSpriteFlat(AbstractArchive var0, int var1) { - byte[] var2 = var0.takeFileFlat(var1); - if (var2 == null) { - return false; - } else { - DevicePcmPlayerProvider.decodeSprite(var2); - return true; - } - } + System.gc(); + class40.method729(2); + Client.field889 = -1; + Client.field699 = false; + + for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.stream1 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var1.stream1); + var1.stream1 = null; + } + + if (var1.stream2 != null) { + SecureRandomCallable.pcmStreamMixer.removeSubStream(var1.stream2); + var1.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + class96.updateGameState(10); + } } diff --git a/runescape-client/src/main/java/RunException.java b/runescape-client/src/main/java/RunException.java index 6968f0ceff..519af9c67e 100644 --- a/runescape-client/src/main/java/RunException.java +++ b/runescape-client/src/main/java/RunException.java @@ -3,66 +3,33 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fx") +@ObfuscatedName("ml") @Implements("RunException") public class RunException extends RuntimeException { - @ObfuscatedName("m") - @Export("RunException_applet") - public static Applet RunException_applet; - @ObfuscatedName("f") - @Export("localPlayerName") - public static String localPlayerName; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -787495321 - ) - @Export("revision") - public static int revision; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 121013503 - ) - public static int field761; - @ObfuscatedName("o") - @Export("string") - String string; - @ObfuscatedName("u") - @Export("throwable") - Throwable throwable; + @ObfuscatedName("q") + @Export("RunException_applet") + public static Applet RunException_applet; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -345454085 + ) + @Export("revision") + public static int revision; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 875770709 + ) + public static int field4066; + @ObfuscatedName("k") + @Export("string") + String string; + @ObfuscatedName("l") + @Export("throwable") + Throwable throwable; - RunException(Throwable var1, String var2) { - this.string = var2; - this.throwable = var1; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Lgf;", - garbageValue = "1701309452" - ) - public static class190[] method3430() { - return new class190[]{class190.field2346, class190.field2352, class190.field2342, class190.field2341, class190.field2344, class190.field2345, class190.field2350, class190.field2347, class190.field2343, class190.field2349}; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2146928006" - ) - public static void method3431() { - Object var0 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field412 != 0) { - ArchiveDiskActionHandler.field412 = 1; - - try { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); - } catch (InterruptedException var4) { - } - } - - } - } + RunException(Throwable var1, String var2) { + this.string = var2; + this.throwable = var1; + } } diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 10abbdb8a5..2e797275db 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -3,2587 +3,2593 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("em") +@ObfuscatedName("er") @Implements("Scene") public class Scene { - @ObfuscatedName("m") - @Export("Scene_isLowDetail") - public static boolean Scene_isLowDetail; - @ObfuscatedName("a") - @Export("tileUpdateCount") - static int tileUpdateCount; - @ObfuscatedName("z") - @Export("Scene_plane") - static int Scene_plane; - @ObfuscatedName("j") - @Export("Scene_drawnCount") - static int Scene_drawnCount; - @ObfuscatedName("s") - @Export("Scene_cameraXTileMin") - static int Scene_cameraXTileMin; - @ObfuscatedName("t") - @Export("Scene_cameraXTileMax") - static int Scene_cameraXTileMax; - @ObfuscatedName("y") - @Export("Scene_cameraYTileMin") - static int Scene_cameraYTileMin; - @ObfuscatedName("h") - @Export("Scene_cameraYTileMax") - static int Scene_cameraYTileMax; - @ObfuscatedName("b") - @Export("Scene_cameraXTile") - static int Scene_cameraXTile; - @ObfuscatedName("c") - @Export("Scene_cameraYTile") - static int Scene_cameraYTile; - @ObfuscatedName("r") - @Export("Scene_cameraX") - static int Scene_cameraX; - @ObfuscatedName("p") - @Export("Scene_cameraY") - static int Scene_cameraY; - @ObfuscatedName("v") - @Export("Scene_cameraZ") - static int Scene_cameraZ; - @ObfuscatedName("ag") - @Export("Scene_cameraPitchSine") - static int Scene_cameraPitchSine; - @ObfuscatedName("aq") - @Export("Scene_cameraPitchCosine") - static int Scene_cameraPitchCosine; - @ObfuscatedName("aj") - @Export("Scene_cameraYawSine") - static int Scene_cameraYawSine; - @ObfuscatedName("av") - @Export("Scene_cameraYawCosine") - static int Scene_cameraYawCosine; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "[Leh;" - ) - @Export("gameObjects") - static GameObject[] gameObjects; - @ObfuscatedName("ac") - @Export("checkClick") - static boolean checkClick; - @ObfuscatedName("ay") - @Export("Scene_selectedPlane") - static int Scene_selectedPlane; - @ObfuscatedName("ah") - @Export("Scene_selectedScreenX") - static int Scene_selectedScreenX; - @ObfuscatedName("ak") - @Export("Scene_selectedScreenY") - static int Scene_selectedScreenY; - @ObfuscatedName("aw") - @Export("Scene_selectedX") - public static int Scene_selectedX; - @ObfuscatedName("al") - @Export("Scene_selectedY") - public static int Scene_selectedY; - @ObfuscatedName("ab") - @Export("viewportWalking") - static boolean viewportWalking; - @ObfuscatedName("ad") - @Export("Scene_planesCount") - static int Scene_planesCount; - @ObfuscatedName("ap") - @Export("Scene_planeOccluderCounts") - static int[] Scene_planeOccluderCounts; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "[[Lee;" - ) - @Export("Scene_planeOccluders") - static Occluder[][] Scene_planeOccluders; - @ObfuscatedName("am") - @Export("Scene_currentOccludersCount") - static int Scene_currentOccludersCount; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "[Lee;" - ) - @Export("Scene_currentOccluders") - static Occluder[] Scene_currentOccluders; - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("Scene_tilesDeque") - static NodeDeque Scene_tilesDeque; - @ObfuscatedName("au") - static final int[] field762; - @ObfuscatedName("ao") - static final int[] field763; - @ObfuscatedName("aa") - static final int[] field764; - @ObfuscatedName("ax") - static final int[] field765; - @ObfuscatedName("af") - static final int[] field766; - @ObfuscatedName("ai") - static final int[] field767; - @ObfuscatedName("ba") - static final int[] field768; - @ObfuscatedName("bc") - @Export("visibilityMap") - static boolean[][][][] visibilityMap; - @ObfuscatedName("bo") - @Export("visibleTiles") - static boolean[][] visibleTiles; - @ObfuscatedName("bx") - @Export("Scene_viewportXCenter") - static int Scene_viewportXCenter; - @ObfuscatedName("by") - @Export("Scene_viewportYCenter") - static int Scene_viewportYCenter; - @ObfuscatedName("bu") - @Export("Scene_viewportXMin") - static int Scene_viewportXMin; - @ObfuscatedName("bm") - @Export("Scene_viewportYMin") - static int Scene_viewportYMin; - @ObfuscatedName("bl") - @Export("Scene_viewportXMax") - static int Scene_viewportXMax; - @ObfuscatedName("br") - @Export("Scene_viewportYMax") - static int Scene_viewportYMax; - @ObfuscatedName("f") - @Export("planes") - int planes; - @ObfuscatedName("q") - @Export("xSize") - int xSize; - @ObfuscatedName("w") - @Export("ySize") - int ySize; - @ObfuscatedName("o") - @Export("tileHeights") - int[][][] tileHeights; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[[[Ldj;" - ) - @Export("tiles") - Tile[][][] tiles; - @ObfuscatedName("g") - @Export("minPlane") - int minPlane; - @ObfuscatedName("l") - @Export("tempGameObjectsCount") - int tempGameObjectsCount; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "[Leh;" - ) - @Export("tempGameObjects") - GameObject[] tempGameObjects; - @ObfuscatedName("x") - int[][][] field769; - @ObfuscatedName("bk") - int[][] field770; - @ObfuscatedName("bd") - int[][] field771; - - public Scene(int var1, int var2, int var3, int[][][] var4) { - this.minPlane = 0; - this.tempGameObjectsCount = 0; - this.tempGameObjects = new GameObject[5000]; - this.field770 = 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.field771 = 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.field769 = new int[var1][var2 + 1][var3 + 1]; - this.tileHeights = var4; - this.clear(); - } - - @ObfuscatedName("m") - @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("f") - @Export("init") - public void init(int minPlane) { - this.minPlane = minPlane; - - for (int var2 = 0; var2 < this.xSize; ++var2) { - for (int var3 = 0; var3 < this.ySize; ++var3) { - if (this.tiles[minPlane][var2][var3] == null) { - this.tiles[minPlane][var2][var3] = new Tile(minPlane, var2, var3); - } - } - } - - } - - @ObfuscatedName("q") - @Export("setLinkBelow") - public void setLinkBelow(int x, int y) { - Tile var3 = this.tiles[0][x][y]; - - for (int var4 = 0; var4 < 3; ++var4) { - Tile var5 = this.tiles[var4][x][y] = this.tiles[var4 + 1][x][y]; - if (var5 != null) { - --var5.plane; - - for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { - GameObject var7 = var5.gameObjects[var6]; - long var8 = var7.tag; - int var10 = (int)(var8 >>> 14 & 3L); - boolean var11 = var10 == 2; - if (var11 && var7.startX == x && y == var7.startY) { - --var7.plane; - } - } - } - } - - if (this.tiles[0][x][y] == null) { - this.tiles[0][x][y] = new Tile(0, x, y); - } - - this.tiles[0][x][y].linkedBelowTile = var3; - this.tiles[3][x][y] = null; - } - - @ObfuscatedName("o") - @Export("setTileMinPlane") - public void setTileMinPlane(int plane, int x, int y, int minPlane) { - Tile var5 = this.tiles[plane][x][y]; - if (var5 != null) { - this.tiles[plane][x][y].minPlane = minPlane; - } - - } - - @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("g") - @ObfuscatedSignature( - signature = "(IIIILex;JI)V" - ) - @Export("newFloorDecoration") - public void newFloorDecoration(int plane, int x, int y, int tileHeight, Entity entity, long tag, int flags) { - if (entity != null) { - FloorDecoration var9 = new FloorDecoration(); - var9.entity = entity; - var9.x = x * 128 + 64; - var9.y = y * 128 + 64; - var9.tileHeight = tileHeight; - var9.tag = tag; - var9.flags = flags; - if (this.tiles[plane][x][y] == null) { - this.tiles[plane][x][y] = new Tile(plane, x, y); - } - - this.tiles[plane][x][y].floorDecoration = var9; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIILex;JLex;Lex;)V" - ) - @Export("newGroundItemPile") - public void newGroundItemPile(int plane, int x, int y, int tileHeight, Entity first, long tag, Entity second, Entity third) { - GroundItemPile var10 = new GroundItemPile(); - var10.first = first; - var10.x = x * 128 + 64; - var10.y = y * 128 + 64; - var10.tileHeight = tileHeight; - var10.tag = tag; - var10.second = second; - var10.third = third; - int var11 = 0; - Tile var12 = this.tiles[plane][x][y]; - 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[plane][x][y] == null) { - this.tiles[plane][x][y] = new Tile(plane, x, y); - } - - this.tiles[plane][x][y].groundItemPile = var10; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIIILex;Lex;IIJI)V" - ) - @Export("newBoundaryObject") - public void newBoundaryObject(int plane, int x, int y, int tileHeight, Entity entity1, Entity entity2, int orientationA, int orientationB, long tag, int flags) { - if (entity1 != null || entity2 != null) { - BoundaryObject var12 = new BoundaryObject(); - var12.tag = tag; - var12.flags = flags; - var12.x = x * 128 + 64; - var12.y = y * 128 + 64; - var12.tileHeight = tileHeight; - var12.entity1 = entity1; - var12.entity2 = entity2; - var12.orientationA = orientationA; - var12.orientationB = orientationB; - - for (int var13 = plane; var13 >= 0; --var13) { - if (this.tiles[var13][x][y] == null) { - this.tiles[var13][x][y] = new Tile(var13, x, y); - } - } - - this.tiles[plane][x][y].boundaryObject = var12; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIILex;Lex;IIIIJI)V" - ) - @Export("newWallDecoration") - public void newWallDecoration(int plane, int x, int y, int tileHeight, Entity entity1, Entity entity2, int orientation, int int7, int xOffset, int yOffset, long tag, int flags) { - if (entity1 != null) { - WallDecoration var14 = new WallDecoration(); - var14.tag = tag; - var14.flags = flags; - var14.x = x * 128 + 64; - var14.y = y * 128 + 64; - var14.tileHeight = tileHeight; - var14.entity1 = entity1; - var14.entity2 = entity2; - var14.orientation = orientation; - var14.orientation2 = int7; - var14.xOffset = xOffset; - var14.yOffset = yOffset; - - for (int var15 = plane; var15 >= 0; --var15) { - if (this.tiles[var15][x][y] == null) { - this.tiles[var15][x][y] = new Tile(var15, x, y); - } - } - - this.tiles[plane][x][y].wallDecoration = var14; - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIIIIILex;IJI)Z" - ) - public boolean method284(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("a") - @ObfuscatedSignature( - signature = "(IIIIILex;IJZ)Z" - ) - public boolean method285(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("z") - @ObfuscatedSignature( - signature = "(IIIIILex;IJIIII)Z" - ) - public boolean method286(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("j") - @ObfuscatedSignature( - signature = "(IIIIIIIILex;IZJI)Z" - ) - @Export("newGameObject") - boolean newGameObject(int plane, int startX, int startY, int sizeX, int sizeY, int centerX, int centerY, int height, Entity entity, int orientation, boolean isTemp, long tag, int flags) { - int var15; - for (int var16 = startX; var16 < startX + sizeX; ++var16) { - for (var15 = startY; var15 < startY + sizeY; ++var15) { - if (var16 < 0 || var15 < 0 || var16 >= this.xSize || var15 >= this.ySize) { - return false; - } - - Tile var17 = this.tiles[plane][var16][var15]; - if (var17 != null && var17.gameObjectsCount >= 5) { - return false; - } - } - } - - GameObject var20 = new GameObject(); - var20.tag = tag; - var20.flags = flags; - var20.plane = plane; - var20.centerX = centerX; - var20.centerY = centerY; - var20.height = height; - var20.entity = entity; - var20.orientation = orientation; - var20.startX = startX; - var20.startY = startY; - var20.endX = startX + sizeX - 1; - var20.endY = startY + sizeY - 1; - - for (var15 = startX; var15 < startX + sizeX; ++var15) { - for (int var21 = startY; var21 < startY + sizeY; ++var21) { - int var18 = 0; - if (var15 > startX) { - ++var18; - } - - if (var15 < startX + sizeX - 1) { - var18 += 4; - } - - if (var21 > startY) { - var18 += 8; - } - - if (var21 < startY + sizeY - 1) { - var18 += 2; - } - - for (int var19 = plane; var19 >= 0; --var19) { - if (this.tiles[var19][var15][var21] == null) { - this.tiles[var19][var15][var21] = new Tile(var19, var15, var21); - } - } - - Tile var22 = this.tiles[plane][var15][var21]; - var22.gameObjects[var22.gameObjectsCount] = var20; - var22.gameObjectEdgeMasks[var22.gameObjectsCount] = var18; - var22.gameObjectsEdgeMask |= var18; - ++var22.gameObjectsCount; - } - } - - if (isTemp) { - this.tempGameObjects[this.tempGameObjectsCount++] = var20; - } - - return true; - } - - @ObfuscatedName("s") - @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("t") - @ObfuscatedSignature( - signature = "(Leh;)V" - ) - @Export("removeGameObject") - void removeGameObject(GameObject gameObject) { - for (int var2 = gameObject.startX; var2 <= gameObject.endX; ++var2) { - for (int var3 = gameObject.startY; var3 <= gameObject.endY; ++var3) { - Tile var4 = this.tiles[gameObject.plane][var2][var3]; - if (var4 != null) { - int var5; - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - if (var4.gameObjects[var5] == gameObject) { - --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("y") - public void method287(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("h") - @Export("removeBoundaryObject") - public void removeBoundaryObject(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - if (var4 != null) { - var4.boundaryObject = null; - } - - } - - @ObfuscatedName("b") - @Export("removeWallDecoration") - public void removeWallDecoration(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - if (var4 != null) { - var4.wallDecoration = null; - } - - } - - @ObfuscatedName("c") - public void method288(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 var7 = var6.tag; - int var9 = (int)(var7 >>> 14 & 3L); - boolean var10 = var9 == 2; - if (var10 && var2 == var6.startX && var3 == var6.startY) { - this.removeGameObject(var6); - return; - } - } - } - - } - - @ObfuscatedName("p") - @Export("removeFloorDecoration") - public void removeFloorDecoration(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - if (var4 != null) { - var4.floorDecoration = null; - } - - } - - @ObfuscatedName("v") - @Export("removeGroundItemPile") - public void removeGroundItemPile(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - if (var4 != null) { - var4.groundItemPile = null; - } - - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(III)Lej;" - ) - @Export("getBoundaryObject") - public BoundaryObject getBoundaryObject(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 == null ? null : var4.boundaryObject; - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(III)Leq;" - ) - @Export("getWallDecoration") - public WallDecoration getWallDecoration(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 == null ? null : var4.wallDecoration; - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(III)Leh;" - ) - public GameObject method289(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 var7 = var6.tag; - int var9 = (int)(var7 >>> 14 & 3L); - boolean var10 = var9 == 2; - if (var10 && var2 == var6.startX && var3 == var6.startY) { - return var6; - } - } - - return null; - } - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(III)Ldo;" - ) - @Export("getFloorDecoration") - public FloorDecoration getFloorDecoration(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; - } - - @ObfuscatedName("ar") - @Export("getBoundaryObjectTag") - public long getBoundaryObjectTag(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 != null && var4.boundaryObject != null ? var4.boundaryObject.tag : 0L; - } - - @ObfuscatedName("ac") - @Export("getWallDecorationTag") - public long getWallDecorationTag(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; - } - - @ObfuscatedName("ay") - @Export("getGameObjectTag") - public long getGameObjectTag(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - if (var4 == null) { - return 0L; - } else { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - GameObject var6 = var4.gameObjects[var5]; - long var7 = var6.tag; - int var9 = (int)(var7 >>> 14 & 3L); - boolean var10 = var9 == 2; - if (var10 && x == var6.startX && y == var6.startY) { - return var6.tag; - } - } - - return 0L; - } - } - - @ObfuscatedName("ah") - @Export("getFloorDecorationTag") - public long getFloorDecorationTag(int plane, int x, int y) { - Tile var4 = this.tiles[plane][x][y]; - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; - } - - @ObfuscatedName("ak") - @Export("getObjectFlags") - public int getObjectFlags(int plane, int x, int y, long tag) { - Tile var6 = this.tiles[plane][x][y]; - if (var6 == null) { - return -1; - } else if (var6.boundaryObject != null && var6.boundaryObject.tag == tag) { - return var6.boundaryObject.flags & 255; - } else if (var6.wallDecoration != null && var6.wallDecoration.tag == tag) { - return var6.wallDecoration.flags & 255; - } else if (var6.floorDecoration != null && var6.floorDecoration.tag == tag) { - return var6.floorDecoration.flags & 255; - } else { - for (int var7 = 0; var7 < var6.gameObjectsCount; ++var7) { - if (var6.gameObjects[var7].tag == tag) { - return var6.gameObjects[var7].flags & 255; - } - } - - return -1; - } - } - - @ObfuscatedName("aw") - public void method293(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 var9; - if (var8 != null && var8.entity1 instanceof ModelData) { - ModelData var10 = (ModelData)var8.entity1; - this.method295(var10, var4, var5, var6, 1, 1); - if (var8.entity2 instanceof ModelData) { - var9 = (ModelData)var8.entity2; - this.method295(var9, var4, var5, var6, 1, 1); - ModelData.method2800(var10, var9, 0, 0, 0, false); - var8.entity2 = var9.toModel(var9.field559, var9.field560, var1, var2, var3); - } - - var8.entity1 = var10.toModel(var10.field559, var10.field560, var1, var2, var3); - } - - for (int var13 = 0; var13 < var7.gameObjectsCount; ++var13) { - GameObject var11 = var7.gameObjects[var13]; - if (var11 != null && var11.entity instanceof ModelData) { - ModelData var12 = (ModelData)var11.entity; - this.method295(var12, var4, var5, var6, var11.endX - var11.startX + 1, var11.endY - var11.startY + 1); - var11.entity = var12.toModel(var12.field559, var12.field560, var1, var2, var3); - } - } - - FloorDecoration var14 = var7.floorDecoration; - if (var14 != null && var14.entity instanceof ModelData) { - var9 = (ModelData)var14.entity; - this.method294(var9, var4, var5, var6); - var14.entity = var9.toModel(var9.field559, var9.field560, var1, var2, var3); - } - } - } - } - } - - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Ldw;III)V" - ) - void method294(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.method2800(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.method2800(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.method2800(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.method2800(var1, var6, 128, 0, -128, true); - } - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(Ldw;IIIII)V" - ) - void method295(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.method2800(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.method2800(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.method2800(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); - } - } - } - } - } - } - } - - --var8; - var7 = false; - } - } - - } - - @ObfuscatedName("ae") - @Export("drawTileMinimap") - public void drawTileMinimap(int[] pixels, int index, int width, int plane, int x, int y) { - Tile var7 = this.tiles[plane][x][y]; - if (var7 != null) { - TilePaint var8 = var7.paint; - int var9; - if (var8 != null) { - int var10 = var8.rgb; - if (var10 != 0) { - for (var9 = 0; var9 < 4; ++var9) { - pixels[index] = var10; - pixels[index + 1] = var10; - pixels[index + 2] = var10; - pixels[index + 3] = var10; - index += width; - } - } - } else { - TileModel var18 = var7.model; - if (var18 != null) { - var9 = var18.shape; - int var11 = var18.rotation; - int var12 = var18.underlayRgb; - int var13 = var18.overlayRgb; - int[] var14 = this.field770[var9]; - int[] var15 = this.field771[var11]; - int var16 = 0; - int var17; - if (var12 != 0) { - for (var17 = 0; var17 < 4; ++var17) { - pixels[index] = var14[var15[var16++]] == 0 ? var12 : var13; - pixels[index + 1] = var14[var15[var16++]] == 0 ? var12 : var13; - pixels[index + 2] = var14[var15[var16++]] == 0 ? var12 : var13; - pixels[index + 3] = var14[var15[var16++]] == 0 ? var12 : var13; - index += width; - } - } else { - for (var17 = 0; var17 < 4; ++var17) { - if (var14[var15[var16++]] != 0) { - pixels[index] = var13; - } - - if (var14[var15[var16++]] != 0) { - pixels[index + 1] = var13; - } - - if (var14[var15[var16++]] != 0) { - pixels[index + 2] = var13; - } - - if (var14[var15[var16++]] != 0) { - pixels[index + 3] = var13; - } - - index += width; - } - } - } - } - } - - } - - @ObfuscatedName("ap") - @Export("menuOpen") - public void menuOpen(int plane, int screenX, int screenY, boolean var4) { - if (!method3187() || var4) { - checkClick = true; - viewportWalking = var4; - Scene_selectedPlane = plane; - Scene_selectedScreenX = screenX; - Scene_selectedScreenY = screenY; - Scene_selectedX = -1; - Scene_selectedY = -1; - } - - } - - @ObfuscatedName("as") - public void method296() { - viewportWalking = true; - } - - @ObfuscatedName("az") - @Export("draw") - public void draw(int x, int y, int var3, int pitch, int yaw, int plane) { - if (x < 0) { - x = 0; - } else if (x >= this.xSize * 128) { - x = this.xSize * 128 - 1; - } - - if (var3 < 0) { - var3 = 0; - } else if (var3 >= this.ySize * 128) { - var3 = this.ySize * 128 - 1; - } - - if (pitch < 128) { - pitch = 128; - } else if (pitch > 383) { - pitch = 383; - } - - ++Scene_drawnCount; - Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[pitch]; - Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[pitch]; - Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[yaw]; - Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[yaw]; - visibleTiles = visibilityMap[(pitch - 128) / 32][yaw / 64]; - Scene_cameraX = x; - Scene_cameraY = y; - Scene_cameraZ = var3; - Scene_cameraXTile = x / 128; - Scene_cameraYTile = var3 / 128; - Scene_plane = plane; - 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 > plane || !visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] && this.tileHeights[var7][var9][var10] - y < 2000) { - var11.drawPrimary = false; - var11.drawSecondary = false; - var11.drawGameObjectEdges = 0; - } else { - var11.drawPrimary = true; - var11.drawSecondary = true; - if (var11.gameObjectsCount > 0) { - var11.drawGameObjects = true; - } else { - var11.drawGameObjects = false; - } - - ++tileUpdateCount; - } - } - } - } - } - - int var12; - Tile var13; - int var14; - int 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; - var14 = Scene_cameraXTile - var9; - if (var10 >= Scene_cameraXTileMin || var14 < Scene_cameraXTileMax) { - for (var15 = -25; var15 <= 0; ++var15) { - var16 = var15 + Scene_cameraYTile; - var12 = Scene_cameraYTile - var15; - if (var10 >= Scene_cameraXTileMin) { - if (var16 >= Scene_cameraYTileMin) { - var13 = var8[var10][var16]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, true); - } - } - - if (var12 < Scene_cameraYTileMax) { - var13 = var8[var10][var12]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, true); - } - } - } - - if (var14 < Scene_cameraXTileMax) { - if (var16 >= Scene_cameraYTileMin) { - var13 = var8[var14][var16]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, true); - } - } - - if (var12 < Scene_cameraYTileMax) { - var13 = var8[var14][var12]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, 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; - var14 = Scene_cameraXTile - var9; - if (var10 >= Scene_cameraXTileMin || var14 < Scene_cameraXTileMax) { - for (var15 = -25; var15 <= 0; ++var15) { - var16 = var15 + Scene_cameraYTile; - var12 = Scene_cameraYTile - var15; - if (var10 >= Scene_cameraXTileMin) { - if (var16 >= Scene_cameraYTileMin) { - var13 = var8[var10][var16]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, false); - } - } - - if (var12 < Scene_cameraYTileMax) { - var13 = var8[var10][var12]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, false); - } - } - } - - if (var14 < Scene_cameraXTileMax) { - if (var16 >= Scene_cameraYTileMin) { - var13 = var8[var14][var16]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, false); - } - } - - if (var12 < Scene_cameraYTileMax) { - var13 = var8[var14][var12]; - if (var13 != null && var13.drawPrimary) { - this.drawTile(var13, false); - } - } - } - - if (tileUpdateCount == 0) { - checkClick = false; - return; - } - } - } - } - } - - checkClick = false; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(Ldj;Z)V" - ) - @Export("drawTile") - void drawTile(Tile tile, boolean var2) { - Scene_tilesDeque.addFirst(tile); - - while (true) { - Tile var3; - int var4; - int var5; - int var6; - int var7; - Tile[][] var8; - Tile var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - do { - do { - do { - do { - do { - do { - while (true) { - BoundaryObject var16; - GameObject var17; - int var18; - int var19; - boolean var20; - int var21; - Tile var22; - 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.method297(0, var4, var5)) { - this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } else if (var9.model != null && !this.method297(0, var4, var5)) { - this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var16 = var9.boundaryObject; - if (var16 != null) { - var16.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var16.x - Scene_cameraX, var16.tileHeight - Scene_cameraY, var16.y - Scene_cameraZ, var16.tag); - } - - for (var10 = 0; var10 < var9.gameObjectsCount; ++var10) { - var17 = var9.gameObjects[var10]; - if (var17 != null) { - var17.entity.draw(var17.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var17.centerX - Scene_cameraX, var17.height - Scene_cameraY, var17.centerY - Scene_cameraZ, var17.tag); - } - } - } - - var20 = false; - if (var3.paint != null) { - if (!this.method297(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.method297(var7, var4, var5)) { - var20 = true; - this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var21 = 0; - var10 = 0; - BoundaryObject var23 = var3.boundaryObject; - WallDecoration var24 = var3.wallDecoration; - if (var23 != null || var24 != 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; - } - - var10 = field762[var21]; - var3.field899 = field764[var21]; - } - - if (var23 != null) { - if ((var23.orientationA & field763[var21]) != 0) { - if (var23.orientationA == 16) { - var3.drawGameObjectEdges = 3; - var3.field897 = field765[var21]; - var3.field898 = 3 - var3.field897; - } else if (var23.orientationA == 32) { - var3.drawGameObjectEdges = 6; - var3.field897 = field766[var21]; - var3.field898 = 6 - var3.field897; - } else if (var23.orientationA == 64) { - var3.drawGameObjectEdges = 12; - var3.field897 = field767[var21]; - var3.field898 = 12 - var3.field897; - } else { - var3.drawGameObjectEdges = 9; - var3.field897 = field768[var21]; - var3.field898 = 9 - var3.field897; - } - } else { - var3.drawGameObjectEdges = 0; - } - - if ((var23.orientationA & var10) != 0 && !this.method298(var7, var4, var5, var23.orientationA)) { - var23.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y - Scene_cameraZ, var23.tag); - } - - if ((var23.orientationB & var10) != 0 && !this.method298(var7, var4, var5, var23.orientationB)) { - var23.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y - Scene_cameraZ, var23.tag); - } - } - - if (var24 != null && !this.method299(var7, var4, var5, var24.entity1.height)) { - if ((var24.orientation & var10) != 0) { - var24.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var24.x - Scene_cameraX + var24.xOffset, var24.tileHeight - Scene_cameraY, var24.y - Scene_cameraZ + var24.yOffset, var24.tag); - } else if (var24.orientation == 256) { - var11 = var24.x - Scene_cameraX; - var12 = var24.tileHeight - Scene_cameraY; - var13 = var24.y - Scene_cameraZ; - var18 = var24.orientation2; - if (var18 != 1 && var18 != 2) { - var19 = var11; - } else { - var19 = -var11; - } - - int var25; - if (var18 != 2 && var18 != 3) { - var25 = var13; - } else { - var25 = -var13; - } - - if (var25 < var19) { - var24.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11 + var24.xOffset, var12, var13 + var24.yOffset, var24.tag); - } else if (var24.entity2 != null) { - var24.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11, var12, var13, var24.tag); - } - } - } - - if (var20) { - FloorDecoration var34 = var3.floorDecoration; - if (var34 != null) { - var34.entity.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var34.x - Scene_cameraX, var34.tileHeight - Scene_cameraY, var34.y - Scene_cameraZ, var34.tag); - } - - GroundItemPile var26 = var3.groundItemPile; - if (var26 != null && var26.height == 0) { - if (var26.second != null) { - var26.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var26.x - Scene_cameraX, var26.tileHeight - Scene_cameraY, var26.y - Scene_cameraZ, var26.tag); - } - - if (var26.third != null) { - var26.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var26.x - Scene_cameraX, var26.tileHeight - Scene_cameraY, var26.y - Scene_cameraZ, var26.tag); - } - - if (var26.first != null) { - var26.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var26.x - Scene_cameraX, var26.tileHeight - Scene_cameraY, var26.y - Scene_cameraZ, var26.tag); - } - } - } - - var11 = var3.gameObjectsEdgeMask; - if (var11 != 0) { - if (var4 < Scene_cameraXTile && (var11 & 4) != 0) { - var22 = var8[var4 + 1][var5]; - if (var22 != null && var22.drawSecondary) { - Scene_tilesDeque.addFirst(var22); - } - } - - if (var5 < Scene_cameraYTile && (var11 & 2) != 0) { - var22 = var8[var4][var5 + 1]; - if (var22 != null && var22.drawSecondary) { - Scene_tilesDeque.addFirst(var22); - } - } - - if (var4 > Scene_cameraXTile && (var11 & 1) != 0) { - var22 = var8[var4 - 1][var5]; - if (var22 != null && var22.drawSecondary) { - Scene_tilesDeque.addFirst(var22); - } - } - - if (var5 > Scene_cameraYTile && (var11 & 8) != 0) { - var22 = var8[var4][var5 - 1]; - if (var22 != null && var22.drawSecondary) { - Scene_tilesDeque.addFirst(var22); - } - } - } - 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.field897) { - var20 = false; - break; - } - } - - if (var20) { - var16 = var3.boundaryObject; - if (!this.method298(var7, var4, var5, var16.orientationA)) { - var16.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var16.x - Scene_cameraX, var16.tileHeight - Scene_cameraY, var16.y - Scene_cameraZ, var16.tag); - } - - var3.drawGameObjectEdges = 0; - } - } - - if (!var3.drawGameObjects) { - break; - } - - try { - int var32 = var3.gameObjectsCount; - var3.drawGameObjects = false; - var21 = 0; - - label562: - for (var10 = 0; var10 < var32; ++var10) { - var17 = var3.gameObjects[var10]; - if (var17.lastDrawn != Scene_drawnCount) { - for (var14 = var17.startX; var14 <= var17.endX; ++var14) { - for (var11 = var17.startY; var11 <= var17.endY; ++var11) { - var22 = var8[var14][var11]; - if (var22.drawPrimary) { - var3.drawGameObjects = true; - continue label562; - } - - if (var22.drawGameObjectEdges != 0) { - var13 = 0; - if (var14 > var17.startX) { - ++var13; - } - - if (var14 < var17.endX) { - var13 += 4; - } - - if (var11 > var17.startY) { - var13 += 8; - } - - if (var11 < var17.endY) { - var13 += 2; - } - - if ((var13 & var22.drawGameObjectEdges) == var3.field898) { - var3.drawGameObjects = true; - continue label562; - } - } - } - } - - gameObjects[var21++] = var17; - var14 = Scene_cameraXTile - var17.startX; - var11 = var17.endX - Scene_cameraXTile; - if (var11 > var14) { - var14 = var11; - } - - var12 = Scene_cameraYTile - var17.startY; - var13 = var17.endY - Scene_cameraYTile; - if (var13 > var12) { - var17.field360 = var14 + var13; - } else { - var17.field360 = var14 + var12; - } - } - } - - while (var21 > 0) { - var10 = -50; - var15 = -1; - - GameObject var33; - for (var14 = 0; var14 < var21; ++var14) { - var33 = gameObjects[var14]; - if (var33.lastDrawn != Scene_drawnCount) { - if (var33.field360 > var10) { - var10 = var33.field360; - var15 = var14; - } else if (var10 == var33.field360) { - var12 = var33.centerX - Scene_cameraX; - var13 = var33.centerY - Scene_cameraZ; - var18 = gameObjects[var15].centerX - Scene_cameraX; - var19 = gameObjects[var15].centerY - Scene_cameraZ; - if (var12 * var12 + var13 * var13 > var18 * var18 + var19 * var19) { - var15 = var14; - } - } - } - } - - if (var15 == -1) { - break; - } - - var33 = gameObjects[var15]; - var33.lastDrawn = Scene_drawnCount; - if (!this.method300(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 (var11 = var33.startX; var11 <= var33.endX; ++var11) { - for (var12 = var33.startY; var12 <= var33.endY; ++var12) { - Tile var35 = var8[var11][var12]; - if (var35.drawGameObjectEdges != 0) { - Scene_tilesDeque.addFirst(var35); - } else if ((var11 != var4 || var12 != var5) && var35.drawSecondary) { - Scene_tilesDeque.addFirst(var35); - } - } - } - } - - if (!var3.drawGameObjects) { - break; - } - } catch (Exception var27) { - 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; - GroundItemPile var28 = var3.groundItemPile; - if (var28 != null && var28.height != 0) { - if (var28.second != null) { - var28.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var28.x - Scene_cameraX, var28.tileHeight - Scene_cameraY - var28.height, var28.y - Scene_cameraZ, var28.tag); - } - - if (var28.third != null) { - var28.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var28.x - Scene_cameraX, var28.tileHeight - Scene_cameraY - var28.height, var28.y - Scene_cameraZ, var28.tag); - } - - if (var28.first != null) { - var28.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var28.x - Scene_cameraX, var28.tileHeight - Scene_cameraY - var28.height, var28.y - Scene_cameraZ, var28.tag); - } - } - - if (var3.field899 != 0) { - WallDecoration var29 = var3.wallDecoration; - if (var29 != null && !this.method299(var7, var4, var5, var29.entity1.height)) { - if ((var29.orientation & var3.field899) != 0) { - var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.x - Scene_cameraX + var29.xOffset, var29.tileHeight - Scene_cameraY, var29.y - Scene_cameraZ + var29.yOffset, var29.tag); - } else if (var29.orientation == 256) { - var10 = var29.x - Scene_cameraX; - var15 = var29.tileHeight - Scene_cameraY; - var14 = var29.y - Scene_cameraZ; - var11 = var29.orientation2; - if (var11 != 1 && var11 != 2) { - var12 = var10; - } else { - var12 = -var10; - } - - if (var11 != 2 && var11 != 3) { - var13 = var14; - } else { - var13 = -var14; - } - - if (var13 >= var12) { - var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10 + var29.xOffset, var15, var14 + var29.yOffset, var29.tag); - } else if (var29.entity2 != null) { - var29.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10, var15, var14, var29.tag); - } - } - } - - BoundaryObject var31 = var3.boundaryObject; - if (var31 != null) { - if ((var31.orientationB & var3.field899) != 0 && !this.method298(var7, var4, var5, var31.orientationB)) { - var31.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.tag); - } - - if ((var31.orientationA & var3.field899) != 0 && !this.method298(var7, var4, var5, var31.orientationA)) { - var31.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.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("ao") - @ObfuscatedSignature( - signature = "(Leb;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.field739 = false; - if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field739 = 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.method3037(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); - } - } else if (!Scene_isLowDetail) { - if (var1.isFlat) { - Rasterizer3D.method3012(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.method3012(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.method3037(var27, var29, var25, var26, var28, var24, method3108(var30, var1.neColor), method3108(var30, var1.nwColor), method3108(var30, var1.seColor)); - } - } - - if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { - Rasterizer3D.field739 = false; - if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field739 = 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.method3037(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); - } - } else if (!Scene_isLowDetail) { - Rasterizer3D.method3012(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.method3037(var23, var25, var29, var22, var24, var28, method3108(var30, var1.swColor), method3108(var30, var1.seColor), method3108(var30, var1.nwColor)); - } - } - } - } - } - } - - } - - @ObfuscatedName("aa") - @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.field902[var9] = var10; - TileModel.field903[var9] = var13; - TileModel.field904[var9] = var12; - } - - TileModel.field900[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; - TileModel.field901[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.field900[var10]; - int var14 = TileModel.field900[var11]; - int var15 = TileModel.field900[var12]; - int var16 = TileModel.field901[var10]; - int var17 = TileModel.field901[var11]; - int var18 = TileModel.field901[var12]; - if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { - Rasterizer3D.field739 = false; - if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field739 = 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.method3012(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field902[0], TileModel.field902[1], TileModel.field902[3], TileModel.field903[0], TileModel.field903[1], TileModel.field903[3], TileModel.field904[0], TileModel.field904[1], TileModel.field904[3], var1.triangleTextureId[var9]); - } else { - Rasterizer3D.method3012(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field902[var10], TileModel.field902[var11], TileModel.field902[var12], TileModel.field903[var10], TileModel.field903[var11], TileModel.field903[var12], TileModel.field904[var10], TileModel.field904[var11], TileModel.field904[var12], var1.triangleTextureId[var9]); - } - } else { - int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); - Rasterizer3D.method3037(var16, var17, var18, var13, var14, var15, method3108(var19, var1.triangleColorA[var9]), method3108(var19, var1.triangleColorB[var9]), method3108(var19, var1.triangleColorC[var9])); - } - } else if (var1.triangleColorA[var9] != 12345678) { - Rasterizer3D.method3037(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); - } - } - } - - } - - @ObfuscatedName("ai") - @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 var8; - boolean var9; - 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; - } - - var9 = false; - - while (var6 <= var7) { - if (visibleTiles[var5][var6++]) { - var9 = true; - break; - } - } - - if (var9) { - var8 = Scene_cameraX - var4.minX; - if (var8 > 32) { - var4.field656 = 1; - } else { - if (var8 >= -32) { - continue; - } - - var4.field656 = 2; - var8 = -var8; - } - - var4.field659 = (var4.minZ - Scene_cameraZ << 8) / var8; - var4.field660 = (var4.maxZ - Scene_cameraZ << 8) / var8; - var4.field661 = (var4.minY - Scene_cameraY << 8) / var8; - var4.field662 = (var4.maxY - Scene_cameraY << 8) / var8; - 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; - } - - var9 = false; - - while (var6 <= var7) { - if (visibleTiles[var6++][var5]) { - var9 = true; - break; - } - } - - if (var9) { - var8 = Scene_cameraZ - var4.minZ; - if (var8 > 32) { - var4.field656 = 3; - } else { - if (var8 >= -32) { - continue; - } - - var4.field656 = 4; - var8 = -var8; - } - - var4.field657 = (var4.minX - Scene_cameraX << 8) / var8; - var4.field658 = (var4.maxX - Scene_cameraX << 8) / var8; - var4.field661 = (var4.minY - Scene_cameraY << 8) / var8; - var4.field662 = (var4.maxY - Scene_cameraY << 8) / var8; - 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 var10 = var4.minTileX - Scene_cameraXTile + 25; - if (var10 < 0) { - var10 = 0; - } - - var8 = var4.maxTileX - Scene_cameraXTile + 25; - if (var8 > 50) { - var8 = 50; - } - - boolean var11 = false; - - label140: - for (int var12 = var10; var12 <= var8; ++var12) { - for (int var13 = var6; var13 <= var7; ++var13) { - if (visibleTiles[var12][var13]) { - var11 = true; - break label140; - } - } - } - - if (var11) { - var4.field656 = 5; - var4.field657 = (var4.minX - Scene_cameraX << 8) / var5; - var4.field658 = (var4.maxX - Scene_cameraX << 8) / var5; - var4.field659 = (var4.minZ - Scene_cameraZ << 8) / var5; - var4.field660 = (var4.maxZ - Scene_cameraZ << 8) / var5; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; - } - } - } - } - } - - } - - @ObfuscatedName("ba") - boolean method297(int var1, int var2, int var3) { - int var4 = this.field769[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.method301(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method301(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method301(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method301(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { - this.field769[var1][var2][var3] = Scene_drawnCount; - return true; - } else { - this.field769[var1][var2][var3] = -Scene_drawnCount; - return false; - } - } - } - - @ObfuscatedName("bb") - boolean method298(int var1, int var2, int var3, int var4) { - if (!this.method297(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.method301(var5, var7, var6)) { - return false; - } - - if (!this.method301(var5, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method301(var5, var8, var6)) { - return false; - } - - if (!this.method301(var5, var8, var6 + 128)) { - return false; - } - } - - if (!this.method301(var5, var9, var6)) { - return false; - } - - if (!this.method301(var5, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 2) { - if (var6 < Scene_cameraZ) { - if (!this.method301(var5, var7, var6 + 128)) { - return false; - } - - if (!this.method301(var5 + 128, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method301(var5, var8, var6 + 128)) { - return false; - } - - if (!this.method301(var5 + 128, var8, var6 + 128)) { - return false; - } - } - - if (!this.method301(var5, var9, var6 + 128)) { - return false; - } - - if (!this.method301(var5 + 128, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 4) { - if (var5 < Scene_cameraX) { - if (!this.method301(var5 + 128, var7, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method301(var5 + 128, var8, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var8, var6 + 128)) { - return false; - } - } - - if (!this.method301(var5 + 128, var9, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 8) { - if (var6 > Scene_cameraZ) { - if (!this.method301(var5, var7, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var7, var6)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method301(var5, var8, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var8, var6)) { - return false; - } - } - - if (!this.method301(var5, var9, var6)) { - return false; - } - - if (!this.method301(var5 + 128, var9, var6)) { - return false; - } - - return true; - } - } - - return !this.method301(var5 + 64, var10, var6 + 64) ? false : (var4 == 16 ? this.method301(var5, var9, var6 + 128) : (var4 == 32 ? this.method301(var5 + 128, var9, var6 + 128) : (var4 == 64 ? this.method301(var5 + 128, var9, var6) : (var4 == 128 ? this.method301(var5, var9, var6) : true)))); - } - } - - @ObfuscatedName("bs") - boolean method299(int var1, int var2, int var3, int var4) { - if (!this.method297(var1, var2, var3)) { - return false; - } else { - int var5 = var2 << 7; - int var6 = var3 << 7; - return this.method301(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method301(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method301(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method301(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); - } - } - - @ObfuscatedName("bq") - boolean method300(int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - int var8; - if (var3 == var2 && var5 == var4) { - if (!this.method297(var1, var2, var4)) { - return false; - } else { - var7 = var2 << 7; - var8 = var4 << 7; - return this.method301(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method301(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method301(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method301(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.field769[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.method301(var7, var9, var8)) { - return false; - } else { - int var10 = (var3 << 7) - 1; - if (!this.method301(var10, var9, var8)) { - return false; - } else { - int var11 = (var5 << 7) - 1; - if (!this.method301(var7, var9, var11)) { - return false; - } else if (!this.method301(var10, var9, var11)) { - return false; - } else { - return true; - } - } - } - } - } - - @ObfuscatedName("bn") - boolean method301(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.field656 == 1) { - var6 = var5.minX - var1; - if (var6 > 0) { - var7 = (var6 * var5.field659 >> 8) + var5.minZ; - var8 = (var6 * var5.field660 >> 8) + var5.maxZ; - var9 = (var6 * var5.field661 >> 8) + var5.minY; - var10 = (var6 * var5.field662 >> 8) + var5.maxY; - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field656 == 2) { - var6 = var1 - var5.minX; - if (var6 > 0) { - var7 = (var6 * var5.field659 >> 8) + var5.minZ; - var8 = (var6 * var5.field660 >> 8) + var5.maxZ; - var9 = (var6 * var5.field661 >> 8) + var5.minY; - var10 = (var6 * var5.field662 >> 8) + var5.maxY; - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field656 == 3) { - var6 = var5.minZ - var3; - if (var6 > 0) { - var7 = (var6 * var5.field657 >> 8) + var5.minX; - var8 = (var6 * var5.field658 >> 8) + var5.maxX; - var9 = (var6 * var5.field661 >> 8) + var5.minY; - var10 = (var6 * var5.field662 >> 8) + var5.maxY; - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field656 == 4) { - var6 = var3 - var5.minZ; - if (var6 > 0) { - var7 = (var6 * var5.field657 >> 8) + var5.minX; - var8 = (var6 * var5.field658 >> 8) + var5.maxX; - var9 = (var6 * var5.field661 >> 8) + var5.minY; - var10 = (var6 * var5.field662 >> 8) + var5.maxY; - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field656 == 5) { - var6 = var2 - var5.minY; - if (var6 > 0) { - var7 = (var6 * var5.field657 >> 8) + var5.minX; - var8 = (var6 * var5.field658 >> 8) + var5.maxX; - var9 = (var6 * var5.field659 >> 8) + var5.minZ; - var10 = (var6 * var5.field660 >> 8) + var5.maxZ; - if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { - return true; - } - } - } - } - - return false; - } - - @ObfuscatedName("w") - @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("at") - @Export("Scene_buildVisiblityMap") - public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int viewportWidth, int viewportHeight) { - Scene_viewportXMin = 0; - Scene_viewportYMin = 0; - Scene_viewportXMax = viewportWidth; - Scene_viewportYMax = viewportHeight; - Scene_viewportXCenter = viewportWidth / 2; - Scene_viewportYCenter = viewportHeight / 2; - boolean[][][][] var5 = new boolean[var0.length][32][53][53]; - - int var6; - int var7; - int var8; - int var9; - int var10; - int var11; - 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 var12 = -26; var12 < 26; ++var12) { - for (var10 = -26; var10 < 26; ++var10) { - var11 = var12 * 128; - int var13 = var10 * 128; - boolean var14 = false; - - for (int var15 = -var1; var15 <= var2; var15 += 128) { - if (method3100(var11, var0[var8] + var15, var13)) { - var14 = true; - break; - } - } - - var5[var8][var9][var12 + 1 + 25][var10 + 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 (var10 = -1; var10 <= 1; ++var10) { - for (var11 = -1; var11 <= 1; ++var11) { - if (var5[var6][var7][var8 + var10 + 1 + 25][var9 + var11 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6][(var7 + 1) % 31][var8 + var10 + 1 + 25][var9 + var11 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6 + 1][var7][var8 + var10 + 1 + 25][var9 + var11 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6 + 1][(var7 + 1) % 31][var8 + var10 + 1 + 25][var9 + var11 + 1 + 25]) { - var16 = true; - break label76; - } - } - } - - visibilityMap[var6][var7][var8 + 25][var9 + 25] = var16; - } - } - } - } - - } - - @ObfuscatedName("ad") - static boolean method3100(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("am") - public static boolean method3187() { - return viewportWalking && Scene_selectedX != -1; - } - - @ObfuscatedName("an") - public static void method3103() { - Scene_selectedX = -1; - viewportWalking = false; - } - - @ObfuscatedName("ax") - static final int method3108(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - - @Export("containsBounds") - @ObfuscatedName("af") - 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); - return var8 == 0 ? (var9 != 0 ? (var9 < 0 ? var10 <= 0 : var10 >= 0) : true) : (var8 < 0 ? var9 <= 0 && var10 <= 0 : var9 >= 0 && var10 >= 0); - } - } - - 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(); - field762 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; - field763 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; - field764 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; - field765 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; - field766 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; - field767 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; - field768 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; - visibilityMap = new boolean[8][32][51][51]; - } + @ObfuscatedName("q") + @Export("Scene_isLowDetail") + public static boolean Scene_isLowDetail; + @ObfuscatedName("v") + @Export("tileUpdateCount") + static int tileUpdateCount; + @ObfuscatedName("y") + @Export("Scene_plane") + static int Scene_plane; + @ObfuscatedName("g") + @Export("Scene_drawnCount") + static int Scene_drawnCount; + @ObfuscatedName("a") + @Export("Scene_cameraXTileMin") + static int Scene_cameraXTileMin; + @ObfuscatedName("j") + @Export("Scene_cameraXTileMax") + static int Scene_cameraXTileMax; + @ObfuscatedName("t") + @Export("Scene_cameraYTileMin") + static int Scene_cameraYTileMin; + @ObfuscatedName("h") + @Export("Scene_cameraYTileMax") + static int Scene_cameraYTileMax; + @ObfuscatedName("o") + @Export("Scene_cameraXTile") + static int Scene_cameraXTile; + @ObfuscatedName("n") + @Export("Scene_cameraYTile") + static int Scene_cameraYTile; + @ObfuscatedName("d") + @Export("Scene_cameraX") + static int Scene_cameraX; + @ObfuscatedName("s") + @Export("Scene_cameraY") + static int Scene_cameraY; + @ObfuscatedName("z") + @Export("Scene_cameraZ") + static int Scene_cameraZ; + @ObfuscatedName("al") + @Export("Scene_cameraPitchSine") + static int Scene_cameraPitchSine; + @ObfuscatedName("av") + @Export("Scene_cameraPitchCosine") + static int Scene_cameraPitchCosine; + @ObfuscatedName("as") + @Export("Scene_cameraYawSine") + static int Scene_cameraYawSine; + @ObfuscatedName("aw") + @Export("Scene_cameraYawCosine") + static int Scene_cameraYawCosine; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "[Les;" + ) + @Export("gameObjects") + static GameObject[] gameObjects; + @ObfuscatedName("ag") + @Export("checkClick") + static boolean checkClick; + @ObfuscatedName("ar") + @Export("Scene_selectedPlane") + static int Scene_selectedPlane; + @ObfuscatedName("ax") + @Export("Scene_selectedScreenX") + static int Scene_selectedScreenX; + @ObfuscatedName("az") + @Export("Scene_selectedScreenY") + static int Scene_selectedScreenY; + @ObfuscatedName("ae") + @Export("Scene_selectedX") + public static int Scene_selectedX; + @ObfuscatedName("ao") + @Export("Scene_selectedY") + public static int Scene_selectedY; + @ObfuscatedName("aj") + @Export("viewportWalking") + static boolean viewportWalking; + @ObfuscatedName("ap") + @Export("Scene_planesCount") + static int Scene_planesCount; + @ObfuscatedName("aq") + @Export("Scene_planeOccluderCounts") + static int[] Scene_planeOccluderCounts; + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "[[Leg;" + ) + @Export("Scene_planeOccluders") + static Occluder[][] Scene_planeOccluders; + @ObfuscatedName("an") + @Export("Scene_currentOccludersCount") + static int Scene_currentOccludersCount; + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "[Leg;" + ) + @Export("Scene_currentOccluders") + static Occluder[] Scene_currentOccluders; + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("Scene_tilesDeque") + static NodeDeque Scene_tilesDeque; + @ObfuscatedName("ak") + static final int[] field1847; + @ObfuscatedName("ah") + static final int[] field1815; + @ObfuscatedName("am") + static final int[] field1809; + @ObfuscatedName("ay") + static final int[] field1844; + @ObfuscatedName("af") + static final int[] field1828; + @ObfuscatedName("ab") + static final int[] field1852; + @ObfuscatedName("bp") + static final int[] field1842; + @ObfuscatedName("bc") + @Export("visibilityMap") + static boolean[][][][] visibilityMap; + @ObfuscatedName("bx") + @Export("visibleTiles") + static boolean[][] visibleTiles; + @ObfuscatedName("bo") + @Export("Scene_viewportXCenter") + static int Scene_viewportXCenter; + @ObfuscatedName("bb") + @Export("Scene_viewportYCenter") + static int Scene_viewportYCenter; + @ObfuscatedName("bs") + @Export("Scene_viewportXMin") + static int Scene_viewportXMin; + @ObfuscatedName("bj") + @Export("Scene_viewportYMin") + static int Scene_viewportYMin; + @ObfuscatedName("bl") + @Export("Scene_viewportXMax") + static int Scene_viewportXMax; + @ObfuscatedName("bd") + @Export("Scene_viewportYMax") + static int Scene_viewportYMax; + @ObfuscatedName("w") + @Export("planes") + int planes; + @ObfuscatedName("e") + @Export("xSize") + int xSize; + @ObfuscatedName("p") + @Export("ySize") + int ySize; + @ObfuscatedName("k") + @Export("tileHeights") + int[][][] tileHeights; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "[[[Ldv;" + ) + @Export("tiles") + Tile[][][] tiles; + @ObfuscatedName("b") + @Export("minPlane") + int minPlane; + @ObfuscatedName("i") + @Export("tempGameObjectsCount") + int tempGameObjectsCount; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "[Les;" + ) + @Export("tempGameObjects") + GameObject[] tempGameObjects; + @ObfuscatedName("f") + int[][][] field1810; + @ObfuscatedName("bm") + @Export("tileShape2D") + int[][] tileShape2D; + @ObfuscatedName("bn") + @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(); + field1847 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; + field1815 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; + field1809 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; + field1844 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; + field1828 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; + field1852 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; + field1842 = 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.field1810 = new int[var1][var2 + 1][var3 + 1]; + this.tileHeights = var4; + this.clear(); + } + + @ObfuscatedName("q") + @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("w") + @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("e") + @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 = WorldMapLabel.method420(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("k") + @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("l") + @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("b") + @ObfuscatedSignature( + signature = "(IIIILeo;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("i") + @ObfuscatedSignature( + signature = "(IIIILeo;JLeo;Leo;)V" + ) + @Export("newGroundItemPile") + public void newGroundItemPile(int var1, int var2, int var3, int var4, Entity var5, long var6, Entity var8, Entity var9) { + GroundItemPile var10 = new GroundItemPile(); + 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].groundItemPile = var10; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIIILeo;Leo;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("u") + @ObfuscatedSignature( + signature = "(IIIILeo;Leo;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("x") + @ObfuscatedSignature( + signature = "(IIIIIILeo;IJI)Z" + ) + public boolean method3076(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("r") + @ObfuscatedSignature( + signature = "(IIIIILeo;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("v") + @ObfuscatedSignature( + signature = "(IIIIILeo;IJIIII)Z" + ) + public boolean method3079(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("y") + @ObfuscatedSignature( + signature = "(IIIIIIIILeo;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("g") + @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("a") + @ObfuscatedSignature( + signature = "(Les;)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("j") + public void method3082(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("o") + @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("d") + @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("s") + public void method3154(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 = WorldMapLabel.method420(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + this.removeGameObject(var6); + return; + } + } + + } + } + + @ObfuscatedName("z") + @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("al") + @Export("removeGroundItemPile") + public void removeGroundItemPile(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.groundItemPile = null; + } + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(III)Lem;" + ) + public BoundaryObject method3088(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.boundaryObject; + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(III)Lei;" + ) + public WallDecoration method3118(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.wallDecoration; + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(III)Les;" + ) + public GameObject method3195(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 = WorldMapLabel.method420(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + return var6; + } + } + + return null; + } + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(III)Ldq;" + ) + @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("ag") + @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("ar") + @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]; + long var8 = var6.tag; + boolean var7 = WorldMapLabel.method420(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + return var6.tag; + } + } + + return 0L; + } + } + + @ObfuscatedName("az") + @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("ae") + @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("ao") + public void method3097(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.method3099(var9, var4, var5, var6, 1, 1); + if (var8.entity2 instanceof ModelData) { + var10 = (ModelData)var8.entity2; + this.method3099(var10, var4, var5, var6, 1, 1); + ModelData.method2790(var9, var10, 0, 0, 0, false); + var8.entity2 = var10.toModel(var10.field1580, var10.field1577, var1, var2, var3); + } + + var8.entity1 = var9.toModel(var9.field1580, var9.field1577, 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.method3099(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); + var14.entity = var11.toModel(var11.field1580, var11.field1577, var1, var2, var3); + } + } + + FloorDecoration var13 = var7.floorDecoration; + if (var13 != null && var13.entity instanceof ModelData) { + var10 = (ModelData)var13.entity; + this.method3120(var10, var4, var5, var6); + var13.entity = var10.toModel(var10.field1580, var10.field1577, var1, var2, var3); + } + } + } + } + } + + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(Lds;III)V" + ) + void method3120(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.method2790(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.method2790(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.method2790(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.method2790(var1, var6, 128, 0, -128, true); + } + } + + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(Lds;IIIII)V" + ) + void method3099(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.method2790(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.method2790(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.method2790(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); + } + } + } + } + } + } + } + + --var8; + var7 = false; + } + } + + } + + @ObfuscatedName("ac") + @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("aa") + @Export("menuOpen") + public void menuOpen(int var1, int var2, int var3, boolean var4) { + if (!method3105() || var4) { + checkClick = true; + viewportWalking = var4; + Scene_selectedPlane = var1; + Scene_selectedScreenX = var2; + Scene_selectedScreenY = var3; + Scene_selectedX = -1; + Scene_selectedY = -1; + } + } + + @ObfuscatedName("an") + public void method3104() { + viewportWalking = true; + } + + @ObfuscatedName("ak") + @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 = false; + var11.drawSecondary = false; + var11.drawGameObjectEdges = 0; + } else { + var11.drawPrimary = true; + var11.drawSecondary = true; + if (var11.gameObjectsCount > 0) { + var11.drawGameObjects = true; + } else { + var11.drawGameObjects = false; + } + + ++tileUpdateCount; + } + } + } + } + } + + 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("ah") + @ObfuscatedSignature( + signature = "(Ldv;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.method3181(0, var4, var5)) { + this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + } else if (var9.model != null && !this.method3181(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.method3181(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.method3181(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 = field1847[var21]; + var3.field1666 = field1809[var21]; + } + + if (var31 != null) { + if ((var31.orientationA & field1815[var21]) != 0) { + if (var31.orientationA == 16) { + var3.drawGameObjectEdges = 3; + var3.field1651 = field1844[var21]; + var3.field1665 = 3 - var3.field1651; + } else if (var31.orientationA == 32) { + var3.drawGameObjectEdges = 6; + var3.field1651 = field1828[var21]; + var3.field1665 = 6 - var3.field1651; + } else if (var31.orientationA == 64) { + var3.drawGameObjectEdges = 12; + var3.field1651 = field1852[var21]; + var3.field1665 = 12 - var3.field1651; + } else { + var3.drawGameObjectEdges = 9; + var3.field1651 = field1842[var21]; + var3.field1665 = 9 - var3.field1651; + } + } else { + var3.drawGameObjectEdges = 0; + } + + if ((var31.orientationA & var11) != 0 && !this.method3194(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.method3194(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.method3116(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); + } + + GroundItemPile var23 = var3.groundItemPile; + 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.field1651) { + var20 = false; + break; + } + } + + if (var20) { + var10 = var3.boundaryObject; + if (!this.method3194(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.field1665) { + 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.field1939 = var24 + var16; + } else { + var12.field1939 = 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.field1939 > var11) { + var11 = var35.field1939; + var25 = var24; + } else if (var11 == var35.field1939) { + 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.method3117(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; + GroundItemPile var32 = var3.groundItemPile; + 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.field1666 != 0) { + WallDecoration var29 = var3.wallDecoration; + if (var29 != null && !this.method3116(var7, var4, var5, var29.entity1.height)) { + if ((var29.orientation & var3.field1666) != 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.field1666) != 0 && !this.method3194(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.field1666) != 0 && !this.method3194(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("am") + @ObfuscatedSignature( + signature = "(Let;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.field1763 = false; + if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1763 = 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.method3020(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); + } + } else if (!Scene_isLowDetail) { + if (var1.isFlat) { + Rasterizer3D.method2988(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.method2988(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.method3020(var27, var29, var25, var26, var28, var24, method3111(var30, var1.neColor), method3111(var30, var1.nwColor), method3111(var30, var1.seColor)); + } + } + + if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { + Rasterizer3D.field1763 = false; + if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1763 = 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.method3020(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); + } + } else if (!Scene_isLowDetail) { + Rasterizer3D.method2988(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.method3020(var23, var25, var29, var22, var24, var28, method3111(var30, var1.swColor), method3111(var30, var1.seColor), method3111(var30, var1.nwColor)); + } + } + + } + } + } + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(Ldk;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.field1594[var9] = var10; + TileModel.field1607[var9] = var13; + TileModel.field1608[var9] = var12; + } + + TileModel.field1606[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + TileModel.field1605[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.field1606[var10]; + int var14 = TileModel.field1606[var11]; + int var15 = TileModel.field1606[var12]; + int var16 = TileModel.field1605[var10]; + int var17 = TileModel.field1605[var11]; + int var18 = TileModel.field1605[var12]; + if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { + Rasterizer3D.field1763 = false; + if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1763 = 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.method2988(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[0], TileModel.field1594[1], TileModel.field1594[3], TileModel.field1607[0], TileModel.field1607[1], TileModel.field1607[3], TileModel.field1608[0], TileModel.field1608[1], TileModel.field1608[3], var1.triangleTextureId[var9]); + } else { + Rasterizer3D.method2988(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1594[var10], TileModel.field1594[var11], TileModel.field1594[var12], TileModel.field1607[var10], TileModel.field1607[var11], TileModel.field1607[var12], TileModel.field1608[var10], TileModel.field1608[var11], TileModel.field1608[var12], var1.triangleTextureId[var9]); + } + } else { + int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); + Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, method3111(var19, var1.triangleColorA[var9]), method3111(var19, var1.triangleColorB[var9]), method3111(var19, var1.triangleColorC[var9])); + } + } else if (var1.triangleColorA[var9] != 12345678) { + Rasterizer3D.method3020(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); + } + } + } + + } + + @ObfuscatedName("bp") + @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.field1910 = 1; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1910 = 2; + var9 = -var9; + } + + var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var9; + var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var9; + var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1913 = (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.field1910 = 3; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1910 = 4; + var9 = -var9; + } + + var4.field1907 = (var4.minX - Scene_cameraX << 8) / var9; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var9; + var4.field1912 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1913 = (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.field1910 = 5; + var4.field1907 = (var4.minX - Scene_cameraX << 8) / var5; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var5; + var4.field1900 = (var4.minZ - Scene_cameraZ << 8) / var5; + var4.field1911 = (var4.maxZ - Scene_cameraZ << 8) / var5; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } + } + } + } + } + + } + + @ObfuscatedName("bz") + boolean method3181(int var1, int var2, int var3) { + int var4 = this.field1810[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.method3102(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3102(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { + this.field1810[var1][var2][var3] = Scene_drawnCount; + return true; + } else { + this.field1810[var1][var2][var3] = -Scene_drawnCount; + return false; + } + } + } + + @ObfuscatedName("bi") + boolean method3194(int var1, int var2, int var3, int var4) { + if (!this.method3181(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.method3102(var5, var7, var6)) { + return false; + } + + if (!this.method3102(var5, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3102(var5, var8, var6)) { + return false; + } + + if (!this.method3102(var5, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3102(var5, var9, var6)) { + return false; + } + + if (!this.method3102(var5, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 2) { + if (var6 < Scene_cameraZ) { + if (!this.method3102(var5, var7, var6 + 128)) { + return false; + } + + if (!this.method3102(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3102(var5, var8, var6 + 128)) { + return false; + } + + if (!this.method3102(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3102(var5, var9, var6 + 128)) { + return false; + } + + if (!this.method3102(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 4) { + if (var5 < Scene_cameraX) { + if (!this.method3102(var5 + 128, var7, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3102(var5 + 128, var8, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3102(var5 + 128, var9, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 8) { + if (var6 > Scene_cameraZ) { + if (!this.method3102(var5, var7, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var7, var6)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3102(var5, var8, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var8, var6)) { + return false; + } + } + + if (!this.method3102(var5, var9, var6)) { + return false; + } + + if (!this.method3102(var5 + 128, var9, var6)) { + return false; + } + + return true; + } + } + + if (!this.method3102(var5 + 64, var10, var6 + 64)) { + return false; + } else if (var4 == 16) { + return this.method3102(var5, var9, var6 + 128); + } else if (var4 == 32) { + return this.method3102(var5 + 128, var9, var6 + 128); + } else if (var4 == 64) { + return this.method3102(var5 + 128, var9, var6); + } else if (var4 == 128) { + return this.method3102(var5, var9, var6); + } else { + return true; + } + } + } + + @ObfuscatedName("bg") + boolean method3116(int var1, int var2, int var3, int var4) { + if (!this.method3181(var1, var2, var3)) { + return false; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + return this.method3102(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method3102(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method3102(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); + } + } + + @ObfuscatedName("bh") + boolean method3117(int var1, int var2, int var3, int var4, int var5, int var6) { + int var7; + int var8; + if (var3 == var2 && var5 == var4) { + if (!this.method3181(var1, var2, var4)) { + return false; + } else { + var7 = var2 << 7; + var8 = var4 << 7; + return this.method3102(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3102(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3102(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.field1810[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.method3102(var7, var9, var8)) { + return false; + } else { + int var10 = (var3 << 7) - 1; + if (!this.method3102(var10, var9, var8)) { + return false; + } else { + int var11 = (var5 << 7) - 1; + if (!this.method3102(var7, var9, var11)) { + return false; + } else if (!this.method3102(var10, var9, var11)) { + return false; + } else { + return true; + } + } + } + } + } + + @ObfuscatedName("bm") + boolean method3102(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.field1910 == 1) { + var6 = var5.minX - var1; + if (var6 > 0) { + var7 = (var6 * var5.field1900 >> 8) + var5.minZ; + var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1912 >> 8) + var5.minY; + var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1910 == 2) { + var6 = var1 - var5.minX; + if (var6 > 0) { + var7 = (var6 * var5.field1900 >> 8) + var5.minZ; + var8 = (var6 * var5.field1911 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1912 >> 8) + var5.minY; + var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1910 == 3) { + var6 = var5.minZ - var3; + if (var6 > 0) { + var7 = (var6 * var5.field1907 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1912 >> 8) + var5.minY; + var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1910 == 4) { + var6 = var3 - var5.minZ; + if (var6 > 0) { + var7 = (var6 * var5.field1907 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1912 >> 8) + var5.minY; + var10 = (var6 * var5.field1913 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1910 == 5) { + var6 = var2 - var5.minY; + if (var6 > 0) { + var7 = (var6 * var5.field1907 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1900 >> 8) + var5.minZ; + var10 = (var6 * var5.field1911 >> 8) + var5.maxZ; + if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { + return true; + } + } + } + } + + return false; + } + + @ObfuscatedName("p") + @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("ap") + @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 (method3187(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 method3187(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("au") + public static boolean method3105() { + return viewportWalking && Scene_selectedX != -1; + } + + @ObfuscatedName("ai") + public static void method3222() { + Scene_selectedX = -1; + viewportWalking = false; + } + + @ObfuscatedName("af") + static final int method3111(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("ab") + @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 83c0f47574..9443486a3b 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -4,134 +4,77 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cg") +@ObfuscatedName("cx") @Implements("Script") public class Script extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("Script_cached") - static EvictingDualNodeHashTable Script_cached; - @ObfuscatedName("f") - @Export("opcodes") - int[] opcodes; - @ObfuscatedName("q") - @Export("intOperands") - int[] intOperands; - @ObfuscatedName("w") - @Export("stringOperands") - String[] stringOperands; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1952727759 - ) - @Export("localIntCount") - int localIntCount; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1124477681 - ) - @Export("localStringCount") - int localStringCount; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1077473933 - ) - @Export("intArgumentCount") - int intArgumentCount; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -503680987 - ) - @Export("stringArgumentCount") - int stringArgumentCount; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "[Llh;" - ) - @Export("switches") - IterableNodeHashTable[] switches; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("Script_cached") + static EvictingDualNodeHashTable Script_cached; + @ObfuscatedName("w") + @Export("opcodes") + int[] opcodes; + @ObfuscatedName("e") + @Export("intOperands") + int[] intOperands; + @ObfuscatedName("p") + @Export("stringOperands") + String[] stringOperands; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1512547181 + ) + @Export("localIntCount") + int localIntCount; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -461479353 + ) + @Export("localStringCount") + int localStringCount; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1738324737 + ) + @Export("intArgumentCount") + int intArgumentCount; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -826878645 + ) + @Export("stringArgumentCount") + int stringArgumentCount; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "[Lla;" + ) + @Export("switches") + IterableNodeHashTable[] switches; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(II)[Llh;", - garbageValue = "-729647116" - ) - IterableNodeHashTable[] method302(int var1) { - return new IterableNodeHashTable[var1]; - } + static { + Script_cached = new EvictingDualNodeHashTable(128); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "36" - ) - static void method2216(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - var1.remove(); - } + Script() { + } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IB)[Lla;", + garbageValue = "45" + ) + IterableNodeHashTable[] method2182(int var1) { + return new IterableNodeHashTable[var1]; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "992185550" - ) - static final int method2204(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 = method2214(var3, var5); - int var8 = method2214(var3 + 1, var5); - int var9 = method2214(var3, var5 + 1); - int var10 = method2214(var3 + 1, var5 + 1); - int var11 = GraphicsObject.method1986(var7, var8, var4, var2); - int var12 = GraphicsObject.method1986(var9, var10, var4, var2); - return GraphicsObject.method1986(var11, var12, var6, var2); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "445983180" - ) - static final int method2214(int var0, int var1) { - int var2 = class236.method4537(var0 - 1, var1 - 1) + class236.method4537(var0 + 1, var1 - 1) + class236.method4537(var0 - 1, 1 + var1) + class236.method4537(var0 + 1, var1 + 1); - int var3 = class236.method4537(var0 - 1, var1) + class236.method4537(var0 + 1, var1) + class236.method4537(var0, var1 - 1) + class236.method4537(var0, 1 + var1); - int var4 = class236.method4537(var0, var1); - return var2 / 16 + var3 / 8 + var4 / 4; - } - - @ObfuscatedName("fs") - @ObfuscatedSignature( - signature = "(Ljh;IIII)V", - garbageValue = "-1584807244" - ) - static void method2201(SequenceDefinition var0, int var1, int var2, int var3) { - if (Client.soundEffectCount < 50 && Client.field115 != 0 && var0.field776 != null && var1 < var0.field776.length) { - int var4 = var0.field776[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; - } - } - - } - - static { - Script_cached = new EvictingDualNodeHashTable(128); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "-58" + ) + public static boolean method2185(int var0) { + return (var0 >> 30 & 1) != 0; + } } diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index 89ede65dd5..5b5feb90b9 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -5,351 +5,201 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("by") +@ObfuscatedName("bb") @Implements("ScriptEvent") public class ScriptEvent extends Node { - @ObfuscatedName("fv") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("fontPlain11") - static Font fontPlain11; - @ObfuscatedName("hb") - @ObfuscatedGetter( - intValue = -1218466245 - ) - @Export("oculusOrbFocalPointY") - static int oculusOrbFocalPointY; - @ObfuscatedName("m") - @Export("args0") - Object[] args0; - @ObfuscatedName("f") - @Export("boolean1") - boolean boolean1; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("widget") - Widget widget; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 488198377 - ) - @Export("mouseX") - int mouseX; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 95719815 - ) - @Export("mouseY") - int mouseY; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1089993721 - ) - @Export("opIndex") - int opIndex; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("dragTarget") - Widget dragTarget; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1330602393 - ) - @Export("keyTyped") - int keyTyped; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 327085889 - ) - @Export("keyPressed") - int keyPressed; - @ObfuscatedName("x") - @Export("targetName") - String targetName; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2138736593 - ) - int field772; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -161292529 - ) - @Export("type0") - int type0; + @ObfuscatedName("sr") + @ObfuscatedSignature( + signature = "Lkm;" + ) + @Export("masterDisk") + static ArchiveDisk masterDisk; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 804778347 + ) + @Export("loginBoxCenter") + static int loginBoxCenter; + @ObfuscatedName("o") + static String field586; + @ObfuscatedName("q") + @Export("args") + Object[] args; + @ObfuscatedName("w") + @Export("boolean1") + boolean boolean1; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("widget") + Widget widget; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 360702413 + ) + @Export("mouseX") + int mouseX; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -863206641 + ) + @Export("mouseY") + int mouseY; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1116555521 + ) + @Export("opIndex") + int opIndex; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("dragTarget") + Widget dragTarget; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1918711245 + ) + @Export("keyTyped") + int keyTyped; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1718694615 + ) + @Export("keyPressed") + int keyPressed; + @ObfuscatedName("f") + @Export("targetName") + String targetName; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1456070935 + ) + int field583; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1715146039 + ) + @Export("type") + int type; - public ScriptEvent() { - this.type0 = 76; - } + public ScriptEvent() { + this.type = 76; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([Ljava/lang/Object;I)V", - garbageValue = "723852511" - ) - @Export("setArgs") - public void setArgs(Object[] args) { - this.args0 = args; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([Ljava/lang/Object;B)V", + garbageValue = "27" + ) + @Export("setArgs") + public void setArgs(Object[] var1) { + this.args = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-110" - ) - @Export("setType") - public void setType(int type) { - this.type0 = type; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "141891736" + ) + @Export("setType") + public void setType(int var1) { + this.type = var1; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "0" - ) - static int method1185(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - if (var0 == ScriptOpcodes.CC_GETSCROLLX) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { - Interpreter.Interpreter_intStack[++RouteStrategy.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[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTRANS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.transparency; - return 1; - } else if (var0 == 1610) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.field960; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == 1613) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else { - return 2; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "2123129182" + ) + static int method1121() { + return 11; + } - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1256509027" - ) - static int method1187(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CLIENTCLOCK) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.cycle; - return 1; - } else { - int var3; - int var4; - if (var0 == ScriptOpcodes.INV_GETOBJ) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class83.method2027(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_GETNUM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapLabel.method442(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_TOTAL) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class1.method18(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_SIZE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapDecorationType.getInvDefinition(var3).size; - return 1; - } else if (var0 == ScriptOpcodes.STAT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_BASE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.levels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_XP) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.experience[var3]; - return 1; - } else { - int var5; - if (var0 == ScriptOpcodes.COORD) { - var3 = SoundSystem.plane; - var4 = (Canvas.localPlayer.x >> 7) + class50.baseX; - var5 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); - return 1; - } else if (var0 == ScriptOpcodes.COORDX) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.COORDZ) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 >> 28; - return 1; - } else if (var0 == ScriptOpcodes.COORDY) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class83.method2027(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapLabel.method442(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class1.method18(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { - if (Client.staffModLevel >= 2) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.staffModLevel; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;I)V", + garbageValue = "-2135238303" + ) + @Export("addGameMessage") + static void addGameMessage(int var0, String var1, String var2) { + class14.addChatMessage(var0, var1, var2, (String)null); + } - return 1; - } else if (var0 == ScriptOpcodes.REBOOTTIMER) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.rebootTimer; - return 1; - } else if (var0 == ScriptOpcodes.MAP_WORLD) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.worldId; - return 1; - } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.runEnergy; - return 1; - } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.weight; - return 1; - } else if (var0 == ScriptOpcodes.PLAYERMOD) { - if (Client.playerMod) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1342533566" + ) + static int method1127(int var0, Script var1, boolean var2) { + Widget var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETX) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETY) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHIDE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETLAYER) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } - return 1; - } else if (var0 == ScriptOpcodes.WORLDFLAGS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.worldProperties; - return 1; - } else if (var0 == ScriptOpcodes.MOVECOORD) { - RouteStrategy.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - int var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - var3 += var4 << 14; - var3 += var5 << 28; - var3 += var6; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - return 1; - } else { - return 2; - } - } - } - } + @ObfuscatedName("go") + @ObfuscatedSignature( + signature = "(IIIS)I", + garbageValue = "-366" + ) + @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; + } - @ObfuscatedName("ep") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "-52" - ) - static void method1183(int var0, int var1) { - int[] var2 = new int[9]; + int var6 = var0 & 127; + int var7 = var1 & 127; + int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + Tiles.Tiles_heights[var5][var3 + 1][var4] * var6 >> 7; + int var9 = Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] * var6 + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; + return var7 * var9 + var8 * (128 - var7) >> 7; + } else { + return 0; + } + } - for (int var3 = 0; var3 < var2.length; ++var3) { - int var4 = var3 * 32 + 15 + 128; - int var5 = var4 * 3 + 600; - int var6 = Rasterizer3D.Rasterizer3D_sine[var4]; - int var7 = method1176(var5, var1); - var2[var3] = var7 * var6 >> 16; - } + @ObfuscatedName("iq") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1493130068" + ) + @Export("getTapToDrop") + static boolean getTapToDrop() { + return Client.tapToDrop; + } - Scene.Scene_buildVisiblityMap(var2, 500, 800, var0 * 334 / var1, 334); - } - - @ObfuscatedName("gj") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-914543563" - ) - static int method1176(int var0, int var1) { - int var2 = var1 - 334; - if (var2 < 0) { - var2 = 0; - } else if (var2 > 100) { - var2 = 100; - } - - int var3 = (Client.field149 - Client.field150) * var2 / 100 + Client.field150; - return var0 * var3 / 256; - } - - @ObfuscatedName("hf") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "35" - ) - static final void method1179() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0.hitpoints == -1) { - var0.delay = 0; - class13.method165(var0); - } else { - var0.remove(); - } - } - - } + @ObfuscatedName("kc") + @ObfuscatedSignature( + signature = "(Lhj;I)Z", + garbageValue = "2063123103" + ) + @Export("isComponentHidden") + static boolean isComponentHidden(Widget var0) { + return var0.isHidden; + } } diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index dae5cef950..747056253b 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -4,67 +4,370 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bn") +@ObfuscatedName("bh") @Implements("ScriptFrame") public class ScriptFrame { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lcg;" - ) - @Export("script") - Script script; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1715361849 - ) - @Export("pc") - int pc; - @ObfuscatedName("q") - @Export("intLocals") - int[] intLocals; - @ObfuscatedName("w") - @Export("stringLocals") - String[] stringLocals; + @ObfuscatedName("rk") + @ObfuscatedGetter( + intValue = 1697937431 + ) + static int field526; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1199234245 + ) + public static int field529; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1541896355 + ) + static int field527; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lgu;" + ) + static class190 field528; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lcx;" + ) + @Export("script") + Script script; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 949224095 + ) + @Export("pc") + int pc; + @ObfuscatedName("e") + @Export("intLocals") + int[] intLocals; + @ObfuscatedName("p") + @Export("stringLocals") + String[] stringLocals; - ScriptFrame() { - this.pc = -1; - } + ScriptFrame() { + this.pc = -1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([Lgc;II)Lgc;", - garbageValue = "-1726705535" - ) - @Export("findEnumerated") - public static Enumerated findEnumerated(Enumerated[] values, int ordinal) { - Enumerated[] var2 = values; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "([BIIIIIII[Lfv;B)V", + garbageValue = "66" + ) + static final void method1088(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { + int var10; + for (int var9 = 0; var9 < 8; ++var9) { + for (var10 = 0; var10 < 8; ++var10) { + if (var9 + var2 > 0 && var9 + var2 < 103 && var3 + var10 > 0 && var3 + var10 < 103) { + int[] var10000 = var8[var1].flags[var9 + var2]; + var10000[var3 + var10] &= -16777217; + } + } + } - for (int var3 = 0; var3 < var2.length; ++var3) { - Enumerated var4 = var2[var3]; - if (ordinal == var4.rsOrdinal()) { - return var4; - } - } + Buffer var13 = new Buffer(var0); - return null; - } + for (var10 = 0; var10 < 4; ++var10) { + for (int var11 = 0; var11 < 64; ++var11) { + for (int var12 = 0; var12 < 64; ++var12) { + if (var10 == var4 && var11 >= var5 && var11 < var5 + 8 && var12 >= var6 && var12 < var6 + 8) { + WorldMapLabel.loadTerrain(var13, var1, var2 + class197.method3702(var11 & 7, var12 & 7, var7), var3 + WorldMapManager.method625(var11 & 7, var12 & 7, var7), 0, 0, var7); + } else { + WorldMapLabel.loadTerrain(var13, 0, -1, -1, 0, 0, 0); + } + } + } + } - @ObfuscatedName("kl") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-423549686" - ) - static void method1138() { - if (ClientParameter.field3645 != null) { - Client.field104 = Client.cycle; - ClientParameter.field3645.method4719(); + } - for (int var0 = 0; var0 < Client.players.length; ++var0) { - if (Client.players[var0] != null) { - ClientParameter.field3645.method4738((Client.players[var0].x >> 7) + class50.baseX, (Client.players[var0].y >> 7) + GraphicsObject.baseY); - } - } - } + @ObfuscatedName("fi") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "204342367" + ) + static final void method1090() { + if (Client.field700 > 0) { + RouteStrategy.method3593(); + } else { + Client.timer.method4993(); + class96.updateGameState(40); + class269.field3563 = Client.packetWriter.getSocket(); + Client.packetWriter.removeSocket(); + } + } - } + @ObfuscatedName("gx") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "975361183" + ) + @Export("checkLocalPlayerDestination") + static void checkLocalPlayerDestination() { + if (Client.localPlayer.x >> 7 == Client.destinationX && Client.localPlayer.y >> 7 == Client.destinationY) { + Client.destinationX = 0; + } + + } + + @ObfuscatedName("gv") + @ObfuscatedSignature( + signature = "(ZLkx;I)V", + garbageValue = "1426671502" + ) + @Export("updateNpcs") + static final void updateNpcs(boolean var0, PacketBuffer var1) { + Client.field775 = 0; + Client.field697 = 0; + StructDefinition.method4530(); + + 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; + } + } + + var6 = var1.readBits(1); + var7 = Client.field780[var1.readBits(3)]; + if (var3) { + var4.orientation = var4.field950 = var7; + } + + var8 = var1.readBits(1); + if (var8 == 1) { + Client.field859[++Client.field697 - 1] = var2; + } + + if (var0) { + var9 = var1.readBits(8); + if (var9 > 127) { + var9 -= 256; + } + } else { + var9 = var1.readBits(5); + if (var9 > 15) { + var9 -= 32; + } + } + + var4.definition = GameShell.getNpcDefinition(var1.readBits(14)); + var4.size = var4.definition.size * 78073455; + var4.field948 = var4.definition.field3492; + if (var4.field948 == 0) { + var4.field950 = 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.method1963(Client.localPlayer.pathX[0] + var5, Client.localPlayer.pathY[0] + var9, var6 == 1); + } + + var1.exportIndex(); + + int var14; + for (var2 = 0; var2 < Client.field697; ++var2) { + var14 = Client.field859[var2]; + var4 = Client.npcs[var14]; + var5 = var1.readUnsignedByte(); + if ((var5 & 1) != 0) { + var4.targetIndex = var1.method5532(); + if (var4.targetIndex == 65535) { + var4.targetIndex = -1; + } + } + + if ((var5 & 64) != 0) { + var6 = var1.method5534(); + var7 = var1.method5534(); + var8 = var4.x - (var6 - MusicPatchNode2.baseX * 64 - MusicPatchNode2.baseX * 64) * 64; + var9 = var4.y - (var7 - class1.baseY * 64 - class1.baseY * 64) * 64; + if (var8 != 0 || var9 != 0) { + var4.field976 = (int)(Math.atan2((double)var8, (double)var9) * 325.949D) & 2047; + } + } + + if ((var5 & 32) != 0) { + var6 = var1.readUnsignedShort(); + if (var6 == 65535) { + var6 = -1; + } + + var7 = var1.method5525(); + if (var6 == var4.sequence && var6 != -1) { + var8 = GrandExchangeEvent.getSequenceDefinition(var6).field3529; + if (var8 == 1) { + var4.sequenceFrame = 0; + var4.sequenceFrameCycle = 0; + var4.sequenceDelay = var7; + var4.field985 = 0; + } + + if (var8 == 2) { + var4.field985 = 0; + } + } else if (var6 == -1 || var4.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var6).field3533 >= GrandExchangeEvent.getSequenceDefinition(var4.sequence).field3533) { + var4.sequence = var6; + var4.sequenceFrame = 0; + var4.sequenceFrameCycle = 0; + var4.sequenceDelay = var7; + var4.field985 = 0; + var4.field1008 = var4.pathLength; + } + } + + if ((var5 & 4) != 0) { + var4.definition = GameShell.getNpcDefinition(var1.readUnsignedShort()); + var4.size = var4.definition.size * 78073455; + var4.field948 = var4.definition.field3492; + 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 & 16) != 0) { + var6 = var1.readUnsignedByteNegate(); + 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.method5722(); + if (var7 > 0) { + for (var8 = 0; var8 < var7; ++var8) { + var9 = var1.readUShortSmart(); + var10 = var1.readUShortSmart(); + if (var10 != 32767) { + var11 = var1.readUShortSmart(); + var12 = var1.readUnsignedByte(); + int var13 = var10 > 0 ? var1.method5525() : var12; + var4.addHealthBar(var9, Client.cycle, var10, var11, var12, var13); + } else { + var4.removeHealthBar(var9); + } + } + } + } + + if ((var5 & 8) != 0) { + var4.spotAnimation = var1.method5532(); + var6 = var1.method5542(); + var4.heightOffset = var6 >> 16; + var4.field989 = (var6 & 65535) + Client.cycle; + var4.spotAnimationFrame = 0; + var4.spotAnimationFrameCycle = 0; + if (var4.field989 > Client.cycle) { + var4.spotAnimationFrame = -1; + } + + if (var4.spotAnimation == 65535) { + var4.spotAnimation = -1; + } + } + + if ((var5 & 2) != 0) { + var4.overheadText = var1.readStringCp1252NullTerminated(); + var4.overheadTextCyclesRemaining = 100; + } + } + + for (var2 = 0; var2 < Client.field775; ++var2) { + var14 = Client.field776[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); + } + } + + } + } + + @ObfuscatedName("hf") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-881674814" + ) + static void method1086(int var0, int var1) { + PacketBufferNode var2 = Archive.method4265(ClientPacket.field2273, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeIntLE16(var0); + var2.packetBuffer.method5530(var1); + Client.packetWriter.method2219(var2); + } + + @ObfuscatedName("js") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-73" + ) + static final void method1089() { + PacketBufferNode var0 = Archive.method4265(ClientPacket.field2286, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(0); + Client.packetWriter.method2219(var0); + } } diff --git a/runescape-client/src/main/java/SecureRandomCallable.java b/runescape-client/src/main/java/SecureRandomCallable.java index 1a22e86955..72b7f7f789 100644 --- a/runescape-client/src/main/java/SecureRandomCallable.java +++ b/runescape-client/src/main/java/SecureRandomCallable.java @@ -1,141 +1,41 @@ +import java.security.SecureRandom; 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("bk") +@ObfuscatedName("bm") @Implements("SecureRandomCallable") public class SecureRandomCallable implements Callable { - @ObfuscatedName("g") - @Export("indexedSpriteHeights") - static int[] indexedSpriteHeights; + @ObfuscatedName("qp") + @ObfuscatedSignature( + signature = "Lcz;" + ) + @Export("pcmStreamMixer") + static PcmStreamMixer pcmStreamMixer; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("worldSelectFlagSprites") + static IndexedSprite[] worldSelectFlagSprites; - public Object call() { - return AttackOption.method2034(); - } + SecureRandomCallable() { + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BB)Laq;", - garbageValue = "64" - ) - static class27 method1145(byte[] var0) { - return var0 == null ? new class27() : new class27(class27.convertJpgToSprite(var0).pixels); - } + public Object call() { + SecureRandom var2 = new SecureRandom(); + var2.nextInt(); + return var2; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lix;", - garbageValue = "0" - ) - public static VarpDefinition method1140(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("jx") - @ObfuscatedSignature( - signature = "(IIII)Lbx;", - garbageValue = "329127611" - ) - static final InterfaceParent method1143(int var0, int var1, int var2) { - InterfaceParent var3 = new InterfaceParent(); - var3.group = var1; - var3.type = var2; - Client.interfaceParents.put(var3, (long)var0); - DevicePcmPlayerProvider.method845(var1); - Widget var4 = Huffman.getWidget(var0); - WorldMapRectangle.method295(var4); - if (Client.field127 != null) { - WorldMapRectangle.method295(Client.field127); - Client.field127 = null; - } - - int var5; - int var6; - for (var5 = 0; var5 < Client.menuOptionsCount; ++var5) { - if (WorldMapManager.isWidgetMenuOpcode(Client.menuOpcodes[var5])) { - if (var5 < Client.menuOptionsCount - 1) { - for (var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { - Client.menuActions[var6] = Client.menuActions[var6 + 1]; - Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; - Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; - Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; - Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; - Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; - Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; - } - } - - --var5; - --Client.menuOptionsCount; - } - } - - var5 = class214.menuWidth / 2 + WorldMapDecoration.menuX; - var6 = GameShell.menuY; - int var7 = class2.fontBold12.stringWidth("Choose Option"); - - int var8; - for (var8 = 0; var8 < Client.menuOptionsCount; ++var8) { - Font var9 = class2.fontBold12; - String var10; - if (var8 < 0) { - var10 = ""; - } else if (Client.menuTargetNames[var8].length() > 0) { - var10 = Client.menuActions[var8] + " " + Client.menuTargetNames[var8]; - } else { - var10 = Client.menuActions[var8]; - } - - int var11 = var9.stringWidth(var10); - if (var11 > var7) { - var7 = var11; - } - } - - var7 += 8; - var8 = Client.menuOptionsCount * 15 + 22; - int var12 = var5 - var7 / 2; - if (var12 + var7 > SoundCache.canvasWidth) { - var12 = SoundCache.canvasWidth - var7; - } - - if (var12 < 0) { - var12 = 0; - } - - int var13 = var6; - if (var8 + var6 > Huffman.canvasHeight) { - var13 = Huffman.canvasHeight - var8; - } - - if (var13 < 0) { - var13 = 0; - } - - WorldMapDecoration.menuX = var12; - GameShell.menuY = var13; - class214.menuWidth = var7; - AbstractWorldMapIcon.menuHeight = Client.menuOptionsCount * 15 + 22; - class39.revalidateWidgetScroll(Widget.interfaceComponents[var0 >> 16], var4, false); - WorldMapSection1.runWidgetOnLoadListener(var1); - if (Client.rootInterface != -1) { - GrandExchangeEvents.method74(Client.rootInterface, 1); - } - - return var3; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1843458331" + ) + public static void method1093() { + VarpDefinition.VarpDefinition_cached.clear(); + } } diff --git a/runescape-client/src/main/java/SecureRandomFuture.java b/runescape-client/src/main/java/SecureRandomFuture.java index ee7a481b1e..782722092b 100644 --- a/runescape-client/src/main/java/SecureRandomFuture.java +++ b/runescape-client/src/main/java/SecureRandomFuture.java @@ -1,5 +1,4 @@ import java.security.SecureRandom; -import java.util.Iterator; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -8,95 +7,98 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cn") +@ObfuscatedName("co") @Implements("SecureRandomFuture") public class SecureRandomFuture { - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("worldSelectLeftSprite") - static IndexedSprite worldSelectLeftSprite; - @ObfuscatedName("dy") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive5") - static Archive archive5; - @ObfuscatedName("jn") - @ObfuscatedSignature( - signature = "Ldl;" - ) - @Export("textureProvider") - static TextureProvider textureProvider; - @ObfuscatedName("m") - @Export("executor") - ExecutorService executor; - @ObfuscatedName("f") - @Export("future") - Future future; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Ldg;" + ) + @Export("soundSystem") + static SoundSystem soundSystem; + @ObfuscatedName("gw") + @Export("regionMapArchiveIds") + static int[] regionMapArchiveIds; + @ObfuscatedName("q") + @Export("executor") + ExecutorService executor; + @ObfuscatedName("w") + @Export("future") + Future future; - SecureRandomFuture() { - this.executor = Executors.newSingleThreadExecutor(); - this.future = this.executor.submit(new SecureRandomCallable()); - } + SecureRandomFuture() { + this.executor = Executors.newSingleThreadExecutor(); + this.future = this.executor.submit(new SecureRandomCallable()); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "201982911" - ) - @Export("shutdown") - void shutdown() { - this.executor.shutdown(); - this.executor = null; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1961789418" + ) + @Export("shutdown") + void shutdown() { + this.executor.shutdown(); + this.executor = null; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1746832096" - ) - @Export("isDone") - boolean isDone() { - return this.future.isDone(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-2036940847" + ) + @Export("isDone") + boolean isDone() { + return this.future.isDone(); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)Ljava/security/SecureRandom;", - garbageValue = "1216808827" - ) - @Export("get") - SecureRandom get() { - try { - return (SecureRandom)this.future.get(); - } catch (Exception var2) { - return AttackOption.method2034(); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Ljava/security/SecureRandom;", + garbageValue = "1181780583" + ) + @Export("get") + SecureRandom get() { + try { + return (SecureRandom)this.future.get(); + } catch (Exception var4) { + SecureRandom var3 = new SecureRandom(); + var3.nextInt(); + return var3; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1209786285" - ) - static void method2104() { - Iterator var0 = Messages.Messages_hashTable.iterator(); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(ILkm;Liu;I)V", + garbageValue = "-1214592487" + ) + static void method2056(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; + } + } + } - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); - var1.clearIsFromIgnored(); - } + if (var3 != null) { + var2.load(var1, var0, var3, true); + } else { + byte[] var4 = var1.read(var0); + var2.load(var1, var0, var4, true); + } + } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1357745818" - ) - public static boolean method2101(int var0) { - return (var0 >> 31 & 1) != 0; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1709939450" + ) + @Export("WorldMapRegion_clearCachedSprites") + static void WorldMapRegion_clearCachedSprites() { + WorldMapRegion.WorldMapRegion_cachedSprites.clear(); + } } diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index 0a706965be..43c1c4743a 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -4,370 +4,374 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jh") +@ObfuscatedName("is") @Implements("SequenceDefinition") public class SequenceDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("SequenceDefinition_archive") - public static AbstractArchive SequenceDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("SequenceDefinition_animationsArchive") - public static AbstractArchive SequenceDefinition_animationsArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("SequenceDefinition_skeletonsArchive") - public static AbstractArchive SequenceDefinition_skeletonsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("SequenceDefinition_cached") - public static EvictingDualNodeHashTable SequenceDefinition_cached; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("SequenceDefinition_cachedFrames") - public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; - @ObfuscatedName("u") - @Export("frameIds") - public int[] frameIds; - @ObfuscatedName("g") - @Export("chatFrameIds") - int[] chatFrameIds; - @ObfuscatedName("l") - @Export("frameLengths") - public int[] frameLengths; - @ObfuscatedName("e") - public int[] field776; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -736885973 - ) - @Export("frameCount") - public int frameCount; - @ObfuscatedName("d") - int[] field777; - @ObfuscatedName("k") - public boolean field778; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1309695045 - ) - public int field779; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1308226131 - ) - @Export("shield") - public int shield; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1629538741 - ) - @Export("weapon") - public int weapon; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -28345361 - ) - public int field780; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1339014215 - ) - public int field781; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 2012242069 - ) - public int field782; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1147391369 - ) - public int field783; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_archive") + public static AbstractArchive SequenceDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_animationsArchive") + public static AbstractArchive SequenceDefinition_animationsArchive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_skeletonsArchive") + public static AbstractArchive SequenceDefinition_skeletonsArchive; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("SequenceDefinition_cached") + public static EvictingDualNodeHashTable SequenceDefinition_cached; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("SequenceDefinition_cachedFrames") + public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; + @ObfuscatedName("ff") + @ObfuscatedSignature( + signature = "Lez;" + ) + @Export("urlRequester") + static UrlRequester urlRequester; + @ObfuscatedName("l") + @Export("frameIds") + public int[] frameIds; + @ObfuscatedName("b") + @Export("chatFrameIds") + int[] chatFrameIds; + @ObfuscatedName("i") + @Export("frameLengths") + public int[] frameLengths; + @ObfuscatedName("c") + @Export("soundEffects") + public int[] soundEffects; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -416695211 + ) + @Export("frameCount") + public int frameCount; + @ObfuscatedName("m") + int[] field3518; + @ObfuscatedName("u") + public boolean field3526; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -655637591 + ) + public int field3533; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 975165597 + ) + @Export("shield") + public int shield; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -608635427 + ) + @Export("weapon") + public int weapon; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -130744455 + ) + public int field3535; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1640931413 + ) + public int field3525; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1353977843 + ) + public int field3532; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 553206065 + ) + public int field3529; - SequenceDefinition() { - this.frameCount = -1; - this.field778 = false; - this.field779 = 5; - this.shield = -1; - this.weapon = -1; - this.field780 = 99; - this.field781 = -1; - this.field782 = -1; - this.field783 = 2; - } + static { + SequenceDefinition_cached = new EvictingDualNodeHashTable(64); + SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;S)V", - garbageValue = "259" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + SequenceDefinition() { + this.frameCount = -1; + this.field3526 = false; + this.field3533 = 5; + this.shield = -1; + this.weapon = -1; + this.field3535 = 99; + this.field3525 = -1; + this.field3532 = -1; + this.field3529 = 2; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "88" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "154075720" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int[] var3; - int var4; - int var5; - if (var2 == 1) { - var4 = var1.readUnsignedShort(); - this.frameLengths = new int[var4]; + this.decodeNext(var1, var2); + } + } - for (var5 = 0; var5 < var4; ++var5) { - this.frameLengths[var5] = var1.readUnsignedShort(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1384847796" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedShort(); + this.frameLengths = new int[var3]; - this.frameIds = new int[var4]; + for (var4 = 0; var4 < var3; ++var4) { + this.frameLengths[var4] = var1.readUnsignedShort(); + } - for (var5 = 0; var5 < var4; ++var5) { - this.frameIds[var5] = var1.readUnsignedShort(); - } + this.frameIds = new int[var3]; - for (var5 = 0; var5 < var4; ++var5) { - var3 = this.frameIds; - var3[var5] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 2) { - this.frameCount = var1.readUnsignedShort(); - } else if (var2 == 3) { - var4 = var1.readUnsignedByte(); - this.field777 = new int[var4 + 1]; + for (var4 = 0; var4 < var3; ++var4) { + this.frameIds[var4] = var1.readUnsignedShort(); + } - for (var5 = 0; var5 < var4; ++var5) { - this.field777[var5] = var1.readUnsignedByte(); - } + 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.field3518 = new int[var3 + 1]; - this.field777[var4] = 9999999; - } else if (var2 == 4) { - this.field778 = true; - } else if (var2 == 5) { - this.field779 = var1.readUnsignedByte(); - } else if (var2 == 6) { - this.shield = var1.readUnsignedShort(); - } else if (var2 == 7) { - this.weapon = var1.readUnsignedShort(); - } else if (var2 == 8) { - this.field780 = var1.readUnsignedByte(); - } else if (var2 == 9) { - this.field781 = var1.readUnsignedByte(); - } else if (var2 == 10) { - this.field782 = var1.readUnsignedByte(); - } else if (var2 == 11) { - this.field783 = var1.readUnsignedByte(); - } else if (var2 == 12) { - var4 = var1.readUnsignedByte(); - this.chatFrameIds = new int[var4]; + for (var4 = 0; var4 < var3; ++var4) { + this.field3518[var4] = var1.readUnsignedByte(); + } - for (var5 = 0; var5 < var4; ++var5) { - this.chatFrameIds[var5] = var1.readUnsignedShort(); - } + this.field3518[var3] = 9999999; + } else if (var2 == 4) { + this.field3526 = true; + } else if (var2 == 5) { + this.field3533 = var1.readUnsignedByte(); + } else if (var2 == 6) { + this.shield = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.weapon = var1.readUnsignedShort(); + } else if (var2 == 8) { + this.field3535 = var1.readUnsignedByte(); + } else if (var2 == 9) { + this.field3525 = var1.readUnsignedByte(); + } else if (var2 == 10) { + this.field3532 = var1.readUnsignedByte(); + } else if (var2 == 11) { + this.field3529 = var1.readUnsignedByte(); + } else if (var2 == 12) { + var3 = var1.readUnsignedByte(); + this.chatFrameIds = new int[var3]; - for (var5 = 0; var5 < var4; ++var5) { - var3 = this.chatFrameIds; - var3[var5] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 13) { - var4 = var1.readUnsignedByte(); - this.field776 = new int[var4]; + for (var4 = 0; var4 < var3; ++var4) { + this.chatFrameIds[var4] = var1.readUnsignedShort(); + } - for (var5 = 0; var5 < var4; ++var5) { - this.field776[var5] = var1.readMedium(); - } - } + 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("w") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - @Export("postDecode") - void postDecode() { - if (this.field781 == -1) { - if (this.field777 != null) { - this.field781 = 2; - } else { - this.field781 = 0; - } - } + } - if (this.field782 == -1) { - if (this.field777 != null) { - this.field782 = 2; - } else { - this.field782 = 0; - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "806874502" + ) + @Export("postDecode") + void postDecode() { + if (this.field3525 == -1) { + if (this.field3518 != null) { + this.field3525 = 2; + } else { + this.field3525 = 0; + } + } - } + if (this.field3532 == -1) { + if (this.field3518 != null) { + this.field3532 = 2; + } else { + this.field3532 = 0; + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ldu;II)Ldu;", - garbageValue = "128527714" - ) - @Export("transformActorModel") - public Model transformActorModel(Model model, int frame) { - frame = this.frameIds[frame]; - Frames var3 = ItemContainer.getFrames(frame >> 16); - frame &= 65535; - if (var3 == null) { - return model.toSharedSequenceModel(true); - } else { - Model var4 = model.toSharedSequenceModel(!var3.hasAlphaTransform(frame)); - var4.animate(var3, frame); - return var4; - } - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ldu;IIB)Ldu;", - garbageValue = "-65" - ) - @Export("transformObjectModel") - Model transformObjectModel(Model model, int frame, int orientation) { - frame = this.frameIds[frame]; - Frames var4 = ItemContainer.getFrames(frame >> 16); - frame &= 65535; - if (var4 == null) { - return model.toSharedSequenceModel(true); - } else { - Model var5 = model.toSharedSequenceModel(!var4.hasAlphaTransform(frame)); - orientation &= 3; - if (orientation == 1) { - var5.rotateY270Ccw(); - } else if (orientation == 2) { - var5.rotateY180(); - } else if (orientation == 3) { - var5.rotateY90Ccw(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ldm;II)Ldm;", + garbageValue = "1904294443" + ) + @Export("transformActorModel") + public Model transformActorModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = class30.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; + } + } - var5.animate(var4, frame); - if (orientation == 1) { - var5.rotateY90Ccw(); - } else if (orientation == 2) { - var5.rotateY180(); - } else if (orientation == 3) { - var5.rotateY270Ccw(); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ldm;IIB)Ldm;", + garbageValue = "-68" + ) + @Export("transformObjectModel") + Model transformObjectModel(Model var1, int var2, int var3) { + var2 = this.frameIds[var2]; + Frames var4 = class30.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(); + } - return var5; - } - } + var5.animate(var4, var2); + if (var3 == 1) { + var5.rotateY90Ccw(); + } else if (var3 == 2) { + var5.rotateY180(); + } else if (var3 == 3) { + var5.rotateY270Ccw(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ldu;II)Ldu;", - garbageValue = "-1692496767" - ) - @Export("transformSpotAnimationModel") - Model transformSpotAnimationModel(Model model, int frame) { - frame = this.frameIds[frame]; - Frames var3 = ItemContainer.getFrames(frame >> 16); - frame &= 65535; - if (var3 == null) { - return model.toSharedSpotAnimationModel(true); - } else { - Model var4 = model.toSharedSpotAnimationModel(!var3.hasAlphaTransform(frame)); - var4.animate(var3, frame); - return var4; - } - } + return var5; + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ldu;ILjh;II)Ldu;", - garbageValue = "-386360993" - ) - @Export("applyTransformations") - public Model applyTransformations(Model model, int frame, SequenceDefinition sequence, int sequenceFrame) { - frame = this.frameIds[frame]; - Frames var5 = ItemContainer.getFrames(frame >> 16); - frame &= 65535; - if (var5 == null) { - return sequence.transformActorModel(model, sequenceFrame); - } else { - sequenceFrame = sequence.frameIds[sequenceFrame]; - Frames var6 = ItemContainer.getFrames(sequenceFrame >> 16); - sequenceFrame &= 65535; - Model var7; - if (var6 == null) { - var7 = model.toSharedSequenceModel(!var5.hasAlphaTransform(frame)); - var7.animate(var5, frame); - return var7; - } else { - var7 = model.toSharedSequenceModel(!var5.hasAlphaTransform(frame) & !var6.hasAlphaTransform(sequenceFrame)); - var7.animate2(var5, frame, var6, sequenceFrame, this.field777); - return var7; - } - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Ldm;II)Ldm;", + garbageValue = "-1365798268" + ) + @Export("transformSpotAnimationModel") + Model transformSpotAnimationModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = class30.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("e") - @ObfuscatedSignature( - signature = "(Ldu;II)Ldu;", - garbageValue = "-15433768" - ) - @Export("transformWidgetModel") - public Model transformWidgetModel(Model model, int frame) { - int var3 = this.frameIds[frame]; - Frames var4 = ItemContainer.getFrames(var3 >> 16); - var3 &= 65535; - if (var4 == null) { - return model.toSharedSequenceModel(true); - } else { - Frames var5 = null; - int var6 = 0; - if (this.chatFrameIds != null && frame < this.chatFrameIds.length) { - var6 = this.chatFrameIds[frame]; - var5 = ItemContainer.getFrames(var6 >> 16); - var6 &= 65535; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Ldm;ILis;II)Ldm;", + garbageValue = "743277610" + ) + @Export("applyTransformations") + public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { + var2 = this.frameIds[var2]; + Frames var5 = class30.getFrames(var2 >> 16); + var2 &= 65535; + if (var5 == null) { + return var3.transformActorModel(var1, var4); + } else { + var4 = var3.frameIds[var4]; + Frames var6 = class30.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.field3518); + return var7; + } + } + } - Model var7; - if (var5 != null && var6 != 65535) { - var7 = model.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); - var7.animate(var4, var3); - var7.animate(var5, var6); - return var7; - } else { - var7 = model.toSharedSequenceModel(!var4.hasAlphaTransform(var3)); - var7.animate(var4, var3); - return var7; - } - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Ldm;II)Ldm;", + garbageValue = "-1834936397" + ) + @Export("transformWidgetModel") + public Model transformWidgetModel(Model var1, int var2) { + int var3 = this.frameIds[var2]; + Frames var4 = class30.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 = class30.getFrames(var6 >> 16); + var6 &= 65535; + } - static { - SequenceDefinition_cached = new EvictingDualNodeHashTable(64); - SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); - } + 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; + } + } + } } diff --git a/runescape-client/src/main/java/ServerBuild.java b/runescape-client/src/main/java/ServerBuild.java index d83195f795..567e1adc0b 100644 --- a/runescape-client/src/main/java/ServerBuild.java +++ b/runescape-client/src/main/java/ServerBuild.java @@ -4,60 +4,72 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iy") +@ObfuscatedName("ht") @Implements("ServerBuild") public class ServerBuild { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("LIVE") - public static final ServerBuild LIVE; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("BUILDLIVE") - public static final ServerBuild BUILDLIVE; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("RC") - public static final ServerBuild RC; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("WIP") - public static final ServerBuild WIP; - @ObfuscatedName("bx") - @Export("worldsUrl") - static String worldsUrl; - @ObfuscatedName("lo") - @ObfuscatedGetter( - intValue = -365366303 - ) - static int field788; - @ObfuscatedName("o") - @Export("name") - public final String name; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -947415971 - ) - @Export("id") - public final int id; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lht;" + ) + @Export("LIVE") + static final ServerBuild LIVE; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lht;" + ) + @Export("BUILDLIVE") + static final ServerBuild BUILDLIVE; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lht;" + ) + @Export("RC") + static final ServerBuild RC; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lht;" + ) + @Export("WIP") + static final ServerBuild WIP; + @ObfuscatedName("f") + static int[] field3103; + @ObfuscatedName("k") + @Export("name") + public final String name; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1706897489 + ) + final int field3097; - ServerBuild(String var1, int var2) { - this.name = var1; - this.id = var2; - } + static { + LIVE = new ServerBuild("LIVE", 0); + BUILDLIVE = new ServerBuild("BUILDLIVE", 3); + RC = new ServerBuild("RC", 1); + WIP = new ServerBuild("WIP", 2); + } - 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.field3097 = var2; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lht;", + garbageValue = "-1180809125" + ) + @Export("valueOf") + public static ServerBuild valueOf(int var0) { + ServerBuild[] var1 = IsaacCipher.values(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + ServerBuild var3 = var1[var2]; + if (var0 == var3.field3097) { + return var3; + } + } + + return null; + } } diff --git a/runescape-client/src/main/java/ServerPacket.java b/runescape-client/src/main/java/ServerPacket.java index f5779b1c83..12c3124dc4 100644 --- a/runescape-client/src/main/java/ServerPacket.java +++ b/runescape-client/src/main/java/ServerPacket.java @@ -4,644 +4,543 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ge") +@ObfuscatedName("gc") @Implements("ServerPacket") public class ServerPacket { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field789; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field790; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field791; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field792; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field793; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field794; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field795; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field796; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field797; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field798; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field799; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field800; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field801; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field802; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field803; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field804; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field805; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field806; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field807; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field808; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field809; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field810; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field811; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field812; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field813; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field814; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field815; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field816; - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field817; - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field818; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field819; - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field820; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field821; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field822; - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field823; - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field824; - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field825; - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field826; - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field827; - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field828; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field829; - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field830; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field831; - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field832; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field833; - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field834; - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field835; - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field836; - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field837; - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field838; - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field839; - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field840; - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field841; - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field842; - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field843; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field844; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field845; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field846; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field847; - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field848; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field849; - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field850; - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field851; - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field852; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field853; - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field854; - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field855; - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field856; - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field857; - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field858; - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field859; - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field860; - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field861; - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field862; - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field863; - @ObfuscatedName("be") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field864; - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field865; - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field866; - @ObfuscatedName("cr") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field867; - @ObfuscatedName("cv") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field868; - @ObfuscatedName("ce") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field869; - @ObfuscatedName("cy") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field870; - @ObfuscatedName("cs") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field871; - @ObfuscatedName("cm") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field872; - @ObfuscatedName("cj") - @ObfuscatedSignature( - signature = "Lge;" - ) - public static final ServerPacket field873; - @ObfuscatedName("ix") - @ObfuscatedGetter( - intValue = -1645409107 - ) - @Export("selectedItemWidget") - static int selectedItemWidget; - @ObfuscatedName("cu") - @ObfuscatedGetter( - intValue = 1117211673 - ) - @Export("id") - public final int id; - @ObfuscatedName("cb") - @ObfuscatedGetter( - intValue = 947096829 - ) - @Export("length") - public final int length; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2160; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2116; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2117; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2152; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2119; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2165; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2178; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2122; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2190; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2176; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2141; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2126; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2127; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2128; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2129; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2130; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2131; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2120; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2133; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2134; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2125; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2136; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2191; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2138; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2139; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2140; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2137; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2135; + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2143; + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2144; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2181; + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2175; + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2147; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2148; + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2149; + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2118; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2151; + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2202; + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2180; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2154; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2155; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2156; + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2157; + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2162; + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2159; + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2189; + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2161; + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2150; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2163; + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2164; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2123; + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2166; + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2167; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2153; + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2142; + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2170; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2171; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2172; + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2132; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2174; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2169; + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2124; + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2177; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2168; + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2179; + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2158; + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2173; + @ObfuscatedName("by") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2182; + @ObfuscatedName("bt") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2183; + @ObfuscatedName("bq") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2184; + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2185; + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2186; + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2187; + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2188; + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2115; + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2121; + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2145; + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2192; + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2193; + @ObfuscatedName("cf") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2194; + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2195; + @ObfuscatedName("cl") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2196; + @ObfuscatedName("cn") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2197; + @ObfuscatedName("cy") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2198; + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2199; + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "Lgc;" + ) + public static final ServerPacket field2200; + @ObfuscatedName("cp") + @ObfuscatedGetter( + intValue = 495376883 + ) + @Export("id") + public final int id; + @ObfuscatedName("ch") + @ObfuscatedGetter( + intValue = 1858347071 + ) + @Export("length") + public final int length; - ServerPacket(int var1, int var2) { - this.id = var1; - this.length = var2; - } + static { + field2160 = new ServerPacket(0, -2); + field2116 = new ServerPacket(1, 0); + field2117 = new ServerPacket(2, 0); + field2152 = new ServerPacket(3, -1); + field2119 = new ServerPacket(4, 6); + field2165 = new ServerPacket(5, 4); + field2178 = new ServerPacket(6, 4); + field2122 = new ServerPacket(7, 4); + field2190 = new ServerPacket(8, 6); + field2176 = new ServerPacket(9, 4); + field2141 = new ServerPacket(10, -2); + field2126 = new ServerPacket(11, 15); + field2127 = new ServerPacket(12, 5); + field2128 = new ServerPacket(13, 2); + field2129 = new ServerPacket(14, 3); + field2130 = new ServerPacket(15, 7); + field2131 = new ServerPacket(16, 1); + field2120 = new ServerPacket(17, -2); + field2133 = new ServerPacket(18, -2); + field2134 = new ServerPacket(19, -2); + field2125 = new ServerPacket(20, 10); + field2136 = new ServerPacket(21, 5); + field2191 = new ServerPacket(22, 6); + field2138 = new ServerPacket(23, 2); + field2139 = new ServerPacket(24, 6); + field2140 = new ServerPacket(25, 2); + field2137 = new ServerPacket(26, 5); + field2135 = new ServerPacket(27, -2); + field2143 = new ServerPacket(28, 0); + field2144 = new ServerPacket(29, 0); + field2181 = new ServerPacket(30, 4); + field2175 = new ServerPacket(31, 6); + field2147 = new ServerPacket(32, -2); + field2148 = new ServerPacket(33, -2); + field2149 = new ServerPacket(34, 1); + field2118 = new ServerPacket(35, 6); + field2151 = new ServerPacket(36, 6); + field2202 = new ServerPacket(37, -1); + field2180 = new ServerPacket(38, -2); + field2154 = new ServerPacket(39, 4); + field2155 = new ServerPacket(40, 5); + field2156 = new ServerPacket(41, 8); + field2157 = new ServerPacket(42, 14); + field2162 = new ServerPacket(43, -2); + field2159 = new ServerPacket(44, -2); + field2189 = new ServerPacket(45, -1); + field2161 = new ServerPacket(46, 2); + field2150 = new ServerPacket(47, -1); + field2163 = new ServerPacket(48, 12); + field2164 = new ServerPacket(49, 4); + field2123 = new ServerPacket(50, 10); + field2166 = new ServerPacket(51, -2); + field2167 = new ServerPacket(52, 0); + field2153 = new ServerPacket(53, -2); + field2142 = new ServerPacket(54, -1); + field2170 = new ServerPacket(55, 20); + field2171 = new ServerPacket(56, -2); + field2172 = new ServerPacket(57, 28); + field2132 = new ServerPacket(58, -2); + field2174 = new ServerPacket(59, 8); + field2169 = new ServerPacket(60, 1); + field2124 = new ServerPacket(61, 6); + field2177 = new ServerPacket(62, -2); + field2168 = new ServerPacket(63, 3); + field2179 = new ServerPacket(64, 2); + field2158 = new ServerPacket(65, 5); + field2173 = new ServerPacket(66, -1); + field2182 = new ServerPacket(67, 2); + field2183 = new ServerPacket(68, 1); + field2184 = new ServerPacket(69, 8); + field2185 = new ServerPacket(70, -2); + field2186 = new ServerPacket(71, 2); + field2187 = new ServerPacket(72, 2); + field2188 = new ServerPacket(73, 0); + field2115 = new ServerPacket(74, 1); + field2121 = new ServerPacket(75, 6); + field2145 = new ServerPacket(76, 6); + field2192 = new ServerPacket(77, 7); + field2193 = new ServerPacket(78, 0); + field2194 = new ServerPacket(79, -2); + field2195 = new ServerPacket(80, 2); + field2196 = new ServerPacket(81, -2); + field2197 = new ServerPacket(82, 8); + field2198 = new ServerPacket(83, 6); + field2199 = new ServerPacket(84, 2); + field2200 = new ServerPacket(85, 1); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Llq;", - garbageValue = "2048918805" - ) - @Export("createIndexedSprite") - static IndexedSprite createIndexedSprite() { - IndexedSprite var0 = new IndexedSprite(); - var0.width = class328.indexedSpriteWidth; - var0.height = class328.indexedSpriteHeight; - var0.xOffset = class328.indexedSpriteOffsetXs[0]; - var0.yOffset = class328.indexedSpriteOffsetYs[0]; - var0.subWidth = VarbitDefinition.indexedSpriteWidths[0]; - var0.subHeight = SecureRandomCallable.indexedSpriteHeights[0]; - var0.palette = class328.indexedSpritePalette; - var0.pixels = class328.spritePixels[0]; - class328.indexedSpriteOffsetXs = null; - class328.indexedSpriteOffsetYs = null; - VarbitDefinition.indexedSpriteWidths = null; - SecureRandomCallable.indexedSpriteHeights = null; - class328.indexedSpritePalette = null; - class328.spritePixels = ((byte[][])null); - return var0; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BIIIIIIILem;[Lfy;I)V", - garbageValue = "-1257461571" - ) - static final void method3662(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.method49(); - 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 = class50.getObjectDefinition(var11); - int var22 = var16 & 7; - int var23 = var15 & 7; - int var24 = var21.sizeX; - int var25 = var21.sizeY; - int var26; - if ((var20 & 1) == 1) { - var26 = var24; - var24 = var25; - var25 = var26; - } - - int var27 = var7 & 3; - int var28; - if (var27 == 0) { - var28 = var22; - } else if (var27 == 1) { - var28 = var23; - } else if (var27 == 2) { - var28 = 7 - var22 - (var24 - 1); - } else { - var28 = 7 - var23 - (var25 - 1); - } - - var26 = var2 + var28; - int var29 = var3 + class171.method3496(var16 & 7, var15 & 7, var7, var21.sizeX, var21.sizeY, var20); - if (var26 > 0 && var29 > 0 && var26 < 103 && var29 < 103) { - int var30 = var1; - if ((Tiles.Tiles_renderFlags[1][var26][var29] & 2) == 2) { - var30 = var1 - 1; - } - - CollisionMap var31 = null; - if (var30 >= 0) { - var31 = var9[var30]; - } - - class227.method4446(var1, var26, var29, var11, var20 + var7 & 3, var19, var8, var31); - } - } - } - } - } - - static { - field789 = new ServerPacket(0, -2); - field790 = new ServerPacket(1, 0); - field791 = new ServerPacket(2, 0); - field792 = new ServerPacket(3, -1); - field793 = new ServerPacket(4, 6); - field794 = new ServerPacket(5, 4); - field795 = new ServerPacket(6, 4); - field796 = new ServerPacket(7, 4); - field797 = new ServerPacket(8, 6); - field798 = new ServerPacket(9, 4); - field799 = new ServerPacket(10, -2); - field800 = new ServerPacket(11, 15); - field801 = new ServerPacket(12, 5); - field802 = new ServerPacket(13, 2); - field803 = new ServerPacket(14, 3); - field804 = new ServerPacket(15, 7); - field805 = new ServerPacket(16, 1); - field806 = new ServerPacket(17, -2); - field807 = new ServerPacket(18, -2); - field808 = new ServerPacket(19, -2); - field809 = new ServerPacket(20, 10); - field810 = new ServerPacket(21, 5); - field811 = new ServerPacket(22, 6); - field812 = new ServerPacket(23, 2); - field813 = new ServerPacket(24, 6); - field814 = new ServerPacket(25, 2); - field815 = new ServerPacket(26, 5); - field816 = new ServerPacket(27, -2); - field817 = new ServerPacket(28, 0); - field818 = new ServerPacket(29, 0); - field819 = new ServerPacket(30, 4); - field820 = new ServerPacket(31, 6); - field821 = new ServerPacket(32, -2); - field822 = new ServerPacket(33, -2); - field823 = new ServerPacket(34, 1); - field824 = new ServerPacket(35, 6); - field825 = new ServerPacket(36, 6); - field826 = new ServerPacket(37, -1); - field827 = new ServerPacket(38, -2); - field828 = new ServerPacket(39, 4); - field829 = new ServerPacket(40, 5); - field830 = new ServerPacket(41, 8); - field831 = new ServerPacket(42, 14); - field832 = new ServerPacket(43, -2); - field833 = new ServerPacket(44, -2); - field834 = new ServerPacket(45, -1); - field835 = new ServerPacket(46, 2); - field836 = new ServerPacket(47, -1); - field837 = new ServerPacket(48, 12); - field838 = new ServerPacket(49, 4); - field839 = new ServerPacket(50, 10); - field840 = new ServerPacket(51, -2); - field841 = new ServerPacket(52, 0); - field842 = new ServerPacket(53, -2); - field843 = new ServerPacket(54, -1); - field844 = new ServerPacket(55, 20); - field845 = new ServerPacket(56, -2); - field846 = new ServerPacket(57, 28); - field847 = new ServerPacket(58, -2); - field848 = new ServerPacket(59, 8); - field849 = new ServerPacket(60, 1); - field850 = new ServerPacket(61, 6); - field851 = new ServerPacket(62, -2); - field852 = new ServerPacket(63, 3); - field853 = new ServerPacket(64, 2); - field854 = new ServerPacket(65, 5); - field855 = new ServerPacket(66, -1); - field856 = new ServerPacket(67, 2); - field857 = new ServerPacket(68, 1); - field858 = new ServerPacket(69, 8); - field859 = new ServerPacket(70, -2); - field860 = new ServerPacket(71, 2); - field861 = new ServerPacket(72, 2); - field862 = new ServerPacket(73, 0); - field863 = new ServerPacket(74, 1); - field864 = new ServerPacket(75, 6); - field865 = new ServerPacket(76, 6); - field866 = new ServerPacket(77, 7); - field867 = new ServerPacket(78, 0); - field868 = new ServerPacket(79, -2); - field869 = new ServerPacket(80, 2); - field870 = new ServerPacket(81, -2); - field871 = new ServerPacket(82, 8); - field872 = new ServerPacket(83, 6); - field873 = new ServerPacket(84, 2); - } + ServerPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } } diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java index b13a804770..f8a7d1d2b2 100644 --- a/runescape-client/src/main/java/Skeleton.java +++ b/runescape-client/src/main/java/Skeleton.java @@ -3,192 +3,237 @@ 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("ek") +@ObfuscatedName("ej") @Implements("Skeleton") public class Skeleton extends Node { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 2096389021 - ) - static int field874; - @ObfuscatedName("dc") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive1") - static Archive archive1; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1634889691 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1875841677 - ) - @Export("count") - int count; - @ObfuscatedName("q") - @Export("transformTypes") - int[] transformTypes; - @ObfuscatedName("w") - @Export("labels") - int[][] labels; + @ObfuscatedName("ei") + @ObfuscatedGetter( + intValue = 735653507 + ) + @Export("port2") + static int port2; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 722010211 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1628555535 + ) + @Export("count") + int count; + @ObfuscatedName("e") + @Export("transformTypes") + int[] transformTypes; + @ObfuscatedName("p") + @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][]; + 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(); - } + 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) { + 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(); - } - } + for (var4 = 0; var4 < this.count; ++var4) { + for (int var5 = 0; var5 < this.labels[var4].length; ++var5) { + this.labels[var4][var5] = var3.readUnsignedByte(); + } + } - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lhx;IB)V", - garbageValue = "3" - ) - static final void method3062(PacketBuffer var0, int var1) { - int var2 = var0.index; - Players.field736 = 0; - int var3 = 0; - var0.importIndex(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;Ljava/lang/String;I)I", + garbageValue = "-730620007" + ) + public static int method3063(Buffer var0, String var1) { + int var2 = var0.offset; + int var4 = var1.length(); + byte[] var5 = new byte[var4]; - int var4; - int var5; - int var6; - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var5 = Players.Players_indices[var4]; - if ((Players.field731[var5] & 1) == 0) { - if (var3 > 0) { - --var3; - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = GrandExchangeOffer.method105(var0); - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - class210.method4101(var0, var5); - } - } - } - } + for (int var6 = 0; var6 < var4; ++var6) { + char var7 = var1.charAt(var6); + if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { + var5[var6] = (byte)var7; + } else if (var7 == 8364) { + var5[var6] = -128; + } else if (var7 == 8218) { + var5[var6] = -126; + } else if (var7 == 402) { + var5[var6] = -125; + } else if (var7 == 8222) { + var5[var6] = -124; + } else if (var7 == 8230) { + var5[var6] = -123; + } else if (var7 == 8224) { + var5[var6] = -122; + } else if (var7 == 8225) { + var5[var6] = -121; + } else if (var7 == 710) { + var5[var6] = -120; + } else if (var7 == 8240) { + var5[var6] = -119; + } else if (var7 == 352) { + var5[var6] = -118; + } else if (var7 == 8249) { + var5[var6] = -117; + } else if (var7 == 338) { + var5[var6] = -116; + } else if (var7 == 381) { + var5[var6] = -114; + } else if (var7 == 8216) { + var5[var6] = -111; + } else if (var7 == 8217) { + var5[var6] = -110; + } else if (var7 == 8220) { + var5[var6] = -109; + } else if (var7 == 8221) { + var5[var6] = -108; + } else if (var7 == 8226) { + var5[var6] = -107; + } else if (var7 == 8211) { + var5[var6] = -106; + } else if (var7 == 8212) { + var5[var6] = -105; + } else if (var7 == 732) { + var5[var6] = -104; + } else if (var7 == 8482) { + var5[var6] = -103; + } else if (var7 == 353) { + var5[var6] = -102; + } else if (var7 == 8250) { + var5[var6] = -101; + } else if (var7 == 339) { + var5[var6] = -100; + } else if (var7 == 382) { + var5[var6] = -98; + } else if (var7 == 376) { + var5[var6] = -97; + } else { + var5[var6] = 63; + } + } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + var0.writeSmartByteShort(var5.length); + var0.offset += class210.huffman.compress(var5, 0, var5.length, var0.array, var0.offset); + return var0.offset - var2; + } - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var5 = Players.Players_indices[var4]; - if ((Players.field731[var5] & 1) != 0) { - if (var3 > 0) { - --var3; - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = GrandExchangeOffer.method105(var0); - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - class210.method4101(var0, var5); - } - } - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-107040601" + ) + static int method3064(int var0, Script var1, boolean var2) { + int var3; + int var4; + if (var0 == ScriptOpcodes.CC_CREATE) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + if (var4 == 0) { + throw new RuntimeException(); + } else { + Widget var6 = class80.getWidget(var3); + if (var6.children == null) { + var6.children = new Widget[var5 + 1]; + } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + if (var6.children.length <= var5) { + Widget[] var7 = new Widget[var5 + 1]; - for (var4 = 0; var4 < Players.field734; ++var4) { - var5 = Players.field735[var4]; - if ((Players.field731[var5] & 1) != 0) { - if (var3 > 0) { - --var3; - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = GrandExchangeOffer.method105(var0); - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else if (class236.updateExternalPlayer(var0, var5)) { - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } - } - } - } + for (int var8 = 0; var8 < var6.children.length; ++var8) { + var7[var8] = var6.children[var8]; + } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); + var6.children = var7; + } - for (var4 = 0; var4 < Players.field734; ++var4) { - var5 = Players.field735[var4]; - if ((Players.field731[var5] & 1) == 0) { - if (var3 > 0) { - --var3; - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = GrandExchangeOffer.method105(var0); - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } else if (class236.updateExternalPlayer(var0, var5)) { - Players.field731[var5] = (byte)(Players.field731[var5] | 2); - } - } - } - } + 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) { + Interpreter.field1111 = var12; + } else { + Calendar.field2507 = var12; + } - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - Players.Players_count = 0; - Players.field734 = 0; + Strings.method4120(var6); + return 1; + } + } + } else { + Widget var9; + if (var0 == ScriptOpcodes.CC_DELETE) { + var9 = var2 ? Interpreter.field1111 : Calendar.field2507; + Widget var10 = class80.getWidget(var9.id); + var10.children[var9.childIndex] = null; + Strings.method4120(var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DELETEALL) { + var9 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + var9.children = null; + Strings.method4120(var9); + return 1; + } else if (var0 != ScriptOpcodes.CC_FIND) { + if (var0 == ScriptOpcodes.IF_FIND) { + var9 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var9 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + if (var2) { + Interpreter.field1111 = var9; + } else { + Calendar.field2507 = var9; + } + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } - for (var4 = 1; var4 < 2048; ++var4) { - Players.field731[var4] = (byte)(Players.field731[var4] >> 1); - Player var7 = Client.players[var4]; - if (var7 != null) { - Players.Players_indices[++Players.Players_count - 1] = var4; - } else { - Players.field735[++Players.field734 - 1] = var4; - } - } + return 1; + } else { + return 2; + } + } else { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Widget var11 = Client.getWidgetChild(var3, var4); + if (var11 != null && var4 != -1) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + if (var2) { + Interpreter.field1111 = var11; + } else { + Calendar.field2507 = var11; + } + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } - class21.method293(var0); - if (var0.index - var2 != var1) { - throw new RuntimeException(var0.index - var2 + " " + var1); - } - } - } - } - } - } + return 1; + } + } + } } diff --git a/runescape-client/src/main/java/Skills.java b/runescape-client/src/main/java/Skills.java index b5309806fc..93b4669ab4 100644 --- a/runescape-client/src/main/java/Skills.java +++ b/runescape-client/src/main/java/Skills.java @@ -1,92 +1,54 @@ import net.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") +@ObfuscatedName("hz") @Implements("Skills") public class Skills { - @ObfuscatedName("f") - @Export("Skills_enabled") - public static final boolean[] Skills_enabled; - @ObfuscatedName("q") - @Export("Skills_experienceTable") - public static int[] Skills_experienceTable; - @ObfuscatedName("ef") - static int[] field875; + @ObfuscatedName("w") + @Export("Skills_enabled") + public static final boolean[] Skills_enabled; + @ObfuscatedName("e") + @Export("Skills_experienceTable") + public static int[] Skills_experienceTable; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1622531909 + ) + @Export("Interpreter_stringStackSize") + static int Interpreter_stringStackSize; + @ObfuscatedName("gz") + @ObfuscatedSignature( + signature = "[Lly;" + ) + @Export("mapDotSprites") + static Sprite[] mapDotSprites; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Ljv;", - garbageValue = "-1410801622" - ) - @Export("getItemDefinition") - public static ItemDefinition getItemDefinition(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)); - } + 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; - var1.post(); - if (var1.noteTemplate != -1) { - var1.genCert(getItemDefinition(var1.noteTemplate), getItemDefinition(var1.note)); - } + 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; + } - if (var1.notedId != -1) { - var1.genBought(getItemDefinition(var1.notedId), getItemDefinition(var1.unnotedId)); - } + } - if (var1.placeholderTemplate != -1) { - var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder)); - } - - if (!class30.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 = class229.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; - } - } - - 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("iz") + @ObfuscatedSignature( + signature = "(IIIIIIII)V", + garbageValue = "-1917255225" + ) + @Export("updateRootInterface") + static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (class162.loadInterface(var0)) { + class2.updateInterface(Widget.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); + } + } } diff --git a/runescape-client/src/main/java/SoftWrapper.java b/runescape-client/src/main/java/SoftWrapper.java index 5c1c0cc0ed..2276e111fb 100644 --- a/runescape-client/src/main/java/SoftWrapper.java +++ b/runescape-client/src/main/java/SoftWrapper.java @@ -3,27 +3,27 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ef") +@ObfuscatedName("ee") @Implements("SoftWrapper") public class SoftWrapper extends Wrapper { - @ObfuscatedName("m") - @Export("ref") - SoftReference ref; + @ObfuscatedName("q") + @Export("ref") + SoftReference ref; - SoftWrapper(Object var1, int var2) { - super(var2); - this.ref = new SoftReference(var1); - } + SoftWrapper(Object var1, int var2) { + super(var2); + this.ref = new SoftReference(var1); + } - @ObfuscatedName("m") - @Export("get") - Object get() { - return this.ref.get(); - } + @ObfuscatedName("q") + @Export("get") + Object get() { + return this.ref.get(); + } - @ObfuscatedName("f") - @Export("isSoft") - boolean isSoft() { - return true; - } + @ObfuscatedName("w") + @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 0ba06677af..c1e2e171a7 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -1,227 +1,166 @@ import net.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") +@ObfuscatedName("df") @Implements("SoundCache") public class SoundCache { - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1784515731 - ) - @Export("canvasWidth") - public static int canvasWidth; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("soundEffectIndex") - AbstractArchive soundEffectIndex; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("musicSampleIndex") - AbstractArchive musicSampleIndex; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("musicSamples") - NodeHashTable musicSamples; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("rawSounds") - NodeHashTable rawSounds; + @ObfuscatedName("gg") + @ObfuscatedSignature( + signature = "[Lly;" + ) + @Export("headIconPrayerSprites") + static Sprite[] headIconPrayerSprites; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("soundEffectIndex") + AbstractArchive soundEffectIndex; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicSampleIndex") + AbstractArchive musicSampleIndex; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("musicSamples") + NodeHashTable musicSamples; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Llc;" + ) + @Export("rawSounds") + NodeHashTable rawSounds; - @ObfuscatedSignature( - signature = "(Lir;Lir;)V" - ) - public SoundCache(AbstractArchive var1, AbstractArchive var2) { - this.musicSamples = new NodeHashTable(256); - this.rawSounds = new NodeHashTable(256); - this.soundEffectIndex = var1; - this.musicSampleIndex = var2; - } + @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("m") - @ObfuscatedSignature( - signature = "(II[IS)Lcx;", - garbageValue = "17979" - ) - @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; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II[IB)Lcd;", + garbageValue = "60" + ) + @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; - } - } - } + return var7; + } + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II[II)Lcx;", - garbageValue = "-847417897" - ) - @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 { - MusicSample var8 = (MusicSample)this.musicSamples.get(var5); - if (var8 == null) { - var8 = MusicSample.readMusicSample(this.musicSampleIndex, var1, var2); - if (var8 == null) { - return null; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II[II)Lcd;", + garbageValue = "1581933102" + ) + @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); - } + this.musicSamples.put(var8, var5); + } - var7 = var8.toRawSound(var3); - if (var7 == null) { - return null; - } else { - var8.remove(); - this.rawSounds.put(var7, var5); - return var7; - } - } - } + var7 = var8.toRawSound(var3); + if (var7 == null) { + return null; + } else { + var8.remove(); + this.rawSounds.put(var7, var5); + return var7; + } + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I[IB)Lcx;", - garbageValue = "-28" - ) - @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("e") + @ObfuscatedSignature( + signature = "(I[IB)Lcd;", + garbageValue = "127" + ) + @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("w") - @ObfuscatedSignature( - signature = "(I[II)Lcx;", - garbageValue = "-2131728116" - ) - @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 = "(I[II)Lcd;", + garbageValue = "724127180" + ) + @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("w") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II[BII)I", - garbageValue = "-1706770105" - ) - @Export("encodeStringCp1252") - public static int encodeStringCp1252(CharSequence src, int srcStart, int srcEnd, byte[] dst, int dstStart) { - int var5 = srcEnd - srcStart; + @ObfuscatedName("eb") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1967203322" + ) + static final void method2491(int var0) { + RouteStrategy.method3593(); + switch(var0) { + case 1: + Coord.method3990(); + break; + case 2: + MouseHandler.method1039(); + } - for (int var6 = 0; var6 < var5; ++var6) { - char var7 = src.charAt(var6 + srcStart); - if ((var7 <= 0 || var7 >= 128) && (var7 < 160 || var7 > 255)) { - if (var7 == 8364) { - dst[var6 + dstStart] = -128; - } else if (var7 == 8218) { - dst[var6 + dstStart] = -126; - } else if (var7 == 402) { - dst[var6 + dstStart] = -125; - } else if (var7 == 8222) { - dst[var6 + dstStart] = -124; - } else if (var7 == 8230) { - dst[var6 + dstStart] = -123; - } else if (var7 == 8224) { - dst[var6 + dstStart] = -122; - } else if (var7 == 8225) { - dst[var6 + dstStart] = -121; - } else if (var7 == 710) { - dst[var6 + dstStart] = -120; - } else if (var7 == 8240) { - dst[var6 + dstStart] = -119; - } else if (var7 == 352) { - dst[var6 + dstStart] = -118; - } else if (var7 == 8249) { - dst[var6 + dstStart] = -117; - } else if (var7 == 338) { - dst[var6 + dstStart] = -116; - } else if (var7 == 381) { - dst[var6 + dstStart] = -114; - } else if (var7 == 8216) { - dst[var6 + dstStart] = -111; - } else if (var7 == 8217) { - dst[var6 + dstStart] = -110; - } else if (var7 == 8220) { - dst[var6 + dstStart] = -109; - } else if (var7 == 8221) { - dst[var6 + dstStart] = -108; - } else if (var7 == 8226) { - dst[var6 + dstStart] = -107; - } else if (var7 == 8211) { - dst[var6 + dstStart] = -106; - } else if (var7 == 8212) { - dst[var6 + dstStart] = -105; - } else if (var7 == 732) { - dst[var6 + dstStart] = -104; - } else if (var7 == 8482) { - dst[var6 + dstStart] = -103; - } else if (var7 == 353) { - dst[var6 + dstStart] = -102; - } else if (var7 == 8250) { - dst[var6 + dstStart] = -101; - } else if (var7 == 339) { - dst[var6 + dstStart] = -100; - } else if (var7 == 382) { - dst[var6 + dstStart] = -98; - } else if (var7 == 376) { - dst[var6 + dstStart] = -97; - } else { - dst[var6 + dstStart] = 63; - } - } else { - dst[var6 + dstStart] = (byte)var7; - } - } - - return var5; - } + } } diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index cbac1dcd68..b0ac78647f 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -3,132 +3,132 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ci") +@ObfuscatedName("cc") @Implements("SoundEffect") public class SoundEffect { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Ldb;" - ) - @Export("instruments") - Instrument[] instruments; - @ObfuscatedName("q") - @Export("start") - int start; - @ObfuscatedName("w") - @Export("end") - int end; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lde;" + ) + @Export("instruments") + Instrument[] instruments; + @ObfuscatedName("e") + @Export("start") + int start; + @ObfuscatedName("p") + @Export("end") + int end; - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - SoundEffect(Buffer var1) { - this.instruments = new Instrument[10]; + @ObfuscatedSignature( + signature = "(Lkf;)V" + ) + SoundEffect(Buffer var1) { + this.instruments = new Instrument[10]; - for (int var2 = 0; var2 < 10; ++var2) { - int var3 = var1.readUnsignedByte(); - if (var3 != 0) { - --var1.index; - this.instruments[var2] = new Instrument(); - this.instruments[var2].decode(var1); - } - } + 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(); - } + this.start = var1.readUnsignedShort(); + this.end = var1.readUnsignedShort(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "()Lcx;" - ) - @Export("toRawSound") - public RawSound toRawSound() { - byte[] var1 = this.mix(); - return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "()Lcd;" + ) + @Export("toRawSound") + public RawSound toRawSound() { + byte[] var1 = this.mix(); + return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); + } - @ObfuscatedName("q") - @Export("calculateDelay") - public final int calculateDelay() { - int var1 = 9999999; + @ObfuscatedName("e") + @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; - } - } + 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 (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 var3 = this.instruments[var2]; - var3.offset -= var1 * 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; - } + if (this.start < this.end) { + this.start -= var1 * 20; + this.end -= var1 * 20; + } - return var1; - } else { - return 0; - } - } + return var1; + } else { + return 0; + } + } - @ObfuscatedName("w") - @Export("mix") - final byte[] mix() { - int var1 = 0; + @ObfuscatedName("p") + @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; - } - } + 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]; + 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 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; - } + 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; - } - } - } + var3[var8 + var6] = (byte)var9; + } + } + } - return var3; - } - } + return var3; + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;II)Lci;" - ) - @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)); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;II)Lcc;" + ) + @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 114aa68414..6ae5a90526 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -3,109 +3,109 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("de") +@ObfuscatedName("dw") @Implements("SoundEnvelope") public class SoundEnvelope { - @ObfuscatedName("m") - @Export("segments") - int segments; - @ObfuscatedName("f") - @Export("durations") - int[] durations; - @ObfuscatedName("q") - @Export("phases") - int[] phases; - @ObfuscatedName("w") - @Export("start") - int start; - @ObfuscatedName("o") - @Export("end") - int end; - @ObfuscatedName("u") - @Export("form") - int form; - @ObfuscatedName("g") - @Export("ticks") - int ticks; - @ObfuscatedName("l") - @Export("phaseIndex") - int phaseIndex; - @ObfuscatedName("e") - @Export("step") - int step; - @ObfuscatedName("d") - @Export("amplitude") - int amplitude; - @ObfuscatedName("k") - @Export("max") - int max; + @ObfuscatedName("q") + @Export("segments") + int segments; + @ObfuscatedName("w") + @Export("durations") + int[] durations; + @ObfuscatedName("e") + @Export("phases") + int[] phases; + @ObfuscatedName("p") + @Export("start") + int start; + @ObfuscatedName("k") + @Export("end") + int end; + @ObfuscatedName("l") + @Export("form") + int form; + @ObfuscatedName("b") + @Export("ticks") + int ticks; + @ObfuscatedName("i") + @Export("phaseIndex") + int phaseIndex; + @ObfuscatedName("c") + @Export("step") + int step; + @ObfuscatedName("f") + @Export("amplitude") + int amplitude; + @ObfuscatedName("m") + @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; - } + 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("m") - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - @Export("decode") - final void decode(Buffer buffer) { - this.form = buffer.readUnsignedByte(); - this.start = buffer.readInt(); - this.end = buffer.readInt(); - this.decodeSegments(buffer); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;)V" + ) + @Export("decode") + final void decode(Buffer var1) { + this.form = var1.readUnsignedByte(); + this.start = var1.readInt(); + this.end = var1.readInt(); + this.decodeSegments(var1); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - @Export("decodeSegments") - final void decodeSegments(Buffer buffer) { - this.segments = buffer.readUnsignedByte(); - this.durations = new int[this.segments]; - this.phases = new int[this.segments]; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;)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] = buffer.readUnsignedShort(); - this.phases[var2] = buffer.readUnsignedShort(); - } + for (int var2 = 0; var2 < this.segments; ++var2) { + this.durations[var2] = var1.readUnsignedShort(); + this.phases[var2] = var1.readUnsignedShort(); + } - } + } - @ObfuscatedName("q") - @Export("reset") - final void reset() { - this.ticks = 0; - this.phaseIndex = 0; - this.step = 0; - this.amplitude = 0; - this.max = 0; - } + @ObfuscatedName("e") + @Export("reset") + final void reset() { + this.ticks = 0; + this.phaseIndex = 0; + this.step = 0; + this.amplitude = 0; + this.max = 0; + } - @ObfuscatedName("w") - @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; - } + @ObfuscatedName("p") + @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.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; - } + 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 38b8eeb3f6..a53933d2bf 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -1,70 +1,121 @@ +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("dx") +@ObfuscatedName("dg") @Implements("SoundSystem") public class SoundSystem implements Runnable { - @ObfuscatedName("jg") - @ObfuscatedGetter( - intValue = -631434243 - ) - @Export("plane") - static int plane; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "[Lco;" - ) - @Export("players") - volatile PcmPlayer[] players; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[Ldn;" + ) + @Export("players") + volatile PcmPlayer[] players; - SoundSystem() { - this.players = new PcmPlayer[2]; - } + 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 var3) { - NPCDefinition.sendStackTrace((String)null, var3); - } + public void run() { + try { + for (int var1 = 0; var1 < 2; ++var1) { + PcmPlayer var2 = this.players[var1]; + if (var2 != null) { + var2.run(); + } + } + } catch (Exception var4) { + HitSplatDefinition.sendStackTrace((String)null, var4); + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Lcg;", - garbageValue = "1479630296" - ) - static Script method2451(int var0) { - Script var1 = (Script)Script.Script_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = Formatting.archive12.takeFile(var0, 0); - if (var2 == null) { - return null; - } else { - var1 = Occluder.newScript(var2); - Script.Script_cached.put(var1, (long)var0); - return var1; - } - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([Lgo;IB)Lgo;", + garbageValue = "0" + ) + @Export("findEnumerated") + public static Enumerated findEnumerated(Enumerated[] var0, int var1) { + Enumerated[] var2 = var0; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "20" - ) - static void method2456() { - WorldMapRegion.field1051.clear(); - } + for (int var3 = 0; var3 < var2.length; ++var3) { + Enumerated var4 = var2[var3]; + if (var1 == var4.rsOrdinal()) { + return var4; + } + } + + return null; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "([BB)V", + garbageValue = "103" + ) + public static synchronized void method2478(byte[] var0) { + if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) { + ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; + } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) { + ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; + } else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) { + ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; + } else { + if (class189.ByteArrayPool_arrays != null) { + for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) { + if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && class43.ByteArrayPool_altSizeArrayCounts[var1] < class189.ByteArrayPool_arrays[var1].length) { + class189.ByteArrayPool_arrays[var1][class43.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; + return; + } + } + } + + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-925078025" + ) + protected static int method2479() { + int var0 = 0; + if (class43.garbageCollector == null || !class43.garbageCollector.isValid()) { + try { + Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); + + while (var1.hasNext()) { + GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); + if (var2.isValid()) { + class43.garbageCollector = var2; + GameShell.garbageCollectorLastCheckTimeMs = -1L; + GameShell.garbageCollectorLastCollectionTime = -1L; + } + } + } catch (Throwable var11) { + } + } + + if (class43.garbageCollector != null) { + long var9 = DirectByteArrayCopier.currentTimeMs(); + long var3 = class43.garbageCollector.getCollectionTime(); + if (-1L != GameShell.garbageCollectorLastCollectionTime) { + long var5 = var3 - GameShell.garbageCollectorLastCollectionTime; + long var7 = var9 - GameShell.garbageCollectorLastCheckTimeMs; + if (0L != var7) { + var0 = (int)(100L * var5 / var7); + } + } + + GameShell.garbageCollectorLastCollectionTime = var3; + GameShell.garbageCollectorLastCheckTimeMs = var9; + } + + return var0; + } } diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index d7d530aba5..ff0c573171 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -4,239 +4,241 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("io") +@ObfuscatedName("ib") @Implements("SpotAnimationDefinition") public class SpotAnimationDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("SpotAnimationDefinition_archive") - public static AbstractArchive SpotAnimationDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("SpotAnimationDefinition_modelArchive") - public static AbstractArchive SpotAnimationDefinition_modelArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("SpotAnimationDefinition_cached") - static EvictingDualNodeHashTable SpotAnimationDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("SpotAnimationDefinition_cachedModels") - static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -713866165 - ) - @Export("id") - int id; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -2065492247 - ) - @Export("archive") - int archive; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1580078789 - ) - @Export("sequence") - public int sequence; - @ObfuscatedName("l") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("e") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("x") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("d") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 680796997 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1199960995 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1650590363 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -20619847 - ) - int field876; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1866148625 - ) - int field877; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SpotAnimationDefinition_archive") + public static AbstractArchive SpotAnimationDefinition_archive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("SpotAnimationDefinition_cached") + public static EvictingDualNodeHashTable SpotAnimationDefinition_cached; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("SpotAnimationDefinition_cachedModels") + public static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1614568549 + ) + static int field3248; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1856859661 + ) + @Export("id") + int id; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1484335723 + ) + @Export("archive") + int archive; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 106564223 + ) + @Export("sequence") + public int sequence; + @ObfuscatedName("i") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("c") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("f") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("m") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 537215933 + ) + @Export("widthScale") + int widthScale; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1285947315 + ) + @Export("heightScale") + int heightScale; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1550216449 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1281395591 + ) + int field3251; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -499739553 + ) + int field3253; - SpotAnimationDefinition() { - this.sequence = -1; - this.widthScale = 128; - this.heightScale = 128; - this.orientation = 0; - this.field876 = 0; - this.field877 = 0; - } + static { + SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); + SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "906815828" - ) - @Export("decode") - void decode(Buffer buffer) { - while (true) { - int var2 = buffer.readUnsignedByte(); - if (var2 == 0) { - return; - } + SpotAnimationDefinition() { + this.sequence = -1; + this.widthScale = 128; + this.heightScale = 128; + this.orientation = 0; + this.field3251 = 0; + this.field3253 = 0; + } - this.decodeNext(buffer, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "65111702" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "2099681848" - ) - @Export("decodeNext") - void decodeNext(Buffer buffer, int var2) { - if (var2 == 1) { - this.archive = buffer.readUnsignedShort(); - } else if (var2 == 2) { - this.sequence = buffer.readUnsignedShort(); - } else if (var2 == 4) { - this.widthScale = buffer.readUnsignedShort(); - } else if (var2 == 5) { - this.heightScale = buffer.readUnsignedShort(); - } else if (var2 == 6) { - this.orientation = buffer.readUnsignedShort(); - } else if (var2 == 7) { - this.field876 = buffer.readUnsignedByte(); - } else if (var2 == 8) { - this.field877 = buffer.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 40) { - var3 = buffer.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; + this.decodeNext(var1, var2); + } + } - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)buffer.readUnsignedShort(); - this.recolorTo[var4] = (short)buffer.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = buffer.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1978905591" + ) + @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.field3251 = var1.readUnsignedByte(); + } else if (var2 == 8) { + this.field3253 = 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.retextureFrom[var4] = (short)buffer.readUnsignedShort(); - this.retextureTo[var4] = (short)buffer.readUnsignedShort(); - } - } - } + 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("w") - @ObfuscatedSignature( - signature = "(II)Ldu;", - garbageValue = "-77614529" - ) - @Export("getModel") - public final Model getModel(int var1) { - Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); - if (var2 == null) { - ModelData var3 = ModelData.method2788(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]); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Ldm;", + garbageValue = "1645713423" + ) + @Export("getModel") + public final Model getModel(int var1) { + Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); + if (var2 == null) { + ModelData var3 = ModelData.method2769(class43.SpotAnimationDefinition_modelArchive, this.archive, 0); + if (var3 == null) { + return null; + } - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - var2 = var3.toModel(this.field876 + 64, this.field877 + 850, -30, -50, -30); - SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); - } + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - Model var5; - if (this.sequence != -1 && var1 != -1) { - var5 = WorldMapAreaData.getSequenceDefinition(this.sequence).transformSpotAnimationModel(var2, var1); - } else { - var5 = var2.toSharedSpotAnimationModel(true); - } + var2 = var3.toModel(this.field3251 + 64, this.field3253 + 850, -30, -50, -30); + SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); + } - if (this.widthScale != 128 || this.heightScale != 128) { - var5.scale(this.widthScale, this.heightScale, this.widthScale); - } + Model var5; + if (this.sequence != -1 && var1 != -1) { + var5 = GrandExchangeEvent.getSequenceDefinition(this.sequence).transformSpotAnimationModel(var2, var1); + } else { + var5 = var2.toSharedSpotAnimationModel(true); + } - if (this.orientation != 0) { - if (this.orientation == 90) { - var5.rotateY90Ccw(); - } + if (this.widthScale != 128 || this.heightScale != 128) { + var5.scale(this.widthScale, this.heightScale, this.widthScale); + } - if (this.orientation == 180) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } + if (this.orientation != 0) { + if (this.orientation == 90) { + var5.rotateY90Ccw(); + } - if (this.orientation == 270) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } - } + if (this.orientation == 180) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } - return var5; - } + if (this.orientation == 270) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } + } - @ObfuscatedName("gn") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "95" - ) - @Export("getWindowedMode") - static int getWindowedMode() { - return Client.isResizable ? 2 : 1; - } + return var5; + } - static { - SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); - SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); - } + @ObfuscatedName("fo") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1672246120" + ) + static void method4415() { + if (BoundaryObject.worldMap != null) { + BoundaryObject.worldMap.method6309(class42.plane, MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7), class1.baseY * 64 + (Client.localPlayer.y >> 7), false); + BoundaryObject.worldMap.loadCache(); + } + + } } diff --git a/runescape-client/src/main/java/Sprite.java b/runescape-client/src/main/java/Sprite.java index 3ccc5efbb1..a32ba8c64c 100644 --- a/runescape-client/src/main/java/Sprite.java +++ b/runescape-client/src/main/java/Sprite.java @@ -3,1658 +3,1650 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ln") +@ObfuscatedName("ly") @Implements("Sprite") public final class Sprite extends Rasterizer2D { - @ObfuscatedName("m") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("f") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("q") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("w") - @Export("yOffset") - public int yOffset; - @ObfuscatedName("o") - @Export("xOffset") - int xOffset; - @ObfuscatedName("u") - @Export("width") - public int width; - @ObfuscatedName("g") - @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.xOffset = 0; - this.yOffset = 0; - } - - public Sprite(int var1, int var2) { - this(new int[var2 * var1], var1, var2); - } - - Sprite() { - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "()Lln;" - ) - @Export("mirrorHorizontally") - public Sprite mirrorHorizontally() { - Sprite var1 = new Sprite(this.subWidth, this.subHeight); - var1.width = this.width; - var1.height = this.height; - var1.yOffset = this.width - this.subWidth - this.yOffset; - var1.xOffset = this.xOffset; - - 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("f") - @ObfuscatedSignature( - signature = "()Lln;" - ) - @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.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth]; - } - } - - return var1; - } - - @ObfuscatedName("q") - @Export("setRaster") - public void setRaster() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); - } - - @ObfuscatedName("w") - @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.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth]; - } - } - - this.pixels = var1; - this.subWidth = this.width; - this.subHeight = this.height; - this.yOffset = 0; - this.xOffset = 0; - } - - } - - @ObfuscatedName("o") - public void method304(int var1) { - if (this.subWidth != this.width || this.subHeight != this.height) { - int var2 = var1; - if (var1 > this.yOffset) { - var2 = this.yOffset; - } - - int var3 = var1; - if (var1 + this.yOffset + this.subWidth > this.width) { - var3 = this.width - this.yOffset - this.subWidth; - } - - int var4 = var1; - if (var1 > this.xOffset) { - var4 = this.xOffset; - } - - int var5 = var1; - if (var1 + this.xOffset + this.subHeight > this.height) { - var5 = this.height - this.xOffset - 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.yOffset -= var2; - this.xOffset -= var4; - } - - } - - @ObfuscatedName("u") - public void method305() { - 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.yOffset = this.width - this.subWidth - this.yOffset; - } - - @ObfuscatedName("g") - public void method306() { - 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.xOffset = this.height - this.subHeight - this.xOffset; - } - - @ObfuscatedName("l") - @Export("outline") - public void outline(int color) { - 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 = color; - } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { - var6 = color; - } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { - var6 = color; - } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { - var6 = color; - } - } - - var2[var3++] = var6; - } - } - - this.pixels = var2; - } - - @ObfuscatedName("e") - @Export("shadow") - public void shadow(int color) { - 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] = color; - } - } - } - - } - - @ObfuscatedName("x") - @Export("drawAt") - public void drawAt(int var1, int var2) { - var1 += this.yOffset; - var2 += this.xOffset; - 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_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); - } - - } - - @ObfuscatedName("a") - @Export("drawAt2") - public void drawAt2(int var1, int var2) { - var1 += this.yOffset; - var2 += this.xOffset; - 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_andAnotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); - } - - } - - @ObfuscatedName("j") - public void method309(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.yOffset > 0) { - var13 = (var11 + (this.yOffset << 16) - 1) / var11; - var1 += var13; - var7 += var13 * var11 - (this.yOffset << 16); - } - - if (this.xOffset > 0) { - var13 = (var12 + (this.xOffset << 16) - 1) / var12; - var2 += var13; - var8 += var13 * var12 - (this.xOffset << 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_somethingElse(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); - } - - } - - @ObfuscatedName("t") - @Export("drawAtTransOverlay") - public void drawAtTransOverlay(int var1, int var2, int var3, int var4) { - if (var3 == 256) { - this.drawAt2(var1, var2); - } else { - var1 += this.yOffset; - var2 += this.xOffset; - 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_anotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); - } - } - - } - - @ObfuscatedName("h") - public void method310(int var1, int var2, int var3) { - var1 += this.yOffset; - var2 += this.xOffset; - 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_alpha1(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); - } - - } - - @ObfuscatedName("c") - public void method311(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.yOffset > 0) { - var14 = (var12 + (this.yOffset << 16) - 1) / var12; - var1 += var14; - var8 += var14 * var12 - (this.yOffset << 16); - } - - if (this.xOffset > 0) { - var14 = (var13 + (this.xOffset << 16) - 1) / var13; - var2 += var14; - var9 += var14 * var13 - (this.xOffset << 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_alpha2(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); - } - - } - - @ObfuscatedName("v") - public void method312(int var1, int var2, int var3) { - var1 += this.yOffset; - var2 += this.xOffset; - 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) { - method6074(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); - } else { - method6075(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); - } - } - - } - - @ObfuscatedName("aj") - public void method313(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.yOffset > 0) { - var14 = (var12 + (this.yOffset << 16) - 1) / var12; - var1 += var14; - var8 += var14 * var12 - (this.yOffset << 16); - } - - if (this.xOffset > 0) { - var14 = (var13 + (this.xOffset << 16) - 1) / var13; - var2 += var14; - var9 += var14 * var13 - (this.xOffset << 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) { - method6144(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); - } else { - method6078(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); - } - } - - } - - @ObfuscatedName("ac") - public void method314(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 var12; - if (this.subWidth + var1 <= var5) { - var12 = this.subWidth; - } else { - int var10000 = var5 - var1; - } - - var12 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; - int var13 = var9 + var2; - - for (int var14 = var9; var14 < var10; ++var14) { - int var15 = var7[var13]; - int var16 = var8[var13++]; - int var17 = var12; - int var18; - if (var1 < var15) { - var18 = var15 - var1; - var17 = var12 + (var18 - var11); - } else { - var18 = var11; - } - - int var19; - if (this.subWidth + var1 <= var15 + var16) { - var19 = this.subWidth; - } else { - var19 = var15 + var16 - var1; - } - - for (int var20 = var18; var20 < var19; ++var20) { - int var21 = this.pixels[var20 + var14 * this.subWidth]; - if (var21 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var17++] = var21; - } else { - ++var17; - } - } - - var12 += Rasterizer2D.Rasterizer2D_width; - } - - } - - @ObfuscatedName("ay") - @Export("drawRotatedMaskedCenteredAround") - public void drawRotatedMaskedCenteredAround(int x, int y, int maskWidth, int maskHeight, int spriteWidth, int spriteHeight, int rotation, int var8, int[] maskXStarts, int[] maskXWidths) { - try { - int var11 = -maskWidth / 2; - int var12 = -maskHeight / 2; - int var13 = (int)(Math.sin((double)rotation / 326.11D) * 65536.0D); - int var14 = (int)(Math.cos((double)rotation / 326.11D) * 65536.0D); - var13 = var13 * var8 >> 8; - var14 = var14 * var8 >> 8; - int var15 = var12 * var13 + var11 * var14 + (spriteWidth << 16); - int var16 = var12 * var14 - var11 * var13 + (spriteHeight << 16); - int var17 = x + y * Rasterizer2D.Rasterizer2D_width; - - for (y = 0; y < maskHeight; ++y) { - int var18 = maskXStarts[y]; - int var19 = var17 + var18; - int var20 = var15 + var14 * var18; - int var21 = var16 - var13 * var18; - - for (x = -maskXWidths[y]; x < 0; ++x) { - 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 var22) { - } - - } - - @ObfuscatedName("ah") - public void method316(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 var21) { - } - - } - - @ObfuscatedName("ak") - public void method317(int var1, int var2, int var3, int var4) { - this.method318(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); - } - - @ObfuscatedName("aw") - void method318(int var1, int var2, int var3, int var4, int var5, int var6) { - if (var6 != 0) { - var1 -= this.yOffset << 4; - var2 -= this.xOffset << 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("al") - public void method319(int var1, int var2, int var3, int var4) { - if (var3 <= this.width && var4 <= this.height) { - int var5 = var3 * this.yOffset / this.width + var1; - int var6 = (var3 * (this.yOffset + this.subWidth) + this.width - 1) / this.width + var1; - int var7 = var2 + var4 * this.xOffset / this.height; - int var8 = var2 + (this.height + (this.xOffset + 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.yOffset << 4); - int var16 = (var13 + 16) * this.width / var3 - (this.yOffset << 4); - int var17 = var14 * this.height / var4 - (this.xOffset << 4); - int var18 = (var14 + 16) * this.height / var4 - (this.xOffset << 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("d") - @Export("Sprite_something") - static void Sprite_something(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("z") - @Export("Sprite_andAnotherOne") - static void Sprite_andAnotherOne(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("s") - @Export("Sprite_somethingElse") - static void Sprite_somethingElse(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("y") - @Export("Sprite_anotherOne") - static void Sprite_anotherOne(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("b") - @Export("Sprite_alpha1") - static void Sprite_alpha1(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("p") - @Export("Sprite_alpha2") - static void Sprite_alpha2(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 method6074(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("aq") - static void method6075(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 method6144(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 method6078(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; - } - - } + @ObfuscatedName("q") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("w") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("e") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("p") + @Export("yOffset") + public int yOffset; + @ObfuscatedName("k") + @Export("xOffset") + int xOffset; + @ObfuscatedName("l") + @Export("width") + public int width; + @ObfuscatedName("b") + @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.xOffset = 0; + this.yOffset = 0; + } + + public Sprite(int var1, int var2) { + this(new int[var2 * var1], var1, var2); + } + + Sprite() { + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Lly;" + ) + @Export("mirrorHorizontally") + public Sprite mirrorHorizontally() { + Sprite var1 = new Sprite(this.subWidth, this.subHeight); + var1.width = this.width; + var1.height = this.height; + var1.yOffset = this.width - this.subWidth - this.yOffset; + var1.xOffset = this.xOffset; + + 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("w") + @ObfuscatedSignature( + signature = "()Lly;" + ) + @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.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + return var1; + } + + @ObfuscatedName("e") + @Export("setRaster") + public void setRaster() { + Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); + } + + @ObfuscatedName("p") + @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.xOffset) * this.width + this.yOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.yOffset = 0; + this.xOffset = 0; + } + } + + @ObfuscatedName("k") + public void method6115(int var1) { + if (this.subWidth != this.width || this.subHeight != this.height) { + int var2 = var1; + if (var1 > this.yOffset) { + var2 = this.yOffset; + } + + int var3 = var1; + if (var1 + this.yOffset + this.subWidth > this.width) { + var3 = this.width - this.yOffset - this.subWidth; + } + + int var4 = var1; + if (var1 > this.xOffset) { + var4 = this.xOffset; + } + + int var5 = var1; + if (var1 + this.xOffset + this.subHeight > this.height) { + var5 = this.height - this.xOffset - 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.yOffset -= var2; + this.xOffset -= var4; + } + } + + @ObfuscatedName("l") + public void method6117() { + 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.yOffset = this.width - this.subWidth - this.yOffset; + } + + @ObfuscatedName("b") + public void method6128() { + 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.xOffset = this.height - this.subHeight - this.xOffset; + } + + @ObfuscatedName("i") + @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("c") + @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("u") + @Export("drawAt") + public void drawAt(int var1, int var2) { + var1 += this.yOffset; + var2 += this.xOffset; + 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_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("r") + @Export("drawAt2") + public void drawAt2(int var1, int var2) { + var1 += this.yOffset; + var2 += this.xOffset; + 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_andAnotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("y") + public void method6125(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.yOffset > 0) { + var13 = (var11 + (this.yOffset << 16) - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.yOffset << 16); + } + + if (this.xOffset > 0) { + var13 = (var12 + (this.xOffset << 16) - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.xOffset << 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_somethingElse(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + } + + @ObfuscatedName("a") + @Export("drawAtTransOverlay") + public void drawAtTransOverlay(int var1, int var2, int var3, int var4) { + if (var3 == 256) { + this.drawAt2(var1, var2); + } else { + var1 += this.yOffset; + var2 += this.xOffset; + 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_anotherOne(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); + } + } + } + + @ObfuscatedName("o") + public void method6129(int var1, int var2, int var3) { + var1 += this.yOffset; + var2 += this.xOffset; + 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_alpha1(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); + } + } + + @ObfuscatedName("s") + public void method6131(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.yOffset > 0) { + var14 = (var12 + (this.yOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.yOffset << 16); + } + + if (this.xOffset > 0) { + var14 = (var13 + (this.xOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.xOffset << 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_alpha2(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + } + + @ObfuscatedName("al") + public void method6135(int var1, int var2, int var3) { + var1 += this.yOffset; + var2 += this.xOffset; + 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) { + method6134(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); + } else { + method6119(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); + } + + } + } + + @ObfuscatedName("aw") + public void method6217(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.yOffset > 0) { + var14 = (var12 + (this.yOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.yOffset << 16); + } + + if (this.xOffset > 0) { + var14 = (var13 + (this.xOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.xOffset << 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) { + method6111(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); + } else { + method6138(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); + } + + } + } + + @ObfuscatedName("ar") + public void method6146(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("az") + public void method6193(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("ae") + public void method6186(int var1, int var2, int var3, int var4) { + this.method6143(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); + } + + @ObfuscatedName("ao") + void method6143(int var1, int var2, int var3, int var4, int var5, int var6) { + if (var6 != 0) { + var1 -= this.yOffset << 4; + var2 -= this.xOffset << 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") + public void method6144(int var1, int var2, int var3, int var4) { + if (var3 <= this.width && var4 <= this.height) { + int var5 = var3 * this.yOffset / this.width + var1; + int var6 = (var3 * (this.yOffset + this.subWidth) + this.width - 1) / this.width + var1; + int var7 = var2 + var4 * this.xOffset / this.height; + int var8 = var2 + (this.height + (this.xOffset + 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.yOffset << 4); + int var16 = (var13 + 16) * this.width / var3 - (this.yOffset << 4); + int var17 = var14 * this.height / var4 - (this.xOffset << 4); + int var18 = (var14 + 16) * this.height / var4 - (this.xOffset << 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("x") + @Export("Sprite_something") + static void Sprite_something(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("v") + @Export("Sprite_andAnotherOne") + static void Sprite_andAnotherOne(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("g") + @Export("Sprite_somethingElse") + static void Sprite_somethingElse(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("j") + @Export("Sprite_anotherOne") + static void Sprite_anotherOne(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("d") + @Export("Sprite_alpha1") + static void Sprite_alpha1(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("z") + @Export("Sprite_alpha2") + static void Sprite_alpha2(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("av") + static void method6134(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("as") + static void method6119(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("ad") + static void method6111(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("ag") + static void method6138(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 c248aeaada..d8624039d1 100644 --- a/runescape-client/src/main/java/SpriteMask.java +++ b/runescape-client/src/main/java/SpriteMask.java @@ -4,105 +4,49 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hp") +@ObfuscatedName("hg") @Implements("SpriteMask") public class SpriteMask extends DualNode { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 574541221 - ) - @Export("width") - public final int width; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -193097093 - ) - @Export("height") - public final int height; - @ObfuscatedName("q") - @Export("xWidths") - public final int[] xWidths; - @ObfuscatedName("w") - @Export("xStarts") - public final int[] xStarts; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 874767191 + ) + @Export("width") + public final int width; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -918185267 + ) + @Export("height") + public final int height; + @ObfuscatedName("e") + @Export("xWidths") + public final int[] xWidths; + @ObfuscatedName("p") + @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; - } + SpriteMask(int var1, int var2, int[] var3, int[] var4, int var5) { + this.width = var1; + this.height = var2; + this.xWidths = var3; + this.xStarts = var4; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "781236044" - ) - @Export("contains") - public boolean contains(int x, int y) { - if (y >= 0 && y < this.xStarts.length) { - int var3 = this.xStarts[y]; - if (x >= var3 && x <= var3 + this.xWidths[y]) { - return true; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIS)Z", + garbageValue = "25393" + ) + @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; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1301156444" - ) - static void method4390() { - for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var0.stream1 != null) { - TaskHandler.pcmStreamMixer.removeSubStream(var0.stream1); - var0.stream1 = null; - } - - if (var0.stream2 != null) { - TaskHandler.pcmStreamMixer.removeSubStream(var0.stream2); - var0.stream2 = null; - } - } - - ObjectSound.objectSounds.clear(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "529406067" - ) - static void method4389() { - ItemContainer.itemContainers = new NodeHashTable(32); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-113" - ) - static int method4391(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - return var1 == null ? -1 : (var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lir;IIB)Z", - garbageValue = "1" - ) - @Export("loadSprite") - public static boolean loadSprite(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - if (var3 == null) { - return false; - } else { - DevicePcmPlayerProvider.decodeSprite(var3); - return true; - } - } + return false; + } } diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java index 4e4ca80681..efc8b67b64 100644 --- a/runescape-client/src/main/java/Strings.java +++ b/runescape-client/src/main/java/Strings.java @@ -1,60 +1,48 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("id") +@ObfuscatedName("hx") @Implements("Strings") public class Strings { - @ObfuscatedName("bq") - public static String field880; - @ObfuscatedName("cp") - public static String field881; - @ObfuscatedName("jr") - public static String field882; - @ObfuscatedName("jv") - public static String field883; - @ObfuscatedName("ju") - public static String field884; + @ObfuscatedName("bg") + public static String field2811; + @ObfuscatedName("cs") + public static String field2961; + @ObfuscatedName("jm") + public static String field2942; + @ObfuscatedName("jj") + public static String field3027; + @ObfuscatedName("jr") + public static String field2768; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "([BI)[B", - garbageValue = "274331764" - ) - @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.field1 != 0 && var3 > AbstractArchive.field1) { - throw new RuntimeException(); - } else if (var2 == 0) { - byte[] var6 = new byte[var3]; - var1.readBytes(var6, 0, var3); - return var6; - } else { - int var4 = var1.readInt(); - if (var4 < 0 || AbstractArchive.field1 != 0 && var4 > AbstractArchive.field1) { - throw new RuntimeException(); - } else { - byte[] var5 = new byte[var4]; - if (var2 == 1) { - Bzip2Decompressor.Bzip2Decompressor_decompress(var5, var4, var0, var3, 9); - } else { - AbstractArchive.gzipDecompressor.decompress(var1, var5); - } + static { + field2811 = "Please visit the support page for assistance."; + field2961 = "Please visit the support page for assistance."; + field2942 = ""; + field3027 = "Page has opened in a new window."; + field2768 = "(Please check your popup blocker.)"; + } - return var5; - } - } - } + @ObfuscatedName("hg") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-495158745" + ) + static void method4121() { + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + } - static { - field880 = "Please visit the support page for assistance."; - field881 = "Please visit the support page for assistance."; - field882 = ""; - field883 = "Page has opened in a new window."; - field884 = "(Please check your popup blocker.)"; - } + @ObfuscatedName("jl") + @ObfuscatedSignature( + signature = "(Lhj;I)V", + garbageValue = "-2041903885" + ) + static void method4120(Widget var0) { + if (var0.cycle == Client.field741) { + Client.field843[var0.rootIndex] = true; + } + + } } diff --git a/runescape-client/src/main/java/StructDefinition.java b/runescape-client/src/main/java/StructDefinition.java index 1f1b74b480..5fd0f71a03 100644 --- a/runescape-client/src/main/java/StructDefinition.java +++ b/runescape-client/src/main/java/StructDefinition.java @@ -2,292 +2,477 @@ 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("jq") +@ObfuscatedName("in") @Implements("StructDefinition") public class StructDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("StructDefinition_archive") - public static AbstractArchive StructDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("StructDefinition_cached") - public static EvictingDualNodeHashTable StructDefinition_cached; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Llh;" - ) - @Export("params") - IterableNodeHashTable params; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("StructDefinition_archive") + static AbstractArchive StructDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("StructDefinition_cached") + public static EvictingDualNodeHashTable StructDefinition_cached; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("params") + IterableNodeHashTable params; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-16" - ) - @Export("postDecode") - void postDecode() { - } + static { + StructDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "853330780" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + StructDefinition() { + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "9298" + ) + @Export("postDecode") + void postDecode() { + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-2035893488" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 249) { - this.params = AbstractArchive.readStringIntParameters(var1, this.params); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1347797517" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - } + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "-30" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var3 = this.params; - int var4; - if (var3 == null) { - var4 = var2; - } else { - IntegerNode var5 = (IntegerNode)var3.get((long)var1); - if (var5 == null) { - var4 = var2; - } else { - var4 = var5.integer; - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-629371367" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 249) { + this.params = WorldMapArea.readStringIntParameters(var1, this.params); + } - return var4; - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-343626362" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - return Frames.method3238(this.params, var1, var2); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1469740156" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + IterableNodeHashTable var4 = this.params; + int var3; + if (var4 == null) { + var3 = var2; + } else { + IntegerNode var5 = (IntegerNode)var4.get((long)var1); + if (var5 == null) { + var3 = var2; + } else { + var3 = var5.integer; + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "2127224103" - ) - static int method4952(int var0, Script var1, boolean var2) { - int var3 = -1; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Huffman.getWidget(var3); - } else { - var4 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } + return var3; + } - if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { - RouteStrategy.Interpreter_intStackSize -= 2; - var4.scrollX = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - if (var4.scrollX > var4.scrollWidth - var4.width) { - var4.scrollX = var4.scrollWidth - var4.width; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1883536215" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return GrandExchangeOfferWorldComparator.method54(this.params, var1, var2); + } - if (var4.scrollX < 0) { - var4.scrollX = 0; - } + @ObfuscatedName("fp") + @ObfuscatedSignature( + signature = "(Lbq;IB)V", + garbageValue = "16" + ) + @Export("calculateActorPosition") + static final void calculateActorPosition(Actor var0, int var1) { + int var2; + int var3; + int var4; + SequenceDefinition var11; + if (var0.field995 > Client.cycle) { + var2 = var0.field995 - Client.cycle; + var3 = var0.size * -1342954560 + var0.field991 * 128; + var4 = var0.size * -1342954560 + var0.field993 * 128; + var0.x += (var3 - var0.x) / var2; + var0.y += (var4 - var0.y) / var2; + var0.field1007 = 0; + var0.orientation = var0.field997; + } else { + int var5; + int var7; + if (var0.field996 >= Client.cycle) { + if (var0.field996 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > GrandExchangeEvent.getSequenceDefinition(var0.sequence).frameLengths[var0.sequenceFrame]) { + var2 = var0.field996 - var0.field995; + var3 = Client.cycle - var0.field995; + var4 = var0.size * -1342954560 + var0.field991 * 128; + var5 = var0.field993 * 128 + var0.size * -1342954560; + int var6 = var0.size * -1342954560 + var0.field992 * 128; + var7 = var0.size * -1342954560 + var0.field983 * 128; + var0.x = (var6 * var3 + var4 * (var2 - var3)) / var2; + var0.y = (var7 * var3 + var5 * (var2 - var3)) / var2; + } - var4.scrollY = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (var4.scrollY > var4.scrollHeight - var4.height) { - var4.scrollY = var4.scrollHeight - var4.height; - } + var0.field1007 = 0; + var0.orientation = var0.field997; + var0.field950 = var0.orientation; + } else { + var0.movementSequence = var0.readySequence; + if (var0.pathLength == 0) { + var0.field1007 = 0; + } else { + label434: { + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); + if (var0.field1008 > 0 && var11.field3525 == 0) { + ++var0.field1007; + break label434; + } - if (var4.scrollY < 0) { - var4.scrollY = 0; - } + if (var0.field1008 <= 0 && var11.field3532 == 0) { + ++var0.field1007; + break label434; + } + } - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { - var4.color = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILL) { - var4.fill = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTRANS) { - var4.transparency = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { - var4.lineWid = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { - var4.spriteId2 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { - var4.spriteAngle = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTILING) { - var4.spriteTiling = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODEL) { - var4.modelType = 1; - var4.modelId = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { - RouteStrategy.Interpreter_intStackSize -= 6; - var4.modelOffsetX = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4.modelOffsetY = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var4.modelAngleX = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - var4.modelAngleY = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - var4.modelAngleZ = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 4]; - var4.modelZoom = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 5]; - WorldMapRectangle.method295(var4); - return 1; - } else { - int var5; - if (var0 == ScriptOpcodes.CC_SETMODELANIM) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var5 != var4.sequenceId) { - var4.sequenceId = var5; - var4.modelFrame = 0; - var4.modelFrameCycle = 0; - WorldMapRectangle.method295(var4); - } + var2 = var0.x; + var3 = var0.y; + var4 = var0.size * -1342954560 + var0.pathX[var0.pathLength - 1] * 128; + var5 = var0.size * -1342954560 + var0.pathY[var0.pathLength - 1] * 128; + if (var2 < var4) { + if (var3 < var5) { + var0.orientation = 1280; + } else if (var3 > var5) { + var0.orientation = 1792; + } else { + var0.orientation = 1536; + } + } else if (var2 > 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; + } - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { - var4.modelOrthog = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXT) { - String var8 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - if (!var8.equals(var4.text)) { - var4.text = var8; - WorldMapRectangle.method295(var4); - } + byte var13 = var0.pathTraversed[var0.pathLength - 1]; + if (var4 - var2 <= 256 && var4 - var2 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { + var7 = var0.orientation - var0.field950 & 2047; + if (var7 > 1024) { + var7 -= 2048; + } - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { - var4.fontId = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { - RouteStrategy.Interpreter_intStackSize -= 3; - var4.textXAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4.textYAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var4.textLineHeight = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { - var4.textShadowed = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { - var4.outline = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { - var4.spriteShadow = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { - var4.spriteFlipV = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { - var4.spriteFlipH = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { - RouteStrategy.Interpreter_intStackSize -= 2; - var4.scrollWidth = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4.scrollHeight = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - WorldMapRectangle.method295(var4); - if (var3 != -1 && var4.type == 0) { - class39.revalidateWidgetScroll(Widget.interfaceComponents[var3 >> 16], var4, false); - } + 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; + } - return 1; - } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { - TilePaint.method3060(var4.id, var4.childIndex); - Client.field127 = var4; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == 1122) { - var4.spriteId = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { - var4.color2 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == 1124) { - var4.field960 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - WorldMapRectangle.method295(var4); - return 1; - } else if (var0 == 1125) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - RectangleMode var7 = (RectangleMode)ScriptFrame.findEnumerated(DefaultsGroup.method5822(), var5); - if (var7 != null) { - var4.rectangleMode = var7; - WorldMapRectangle.method295(var4); - } + if (var8 == -1) { + var8 = var0.walkSequence; + } - return 1; - } else { - boolean var6; - if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { - var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - var4.field961 = var6; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { - var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - var4.modelTransparency = var6; - return 1; - } else { - return 2; - } - } - } - } + var0.movementSequence = var8; + int var9 = 4; + boolean var10 = true; + if (var0 instanceof NPC) { + var10 = ((NPC)var0).definition.isClickable; + } - static { - StructDefinition_cached = new EvictingDualNodeHashTable(64); - } + if (var10) { + if (var0.orientation != var0.field950 && var0.targetIndex == -1 && var0.field948 != 0) { + var9 = 2; + } + + if (var0.pathLength > 2) { + var9 = 6; + } + + if (var0.pathLength > 3) { + var9 = 8; + } + + if (var0.field1007 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1007; + } + } else { + if (var0.pathLength > 1) { + var9 = 6; + } + + if (var0.pathLength > 2) { + var9 = 8; + } + + if (var0.field1007 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field1007; + } + } + + if (var13 == 2) { + var9 <<= 1; + } + + if (var9 >= 8 && var0.walkSequence == var0.movementSequence && var0.runSequence != -1) { + var0.movementSequence = var0.runSequence; + } + + if (var2 != var4 || var3 != var5) { + if (var2 < var4) { + var0.x += var9; + if (var0.x > var4) { + var0.x = var4; + } + } else if (var2 > var4) { + var0.x -= var9; + if (var0.x < var4) { + var0.x = var4; + } + } + + 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 (var4 == var0.x && var5 == var0.y) { + --var0.pathLength; + if (var0.field1008 > 0) { + --var0.field1008; + } + } + } else { + var0.x = var4; + var0.y = var5; + --var0.pathLength; + if (var0.field1008 > 0) { + --var0.field1008; + } + } + } + } + } + } + + if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field995 = 0; + var0.field996 = 0; + var0.x = var0.pathX[0] * 128 + var0.size * -1342954560; + var0.y = var0.pathY[0] * 128 + var0.size * -1342954560; + var0.method1658(); + } + + if (Client.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field995 = 0; + var0.field996 = 0; + var0.x = var0.size * -1342954560 + var0.pathX[0] * 128; + var0.y = var0.pathY[0] * 128 + var0.size * -1342954560; + var0.method1658(); + } + + Friend.method5226(var0); + var0.field967 = false; + if (var0.movementSequence != -1) { + var11 = GrandExchangeEvent.getSequenceDefinition(var0.movementSequence); + if (var11 != null && var11.frameIds != null) { + ++var0.movementFrameCycle; + if (var0.movementFrame < var11.frameIds.length && var0.movementFrameCycle > var11.frameLengths[var0.movementFrame]) { + var0.movementFrameCycle = 1; + ++var0.movementFrame; + WorldMapSection0.addSequenceSoundEffect(var11, var0.movementFrame, var0.x, var0.y); + } + + if (var0.movementFrame >= var11.frameIds.length) { + var0.movementFrameCycle = 0; + var0.movementFrame = 0; + WorldMapSection0.addSequenceSoundEffect(var11, var0.movementFrame, var0.x, var0.y); + } + } else { + var0.movementSequence = -1; + } + } + + if (var0.spotAnimation != -1 && Client.cycle >= var0.field989) { + if (var0.spotAnimationFrame < 0) { + var0.spotAnimationFrame = 0; + } + + var2 = MusicPatch.getSpotAnimationDefinition(var0.spotAnimation).sequence; + if (var2 != -1) { + SequenceDefinition var12 = GrandExchangeEvent.getSequenceDefinition(var2); + if (var12 != null && var12.frameIds != null) { + ++var0.spotAnimationFrameCycle; + if (var0.spotAnimationFrame < var12.frameIds.length && var0.spotAnimationFrameCycle > var12.frameLengths[var0.spotAnimationFrame]) { + var0.spotAnimationFrameCycle = 1; + ++var0.spotAnimationFrame; + WorldMapSection0.addSequenceSoundEffect(var12, var0.spotAnimationFrame, var0.x, var0.y); + } + + if (var0.spotAnimationFrame >= var12.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var12.frameIds.length)) { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay <= 1) { + var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); + if (var11.field3525 == 1 && var0.field1008 > 0 && var0.field995 <= Client.cycle && var0.field996 < Client.cycle) { + var0.sequenceDelay = 1; + return; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var11 = GrandExchangeEvent.getSequenceDefinition(var0.sequence); + if (var11 != null && var11.frameIds != null) { + ++var0.sequenceFrameCycle; + if (var0.sequenceFrame < var11.frameIds.length && var0.sequenceFrameCycle > var11.frameLengths[var0.sequenceFrame]) { + var0.sequenceFrameCycle = 1; + ++var0.sequenceFrame; + WorldMapSection0.addSequenceSoundEffect(var11, var0.sequenceFrame, var0.x, var0.y); + } + + if (var0.sequenceFrame >= var11.frameIds.length) { + var0.sequenceFrame -= var11.frameCount; + ++var0.field985; + if (var0.field985 >= var11.field3535) { + var0.sequence = -1; + } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var11.frameIds.length) { + WorldMapSection0.addSequenceSoundEffect(var11, var0.sequenceFrame, var0.x, var0.y); + } else { + var0.sequence = -1; + } + } + + var0.field967 = var11.field3526; + } else { + var0.sequence = -1; + } + } + + if (var0.sequenceDelay > 0) { + --var0.sequenceDelay; + } + + } + + @ObfuscatedName("ha") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1674693758" + ) + static final void method4530() { + 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.field776[++Client.field775 - 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.field859[++Client.field697 - 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.method1974(var7, (byte)1); + var8 = var0.readBits(1); + if (var8 == 1) { + Client.field859[++Client.field697 - 1] = var3; + } + } else if (var6 == 2) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + var7 = var0.readBits(3); + var4.method1974(var7, (byte)2); + var8 = var0.readBits(3); + var4.method1974(var8, (byte)2); + int var9 = var0.readBits(1); + if (var9 == 1) { + Client.field859[++Client.field697 - 1] = var3; + } + } else if (var6 == 3) { + Client.field776[++Client.field775 - 1] = var3; + } + } + } + } + + } + } } diff --git a/runescape-client/src/main/java/StudioGame.java b/runescape-client/src/main/java/StudioGame.java index 87f2f9d2b5..04cf155aa8 100644 --- a/runescape-client/src/main/java/StudioGame.java +++ b/runescape-client/src/main/java/StudioGame.java @@ -3,85 +3,99 @@ 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("is") +@ObfuscatedName("hl") @Implements("StudioGame") public enum StudioGame implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lis;" - ) - field887("runescape", "RuneScape", 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lis;" - ) - field888("stellardawn", "Stellar Dawn", 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lis;" - ) - field889("game3", "Game 3", 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lis;" - ) - field890("game4", "Game 4", 3), - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lis;" - ) - field891("game5", "Game 5", 4), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lis;" - ) - field892("oldscape", "RuneScape 2007", 5); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3107("runescape", "RuneScape", 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3106("stellardawn", "Stellar Dawn", 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3112("game3", "Game 3", 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3108("game4", "Game 4", 3), + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3109("game5", "Game 5", 4), + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhl;" + ) + field3110("oldscape", "RuneScape 2007", 5); - @ObfuscatedName("g") - @Export("name") - public final String name; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1688917715 - ) - @Export("id") - final int id; + @ObfuscatedName("b") + @Export("name") + public final String name; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1180818879 + ) + @Export("id") + final int id; - private StudioGame(String var3, String var4, int var5) { - this.name = var3; - this.id = var5; - } + StudioGame(String var3, String var4, int var5) { + this.name = var3; + this.id = var5; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)Lih;", - garbageValue = "-2058685786" - ) - public static FloorUnderlayDefinition method4550(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); - } + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-1636258729" + ) + static int method4137(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = HealthBar.method1957(class268.getWidgetClickMask(var3)); + return 1; + } else if (var0 != ScriptOpcodes.CC_GETOP) { + if (var0 == ScriptOpcodes.CC_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.dataText; + } - var1.postDecode(); - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); - return var1; - } - } + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } } diff --git a/runescape-client/src/main/java/Task.java b/runescape-client/src/main/java/Task.java index 0f71b4b450..f9c539a695 100644 --- a/runescape-client/src/main/java/Task.java +++ b/runescape-client/src/main/java/Task.java @@ -4,35 +4,35 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fm") +@ObfuscatedName("fa") @Implements("Task") public class Task { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("next") - Task next; - @ObfuscatedName("o") - @Export("status") - public volatile int status; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1097728571 - ) - @Export("type") - int type; - @ObfuscatedName("g") - @Export("intArgument") - public int intArgument; - @ObfuscatedName("l") - @Export("objectArgument") - Object objectArgument; - @ObfuscatedName("e") - @Export("result") - public volatile Object result; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfa;" + ) + @Export("next") + Task next; + @ObfuscatedName("k") + @Export("status") + public volatile int status; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -819233797 + ) + @Export("type") + int type; + @ObfuscatedName("b") + @Export("intArgument") + public int intArgument; + @ObfuscatedName("i") + @Export("objectArgument") + Object objectArgument; + @ObfuscatedName("c") + @Export("result") + public volatile Object result; - Task() { - this.status = 0; - } + Task() { + this.status = 0; + } } diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index ebebc5f6dd..ef74ba06ba 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -7,168 +7,162 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fz") +@ObfuscatedName("fs") @Implements("TaskHandler") public class TaskHandler implements Runnable { - @ObfuscatedName("qr") - @ObfuscatedSignature( - signature = "Lct;" - ) - @Export("pcmStreamMixer") - static PcmStreamMixer pcmStreamMixer; - @ObfuscatedName("m") - @Export("javaVendor") - public static String javaVendor; - @ObfuscatedName("f") - @Export("javaVersion") - public static String javaVersion; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("current") - Task current; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("task0") - Task task0; - @ObfuscatedName("o") - @Export("thread") - Thread thread; - @ObfuscatedName("u") - @Export("isClosed") - boolean isClosed; + @ObfuscatedName("q") + @Export("javaVendor") + public static String javaVendor; + @ObfuscatedName("w") + @Export("javaVersion") + public static String javaVersion; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfa;" + ) + @Export("current") + Task current; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfa;" + ) + @Export("task0") + Task task0; + @ObfuscatedName("k") + @Export("thread") + Thread thread; + @ObfuscatedName("l") + @Export("isClosed") + boolean isClosed; - public TaskHandler() { - this.current = null; - this.task0 = null; - this.isClosed = false; - javaVendor = "Unknown"; - javaVersion = "1.6"; + public TaskHandler() { + this.current = null; + this.task0 = null; + this.isClosed = false; + javaVendor = "Unknown"; + javaVersion = "1.6"; - try { - javaVendor = System.getProperty("java.vendor"); - javaVersion = System.getProperty("java.version"); - } catch (Exception var2) { - } + 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(); - } + this.isClosed = false; + this.thread = new Thread(this); + this.thread.setPriority(10); + this.thread.setDaemon(true); + this.thread.start(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-341374627" - ) - @Export("close") - public final void close() { - synchronized(this) { - this.isClosed = true; - this.notifyAll(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "876535177" + ) + @Export("close") + public final void close() { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } - try { - this.thread.join(); - } catch (InterruptedException var3) { - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + } - } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIILjava/lang/Object;I)Lfm;", - garbageValue = "558028939" - ) - @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.task0 != null) { - this.task0.next = var5; - this.task0 = var5; - } else { - this.task0 = this.current = var5; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIILjava/lang/Object;B)Lfa;", + garbageValue = "115" + ) + @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.task0 != null) { + this.task0.next = var5; + this.task0 = var5; + } else { + this.task0 = this.current = var5; + } - this.notify(); - return var5; - } - } + this.notify(); + return var5; + } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)Lfm;", - garbageValue = "-1376691915" - ) - @Export("newSocketTask") - public final Task newSocketTask(String var1, int var2) { - return this.newTask(1, var2, 0, var1); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;II)Lfa;", + garbageValue = "313449224" + ) + @Export("newSocketTask") + public final Task newSocketTask(String var1, int var2) { + return this.newTask(1, var2, 0, var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljava/lang/Runnable;II)Lfm;", - garbageValue = "-909980487" - ) - @Export("newThreadTask") - public final Task newThreadTask(Runnable var1, int var2) { - return this.newTask(2, var2, 0, var1); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/Runnable;II)Lfa;", + garbageValue = "193419386" + ) + @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; - } + 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.task0 = null; - } - break; - } + if (this.current != null) { + var1 = this.current; + this.current = this.current.next; + if (this.current == null) { + this.task0 = null; + } + break; + } - try { - this.wait(); - } catch (InterruptedException var7) { - } - } - } + try { + this.wait(); + } catch (InterruptedException var8) { + } + } + } - try { - int var2 = var1.type; - if (var2 == 1) { - var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); - } else if (var2 == 2) { - Thread var3 = new Thread((Runnable)var1.objectArgument); - var3.setDaemon(true); - var3.start(); - var3.setPriority(var1.intArgument); - var1.result = var3; - } else if (var2 == 4) { - var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); - } + 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 var5) { - throw var5; - } catch (Throwable var6) { - var1.status = 2; - } - } - } + var1.status = 1; + } catch (ThreadDeath var6) { + throw var6; + } catch (Throwable var7) { + var1.status = 2; + } + } + } } diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 6d1f37c646..d0878bf1e0 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -3,256 +3,273 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dh") +@ObfuscatedName("db") @Implements("Texture") public class Texture extends Node { - @ObfuscatedName("a") - @Export("Texture_animatedPixels") - static int[] Texture_animatedPixels; - @ObfuscatedName("o") - @Export("averageRGB") - int averageRGB; - @ObfuscatedName("u") - boolean field893; - @ObfuscatedName("g") - @Export("records") - int[] records; - @ObfuscatedName("l") - int[] field894; - @ObfuscatedName("e") - int[] field895; - @ObfuscatedName("x") - int[] field896; - @ObfuscatedName("d") - @Export("animationDirection") - int animationDirection; - @ObfuscatedName("k") - @Export("animationSpeed") - int animationSpeed; - @ObfuscatedName("n") - @Export("pixels") - int[] pixels; - @ObfuscatedName("i") - @Export("isLoaded") - boolean isLoaded; + @ObfuscatedName("v") + @Export("Texture_animatedPixels") + static int[] Texture_animatedPixels; + @ObfuscatedName("k") + @Export("averageRGB") + int averageRGB; + @ObfuscatedName("l") + boolean field1624; + @ObfuscatedName("b") + @Export("records") + int[] records; + @ObfuscatedName("i") + int[] field1626; + @ObfuscatedName("c") + int[] field1627; + @ObfuscatedName("f") + int[] field1619; + @ObfuscatedName("m") + @Export("animationDirection") + int animationDirection; + @ObfuscatedName("u") + @Export("animationSpeed") + int animationSpeed; + @ObfuscatedName("x") + @Export("pixels") + int[] pixels; + @ObfuscatedName("r") + @Export("isLoaded") + boolean isLoaded; - @ObfuscatedSignature( - signature = "(Lgr;)V" - ) - Texture(Buffer var1) { - this.isLoaded = false; - this.averageRGB = var1.readUnsignedShort(); - this.field893 = var1.readUnsignedByte() == 1; - int var2 = var1.readUnsignedByte(); - if (var2 >= 1 && var2 <= 4) { - this.records = new int[var2]; + @ObfuscatedSignature( + signature = "(Lkf;)V" + ) + Texture(Buffer var1) { + this.isLoaded = false; + this.averageRGB = var1.readUnsignedShort(); + this.field1624 = var1.readUnsignedByte() == 1; + int var2 = var1.readUnsignedByte(); + if (var2 >= 1 && var2 <= 4) { + this.records = new int[var2]; - int var3; - for (var3 = 0; var3 < var2; ++var3) { - this.records[var3] = var1.readUnsignedShort(); - } + int var3; + for (var3 = 0; var3 < var2; ++var3) { + this.records[var3] = var1.readUnsignedShort(); + } - if (var2 > 1) { - this.field894 = new int[var2 - 1]; + if (var2 > 1) { + this.field1626 = new int[var2 - 1]; - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field894[var3] = var1.readUnsignedByte(); - } - } + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1626[var3] = var1.readUnsignedByte(); + } + } - if (var2 > 1) { - this.field895 = new int[var2 - 1]; + if (var2 > 1) { + this.field1627 = new int[var2 - 1]; - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field895[var3] = var1.readUnsignedByte(); - } - } + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1627[var3] = var1.readUnsignedByte(); + } + } - this.field896 = new int[var2]; + this.field1619 = new int[var2]; - for (var3 = 0; var3 < var2; ++var3) { - this.field896[var3] = var1.readInt(); - } + for (var3 = 0; var3 < var2; ++var3) { + this.field1619[var3] = var1.readInt(); + } - this.animationDirection = var1.readUnsignedByte(); - this.animationSpeed = var1.readUnsignedByte(); - this.pixels = null; - } else { - throw new RuntimeException(); - } - } + this.animationDirection = var1.readUnsignedByte(); + this.animationSpeed = var1.readUnsignedByte(); + this.pixels = null; + } else { + throw new RuntimeException(); + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(DILir;)Z" - ) - boolean method320(double var1, int var3, AbstractArchive var4) { - int var5; - for (var5 = 0; var5 < this.records.length; ++var5) { - if (var4.getFileFlat(this.records[var5]) == null) { - return false; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(DILhp;)Z" + ) + boolean method2846(double var1, int var3, AbstractArchive var4) { + int var5; + for (var5 = 0; var5 < this.records.length; ++var5) { + if (var4.getFileFlat(this.records[var5]) == null) { + return false; + } + } - var5 = var3 * var3; - this.pixels = new int[var5]; + var5 = var3 * var3; + this.pixels = new int[var5]; - for (int var6 = 0; var6 < this.records.length; ++var6) { - IndexedSprite var7 = class83.method2028(var4, this.records[var6]); - var7.normalize(); - byte[] var8 = var7.pixels; - int[] var9 = var7.palette; - int var10 = this.field896[var6]; - if ((var10 & -16777216) == 16777216) { - } + for (int var6 = 0; var6 < this.records.length; ++var6) { + int var8 = this.records[var6]; + IndexedSprite var7; + if (!PlayerAppearance.SpriteBuffer_loadSpriteFlat(var4, var8)) { + var7 = null; + } else { + IndexedSprite var10 = new IndexedSprite(); + var10.width = class326.SpriteBuffer_spriteWidth; + var10.height = class326.SpriteBuffer_spriteHeight; + var10.xOffset = Varps.SpriteBuffer_xOffsets[0]; + var10.yOffset = class326.SpriteBuffer_yOffsets[0]; + var10.subWidth = class326.SpriteBuffer_spriteWidths[0]; + var10.subHeight = class216.SpriteBuffer_spriteHeights[0]; + var10.palette = Frames.SpriteBuffer_spritePalette; + var10.pixels = class326.SpriteBuffer_pixels[0]; + class16.method174(); + var7 = var10; + } - if ((var10 & -16777216) == 33554432) { - } + var7.normalize(); + byte[] var17 = var7.pixels; + int[] var11 = var7.palette; + int var12 = this.field1619[var6]; + if ((var12 & -16777216) == 16777216) { + } - int var11; - int var12; - int var13; - int var14; - if ((var10 & -16777216) == 50331648) { - var11 = var10 & 16711935; - var12 = var10 >> 8 & 255; + if ((var12 & -16777216) == 33554432) { + } - for (var13 = 0; var13 < var9.length; ++var13) { - var14 = var9[var13]; - if (var14 >> 8 == (var14 & 65535)) { - var14 &= 255; - var9[var13] = var11 * var14 >> 8 & 16711935 | var12 * var14 & 65280; - } - } - } + int var13; + int var14; + int var15; + int var16; + if ((var12 & -16777216) == 50331648) { + var13 = var12 & 16711935; + var14 = var12 >> 8 & 255; - for (var11 = 0; var11 < var9.length; ++var11) { - var9[var11] = Rasterizer3D.Rasterizer3D_brighten(var9[var11], var1); - } + 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; + } + } + } - if (var6 == 0) { - var11 = 0; - } else { - var11 = this.field894[var6 - 1]; - } + for (var13 = 0; var13 < var11.length; ++var13) { + var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], var1); + } - if (var11 == 0) { - if (var3 == var7.subWidth) { - for (var12 = 0; var12 < var5; ++var12) { - this.pixels[var12] = var9[var8[var12] & 255]; - } - } else if (var7.subWidth == 64 && var3 == 128) { - var12 = 0; + if (var6 == 0) { + var13 = 0; + } else { + var13 = this.field1626[var6 - 1]; + } - for (var13 = 0; var13 < var3; ++var13) { - for (var14 = 0; var14 < var3; ++var14) { - this.pixels[var12++] = var9[var8[(var13 >> 1 << 6) + (var14 >> 1)] & 255]; - } - } - } else { - if (var7.subWidth != 128 || var3 != 64) { - throw new RuntimeException(); - } + 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; - var12 = 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(); + } - for (var13 = 0; var13 < var3; ++var13) { - for (var14 = 0; var14 < var3; ++var14) { - this.pixels[var12++] = var9[var8[(var14 << 1) + (var13 << 1 << 7)] & 255]; - } - } - } - } + var14 = 0; - if (var11 == 1) { - } + for (var15 = 0; var15 < var3; ++var15) { + for (var16 = 0; var16 < var3; ++var16) { + this.pixels[var14++] = var11[var17[(var16 << 1) + (var15 << 1 << 7)] & 255]; + } + } + } + } - if (var11 == 2) { - } + if (var13 == 1) { + } - if (var11 == 3) { - } - } + if (var13 == 2) { + } - return true; - } + if (var13 == 3) { + } + } - @ObfuscatedName("f") - @Export("reset") - void reset() { - this.pixels = null; - } + return true; + } - @ObfuscatedName("q") - @Export("animate") - void animate(int var1) { - if (this.pixels != null) { - short var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int[] var8; - if (this.animationDirection == 1 || this.animationDirection == 3) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } + @ObfuscatedName("w") + @Export("reset") + void reset() { + this.pixels = null; + } - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } + @ObfuscatedName("e") + @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]; + } - var3 = this.pixels.length; - var4 = var2 * this.animationSpeed * var1; - var5 = var3 - 1; - if (this.animationDirection == 1) { - var4 = -var4; - } + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } - for (var6 = 0; var6 < var3; ++var6) { - var7 = var6 + var4 & var5; - Texture_animatedPixels[var6] = this.pixels[var7]; - } + var3 = this.pixels.length; + var4 = var2 * this.animationSpeed * var1; + var5 = var3 - 1; + if (this.animationDirection == 1) { + var4 = -var4; + } - var8 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var8; - } + for (var6 = 0; var6 < var3; ++var6) { + var7 = var6 + var4 & var5; + Texture_animatedPixels[var6] = this.pixels[var7]; + } - if (this.animationDirection == 2 || this.animationDirection == 4) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } + if (this.animationDirection == 2 || this.animationDirection == 4) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } - var3 = this.pixels.length; - var4 = this.animationSpeed * var1; - var5 = var2 - 1; - if (this.animationDirection == 2) { - var4 = -var4; - } + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } - for (var6 = 0; var6 < var3; var6 += var2) { - for (var7 = 0; var7 < var2; ++var7) { - int var9 = var6 + var7; - int var10 = var6 + (var7 + var4 & var5); - Texture_animatedPixels[var9] = this.pixels[var10]; - } - } + var3 = this.pixels.length; + var4 = this.animationSpeed * var1; + var5 = var2 - 1; + if (this.animationDirection == 2) { + var4 = -var4; + } - var8 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var8; - } - } + 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 a6d1e7110f..d40dc3516a 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -3,37 +3,37 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ei") +@ObfuscatedName("ef") @Implements("TextureLoader") public interface TextureLoader { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)[I", - garbageValue = "-905309626" - ) - @Export("load") - int[] load(int var1); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)[I", + garbageValue = "726289343" + ) + @Export("load") + int[] load(int var1); - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1641984961" - ) - @Export("getAverageTextureRGB") - int getAverageTextureRGB(int var1); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1833085397" + ) + @Export("getAverageTextureRGB") + int getAverageTextureRGB(int var1); - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "14" - ) - boolean vmethod325(int var1); + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "100" + ) + boolean vmethod3278(int var1); - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1427873761" - ) - @Export("isLowDetail") - boolean isLowDetail(int var1); + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "0" + ) + @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 e7e56b7581..2b6295ba2a 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -1,3 +1,5 @@ +import java.io.File; +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; @@ -5,476 +7,423 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("dl") +@ObfuscatedName("do") @Implements("TextureProvider") public class TextureProvider implements TextureLoader { - @ObfuscatedName("af") - @Export("client") - @ObfuscatedSignature( - signature = "Lclient;" - ) - static Client client; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "[Ldh;" - ) - @Export("textures") - Texture[] textures; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lje;" - ) - @Export("deque") - NodeDeque deque; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 762273989 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1130378699 - ) - @Export("remaining") - int remaining; - @ObfuscatedName("o") - @Export("brightness0") - double brightness0; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1124790219 - ) - @Export("textureSize") - int textureSize; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("archive") - AbstractArchive archive; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -95819679 + ) + static int field1539; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[Ldb;" + ) + @Export("textures") + Texture[] textures; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ljh;" + ) + @Export("deque") + NodeDeque deque; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1484225311 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1374200931 + ) + @Export("remaining") + int remaining; + @ObfuscatedName("k") + @Export("brightness") + double brightness; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -907088153 + ) + @Export("textureSize") + int textureSize; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("archive") + AbstractArchive archive; - @ObfuscatedSignature( - signature = "(Lir;Lir;IDI)V" - ) - public TextureProvider(AbstractArchive texturesArchive, AbstractArchive spritesArchive, int var3, double var4, int var6) { - this.deque = new NodeDeque(); - this.remaining = 0; - this.brightness0 = 1.0D; - this.textureSize = 128; - this.archive = spritesArchive; - this.capacity = var3; - this.remaining = this.capacity; - this.brightness0 = var4; - this.textureSize = var6; - int[] var7 = texturesArchive.getGroupFileIds(0); - int var8 = var7.length; - this.textures = new Texture[texturesArchive.getGroupFileCount(0)]; + @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(texturesArchive.takeFile(0, var7[var9])); - this.textures[var7[var9]] = new Texture(var10); - } + for (int var9 = 0; var9 < var8; ++var9) { + Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); + this.textures[var7[var9]] = new Texture(var10); + } - } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1996487053" - ) - @Export("getLoadedPercentage") - public int getLoadedPercentage() { - int var1 = 0; - int var2 = 0; - Texture[] var3 = this.textures; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "2052170496" + ) + @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.records != null) { - var1 += var5.records.length; - int[] var6 = var5.records; + for (int var4 = 0; var4 < var3.length; ++var4) { + Texture var5 = var3[var4]; + if (var5 != null && var5.records != null) { + var1 += var5.records.length; + int[] var6 = var5.records; - for (int var7 = 0; var7 < var6.length; ++var7) { - int var8 = var6[var7]; - if (this.archive.method1(var8)) { - ++var2; - } - } - } - } + for (int var7 = 0; var7 < var6.length; ++var7) { + int var8 = var6[var7]; + if (this.archive.method4147(var8)) { + ++var2; + } + } + } + } - if (var1 == 0) { - return 0; - } else { - return var2 * 100 / var1; - } - } + if (var1 == 0) { + return 0; + } else { + return var2 * 100 / var1; + } + } - @ObfuscatedName("f") - @Export("setBrightness") - public void setBrightness(double brightness) { - this.brightness0 = brightness; - this.clear(); - } + @ObfuscatedName("w") + @Export("setBrightness") + public void setBrightness(double var1) { + this.brightness = var1; + this.clear(); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)[I", - garbageValue = "-905309626" - ) - @Export("load") - public int[] load(int var1) { - Texture var2 = this.textures[var1]; - if (var2 != null) { - if (var2.pixels != null) { - this.deque.addLast(var2); - var2.isLoaded = true; - return var2.pixels; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)[I", + garbageValue = "726289343" + ) + @Export("load") + public int[] load(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.method320(this.brightness0, this.textureSize, this.archive); - if (var3) { - if (this.remaining == 0) { - Texture var4 = (Texture)this.deque.removeFirst(); - var4.reset(); - } else { - --this.remaining; - } + boolean var3 = var2.method2846(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; - } - } + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; + } + } - return null; - } + return null; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1641984961" - ) - @Export("getAverageTextureRGB") - public int getAverageTextureRGB(int var1) { - return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1833085397" + ) + @Export("getAverageTextureRGB") + public int getAverageTextureRGB(int var1) { + return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "14" - ) - public boolean vmethod325(int var1) { - return this.textures[var1].field893; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "100" + ) + public boolean vmethod3278(int var1) { + return this.textures[var1].field1624; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1427873761" - ) - @Export("isLowDetail") - public boolean isLowDetail(int var1) { - return this.textureSize == 64; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "0" + ) + @Export("isLowDetail") + public boolean isLowDetail(int var1) { + return this.textureSize == 64; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-692582552" - ) - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.textures.length; ++var1) { - if (this.textures[var1] != null) { - this.textures[var1].reset(); - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1945022462" + ) + @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; - } + this.deque = new NodeDeque(); + this.remaining = this.capacity; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1044108445" - ) - @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 = "(II)V", + garbageValue = "1054980439" + ) + @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("m") - @ObfuscatedSignature( - signature = "(Lgr;Ljava/lang/String;B)I", - garbageValue = "16" - ) - public static int method2777(Buffer var0, String var1) { - int var2 = var0.index; - byte[] var3 = class230.method4516(var1); - var0.writeSmartByteShort(var3.length); - var0.index += class303.huffman.compress(var3, 0, var3.length, var0.array, var0.index); - return var0.index - var2; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "506694111" + ) + public static synchronized byte[] method2729(int var0) { + return ByteArrayPool.ByteArrayPool_get(var0, false); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;ZB)[B", - garbageValue = "-8" - ) - @Export("byteArrayFromObject") - public static byte[] byteArrayFromObject(Object var0, boolean copyArray) { - if (var0 == null) { - return null; - } else if (var0 instanceof byte[]) { - byte[] var5 = ((byte[])var0); - if (copyArray) { - int var3 = var5.length; - byte[] var4 = new byte[var3]; - System.arraycopy(var5, 0, var4, 0, var3); - return var4; - } else { - return var5; - } - } else if (var0 instanceof AbstractByteArrayCopier) { - AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; - return var2.get(); - } else { - throw new IllegalArgumentException(); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;II)Ljava/io/File;", + garbageValue = "-1682877008" + ) + static File method2760(String var0, String var1, int var2) { + String var3 = var2 == 0 ? "" : "" + var2; + class167.field2038 = new File(PlayerType.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); + String var4 = null; + String var5 = null; + boolean var6 = false; + Buffer var8; + File var23; + if (class167.field2038.exists()) { + try { + AccessFile var7 = new AccessFile(class167.field2038, "rw", 10000L); - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIIB)Z", - garbageValue = "1" - ) - static final boolean method2774(byte[] var0, int var1, int var2) { - boolean var3 = true; - Buffer var4 = new Buffer(var0); - int var5 = -1; + 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(); + } + } - label56: - while (true) { - int var6 = var4.method49(); - if (var6 == 0) { - return var3; - } + var8.offset = 0; + var9 = var8.readUnsignedByte(); + if (var9 < 1 || var9 > 3) { + throw new IOException("" + var9); + } - var5 += var6; - int var7 = 0; - boolean var8 = false; + int var10 = 0; + if (var9 > 1) { + var10 = var8.readUnsignedByte(); + } - while (true) { - int var13; - while (!var8) { - var13 = var4.readUShortSmart(); - if (var13 == 0) { - continue label56; - } + if (var9 <= 2) { + var4 = var8.readStringCp1252NullCircumfixed(); + if (var10 == 1) { + var5 = var8.readStringCp1252NullCircumfixed(); + } + } else { + var4 = var8.readCESU8(); + if (var10 == 1) { + var5 = var8.readCESU8(); + } + } - var7 += var13 - 1; - int var14 = var7 & 63; - int var15 = var7 >> 6 & 63; - int var9 = var4.readUnsignedByte() >> 2; - int var11 = var15 + var1; - int var12 = var14 + var2; - if (var11 > 0 && var12 > 0 && var11 < 103 && var12 < 103) { - ObjectDefinition var10 = class50.getObjectDefinition(var5); - if (var9 != 22 || !Client.isLowDetail || var10.int1 != 0 || var10.interactType == 1 || var10.boolean2) { - if (!var10.method231()) { - ++Client.field179; - var3 = false; - } + var7.close(); + } catch (IOException var21) { + var21.printStackTrace(); + } - var8 = true; - } - } - } + if (var4 != null) { + var23 = new File(var4); + if (!var23.exists()) { + var4 = null; + } + } - var13 = var4.readUShortSmart(); - if (var13 == 0) { - break; - } + if (var4 != null) { + var23 = new File(var4, "test.dat"); + if (!class186.method3618(var23, true)) { + var4 = null; + } + } + } - var4.readUnsignedByte(); - } - } - } + if (var4 == null && var2 == 0) { + label139: + for (int var15 = 0; var15 < LoginPacket.field2309.length; ++var15) { + for (int var16 = 0; var16 < class167.field2043.length; ++var16) { + File var17 = new File(class167.field2043[var16] + LoginPacket.field2309[var15] + File.separatorChar + var0 + File.separatorChar); + if (var17.exists() && class186.method3618(new File(var17, "test.dat"), true)) { + var4 = var17.toString(); + var6 = true; + break label139; + } + } + } + } - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-1177246760" - ) - static int method2752(int var0, Script var1, boolean var2) { - int var3; - int var4; - if (var0 == ScriptOpcodes.ADD) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 + var4; - return 1; - } else if (var0 == ScriptOpcodes.SUB) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 - var4; - return 1; - } else if (var0 == ScriptOpcodes.MULTIPLY) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4 * var3; - return 1; - } else if (var0 == ScriptOpcodes.DIV) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 / var4; - return 1; - } else if (var0 == ScriptOpcodes.RANDOM) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); - return 1; - } else if (var0 == ScriptOpcodes.RANDOMINC) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); - return 1; - } else if (var0 == ScriptOpcodes.INTERPOLATE) { - RouteStrategy.Interpreter_intStackSize -= 5; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - int var11 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - int var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - int var12 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 4]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 + (var12 - var11) * (var4 - var3) / (var6 - var11); - return 1; - } else if (var0 == ScriptOpcodes.ADDPERCENT) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 + var3 * var4 / 100; - return 1; - } else if (var0 == ScriptOpcodes.SETBIT) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 | 1 << var4; - return 1; - } else if (var0 == ScriptOpcodes.CLEARBIT) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); - return 1; - } else if (var0 == ScriptOpcodes.TESTBIT) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.MOD) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 % var4; - return 1; - } else if (var0 == ScriptOpcodes.POW) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); - } + if (var4 == null) { + var4 = PlayerType.userHomeDirectory + File.separatorChar + "jagexcache" + var3 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; + var6 = true; + } - return 1; - } else if (var0 == ScriptOpcodes.INVPOW) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - switch(var4) { - case 0: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; - break; - case 1: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - break; - case 2: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); - break; - case 3: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); - break; - case 4: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); - break; - default: - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); - } + File var22; + if (var5 != null) { + var22 = new File(var5); + var23 = new File(var4); - return 1; - } - } else if (var0 == ScriptOpcodes.AND) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 & var4; - return 1; - } else if (var0 == ScriptOpcodes.OR) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3 | var4; - return 1; - } else if (var0 == ScriptOpcodes.SCALE) { - RouteStrategy.Interpreter_intStackSize -= 3; - long var5 = (long)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - long var7 = (long)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - long var9 = (long)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (int)(var9 * var5 / var7); - return 1; - } else { - return 2; - } - } + try { + File[] var24 = var22.listFiles(); + File[] var18 = var24; - @ObfuscatedName("fj") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-853047987" - ) - static final void method2773() { - Client.packetWriter.close(); - FontName.method5641(); - class65.scene.clear(); + for (int var11 = 0; var11 < var18.length; ++var11) { + File var12 = var18[var11]; + File var13 = new File(var23, var12.getName()); + boolean var14 = var12.renameTo(var13); + if (!var14) { + throw new IOException(); + } + } + } catch (Exception var20) { + var20.printStackTrace(); + } - for (int var0 = 0; var0 < 4; ++var0) { - Client.collisionMaps[var0].clear(); - } + var6 = true; + } - System.gc(); - AbstractSocket.method3488(2); - Client.field112 = -1; - Client.field107 = false; - SpriteMask.method4390(); - GameShell.updateGameState(10); - } + if (var6) { + var22 = new File(var4); + var8 = null; + + try { + AccessFile var25 = new AccessFile(class167.field2038, "rw", 10000L); + Buffer var26 = new Buffer(500); + var26.writeByte(3); + var26.writeByte(var8 != null ? 1 : 0); + var26.writeCESU8(var22.getPath()); + if (var8 != null) { + var26.writeCESU8(""); + } + + var25.write(var26.array, 0, var26.offset); + var25.close(); + } catch (IOException var19) { + var19.printStackTrace(); + } + } + + return new File(var4); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;Ljava/lang/String;IZB)V", + garbageValue = "-92" + ) + public static void method2761(AbstractArchive var0, String var1, String var2, int var3, boolean var4) { + int var5 = var0.getGroupId(var1); + int var6 = var0.getFileId(var5, var2); + class169.method3503(var0, var5, var6, var3, var4); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "465921756" + ) + static int method2743(int var0, Script var1, boolean var2) { + Widget var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETSCROLLX) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTEXT) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLMODE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index 753d7eb522..a37b358fa7 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -4,280 +4,217 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dj") +@ObfuscatedName("dv") @Implements("Tile") public final class Tile extends Node { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1065165981 - ) - @Export("plane") - int plane; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 103024387 - ) - @Export("x") - int x; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -561562755 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1476296141 - ) - @Export("originalPlane") - int originalPlane; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Leb;" - ) - @Export("paint") - TilePaint paint; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ldv;" - ) - @Export("model") - TileModel model; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lej;" - ) - @Export("boundaryObject") - BoundaryObject boundaryObject; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Leq;" - ) - @Export("wallDecoration") - WallDecoration wallDecoration; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("floorDecoration") - FloorDecoration floorDecoration; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ldr;" - ) - @Export("groundItemPile") - GroundItemPile groundItemPile; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -792635627 - ) - @Export("gameObjectsCount") - int gameObjectsCount; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "[Leh;" - ) - @Export("gameObjects") - GameObject[] gameObjects; - @ObfuscatedName("n") - @Export("gameObjectEdgeMasks") - int[] gameObjectEdgeMasks; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1192947815 - ) - @Export("gameObjectsEdgeMask") - int gameObjectsEdgeMask; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1078135311 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("z") - @Export("drawPrimary") - boolean drawPrimary; - @ObfuscatedName("j") - @Export("drawSecondary") - boolean drawSecondary; - @ObfuscatedName("s") - @Export("drawGameObjects") - boolean drawGameObjects; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 769252193 - ) - @Export("drawGameObjectEdges") - int drawGameObjectEdges; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1724493981 - ) - int field897; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -172066661 - ) - int field898; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 2030010491 - ) - int field899; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ldj;" - ) - @Export("linkedBelowTile") - Tile linkedBelowTile; + @ObfuscatedName("dv") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive14") + static Archive archive14; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1749719213 + ) + @Export("plane") + int plane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1393298715 + ) + @Export("x") + int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1385365023 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 529885461 + ) + @Export("originalPlane") + int originalPlane; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Let;" + ) + @Export("paint") + TilePaint paint; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ldk;" + ) + @Export("model") + TileModel model; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("boundaryObject") + BoundaryObject boundaryObject; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lei;" + ) + @Export("wallDecoration") + WallDecoration wallDecoration; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Ldq;" + ) + @Export("floorDecoration") + FloorDecoration floorDecoration; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Ldc;" + ) + @Export("groundItemPile") + GroundItemPile groundItemPile; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 52989903 + ) + @Export("gameObjectsCount") + int gameObjectsCount; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "[Les;" + ) + @Export("gameObjects") + GameObject[] gameObjects; + @ObfuscatedName("x") + @Export("gameObjectEdgeMasks") + int[] gameObjectEdgeMasks; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1372984003 + ) + @Export("gameObjectsEdgeMask") + int gameObjectsEdgeMask; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1827111931 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("y") + @Export("drawPrimary") + boolean drawPrimary; + @ObfuscatedName("g") + @Export("drawSecondary") + boolean drawSecondary; + @ObfuscatedName("a") + @Export("drawGameObjects") + boolean drawGameObjects; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -342353329 + ) + @Export("drawGameObjectEdges") + int drawGameObjectEdges; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1148018233 + ) + int field1651; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -474591227 + ) + int field1665; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -357197323 + ) + int field1666; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ldv;" + ) + @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; - } + 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("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1899580455" - ) - public static void method2867() { - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); - } + @ObfuscatedName("q") + public static String method2855(long var0) { + if (var0 > 0L && var0 < 6582952005840035281L) { + if (0L == var0 % 37L) { + return null; + } else { + int var2 = 0; - @ObfuscatedName("is") - @ObfuscatedSignature( - signature = "(Ljz;IIIB)V", - garbageValue = "117" - ) - @Export("addNpcToMenu") - static final void addNpcToMenu(NPCDefinition npc, int menuArg0, int menuArg1, int menuArg2) { - if (Client.menuOptionsCount < 400) { - if (npc.transforms != null) { - npc = npc.transform(); - } + for (long var3 = var0; var3 != 0L; var3 /= 37L) { + ++var2; + } - if (npc != null && npc.isInteractable && (!npc.isFollower || Client.followerIndex == menuArg0)) { - String var4 = npc.name; - int var5; - int var6; - int var7; - if (npc.combatLevel != 0) { - var5 = npc.combatLevel; - var6 = Canvas.localPlayer.combatLevel; - var7 = var6 - var5; - String var8; - if (var7 < -9) { - var8 = BufferedFile.colorStartTag(16711680); - } else if (var7 < -6) { - var8 = BufferedFile.colorStartTag(16723968); - } else if (var7 < -3) { - var8 = BufferedFile.colorStartTag(16740352); - } else if (var7 < 0) { - var8 = BufferedFile.colorStartTag(16756736); - } else if (var7 > 9) { - var8 = BufferedFile.colorStartTag(65280); - } else if (var7 > 6) { - var8 = BufferedFile.colorStartTag(4259584); - } else if (var7 > 3) { - var8 = BufferedFile.colorStartTag(8453888); - } else if (var7 > 0) { - var8 = BufferedFile.colorStartTag(12648192); - } else { - var8 = BufferedFile.colorStartTag(16776960); - } + StringBuilder var5 = new StringBuilder(var2); - var4 = var4 + var8 + " (level-" + npc.combatLevel + ")"; - } + while (var0 != 0L) { + long var6 = var0; + var0 /= 37L; + var5.append(class289.base37Table[(int)(var6 - var0 * 37L)]); + } - if (npc.isFollower && Client.followerOpsLowPriority) { - Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16776960) + var4, 1003, menuArg0, menuArg1, menuArg2); - } + return var5.reverse().toString(); + } + } else { + return null; + } + } - if (Client.isItemSelected == 1) { - Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16776960) + var4, 7, menuArg0, menuArg1, menuArg2); - } else if (Client.isSpellSelected) { - if ((FloorDecoration.selectedSpellFlags & 2) == 2) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16776960) + var4, 8, menuArg0, menuArg1, menuArg2); - } - } else { - var7 = npc.isFollower && Client.followerOpsLowPriority ? 2000 : 0; - String[] var10 = npc.actions; - if (var10 != null) { - for (var5 = 4; var5 >= 0; --var5) { - if (var10[var5] != null && !var10[var5].equalsIgnoreCase("Attack")) { - var6 = 0; - if (var5 == 0) { - var6 = var7 + 9; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIZII)J", + garbageValue = "-1948443569" + ) + @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; + } - if (var5 == 1) { - var6 = var7 + 10; - } + return var5; + } - if (var5 == 2) { - var6 = var7 + 11; - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IZII)V", + garbageValue = "-1363278802" + ) + public static final void method2853(int var0, boolean var1, int var2) { + if (var0 >= 8000 && var0 <= 48000) { + CollisionMap.PcmPlayer_sampleRate = var0; + class169.isStereo = var1; + PcmPlayer.pcmPlayerCount = var2; + } else { + throw new IllegalArgumentException(); + } + } - if (var5 == 3) { - var6 = var7 + 12; - } - - if (var5 == 4) { - var6 = var7 + 13; - } - - Tiles.insertMenuItemNoShift(var10[var5], BufferedFile.colorStartTag(16776960) + var4, var6, menuArg0, menuArg1, menuArg2); - } - } - } - - if (var10 != null) { - for (var5 = 4; var5 >= 0; --var5) { - if (var10[var5] != null && var10[var5].equalsIgnoreCase("Attack")) { - short var9 = 0; - if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { - if (AttackOption.AttackOption_alwaysRightClick == Client.npcAttackOption || Client.npcAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && npc.combatLevel > Canvas.localPlayer.combatLevel) { - var9 = 2000; - } - - var6 = 0; - if (var5 == 0) { - var6 = var9 + 9; - } - - if (var5 == 1) { - var6 = var9 + 10; - } - - if (var5 == 2) { - var6 = var9 + 11; - } - - if (var5 == 3) { - var6 = var9 + 12; - } - - if (var5 == 4) { - var6 = var9 + 13; - } - - Tiles.insertMenuItemNoShift(var10[var5], BufferedFile.colorStartTag(16776960) + var4, var6, menuArg0, menuArg1, menuArg2); - } - } - } - } - - if (!npc.isFollower || !Client.followerOpsLowPriority) { - Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16776960) + var4, 1003, menuArg0, menuArg1, menuArg2); - } - } - } - } - - } + @ObfuscatedName("jc") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1430853825" + ) + @Export("clanKickUser") + static final void clanKickUser(String var0) { + if (DevicePcmPlayerProvider.clanChat != null) { + PacketBufferNode var1 = Archive.method4265(ClientPacket.field2216, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.method2219(var1); + } + } } diff --git a/runescape-client/src/main/java/TileModel.java b/runescape-client/src/main/java/TileModel.java index ba633f0b6b..cc8b309c4a 100644 --- a/runescape-client/src/main/java/TileModel.java +++ b/runescape-client/src/main/java/TileModel.java @@ -2,307 +2,307 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dv") +@ObfuscatedName("dk") @Implements("TileModel") public final class TileModel { - @ObfuscatedName("z") - static int[] field900; - @ObfuscatedName("j") - static int[] field901; - @ObfuscatedName("s") - static int[] field902; - @ObfuscatedName("t") - static int[] field903; - @ObfuscatedName("y") - static int[] field904; - @ObfuscatedName("h") - static final int[][] field905; - @ObfuscatedName("b") - static final int[][] field906; - @ObfuscatedName("m") - @Export("vertexX") - int[] vertexX; - @ObfuscatedName("f") - @Export("vertexY") - int[] vertexY; - @ObfuscatedName("q") - @Export("vertexZ") - int[] vertexZ; - @ObfuscatedName("w") - @Export("triangleColorA") - int[] triangleColorA; - @ObfuscatedName("o") - @Export("triangleColorB") - int[] triangleColorB; - @ObfuscatedName("u") - @Export("triangleColorC") - int[] triangleColorC; - @ObfuscatedName("g") - @Export("faceX") - int[] faceX; - @ObfuscatedName("l") - @Export("faceY") - int[] faceY; - @ObfuscatedName("e") - @Export("faceZ") - int[] faceZ; - @ObfuscatedName("x") - @Export("triangleTextureId") - int[] triangleTextureId; - @ObfuscatedName("d") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("k") - @Export("shape") - int shape; - @ObfuscatedName("n") - @Export("rotation") - int rotation; - @ObfuscatedName("i") - @Export("underlayRgb") - int underlayRgb; - @ObfuscatedName("a") - @Export("overlayRgb") - int overlayRgb; + @ObfuscatedName("y") + static int[] field1606; + @ObfuscatedName("g") + static int[] field1605; + @ObfuscatedName("a") + static int[] field1594; + @ObfuscatedName("j") + static int[] field1607; + @ObfuscatedName("t") + static int[] field1608; + @ObfuscatedName("h") + static final int[][] field1592; + @ObfuscatedName("o") + static final int[][] field1589; + @ObfuscatedName("q") + @Export("vertexX") + int[] vertexX; + @ObfuscatedName("w") + @Export("vertexY") + int[] vertexY; + @ObfuscatedName("e") + @Export("vertexZ") + int[] vertexZ; + @ObfuscatedName("p") + @Export("triangleColorA") + int[] triangleColorA; + @ObfuscatedName("k") + @Export("triangleColorB") + int[] triangleColorB; + @ObfuscatedName("l") + @Export("triangleColorC") + int[] triangleColorC; + @ObfuscatedName("b") + @Export("faceX") + int[] faceX; + @ObfuscatedName("i") + @Export("faceY") + int[] faceY; + @ObfuscatedName("c") + @Export("faceZ") + int[] faceZ; + @ObfuscatedName("f") + @Export("triangleTextureId") + int[] triangleTextureId; + @ObfuscatedName("m") + @Export("isFlat") + boolean isFlat; + @ObfuscatedName("u") + @Export("shape") + int shape; + @ObfuscatedName("x") + @Export("rotation") + int rotation; + @ObfuscatedName("r") + @Export("underlayRgb") + int underlayRgb; + @ObfuscatedName("v") + @Export("overlayRgb") + int overlayRgb; - 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; - } + static { + field1606 = new int[6]; + field1605 = new int[6]; + field1594 = new int[6]; + field1607 = new int[6]; + field1608 = new int[6]; + field1592 = 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}}; + field1589 = 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}}; + } - 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 = field905[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; + 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; + } - int var30; - int var31; - int var32; - int var33; - int var34; - int var35; - for (int var36 = 0; var36 < var25; ++var36) { - var30 = var24[var36]; - if ((var30 & 1) == 0 && var30 <= 8) { - var30 = (var30 - var2 - var2 - 1 & 7) + 1; - } + 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 = field1592[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; - if (var30 > 8 && var30 <= 12) { - var30 = (var30 - 9 - var2 & 3) + 9; - } + 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 (var30 > 12 && var30 <= 16) { - var30 = (var30 - 13 - var2 & 3) + 13; - } + if (var31 > 8 && var31 <= 12) { + var31 = (var31 - 9 - var2 & 3) + 9; + } - if (var30 == 1) { - var31 = var28; - var32 = var29; - var33 = var6; - var34 = var10; - var35 = var14; - } else if (var30 == 2) { - var31 = var28 + var21; - var32 = var29; - var33 = var7 + var6 >> 1; - var34 = var11 + var10 >> 1; - var35 = var15 + var14 >> 1; - } else if (var30 == 3) { - var31 = var28 + var20; - var32 = var29; - var33 = var7; - var34 = var11; - var35 = var15; - } else if (var30 == 4) { - var31 = var28 + var20; - var32 = var29 + var21; - var33 = var8 + var7 >> 1; - var34 = var11 + var12 >> 1; - var35 = var15 + var16 >> 1; - } else if (var30 == 5) { - var31 = var28 + var20; - var32 = var29 + var20; - var33 = var8; - var34 = var12; - var35 = var16; - } else if (var30 == 6) { - var31 = var28 + var21; - var32 = var29 + var20; - var33 = var8 + var9 >> 1; - var34 = var13 + var12 >> 1; - var35 = var17 + var16 >> 1; - } else if (var30 == 7) { - var31 = var28; - var32 = var29 + var20; - var33 = var9; - var34 = var13; - var35 = var17; - } else if (var30 == 8) { - var31 = var28; - var32 = var29 + var21; - var33 = var9 + var6 >> 1; - var34 = var13 + var10 >> 1; - var35 = var17 + var14 >> 1; - } else if (var30 == 9) { - var31 = var28 + var21; - var32 = var29 + var22; - var33 = var7 + var6 >> 1; - var34 = var11 + var10 >> 1; - var35 = var15 + var14 >> 1; - } else if (var30 == 10) { - var31 = var28 + var23; - var32 = var29 + var21; - var33 = var8 + var7 >> 1; - var34 = var11 + var12 >> 1; - var35 = var15 + var16 >> 1; - } else if (var30 == 11) { - var31 = var28 + var21; - var32 = var29 + var23; - var33 = var8 + var9 >> 1; - var34 = var13 + var12 >> 1; - var35 = var17 + var16 >> 1; - } else if (var30 == 12) { - var31 = var28 + var22; - var32 = var29 + var21; - var33 = var9 + var6 >> 1; - var34 = var13 + var10 >> 1; - var35 = var17 + var14 >> 1; - } else if (var30 == 13) { - var31 = var28 + var22; - var32 = var29 + var22; - var33 = var6; - var34 = var10; - var35 = var14; - } else if (var30 == 14) { - var31 = var28 + var23; - var32 = var29 + var22; - var33 = var7; - var34 = var11; - var35 = var15; - } else if (var30 == 15) { - var31 = var28 + var23; - var32 = var29 + var23; - var33 = var8; - var34 = var12; - var35 = var16; - } else { - var31 = var28 + var22; - var32 = var29 + var23; - var33 = var9; - var34 = var13; - var35 = var17; - } + if (var31 > 12 && var31 <= 16) { + var31 = (var31 - 13 - var2 & 3) + 13; + } - this.vertexX[var36] = var31; - this.vertexY[var36] = var33; - this.vertexZ[var36] = var32; - var26[var36] = var34; - var27[var36] = var35; - } + 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; + } - int[] var38 = field906[var1]; - var30 = var38.length / 4; - this.faceX = new int[var30]; - this.faceY = new int[var30]; - this.faceZ = new int[var30]; - this.triangleColorA = new int[var30]; - this.triangleColorB = new int[var30]; - this.triangleColorC = new int[var30]; - if (var3 != -1) { - this.triangleTextureId = new int[var30]; - } + this.vertexX[var30] = var32; + this.vertexY[var30] = var34; + this.vertexZ[var30] = var33; + var26[var30] = var35; + var27[var30] = var36; + } - var31 = 0; + int[] var38 = field1589[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]; + } - for (var32 = 0; var32 < var30; ++var32) { - var33 = var38[var31]; - var34 = var38[var31 + 1]; - var35 = var38[var31 + 2]; - int var37 = var38[var31 + 3]; - var31 += 4; - if (var34 < 4) { - var34 = var34 - var2 & 3; - } + var32 = 0; - if (var35 < 4) { - var35 = var35 - var2 & 3; - } + 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 (var37 < 4) { - var37 = var37 - var2 & 3; - } + if (var36 < 4) { + var36 = var36 - var2 & 3; + } - this.faceX[var32] = var34; - this.faceY[var32] = var35; - this.faceZ[var32] = var37; - if (var33 == 0) { - this.triangleColorA[var32] = var26[var34]; - this.triangleColorB[var32] = var26[var35]; - this.triangleColorC[var32] = var26[var37]; - if (this.triangleTextureId != null) { - this.triangleTextureId[var32] = -1; - } - } else { - this.triangleColorA[var32] = var27[var34]; - this.triangleColorB[var32] = var27[var35]; - this.triangleColorC[var32] = var27[var37]; - if (this.triangleTextureId != null) { - this.triangleTextureId[var32] = var3; - } - } - } + if (var37 < 4) { + var37 = var37 - var2 & 3; + } - var32 = var6; - var33 = var7; - if (var7 < var6) { - var32 = var7; - } + 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; + } + } + } - if (var7 > var7) { - var33 = var7; - } + var33 = var6; + var34 = var7; + if (var7 < var6) { + var33 = var7; + } - if (var8 < var32) { - var32 = var8; - } + if (var7 > var7) { + var34 = var7; + } - if (var8 > var33) { - var33 = var8; - } + if (var8 < var33) { + var33 = var8; + } - if (var9 < var32) { - var32 = var9; - } + if (var8 > var34) { + var34 = var8; + } - if (var9 > var33) { - var33 = var9; - } + if (var9 < var33) { + var33 = var9; + } - var32 /= 14; - var33 /= 14; - } + if (var9 > var34) { + var34 = var9; + } - static { - field900 = new int[6]; - field901 = new int[6]; - field902 = new int[6]; - field903 = new int[6]; - field904 = new int[6]; - field905 = 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}}; - field906 = 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}}; - } + var33 /= 14; + var34 /= 14; + } } diff --git a/runescape-client/src/main/java/TilePaint.java b/runescape-client/src/main/java/TilePaint.java index 586e34d0eb..3a78f78d8f 100644 --- a/runescape-client/src/main/java/TilePaint.java +++ b/runescape-client/src/main/java/TilePaint.java @@ -4,128 +4,90 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eb") +@ObfuscatedName("et") @Implements("TilePaint") public final class TilePaint { - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lla;" - ) - static Bounds field907; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 181759449 - ) - @Export("swColor") - int swColor; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1875844515 - ) - @Export("seColor") - int seColor; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1668262341 - ) - @Export("neColor") - int neColor; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1057776035 - ) - @Export("nwColor") - int nwColor; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 463308567 - ) - @Export("texture") - int texture; - @ObfuscatedName("u") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2097947337 - ) - @Export("rgb") - int rgb; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1202729845 + ) + @Export("swColor") + int swColor; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1835963633 + ) + @Export("seColor") + int seColor; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 2057235411 + ) + @Export("neColor") + int neColor; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1305916277 + ) + @Export("nwColor") + int nwColor; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -647321713 + ) + @Export("texture") + int texture; + @ObfuscatedName("l") + @Export("isFlat") + boolean isFlat; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 205236161 + ) + @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; - } + 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("hl") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "0" - ) - @Export("updateItemPile") - static final void updateItemPile(int var0, int var1) { - NodeDeque var2 = Client.groundItems[SoundSystem.plane][var0][var1]; - if (var2 == null) { - class65.scene.removeGroundItemPile(SoundSystem.plane, var0, var1); - } else { - long var3 = -99999999L; - GroundItem var5 = null; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lhp;III)[Lly;", + garbageValue = "1591290793" + ) + public static Sprite[] method3062(AbstractArchive var0, int var1, int var2) { + if (!Friend.SpriteBuffer_loadSprite(var0, var1, var2)) { + return null; + } else { + Sprite[] var4 = new Sprite[class326.SpriteBuffer_spriteCount]; - GroundItem var6; - for (var6 = (GroundItem)var2.last(); var6 != null; var6 = (GroundItem)var2.previous()) { - ItemDefinition var7 = Skills.getItemDefinition(var6.id); - long var8 = (long)var7.price; - if (var7.isStackable == 1) { - var8 *= (long)(var6.quantity + 1); - } + for (int var5 = 0; var5 < class326.SpriteBuffer_spriteCount; ++var5) { + Sprite var6 = var4[var5] = new Sprite(); + var6.width = class326.SpriteBuffer_spriteWidth; + var6.height = class326.SpriteBuffer_spriteHeight; + var6.yOffset = Varps.SpriteBuffer_xOffsets[var5]; + var6.xOffset = class326.SpriteBuffer_yOffsets[var5]; + var6.subWidth = class326.SpriteBuffer_spriteWidths[var5]; + var6.subHeight = class216.SpriteBuffer_spriteHeights[var5]; + int var7 = var6.subHeight * var6.subWidth; + byte[] var8 = class326.SpriteBuffer_pixels[var5]; + var6.pixels = new int[var7]; - if (var8 > var3) { - var3 = var8; - var5 = var6; - } - } + for (int var9 = 0; var9 < var7; ++var9) { + var6.pixels[var9] = Frames.SpriteBuffer_spritePalette[var8[var9] & 255]; + } + } - if (var5 == null) { - class65.scene.removeGroundItemPile(SoundSystem.plane, var0, var1); - } else { - var2.addLast(var5); - GroundItem var11 = null; - GroundItem var12 = null; - - for (var6 = (GroundItem)var2.last(); var6 != null; var6 = (GroundItem)var2.previous()) { - if (var5.id != var6.id) { - if (var11 == null) { - var11 = var6; - } - - if (var11.id != var6.id && var12 == null) { - var12 = var6; - } - } - } - - long var9 = FontName.calculateTag(var0, var1, 3, false, 0); - class65.scene.newGroundItemPile(SoundSystem.plane, var0, var1, class32.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, SoundSystem.plane), var5, var9, var11, var12); - } - } - - } - - @ObfuscatedName("id") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-2025682764" - ) - static void method3060(int var0, int var1) { - PacketBufferNode var2 = Interpreter.method1915(ClientPacket.field292, Client.packetWriter.isaacCipher); - var2.packetBuffer.writeIntLE16(var0); - var2.packetBuffer.method63(var1); - Client.packetWriter.method241(var2); - } + class16.method174(); + return var4; + } + } } diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java index a5bba19237..aac5846170 100644 --- a/runescape-client/src/main/java/Tiles.java +++ b/runescape-client/src/main/java/Tiles.java @@ -4,86 +4,199 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bq") +@ObfuscatedName("bg") @Implements("Tiles") public final class Tiles { - @ObfuscatedName("m") - @Export("Tiles_heights") - static int[][][] Tiles_heights; - @ObfuscatedName("f") - @Export("Tiles_renderFlags") - static byte[][][] Tiles_renderFlags; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1454618167 - ) - @Export("Tiles_minPlane") - static int Tiles_minPlane; - @ObfuscatedName("w") - static byte[][][] field908; - @ObfuscatedName("l") - static byte[][][] field909; - @ObfuscatedName("a") - static int[][][] field910; - @ObfuscatedName("t") - static final int[] field911; - @ObfuscatedName("y") - static final int[] field912; - @ObfuscatedName("h") - static final int[] field913; - @ObfuscatedName("b") - static final int[] field914; - @ObfuscatedName("c") - static final int[] field915; - @ObfuscatedName("r") - static final int[] field916; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -2142579405 - ) - static int field917; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 834543729 - ) - static int field918; + @ObfuscatedName("rr") + @ObfuscatedGetter( + intValue = 1255791215 + ) + static int field501; + @ObfuscatedName("q") + @Export("Tiles_heights") + static int[][][] Tiles_heights; + @ObfuscatedName("w") + @Export("Tiles_renderFlags") + static byte[][][] Tiles_renderFlags; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1687687411 + ) + @Export("Tiles_minPlane") + static int Tiles_minPlane; + @ObfuscatedName("p") + static byte[][][] field504; + @ObfuscatedName("k") + static byte[][][] field505; + @ObfuscatedName("l") + static byte[][][] field506; + @ObfuscatedName("c") + static int[][] field515; + @ObfuscatedName("m") + static int[] field508; + @ObfuscatedName("u") + static int[] field507; + @ObfuscatedName("j") + static final int[] field512; + @ObfuscatedName("t") + static final int[] field513; + @ObfuscatedName("h") + static final int[] field514; + @ObfuscatedName("o") + static final int[] field520; + @ObfuscatedName("n") + static final int[] field509; + @ObfuscatedName("d") + static final int[] field517; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 2138239411 + ) + static int field519; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -217342215 + ) + static int field510; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(IZII)V", - garbageValue = "1832579963" - ) - public static final void method1097(int var0, boolean var1, int var2) { - if (var0 >= 8000 && var0 <= 48000) { - class309.PcmPlayer_sampleRate = var0; - PcmPlayer.isStereo = var1; - Login.pcmPlayerCount = var2; - } else { - throw new IllegalArgumentException(); - } - } + static { + Tiles_heights = new int[4][105][105]; + Tiles_renderFlags = new byte[4][104][104]; + Tiles_minPlane = 99; + field512 = new int[]{1, 2, 4, 8}; + field513 = new int[]{16, 32, 64, 128}; + field514 = new int[]{1, 0, -1, 0}; + field520 = new int[]{0, -1, 0, 1}; + field509 = new int[]{1, -1, -1, 1}; + field517 = new int[]{-1, -1, 1, 1}; + field519 = (int)(Math.random() * 17.0D) - 8; + field510 = (int)(Math.random() * 33.0D) - 16; + } - @ObfuscatedName("in") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", - garbageValue = "-1525245246" - ) - @Export("insertMenuItemNoShift") - public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { - class16.insertMenuItem(var0, var1, var2, var3, var4, var5, false); - } + @ObfuscatedName("gk") + @ObfuscatedSignature( + signature = "(ZLkx;I)V", + garbageValue = "-1936823520" + ) + @Export("loadRegions") + static final void loadRegions(boolean var0, PacketBuffer var1) { + Client.isInInstance = var0; + int var2; + int var3; + int var5; + int var6; + int var7; + int var8; + if (!Client.isInInstance) { + var2 = var1.method5534(); + var3 = var1.method5518(); + int var4 = var1.readUnsignedShort(); + WorldMapRegion.xteaKeys = new int[var4][4]; - static { - Tiles_heights = new int[4][105][105]; - Tiles_renderFlags = new byte[4][104][104]; - Tiles_minPlane = 99; - field911 = new int[]{1, 2, 4, 8}; - field912 = new int[]{16, 32, 64, 128}; - field913 = new int[]{1, 0, -1, 0}; - field914 = new int[]{0, -1, 0, 1}; - field915 = new int[]{1, -1, -1, 1}; - field916 = new int[]{-1, -1, 1, 1}; - field917 = (int)(Math.random() * 17.0D) - 8; - field918 = (int)(Math.random() * 33.0D) - 16; - } + for (var5 = 0; var5 < var4; ++var5) { + for (var6 = 0; var6 < 4; ++var6) { + WorldMapRegion.xteaKeys[var5][var6] = var1.readInt(); + } + } + + DirectByteArrayCopier.regions = new int[var4]; + SecureRandomFuture.regionMapArchiveIds = new int[var4]; + WorldMapRectangle.regionLandArchiveIds = new int[var4]; + class13.regionLandArchives = new byte[var4][]; + class80.regionMapArchives = new byte[var4][]; + boolean var16 = false; + if ((var3 / 8 == 48 || var3 / 8 == 49) && var2 / 8 == 48) { + var16 = true; + } + + if (var3 / 8 == 48 && var2 / 8 == 148) { + var16 = true; + } + + var4 = 0; + + for (var6 = (var3 - 6) / 8; var6 <= (var3 + 6) / 8; ++var6) { + for (var7 = (var2 - 6) / 8; var7 <= (var2 + 6) / 8; ++var7) { + var8 = var7 + (var6 << 8); + if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { + DirectByteArrayCopier.regions[var4] = var8; + SecureRandomFuture.regionMapArchiveIds[var4] = WorldMapCacheName.archive5.getGroupId("m" + var6 + "_" + var7); + WorldMapRectangle.regionLandArchiveIds[var4] = WorldMapCacheName.archive5.getGroupId("l" + var6 + "_" + var7); + ++var4; + } + } + } + + UserComparator8.method3399(var3, var2, true); + } else { + var2 = var1.method5518(); + var3 = var1.method5534(); + boolean var15 = var1.readUnsignedByte() == 1; + 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(); + WorldMapRegion.xteaKeys = new int[var5][4]; + + for (var6 = 0; var6 < var5; ++var6) { + for (var7 = 0; var7 < 4; ++var7) { + WorldMapRegion.xteaKeys[var6][var7] = var1.readInt(); + } + } + + DirectByteArrayCopier.regions = new int[var5]; + SecureRandomFuture.regionMapArchiveIds = new int[var5]; + WorldMapRectangle.regionLandArchiveIds = new int[var5]; + class13.regionLandArchives = new byte[var5][]; + class80.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 (DirectByteArrayCopier.regions[var13] == var12) { + var12 = -1; + break; + } + } + + if (var12 != -1) { + DirectByteArrayCopier.regions[var5] = var12; + var13 = var12 >> 8 & 255; + int var14 = var12 & 255; + SecureRandomFuture.regionMapArchiveIds[var5] = WorldMapCacheName.archive5.getGroupId("m" + var13 + "_" + var14); + WorldMapRectangle.regionLandArchiveIds[var5] = WorldMapCacheName.archive5.getGroupId("l" + var13 + "_" + var14); + ++var5; + } + } + } + } + } + + UserComparator8.method3399(var3, var2, !var15); + } + + } } diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index e1e8b9bb6b..73f0f5e74d 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -4,173 +4,642 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jo") +@ObfuscatedName("jr") @Implements("Timer") public class Timer { - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = 6181704275746246665L - ) - long field919; - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = -8166664055136527097L - ) - long field920; - @ObfuscatedName("q") - public boolean field921; - @ObfuscatedName("w") - @ObfuscatedGetter( - longValue = -6206176920376957899L - ) - long field922; - @ObfuscatedName("o") - @ObfuscatedGetter( - longValue = -5820022560321695785L - ) - long field923; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = -7044840680232740733L - ) - long field924; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -500639955 - ) - int field925; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 2043109577 - ) - int field926; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 978183419 - ) - int field927; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1684916659 - ) - int field928; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 6201267541958518593L + ) + long field3603; + @ObfuscatedName("w") + @ObfuscatedGetter( + longValue = 756856931797943717L + ) + long field3602; + @ObfuscatedName("e") + public boolean field3605; + @ObfuscatedName("p") + @ObfuscatedGetter( + longValue = -8529689668980349377L + ) + long field3607; + @ObfuscatedName("k") + @ObfuscatedGetter( + longValue = 7000623641176783585L + ) + long field3604; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = -3948903949639907735L + ) + long field3606; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 886214165 + ) + int field3608; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -380369403 + ) + int field3609; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 2035223733 + ) + int field3601; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1448804345 + ) + int field3610; - public Timer() { - this.field919 = -1L; - this.field920 = -1L; - this.field921 = false; - this.field922 = 0L; - this.field923 = 0L; - this.field924 = 0L; - this.field925 = 0; - this.field926 = 0; - this.field927 = 0; - this.field928 = 0; - } + public Timer() { + this.field3603 = -1L; + this.field3602 = -1L; + this.field3605 = false; + this.field3607 = 0L; + this.field3604 = 0L; + this.field3606 = 0L; + this.field3608 = 0; + this.field3609 = 0; + this.field3601 = 0; + this.field3610 = 0; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2027048361" - ) - public void method329() { - this.field919 = class203.currentTimeMs(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1547117629" + ) + public void method5005() { + this.field3603 = DirectByteArrayCopier.currentTimeMs(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "3" - ) - public void method330() { - if (-1L != this.field919) { - this.field923 = class203.currentTimeMs() - this.field919; - this.field919 = -1L; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-602398430" + ) + public void method4993() { + if (this.field3603 != -1L) { + this.field3604 = DirectByteArrayCopier.currentTimeMs() - this.field3603; + this.field3603 = -1L; + } - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1162738177" - ) - public void method331(int var1) { - this.field920 = class203.currentTimeMs(); - this.field925 = var1; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1668948707" + ) + public void method4996(int var1) { + this.field3602 = DirectByteArrayCopier.currentTimeMs(); + this.field3608 = var1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1855026926" - ) - public void method332() { - if (this.field920 != -1L) { - this.field922 = class203.currentTimeMs() - this.field920; - this.field920 = -1L; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-20" + ) + public void method5014() { + if (-1L != this.field3602) { + this.field3607 = DirectByteArrayCopier.currentTimeMs() - this.field3602; + this.field3602 = -1L; + } - ++this.field927; - this.field921 = true; - } + ++this.field3601; + this.field3605 = true; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "-30171" - ) - public void method333() { - this.field921 = false; - this.field926 = 0; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-481288218" + ) + public void method4998() { + this.field3605 = false; + this.field3609 = 0; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-812012402" - ) - public void method334() { - this.method332(); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2054543133" + ) + public void method5000() { + this.method5014(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "805398419" - ) - @Export("write") - public void write(Buffer buffer) { - long var2 = this.field923; - var2 /= 10L; - if (var2 < 0L) { - var2 = 0L; - } else if (var2 > 65535L) { - var2 = 65535L; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1450575552" + ) + @Export("write") + public void write(Buffer var1) { + long var2 = this.field3604; + var2 /= 10L; + if (var2 < 0L) { + var2 = 0L; + } else if (var2 > 65535L) { + var2 = 65535L; + } - buffer.writeShort((int)var2); - long var4 = this.field922; - var4 /= 10L; - if (var4 < 0L) { - var4 = 0L; - } else if (var4 > 65535L) { - var4 = 65535L; - } + var1.writeShort((int)var2); + long var4 = this.field3607; + var4 /= 10L; + if (var4 < 0L) { + var4 = 0L; + } else if (var4 > 65535L) { + var4 = 65535L; + } - buffer.writeShort((int)var4); - long var6 = this.field924; - var6 /= 10L; - if (var6 < 0L) { - var6 = 0L; - } else if (var6 > 65535L) { - var6 = 65535L; - } + var1.writeShort((int)var4); + long var6 = this.field3606; + var6 /= 10L; + if (var6 < 0L) { + var6 = 0L; + } else if (var6 > 65535L) { + var6 = 65535L; + } - buffer.writeShort((int)var6); - buffer.writeShort(this.field925); - buffer.writeShort(this.field926); - buffer.writeShort(this.field927); - buffer.writeShort(this.field928); - } + var1.writeShort((int)var6); + var1.writeShort(this.field3608); + var1.writeShort(this.field3609); + var1.writeShort(this.field3601); + var1.writeShort(this.field3610); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", + garbageValue = "-1350169073" + ) + public static String method5015(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("ed") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1204156569" + ) + @Export("load") + static void load() { + int var0; + if (Client.titleLoadingStage == 0) { + GrandExchangeOfferWorldComparator.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); + + for (var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0] = new CollisionMap(104, 104); + } + + RouteStrategy.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) { + class197.archive0 = class65.newArchive(0, false, true, true); + class167.archive1 = class65.newArchive(1, false, true, true); + class215.archive2 = class65.newArchive(2, true, false, true); + class43.archive3 = class65.newArchive(3, false, true, true); + class13.archive4 = class65.newArchive(4, false, true, true); + WorldMapCacheName.archive5 = class65.newArchive(5, true, true, true); + WorldMapRegion.archive6 = class65.newArchive(6, true, true, true); + NPCDefinition.archive7 = class65.newArchive(7, false, true, true); + Client.archive8 = class65.newArchive(8, false, true, true); + class4.archive9 = class65.newArchive(9, false, true, true); + WorldMapLabelSize.archive10 = class65.newArchive(10, false, true, true); + class32.archive11 = class65.newArchive(11, false, true, true); + UserComparator4.archive12 = class65.newArchive(12, false, true, true); + class2.archive13 = class65.newArchive(13, true, false, true); + Tile.archive14 = class65.newArchive(14, false, true, true); + GrandExchangeOfferOwnWorldComparator.archive15 = class65.newArchive(15, false, true, true); + WorldMapSprite.archive17 = class65.newArchive(17, true, true, true); + Client.archive18 = class65.newArchive(18, false, true, true); + ItemDefinition.archive19 = class65.newArchive(19, false, true, true); + Entity.archive20 = class65.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 var30 = 0; + var0 = var30 + class197.archive0.percentage() * 4 / 100; + var0 += class167.archive1.percentage() * 4 / 100; + var0 += class215.archive2.percentage() * 2 / 100; + var0 += class43.archive3.percentage() * 2 / 100; + var0 += class13.archive4.percentage() * 6 / 100; + var0 += WorldMapCacheName.archive5.percentage() * 4 / 100; + var0 += WorldMapRegion.archive6.percentage() * 2 / 100; + var0 += NPCDefinition.archive7.percentage() * 56 / 100; + var0 += Client.archive8.percentage() * 2 / 100; + var0 += class4.archive9.percentage() * 2 / 100; + var0 += WorldMapLabelSize.archive10.percentage() * 2 / 100; + var0 += class32.archive11.percentage() * 2 / 100; + var0 += UserComparator4.archive12.percentage() * 2 / 100; + var0 += class2.archive13.percentage() * 2 / 100; + var0 += Tile.archive14.percentage() * 2 / 100; + var0 += GrandExchangeOfferOwnWorldComparator.archive15.percentage() * 2 / 100; + var0 += ItemDefinition.archive19.percentage() / 100; + var0 += Client.archive18.percentage() / 100; + var0 += Entity.archive20.percentage() / 100; + var0 += WorldMapSprite.archive17.method4258() && WorldMapSprite.archive17.isFullyLoaded() ? 1 : 0; + if (var0 != 100) { + if (var0 != 0) { + Login.Login_loadingText = "Checking for updates - " + var0 + "%"; + } + + Login.Login_loadingPercent = 30; + } else { + class42.method763(class197.archive0, "Animations"); + class42.method763(class167.archive1, "Skeletons"); + class42.method763(class13.archive4, "Sound FX"); + class42.method763(WorldMapCacheName.archive5, "Maps"); + class42.method763(WorldMapRegion.archive6, "Music Tracks"); + class42.method763(NPCDefinition.archive7, "Models"); + class42.method763(Client.archive8, "Sprites"); + class42.method763(class32.archive11, "Music Jingles"); + class42.method763(Tile.archive14, "Music Samples"); + class42.method763(GrandExchangeOfferOwnWorldComparator.archive15, "Music Patches"); + class42.method763(ItemDefinition.archive19, "World Map"); + class42.method763(Client.archive18, "World Map Geography"); + class42.method763(Entity.archive20, "World Map Ground"); + UserComparator6.spriteIds = new GraphicsDefaults(); + UserComparator6.spriteIds.decode(WorldMapSprite.archive17); + Login.Login_loadingText = "Loaded update list"; + Login.Login_loadingPercent = 30; + Client.titleLoadingStage = 45; + } + } else if (Client.titleLoadingStage == 45) { + Tile.method2853(22050, !Client.isLowDetail, 2); + MidiPcmStream var33 = new MidiPcmStream(); + var33.method3720(9, 128); + class80.pcmPlayer0 = ArchiveDiskActionHandler.method4256(GameShell.taskHandler, 0, 22050); + class80.pcmPlayer0.setStream(var33); + ArchiveLoader.setAudioArchives(GrandExchangeOfferOwnWorldComparator.archive15, Tile.archive14, class13.archive4, var33); + class190.pcmPlayer1 = ArchiveDiskActionHandler.method4256(GameShell.taskHandler, 1, 2048); + SecureRandomCallable.pcmStreamMixer = new PcmStreamMixer(); + class190.pcmPlayer1.setStream(SecureRandomCallable.pcmStreamMixer); + AttackOption.decimator = new Decimator(22050, CollisionMap.PcmPlayer_sampleRate); + Login.Login_loadingText = "Prepared sound engine"; + Login.Login_loadingPercent = 35; + Client.titleLoadingStage = 50; + class169.WorldMapElement_fonts = new Fonts(Client.archive8, class2.archive13); + } else { + int var1; + if (Client.titleLoadingStage == 50) { + FontName[] var32 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; + var1 = var32.length; + Fonts var29 = class169.WorldMapElement_fonts; + FontName[] var3 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_plain12, FontName.FontName_plain11, FontName.FontName_verdana11, FontName.FontName_verdana13, FontName.FontName_bold12}; + Client.fontsMap = var29.createMap(var3); + if (Client.fontsMap.size() < var1) { + Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var1 + "%"; + Login.Login_loadingPercent = 40; + } else { + Coord.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); + class169.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); + WorldMapIcon_1.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); + WorldMapRectangle.platformInfo = Client.platformInfoProvider.get(); + Login.Login_loadingText = "Loaded fonts"; + Login.Login_loadingPercent = 40; + Client.titleLoadingStage = 60; + } + } else { + Archive var2; + int var4; + Archive var25; + int var26; + if (Client.titleLoadingStage == 60) { + var25 = WorldMapLabelSize.archive10; + var2 = Client.archive8; + var26 = 0; + if (var25.tryLoadFileByNames("title.jpg", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("logo", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("titlebox", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("titlebutton", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("runes", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("title_mute", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { + ++var26; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { + ++var26; + } + + var2.tryLoadFileByNames("sl_back", ""); + var2.tryLoadFileByNames("sl_flags", ""); + var2.tryLoadFileByNames("sl_arrows", ""); + var2.tryLoadFileByNames("sl_stars", ""); + var2.tryLoadFileByNames("sl_button", ""); + var4 = ScriptEvent.method1121(); + if (var26 < var4) { + Login.Login_loadingText = "Loading title screen - " + var26 * 100 / var4 + "%"; + Login.Login_loadingPercent = 50; + } else { + Login.Login_loadingText = "Loaded title screen"; + Login.Login_loadingPercent = 50; + class96.updateGameState(5); + Client.titleLoadingStage = 70; + } + } else if (Client.titleLoadingStage == 70) { + if (!class215.archive2.isFullyLoaded()) { + Login.Login_loadingText = "Loading config - " + class215.archive2.loadPercent() + "%"; + Login.Login_loadingPercent = 60; + } else { + Archive var31 = class215.archive2; + FloorOverlayDefinition.FloorOverlayDefinition_archive = var31; + WorldMapSprite.setFloorUnderlayDefinitionArchive(class215.archive2); + GrandExchangeEvents.method66(class215.archive2, NPCDefinition.archive7); + var25 = class215.archive2; + var2 = NPCDefinition.archive7; + boolean var34 = Client.isLowDetail; + ObjectDefinition.ObjectDefinition_archive = var25; + ObjectDefinition.ObjectDefinition_modelsArchive = var2; + ObjectDefinition.ObjectDefinition_isLowDetail = var34; + FaceNormal.setNpcDefinitionArchives(class215.archive2, NPCDefinition.archive7); + GroundItem.method2054(class215.archive2); + Archive var27 = class215.archive2; + Archive var5 = NPCDefinition.archive7; + boolean var6 = Client.isMembersWorld; + Font var7 = Coord.fontPlain11; + Messages.ItemDefinition_archive = var27; + ItemDefinition.ItemDefinition_modelArchive = var5; + ModelData0.inMembersWorld = var6; + ItemDefinition.ItemDefinition_fileCount = Messages.ItemDefinition_archive.getGroupFileCount(10); + HealthBar.ItemDefinition_fontPlain11 = var7; + Archive var8 = class215.archive2; + Archive var9 = class197.archive0; + Archive var10 = class167.archive1; + SequenceDefinition.SequenceDefinition_archive = var8; + SequenceDefinition.SequenceDefinition_animationsArchive = var9; + SequenceDefinition.SequenceDefinition_skeletonsArchive = var10; + Archive var11 = class215.archive2; + Archive var12 = NPCDefinition.archive7; + SpotAnimationDefinition.SpotAnimationDefinition_archive = var11; + class43.SpotAnimationDefinition_modelArchive = var12; + Archive var13 = class215.archive2; + VarbitDefinition.VarbitDefinition_archive = var13; + GrandExchangeEvents.method68(class215.archive2); + UrlRequest.method3317(class43.archive3, NPCDefinition.archive7, Client.archive8, class2.archive13); + WorldMapData_0.method173(class215.archive2); + Archive var14 = class215.archive2; + EnumDefinition.EnumDefinition_archive = var14; + GrandExchangeOfferWorldComparator.setVarcIntArchive(class215.archive2); + KeyHandler.method794(class215.archive2); + Clock.varcs = new Varcs(); + Archive var15 = class215.archive2; + Archive var16 = Client.archive8; + Archive var17 = class2.archive13; + HitSplatDefinition.HitSplatDefinition_archive = var15; + HitSplatDefinition.HitSplatDefinition_spritesArchive = var16; + HitSplatDefinition.HitSplatDefinition_fontsArchive = var17; + Archive var18 = class215.archive2; + Archive var19 = Client.archive8; + HealthBarDefinition.HealthBarDefinition_archive = var18; + HealthBarDefinition.HealthBarDefinition_spritesArchive = var19; + Archive var20 = class215.archive2; + Archive var21 = Client.archive8; + WorldMapElement.WorldMapElement_archive = var21; + if (var20.isFullyLoaded()) { + UserComparator1.WorldMapElement_count = var20.getGroupFileCount(35); + WorldMapElement.WorldMapElement_cached = new WorldMapElement[UserComparator1.WorldMapElement_count]; + + for (int var22 = 0; var22 < UserComparator1.WorldMapElement_count; ++var22) { + byte[] var23 = var20.takeFile(35, var22); + WorldMapElement.WorldMapElement_cached[var22] = new WorldMapElement(var22); + if (var23 != null) { + WorldMapElement.WorldMapElement_cached[var22].decode(new Buffer(var23)); + WorldMapElement.WorldMapElement_cached[var22].method4370(); + } + } + } + + Login.Login_loadingText = "Loaded config"; + Login.Login_loadingPercent = 60; + Client.titleLoadingStage = 80; + } + } else if (Client.titleLoadingStage == 80) { + var0 = 0; + if (Message.compass == null) { + Message.compass = class65.SpriteBuffer_tryCreateSprite(Client.archive8, UserComparator6.spriteIds.compass, 0); + } else { + ++var0; + } + + if (UserComparator4.redHintArrowSprite == null) { + UserComparator4.redHintArrowSprite = class65.SpriteBuffer_tryCreateSprite(Client.archive8, UserComparator6.spriteIds.field3823, 0); + } else { + ++var0; + } + + if (ClanChat.mapSceneSprites == null) { + ClanChat.mapSceneSprites = class289.method5281(Client.archive8, UserComparator6.spriteIds.mapScenes, 0); + } else { + ++var0; + } + + if (UserComparator3.headIconPkSprites == null) { + UserComparator3.headIconPkSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.headIconsPk, 0); + } else { + ++var0; + } + + if (SoundCache.headIconPrayerSprites == null) { + SoundCache.headIconPrayerSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.field3830, 0); + } else { + ++var0; + } + + if (class173.headIconHintSprites == null) { + class173.headIconHintSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.field3827, 0); + } else { + ++var0; + } + + if (WorldMapData_1.mapMarkerSprites == null) { + WorldMapData_1.mapMarkerSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.field3828, 0); + } else { + ++var0; + } + + if (Occluder.crossSprites == null) { + Occluder.crossSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.field3829, 0); + } else { + ++var0; + } + + if (Skills.mapDotSprites == null) { + Skills.mapDotSprites = TilePaint.method3062(Client.archive8, UserComparator6.spriteIds.field3832, 0); + } else { + ++var0; + } + + if (GrandExchangeOfferAgeComparator.scrollBarSprites == null) { + GrandExchangeOfferAgeComparator.scrollBarSprites = class289.method5281(Client.archive8, UserComparator6.spriteIds.field3831, 0); + } else { + ++var0; + } + + if (GrandExchangeOfferNameComparator.modIconSprites == null) { + GrandExchangeOfferNameComparator.modIconSprites = class289.method5281(Client.archive8, UserComparator6.spriteIds.field3822, 0); + } else { + ++var0; + } + + if (var0 < 11) { + Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; + Login.Login_loadingPercent = 70; + } else { + AbstractFont.AbstractFont_modIconSprites = GrandExchangeOfferNameComparator.modIconSprites; + UserComparator4.redHintArrowSprite.normalize(); + var1 = (int)(Math.random() * 21.0D) - 10; + int var28 = (int)(Math.random() * 21.0D) - 10; + var26 = (int)(Math.random() * 21.0D) - 10; + var4 = (int)(Math.random() * 41.0D) - 20; + ClanChat.mapSceneSprites[0].shiftColors(var1 + var4, var4 + var28, var4 + var26); + Login.Login_loadingText = "Loaded sprites"; + Login.Login_loadingPercent = 70; + Client.titleLoadingStage = 90; + } + } else if (Client.titleLoadingStage == 90) { + if (!class4.archive9.isFullyLoaded()) { + Login.Login_loadingText = "Loading textures - " + "0%"; + Login.Login_loadingPercent = 90; + } else { + GrandExchangeEvents.textureProvider = new TextureProvider(class4.archive9, Client.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); + Rasterizer3D.Rasterizer3D_setTextureLoader(GrandExchangeEvents.textureProvider); + Rasterizer3D.Rasterizer3D_setBrightness(0.8D); + Client.titleLoadingStage = 100; + } + } else if (Client.titleLoadingStage == 100) { + var0 = GrandExchangeEvents.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) { + class40.mouseRecorder = new MouseRecorder(); + GameShell.taskHandler.newThreadTask(class40.mouseRecorder, 10); + Login.Login_loadingText = "Loaded input handler"; + Login.Login_loadingPercent = 92; + Client.titleLoadingStage = 120; + } else if (Client.titleLoadingStage == 120) { + if (!WorldMapLabelSize.archive10.tryLoadFileByNames("huffman", "")) { + Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; + Login.Login_loadingPercent = 94; + } else { + Huffman var24 = new Huffman(WorldMapLabelSize.archive10.takeFileByNames("huffman", "")); + class210.huffman = var24; + Login.Login_loadingText = "Loaded wordpack"; + Login.Login_loadingPercent = 94; + Client.titleLoadingStage = 130; + } + } else if (Client.titleLoadingStage == 130) { + if (!class43.archive3.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + class43.archive3.loadPercent() * 4 / 5 + "%"; + Login.Login_loadingPercent = 96; + } else if (!UserComparator4.archive12.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (80 + UserComparator4.archive12.loadPercent() / 6) + "%"; + Login.Login_loadingPercent = 96; + } else if (!class2.archive13.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (96 + class2.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 (!ItemDefinition.archive19.tryLoadGroupByName(WorldMapCacheName.field308.name)) { + Login.Login_loadingText = "Loading world map - " + ItemDefinition.archive19.groupLoadPercentByName(WorldMapCacheName.field308.name) / 10 + "%"; + } else { + if (BoundaryObject.worldMap == null) { + BoundaryObject.worldMap = new WorldMap(); + BoundaryObject.worldMap.init(ItemDefinition.archive19, Client.archive18, Entity.archive20, WorldMapIcon_1.fontBold12, Client.fontsMap, ClanChat.mapSceneSprites); + } + + Login.Login_loadingText = "Loaded world map"; + Client.titleLoadingStage = 150; + } + } else if (Client.titleLoadingStage == 150) { + class96.updateGameState(10); + } + } + } + } } diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index 9202703d44..91f9c5d05b 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -3,50 +3,69 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kd") +@ObfuscatedName("jy") @Implements("TriBool") public class TriBool { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("TriBool_unknown") - public static final TriBool TriBool_unknown; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("TriBool_true") - public static final TriBool TriBool_true; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lkd;" - ) - @Export("TriBool_false") - public static final TriBool TriBool_false; - @ObfuscatedName("fz") - @ObfuscatedSignature( - signature = "Leo;" - ) - @Export("urlRequester") - static UrlRequester urlRequester; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("TriBool_unknown") + public static final TriBool TriBool_unknown; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("TriBool_true") + public static final TriBool TriBool_true; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljy;" + ) + @Export("TriBool_false") + public static final TriBool TriBool_false; - @ObfuscatedName("go") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1009406649" - ) - @Export("addTargetPlayerToScene") - static void addTargetPlayerToScene() { - if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { - WorldMapCacheName.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); - } + static { + TriBool_unknown = new TriBool(); + TriBool_true = new TriBool(); + TriBool_false = new TriBool(); + } - } + TriBool() { + } - static { - TriBool_unknown = new TriBool(); - TriBool_true = new TriBool(); - TriBool_false = new TriBool(); - } + @ObfuscatedName("fw") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZI)V", + garbageValue = "397686194" + ) + @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 = class169.fontPlain12.lineWidth(var0, 250); + int var6 = class169.fontPlain12.lineCount(var0, 250) * 13; + Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var6 + var2 + var2, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var5 + var2 + var2, var6 + var2 + var2, 16777215); + class169.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); + ChatChannel.method2215(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2); + if (var1) { + MusicPatchPcmStream.rasterProvider.drawFull(0, 0); + } else { + int var7 = var3; + int var8 = var4; + int var9 = var5; + int var10 = var6; + + for (int var11 = 0; var11 < Client.rootWidgetCount; ++var11) { + if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var7 + var9 && Client.rootWidgetYs[var11] + Client.rootWidgetHeights[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) { + Client.field861[var11] = true; + } + } + } + + } + } } diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index 838bd46cd2..cbcca414ef 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -4,56 +4,182 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ey") +@ObfuscatedName("ex") @Implements("UrlRequest") public class UrlRequest { - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("worldSelectStars") - static IndexedSprite[] worldSelectStars; - @ObfuscatedName("m") - @Export("url") - final URL url; - @ObfuscatedName("f") - @Export("isDone0") - volatile boolean isDone0; - @ObfuscatedName("q") - @Export("response0") - volatile byte[] response0; + @ObfuscatedName("q") + @Export("url") + final URL url; + @ObfuscatedName("w") + @Export("isDone0") + volatile boolean isDone0; + @ObfuscatedName("e") + @Export("response0") + volatile byte[] response0; - UrlRequest(URL var1) { - this.url = var1; - } + UrlRequest(URL var1) { + this.url = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1588021801" - ) - @Export("isDone") - public boolean isDone() { - return this.isDone0; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1792198908" + ) + @Export("isDone") + public boolean isDone() { + return this.isDone0; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)[B", - garbageValue = "-25" - ) - @Export("getResponse") - public byte[] getResponse() { - return this.response0; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)[B", + garbageValue = "-338757002" + ) + @Export("getResponse") + public byte[] getResponse() { + return this.response0; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "-476632347" - ) - @Export("isCharAlphabetic") - public static boolean isCharAlphabetic(char var0) { - return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;Lhp;I)V", + garbageValue = "-354587299" + ) + public static void method3317(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) { + Widget.Widget_archive = var0; + ViewportMouse.Widget_modelsArchive = var1; + class216.Widget_spritesArchive = var2; + DirectByteArrayCopier.Widget_fontsArchive = var3; + Widget.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; + ViewportMouse.loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1541949649" + ) + @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("gc") + @ObfuscatedSignature( + signature = "(IIIIZB)V", + garbageValue = "-69" + ) + @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.field782; + } else if (var5 >= 100) { + var6 = Client.field651; + } else { + var6 = (Client.field651 - Client.field782) * var5 / 100 + Client.field782; + } + + int var7 = var3 * var6 * 512 / (var2 * 334); + int var8; + int var9; + short var17; + if (var7 < Client.field732) { + var17 = Client.field732; + var6 = var17 * var2 * 334 / (var3 * 512); + if (var6 > Client.field790) { + var6 = Client.field790; + var8 = var3 * var6 * 512 / (var17 * 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.field659) { + var17 = Client.field659; + var6 = var17 * var2 * 334 / (var3 * 512); + if (var6 < Client.field820) { + var6 = Client.field820; + var8 = var17 * 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[] var16 = new int[9]; + + for (var9 = 0; var9 < var16.length; ++var9) { + int var10 = var9 * 32 + 15 + 128; + int var11 = class40.method700(var10); + int var12 = Rasterizer3D.Rasterizer3D_sine[var10]; + int var14 = var3 - 334; + if (var14 < 0) { + var14 = 0; + } else if (var14 > 100) { + var14 = 100; + } + + int var15 = (Client.field908 - Client.field906) * var14 / 100 + Client.field906; + int var13 = var15 * var11 / 256; + var16[var9] = var12 * var13 >> 16; + } + + Scene.Scene_buildVisiblityMap(var16, 500, 800, var2 * 334 / var3, 334); + } + + Client.viewportOffsetX = var0; + Client.viewportOffsetY = var1; + Client.viewportWidth = var2; + Client.viewportHeight = var3; + } } diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index 4d4eca1bb3..f195964ec6 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -3,287 +3,174 @@ import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; +import java.util.Iterator; 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; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("eo") +@ObfuscatedName("ez") @Implements("UrlRequester") public class UrlRequester implements Runnable { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -883931753 - ) - static int field929; - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "Lla;" - ) - static Bounds field930; - @ObfuscatedName("m") - @Export("thread") - final Thread thread; - @ObfuscatedName("f") - @Export("isClosed") - volatile boolean isClosed; - @ObfuscatedName("q") - @Export("requests") - Queue requests; + @ObfuscatedName("q") + @Export("thread") + final Thread thread; + @ObfuscatedName("w") + @Export("isClosed") + volatile boolean isClosed; + @ObfuscatedName("e") + @Export("requests") + Queue requests; - public UrlRequester() { - this.requests = new LinkedList(); - this.thread = new Thread(this); - this.thread.setPriority(1); - this.thread.start(); - } + public UrlRequester() { + this.requests = new LinkedList(); + this.thread = new Thread(this); + this.thread.setPriority(1); + this.thread.start(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/net/URL;I)Ley;", - garbageValue = "1097505066" - ) - @Export("request") - public UrlRequest request(URL url) { - UrlRequest var2 = new UrlRequest(url); - synchronized(this) { - this.requests.add(var2); - this.notify(); - return var2; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/net/URL;B)Lex;", + garbageValue = "78" + ) + @Export("request") + public UrlRequest request(URL var1) { + UrlRequest var2 = new UrlRequest(var1); + synchronized(this) { + this.requests.add(var2); + this.notify(); + return var2; + } + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "32583" - ) - @Export("close") - public void close() { - this.isClosed = true; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "78" + ) + @Export("close") + public void close() { + this.isClosed = true; - try { - synchronized(this) { - this.notify(); - } + try { + synchronized(this) { + this.notify(); + } - this.thread.join(); - } catch (InterruptedException var4) { - } + 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 var12) { - } - continue; - } - } + 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; + 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 var4 = var3.getContentLength(); - if (var4 >= 0) { - byte[] var5 = new byte[var4]; - var2 = new DataInputStream(var3.getInputStream()); - var2.readFully(var5); - var1.response0 = var5; - } + 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 var13) { - var1.isDone0 = true; - } finally { - if (var2 != null) { - var2.close(); - } + var1.isDone0 = true; + } catch (IOException var14) { + var1.isDone0 = true; + } finally { + if (var2 != null) { + var2.close(); + } - if (var3 != null && var3 instanceof HttpURLConnection) { - ((HttpURLConnection)var3).disconnect(); - } + if (var3 != null && var3 instanceof HttpURLConnection) { + ((HttpURLConnection)var3).disconnect(); + } - } - } catch (Exception var16) { - NPCDefinition.sendStackTrace((String)null, var16); - } - } + } + } catch (Exception var17) { + HitSplatDefinition.sendStackTrace((String)null, var17); + } + } - } + } - @ObfuscatedName("gi") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "-9" - ) - static final void method3258(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; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1670821408" + ) + @Export("getChatMessagesAsString") + static String getChatMessagesAsString() { + String var0 = ""; - 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; - } + Message var2; + for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') { + var2 = (Message)var1.next(); + } - if (var10 == Canvas.localPlayer) { - var6 = var9; - continue; - } - } else { - var10 = Client.npcs[Client.npcIndices[var9 - var7]]; - } + return var0; + } - class39.drawActor2d((Actor)var10, var9, var0, var1, var2, var3); - } + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "337474973" + ) + static int method3306(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { + var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.itemId; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { + var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + if (var3.itemId != -1) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } - if (Client.renderSelf && var6 != -1) { - class39.drawActor2d(Canvas.localPlayer, var6, var0, var1, var2, var3); - } + return 1; + } else if (var0 == ScriptOpcodes.IF_HASSUB) { + int var5 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var5); + if (var4 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } - if (var4) { - class39.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.field160[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) { - class2.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0); - } - - if (Client.overheadTextEffects[var9] == 1) { - class2.fontBold12.drawCenteredWave(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var9] == 2) { - class2.fontBold12.drawCenteredWave2(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var9] == 3) { - class2.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]) * (class2.fontBold12.stringWidth(var20) + 100) / 150; - Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); - class2.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 - class2.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); - class2.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, var18 + Client.viewportTempY + var1, var16, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - } else { - class2.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); - } - } - - } + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTOP) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.rootInterface; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/User.java b/runescape-client/src/main/java/User.java index 9ce76ff9e5..332ad53fd4 100644 --- a/runescape-client/src/main/java/User.java +++ b/runescape-client/src/main/java/User.java @@ -2,79 +2,111 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("js") +@ObfuscatedName("jd") @Implements("User") public class User implements Comparable { - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lkp;" - ) - @Export("username") - Username username; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lkp;" - ) - @Export("previousUsername") - Username previousUsername; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("username") + Username username; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("previousUsername") + Username previousUsername; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)Lkp;", - garbageValue = "1922393088" - ) - @Export("getUsername") - public Username getUsername() { - return this.username; - } + User() { + } - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "-60" - ) - @Export("getName") - public String getName() { - return this.username == null ? "" : this.username.getName(); - } + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(I)Ljv;", + garbageValue = "-156755920" + ) + @Export("getUsername") + public Username getUsername() { + return this.username; + } - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1204003359" - ) - @Export("getPreviousName") - public String getPreviousName() { - return this.previousUsername == null ? "" : this.previousUsername.getName(); - } + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "92130807" + ) + @Export("getName") + public String getName() { + return this.username == null ? "" : this.username.getName(); + } - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(Lkp;Lkp;I)V", - garbageValue = "1156866388" - ) - @Export("set") - void set(Username username, Username previousUsername) { - if (username == null) { - throw new NullPointerException(); - } else { - this.username = username; - this.previousUsername = previousUsername; - } - } + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1677107583" + ) + @Export("getPreviousName") + public String getPreviousName() { + return this.previousUsername == null ? "" : this.previousUsername.getName(); + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljs;I)I", - garbageValue = "1627362569" - ) - @Export("compareToUser") - public int compareToUser(User other) { - return this.username.compareToTyped(other.username); - } + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Ljv;Ljv;B)V", + garbageValue = "46" + ) + @Export("set") + void set(Username var1, Username var2) { + if (var1 == null) { + throw new NullPointerException(); + } else { + this.username = var1; + this.previousUsername = var2; + } + } - public int compareTo(Object var1) { - return this.compareToUser((User)var1); - } + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(Ljd;I)I", + garbageValue = "-1938562722" + ) + @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); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/Class;", + garbageValue = "-811282980" + ) + @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); + } + } } diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index 39effa29a3..87d9db588e 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -1,35 +1,103 @@ 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("ly") +@ObfuscatedName("lq") @Implements("UserComparator1") public class UserComparator1 implements Comparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -485356277 + ) + @Export("WorldMapElement_count") + public static int WorldMapElement_count; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator1(boolean var1) { - this.reversed = var1; - } + public UserComparator1(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljs;Ljs;B)I", - garbageValue = "68" - ) - @Export("compareUser") - int compareUser(User var1, User var2) { - return this.reversed ? var1.compareToUser(var2) : var2.compareToUser(var1); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljd;Ljd;I)I", + garbageValue = "1081318416" + ) + @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.compareUser((User)var1, (User)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("fj") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "199301274" + ) + @Export("doCheat") + static final void doCheat(String var0) { + if (var0.equalsIgnoreCase("toggleroof")) { + WorldMapLabelSize.clientPreferences.roofsHidden = !WorldMapLabelSize.clientPreferences.roofsHidden; + ReflectionCheck.savePreferences(); + if (WorldMapLabelSize.clientPreferences.roofsHidden) { + ScriptEvent.addGameMessage(99, "", "Roofs are now all hidden"); + } else { + ScriptEvent.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")) { + BoundaryObject.worldMap.showCoord = !BoundaryObject.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")) { + ScriptFrame.method1090(); + } + } + + PacketBufferNode var1 = Archive.method4265(ClientPacket.field2263, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(var0.length() + 1); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.method2219(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index d6aee1b8e3..6564fe7906 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -1,55 +1,285 @@ import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.Iterator; +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("eg") +@ObfuscatedName("ec") @Implements("UserComparator10") public class UserComparator10 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgl;" + ) + @Export("musicTrack") + public static MusicTrack musicTrack; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator10(boolean var1) { - this.reversed = var1; - } + public UserComparator10(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;B)I", - garbageValue = "-15" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return Client.worldId == var1.world && var2.world == Client.worldId ? (this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "1029227971" + ) + @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); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("hn") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "653874364" - ) - static final void method3352(boolean var0) { - class13.playPcmPlayers(); - ++Client.packetWriter.field675; - if (Client.packetWriter.field675 >= 50 || var0) { - Client.packetWriter.field675 = 0; - if (!Client.field176 && Client.packetWriter.getSocket() != null) { - PacketBufferNode var1 = Interpreter.method1915(ClientPacket.field244, Client.packetWriter.isaacCipher); - Client.packetWriter.method241(var1); + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "8742" + ) + static void method3406() { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class268.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(class190.method3666("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]); - try { - Client.packetWriter.method240(); - } catch (IOException var3) { - Client.field176 = true; - } - } - } + while (true) { + int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); + if (var8 == -1) { + var7.offset = 0; + long var22 = var7.readLong(); + var1 = var22; + break; + } - } + var7.offset += var8; + if (var7.offset >= 1000) { + var1 = 0L; + break; + } + } + } catch (Exception var34) { + var1 = 0L; + } + + byte var0; + if (0L == var1) { + var0 = 5; + } else { + String var35 = Login.Login_username; + Random var36 = new Random(); + Buffer var26 = new Buffer(128); + Buffer var9 = new Buffer(128); + int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1}; + var26.writeByte(10); + + int var11; + for (var11 = 0; var11 < 4; ++var11) { + var26.writeInt(var36.nextInt()); + } + + var26.writeInt(var10[0]); + var26.writeInt(var10[1]); + var26.writeLong(var1); + var26.writeLong(0L); + + for (var11 = 0; var11 < 4; ++var11) { + var26.writeInt(var36.nextInt()); + } + + var26.encryptRsa(class80.field1140, class80.field1141); + var9.writeByte(10); + + for (var11 = 0; var11 < 3; ++var11) { + var9.writeInt(var36.nextInt()); + } + + var9.writeLong(var36.nextLong()); + var9.writeLongMedium(var36.nextLong()); + if (Client.field693 != null) { + var9.writeBytes(Client.field693, 0, Client.field693.length); + } else { + byte[] var12 = new byte[24]; + + try { + class167.randomDat.seek(0L); + class167.randomDat.readFully(var12); + + int var13; + for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) { + } + + if (var13 >= 24) { + throw new IOException(); + } + } catch (Exception var33) { + for (int var14 = 0; var14 < 24; ++var14) { + var12[var14] = -1; + } + } + + var9.writeBytes(var12, 0, var12.length); + } + + var9.writeLong(var36.nextLong()); + var9.encryptRsa(class80.field1140, class80.field1141); + var11 = Huffman.stringCp1252NullTerminatedByteSize(var35); + if (var11 % 8 != 0) { + var11 += 8 - var11 % 8; + } + + Buffer var37 = new Buffer(var11); + var37.writeStringCp1252NullTerminated(var35); + var37.offset = var11; + var37.xteaEncryptAll(var10); + Buffer var27 = new Buffer(var9.offset + var26.offset + var37.offset + 5); + var27.writeByte(2); + var27.writeByte(var26.offset); + var27.writeBytes(var26.array, 0, var26.offset); + var27.writeByte(var9.offset); + var27.writeBytes(var9.array, 0, var9.offset); + var27.writeShort(var37.offset); + var27.writeBytes(var37.array, 0, var37.offset); + byte[] var15 = var27.array; + String var29 = Widget.method4092(var15, 0, var15.length); + String var16 = var29; + + byte var30; + try { + URL var17 = new URL(class190.method3666("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()); + var19.write("data2=" + GrandExchangeOfferWorldComparator.method63(var16) + "&dest=" + GrandExchangeOfferWorldComparator.method63("passwordchoice.ws")); + var19.flush(); + InputStream var20 = var18.getInputStream(); + var27 = new Buffer(new byte[1000]); + + while (true) { + int var21 = var20.read(var27.array, var27.offset, 1000 - var27.offset); + if (var21 == -1) { + var19.close(); + var20.close(); + String var31 = new String(var27.array); + if (var31.startsWith("OFFLINE")) { + var30 = 4; + } else if (var31.startsWith("WRONG")) { + var30 = 7; + } else if (var31.startsWith("RELOAD")) { + var30 = 3; + } else if (var31.startsWith("Not permitted for social network accounts.")) { + var30 = 6; + } else { + var27.xteaDecryptAll(var10); + + while (var27.offset > 0 && var27.array[var27.offset - 1] == 0) { + --var27.offset; + } + + var31 = new String(var27.array, 0, var27.offset); + if (HealthBarUpdate.method1676(var31)) { + GrandExchangeOfferWorldComparator.openURL(var31, true, false); + var30 = 2; + } else { + var30 = 5; + } + } + break; + } + + var27.offset += var21; + if (var27.offset >= 1000) { + var30 = 5; + break; + } + } + } catch (Throwable var32) { + var32.printStackTrace(); + var30 = 5; + } + + var0 = var30; + } + + switch(var0) { + case 2: + class268.setLoginResponseString(Strings.field2942, Strings.field3027, Strings.field2768); + Login.loginIndex = 6; + break; + case 3: + class268.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 4: + class268.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); + break; + case 5: + class268.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); + break; + case 6: + class268.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 7: + class268.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("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1807078732" + ) + static void method3405() { + Iterator var0 = Messages.Messages_hashTable.iterator(); + + while (var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromIgnored(); + } + + } + + @ObfuscatedName("kj") + @ObfuscatedSignature( + signature = "(Lhj;IS)Ljava/lang/String;", + garbageValue = "255" + ) + static String method3407(Widget var0, int var1) { + int var3 = class268.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; + } + } } diff --git a/runescape-client/src/main/java/UserComparator2.java b/runescape-client/src/main/java/UserComparator2.java index a7b3995ba0..0bb8517367 100644 --- a/runescape-client/src/main/java/UserComparator2.java +++ b/runescape-client/src/main/java/UserComparator2.java @@ -4,32 +4,32 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("li") +@ObfuscatedName("le") @Implements("UserComparator2") public class UserComparator2 implements Comparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator2(boolean var1) { - this.reversed = var1; - } + public UserComparator2(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljs;Ljs;I)I", - garbageValue = "-2069683911" - ) - @Export("compareTyped") - int compareTyped(User var1, User var2) { - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljd;Ljd;B)I", + garbageValue = "-66" + ) + @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); + } - public int compare(Object var1, Object var2) { - return this.compareTyped((User)var1, (User)var2); - } + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index 469ffc770c..d50e5701f6 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -1,52 +1,81 @@ +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") +@ObfuscatedName("fk") @Implements("UserComparator3") public class UserComparator3 extends AbstractUserComparator { - @ObfuscatedName("dk") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive6") - static Archive archive6; - @ObfuscatedName("fl") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("socketTask") - static Task socketTask; - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("gm") + @ObfuscatedSignature( + signature = "[Lly;" + ) + @Export("headIconPkSprites") + static Sprite[] headIconPkSprites; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator3(boolean var1) { - this.reversed = var1; - } + public UserComparator3(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "-1157645406" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return var2.world != var1.world ? (this.reversed ? var1.world - var2.world : var2.world - var1.world) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "2060416979" + ) + @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); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "699084605" - ) - public static void method3379() { - SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); - SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1010038987" + ) + @Export("loadWorlds") + static boolean loadWorlds() { + try { + if (World.field1027 == null) { + World.field1027 = SequenceDefinition.urlRequester.request(new URL(WorldMapArea.field213)); + } else if (World.field1027.isDone()) { + byte[] var0 = World.field1027.getResponse(); + Buffer var1 = new Buffer(var0); + var1.readInt(); + World.worldsCount = var1.readUnsignedShort(); + World.worlds = new World[World.worldsCount]; + + World var3; + for (int var2 = 0; var2 < World.worldsCount; var3.index = var2++) { + var3 = 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(); + } + + Client.sortWorlds(World.worlds, 0, World.worlds.length - 1, World.sortOption1, World.sortOption2); + World.field1027 = null; + return true; + } + } catch (Exception var4) { + var4.printStackTrace(); + World.field1027 = null; + } + + return false; + } } diff --git a/runescape-client/src/main/java/UserComparator4.java b/runescape-client/src/main/java/UserComparator4.java index f87a66a02a..8421e74b66 100644 --- a/runescape-client/src/main/java/UserComparator4.java +++ b/runescape-client/src/main/java/UserComparator4.java @@ -1,92 +1,56 @@ 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; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ev") +@ObfuscatedName("ea") @Implements("UserComparator4") public class UserComparator4 implements Comparator { - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -112939189 - ) - @Export("WorldMapElement_count") - public static int WorldMapElement_count; - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("db") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive12") + static Archive archive12; + @ObfuscatedName("ga") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("redHintArrowSprite") + static Sprite redHintArrowSprite; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator4(boolean var1) { - this.reversed = var1; - } + public UserComparator4(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "950234237" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "2005097552" + ) + @Export("compare_bridged") + int compare_bridged(Buddy var1, Buddy var2) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((Buddy)var1, (Buddy)var2); + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Z", - garbageValue = "725116015" - ) - public static boolean method3336(CharSequence var0) { - return class214.method4144(var0, 10, true); - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-2050984400" - ) - static int method3335(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.GETWINDOWMODE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = SpotAnimationDefinition.getWindowedMode(); - return 1; - } else { - int var3; - if (var0 == ScriptOpcodes.SETWINDOWMODE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - GroundItem.setWindowedMode(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ReflectionCheck.clientPreferences.windowMode; - return 1; - } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { - if (var0 == 5310) { - --RouteStrategy.Interpreter_intStackSize; - return 1; - } else { - return 2; - } - } else { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - ReflectionCheck.clientPreferences.windowMode = var3; - WorldMapSection3.savePreferences(); - } - - return 1; - } - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1492423821" + ) + public static boolean method3382(int var0) { + return (var0 >> 29 & 1) != 0; + } } diff --git a/runescape-client/src/main/java/UserComparator5.java b/runescape-client/src/main/java/UserComparator5.java index 07f04d74df..032b32d4ac 100644 --- a/runescape-client/src/main/java/UserComparator5.java +++ b/runescape-client/src/main/java/UserComparator5.java @@ -3,62 +3,58 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ep") +@ObfuscatedName("fi") @Implements("UserComparator5") public class UserComparator5 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("ax") + static String field1986; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator5(boolean var1) { - this.reversed = var1; - } + public UserComparator5(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;B)I", - garbageValue = "-22" - ) - @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; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "-604876330" + ) + @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); - } + return this.compareUser(var1, var2); + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("jk") - @ObfuscatedSignature( - signature = "(IIIILln;Lhp;I)V", - garbageValue = "1263559944" - ) - @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; - FaceNormal.redHintArrowSprite.method316(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); - } else { - NetFileRequest.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Lhn;", + garbageValue = "-1282154756" + ) + @Export("PlayerType_values") + public static PlayerType[] PlayerType_values() { + return new PlayerType[]{PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_ironman, PlayerType.PlayerType_ultimateIronman, PlayerType.PlayerType_normal, PlayerType.PlayerType_hardcoreIronman}; + } - } + @ObfuscatedName("iy") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "1669969690" + ) + @Export("setTapToDrop") + static void setTapToDrop(boolean var0) { + Client.tapToDrop = var0; + } } diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 2ce3abcc8f..f6f50c0a0f 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -1,72 +1,211 @@ +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.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fg") +@ObfuscatedName("fz") @Implements("UserComparator6") public class UserComparator6 extends AbstractUserComparator { - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lfa;" - ) - @Export("clock") - static Clock clock; - @ObfuscatedName("jh") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field937; - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("er") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("spriteIds") + static GraphicsDefaults spriteIds; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator6(boolean var1) { - this.reversed = var1; - } + public UserComparator6(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "750521759" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return var1.world != 0 && var2.world != 0 ? (this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername())) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "660153035" + ) + @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); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1968376475" - ) - static final void method3390(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.field909[0][var5][var4] = 127; - if (var0 == var5 && var5 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;III)V", + garbageValue = "491873255" + ) + public static void method3440(String var0, String var1, int var2, int var3) throws IOException { + class40.idxCount = var3; + TextureProvider.field1539 = var2; - if (var5 == var0 + var2 && var5 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; - } + try { + ScriptEvent.field586 = System.getProperty("os.name"); + } catch (Exception var14) { + ScriptEvent.field586 = "Unknown"; + } - if (var4 == var1 && var4 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; - } + GrandExchangeOfferOwnWorldComparator.field647 = ScriptEvent.field586.toLowerCase(); - if (var3 + var1 == var4 && var4 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; - } - } - } - } + try { + PlayerType.userHomeDirectory = System.getProperty("user.home"); + if (PlayerType.userHomeDirectory != null) { + PlayerType.userHomeDirectory = PlayerType.userHomeDirectory + "/"; + } + } catch (Exception var13) { + } - } + try { + if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("win")) { + if (PlayerType.userHomeDirectory == null) { + PlayerType.userHomeDirectory = System.getenv("USERPROFILE"); + } + } else if (PlayerType.userHomeDirectory == null) { + PlayerType.userHomeDirectory = System.getenv("HOME"); + } + + if (PlayerType.userHomeDirectory != null) { + PlayerType.userHomeDirectory = PlayerType.userHomeDirectory + "/"; + } + } catch (Exception var12) { + } + + if (PlayerType.userHomeDirectory == null) { + PlayerType.userHomeDirectory = "~/"; + } + + class167.field2043 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", PlayerType.userHomeDirectory, "/tmp/", ""}; + LoginPacket.field2309 = new String[]{".jagex_cache_" + TextureProvider.field1539, ".file_store_" + TextureProvider.field1539}; + int var9 = 0; + + int var7; + File var8; + label135: + while (var9 < 4) { + class1.field2 = TextureProvider.method2760(var0, var1, var9); + if (!class1.field2.exists()) { + class1.field2.mkdirs(); + } + + File[] var5 = class1.field2.listFiles(); + if (var5 == null) { + break; + } + + File[] var6 = var5; + var7 = 0; + + while (true) { + if (var7 >= var6.length) { + break label135; + } + + var8 = var6[var7]; + if (!class186.method3618(var8, false)) { + ++var9; + break; + } + + ++var7; + } + } + + File var4 = class1.field2; + class169.field2050 = var4; + if (!class169.field2050.exists()) { + throw new RuntimeException(""); + } else { + class169.field2055 = true; + + try { + File var16 = new File(PlayerType.userHomeDirectory, "random.dat"); + if (var16.exists()) { + class167.randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); + } else { + label115: + for (int var10 = 0; var10 < LoginPacket.field2309.length; ++var10) { + for (var7 = 0; var7 < class167.field2043.length; ++var7) { + var8 = new File(class167.field2043[var7] + LoginPacket.field2309[var10] + File.separatorChar + "random.dat"); + if (var8.exists()) { + class167.randomDat = new BufferedFile(new AccessFile(var8, "rw", 25L), 24, 0); + break label115; + } + } + } + } + + if (class167.randomDat == null) { + RandomAccessFile var17 = new RandomAccessFile(var16, "rw"); + var7 = var17.read(); + var17.seek(0L); + var17.write(var7); + var17.seek(0L); + var17.close(); + class167.randomDat = new BufferedFile(new AccessFile(var16, "rw", 25L), 24, 0); + } + } catch (IOException var15) { + } + + class167.dat2File = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); + class167.idx255File = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); + class167.idxFiles = new BufferedFile[class40.idxCount]; + + for (int var11 = 0; var11 < class40.idxCount; ++var11) { + class167.idxFiles[var11] = new BufferedFile(new AccessFile(class65.method1177("main_file_cache.idx" + var11), "rw", 1048576L), 6000, 0); + } + + } + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1163617683" + ) + static int method3436(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.GETWINDOWMODE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = AbstractWorldMapIcon.getWindowedMode(); + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.SETWINDOWMODE) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + Clock.setWindowedMode(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapLabelSize.clientPreferences.windowMode; + return 1; + } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { + if (var0 == 5310) { + --HealthBarUpdate.Interpreter_intStackSize; + return 1; + } else { + return 2; + } + } else { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + WorldMapLabelSize.clientPreferences.windowMode = var3; + ReflectionCheck.savePreferences(); + } + + return 1; + } + } + } } diff --git a/runescape-client/src/main/java/UserComparator7.java b/runescape-client/src/main/java/UserComparator7.java index 91e28b043d..e9a3a29d7d 100644 --- a/runescape-client/src/main/java/UserComparator7.java +++ b/runescape-client/src/main/java/UserComparator7.java @@ -1,165 +1,34 @@ -import java.lang.reflect.Field; -import java.lang.reflect.Method; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("ez") +@ObfuscatedName("eb") @Implements("UserComparator7") public class UserComparator7 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator7(boolean var1) { - this.reversed = var1; - } + public UserComparator7(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "-9252550" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return var1.world != 0 && var2.world != 0 ? (this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;S)I", + garbageValue = "10090" + ) + @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 = "(Lgr;II)V", - garbageValue = "-88211227" - ) - public static void method3360(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 var26 = var0.readStringCp1252NullTerminated(); - byte[][] var10 = new byte[var7][]; - int var11; - if (var4 == 3) { - for (int var12 = 0; var12 < var7; ++var12) { - var11 = var0.readInt(); - var10[var12] = new byte[var11]; - var0.readBytes(var10[var12], 0, var11); - } - } - - var2.operations[var3] = var4; - Class[] var27 = new Class[var7]; - - for (var11 = 0; var11 < var7; ++var11) { - var27[var11] = VarcInt.loadClassFromDescriptor(var8[var11]); - } - - Class var13 = VarcInt.loadClassFromDescriptor(var26); - if (VarcInt.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - Method[] var14 = VarcInt.loadClassFromDescriptor(var5).getDeclaredMethods(); - Method[] var15 = var14; - - for (int var16 = 0; var16 < var15.length; ++var16) { - Method var17 = var15[var16]; - if (Reflection.getMethodName(var17).equals(var6)) { - Class[] var18 = Reflection.getParameterTypes(var17); - if (var27.length == var18.length) { - boolean var19 = true; - - for (int var20 = 0; var20 < var27.length; ++var20) { - if (var27[var20] != var18[var20]) { - var19 = false; - break; - } - } - - if (var19 && var13 == var17.getReturnType()) { - var2.methods[var3] = var17; - } - } - } - } - - 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 (VarcInt.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - var2.fields[var3] = Reflection.findField(VarcInt.loadClassFromDescriptor(var5), var6); - } - } catch (ClassNotFoundException var21) { - var2.creationErrors[var3] = -1; - } catch (SecurityException var22) { - var2.creationErrors[var3] = -2; - } catch (NullPointerException var23) { - var2.creationErrors[var3] = -3; - } catch (Exception var24) { - var2.creationErrors[var3] = -4; - } catch (Throwable var25) { - var2.creationErrors[var3] = -5; - } - } - - class322.reflectionChecks.addFirst(var2); - } - - @ObfuscatedName("ho") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "2084569794" - ) - static final boolean method3364(int var0) { - if (var0 < 0) { - return false; - } else { - int var1 = Client.menuOpcodes[var0]; - if (var1 >= 2000) { - var1 -= 2000; - } - - return var1 == 1007; - } - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } } diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index f997c45574..129455339e 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -3,46 +3,153 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("es") +@ObfuscatedName("ey") @Implements("UserComparator8") public class UserComparator8 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator8(boolean var1) { - this.reversed = var1; - } + public UserComparator8(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;B)I", - garbageValue = "0" - ) - @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; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "16711935" + ) + @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); - } + return this.compareUser(var1, var2); + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("ke") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - static final void method3349() { - Client.field129 = Client.cycleCntr; - VertexNormal.field945 = true; - } + @ObfuscatedName("gf") + @ObfuscatedSignature( + signature = "(IIZI)V", + garbageValue = "240895507" + ) + static final void method3399(int var0, int var1, boolean var2) { + if (!var2 || var0 != Canvas.field418 || ViewportMouse.field1747 != var1) { + Canvas.field418 = var0; + ViewportMouse.field1747 = var1; + class96.updateGameState(25); + TriBool.drawLoadingMessage("Loading - please wait.", true); + int var3 = MusicPatchNode2.baseX * 64; + int var4 = class1.baseY * 64; + MusicPatchNode2.baseX = (var0 - 6) * 8; + class1.baseY = (var1 - 6) * 8; + int var5 = MusicPatchNode2.baseX * 64 - var3; + int var6 = class1.baseY * 64 - var4; + var3 = MusicPatchNode2.baseX * 64; + var4 = class1.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 * 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 * 128; + 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; var11 != var14; var14 += var12) { + int var15 = var13 + var5; + 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; + PacketBuffer.cameraX -= var5 << 7; + class1.cameraZ -= var6 << 7; + MouseHandler.oculusOrbFocalPointX -= var5 << 7; + WorldMapArea.oculusOrbFocalPointY -= var6 << 7; + Client.field747 = -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/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index fedabeaa4c..7a8ef68a8b 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -1,91 +1,196 @@ -import java.io.IOException; 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("ea") +@ObfuscatedName("eh") @Implements("UserComparator9") public class UserComparator9 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("q") + @Export("reversed") + final boolean reversed; - public UserComparator9(boolean var1) { - this.reversed = var1; - } + public UserComparator9(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lke;Lke;I)I", - garbageValue = "1966780392" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - return Client.worldId == var1.world && var2.world == Client.worldId ? (this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername())) : this.compareUser(var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljz;Ljz;I)I", + garbageValue = "1918476759" + ) + @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); - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "-1" - ) - public static void method3343(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) { - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Lkl;", + garbageValue = "-445895559" + ) + static class310[] method3383() { + return new class310[]{class310.field3817, class310.field3816, class310.field3818}; + } - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lml;" + ) + public static RunException method3390(Throwable var0, String var1) { + RunException var2; + if (var0 instanceof RunException) { + var2 = (RunException)var0; + var2.string = var2.string + ' ' + var1; + } else { + var2 = new RunException(var0, var1); + } - } + return var2; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)[Lln;", - garbageValue = "-1724028611" - ) - @Export("createSpriteArray") - public static Sprite[] createSpriteArray() { - Sprite[] var0 = new Sprite[class328.indexedSpriteCount]; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(ILcx;ZS)I", + garbageValue = "-7813" + ) + static int method3389(int var0, Script var1, boolean var2) { + boolean var3 = true; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var4 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + var3 = false; + } else { + var4 = var2 ? Interpreter.field1111 : Calendar.field2507; + } - for (int var1 = 0; var1 < class328.indexedSpriteCount; ++var1) { - Sprite var2 = var0[var1] = new Sprite(); - var2.width = class328.indexedSpriteWidth; - var2.height = class328.indexedSpriteHeight; - var2.yOffset = class328.indexedSpriteOffsetXs[var1]; - var2.xOffset = class328.indexedSpriteOffsetYs[var1]; - var2.subWidth = VarbitDefinition.indexedSpriteWidths[var1]; - var2.subHeight = SecureRandomCallable.indexedSpriteHeights[var1]; - int var3 = var2.subHeight * var2.subWidth; - byte[] var4 = class328.spritePixels[var1]; - var2.pixels = new int[var3]; + int var11; + if (var0 == ScriptOpcodes.CC_SETOP) { + var11 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + var4.setAction(var11, Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]); + return 1; + } else { + --Skills.Interpreter_stringStackSize; + return 1; + } + } else { + int var6; + if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var4.parent = Client.getWidgetChild(var11, var6); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { + var4.isScrollBar = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { + var4.dragZoneSize = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { + var4.dragThreshold = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { + var4.dataText = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { + var4.spellActionName = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { + var4.actions = null; + return 1; + } else if (var0 == 1308) { + var4.field2691 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else { + int var7; + byte[] var9; + if (var0 != ScriptOpcodes.CC_SETOPKEY) { + byte var5; + if (var0 == ScriptOpcodes.CC_SETOPTKEY) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var5 = 10; + var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; + byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]}; + FloorOverlayDefinition.method4756(var4, var5, var9, var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; + var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + if (var11 >= 0 && var11 <= 9) { + class14.method153(var4, var11, var6, var7); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { + var5 = 10; + var6 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + class14.method153(var4, var5, var6, var7); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { + --HealthBarUpdate.Interpreter_intStackSize; + var11 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + WorldMapCacheName.method600(var4, var11); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { + var5 = 10; + WorldMapCacheName.method600(var4, var5); + return 1; + } else { + return 2; + } + } else { + byte[] var8 = null; + var9 = null; + if (var3) { + HealthBarUpdate.Interpreter_intStackSize -= 10; - for (int var5 = 0; var5 < var3; ++var5) { - var2.pixels[var5] = class328.indexedSpritePalette[var4[var5] & 255]; - } - } + for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize] >= 0; var7 += 2) { + } - class328.indexedSpriteOffsetXs = null; - class328.indexedSpriteOffsetYs = null; - VarbitDefinition.indexedSpriteWidths = null; - SecureRandomCallable.indexedSpriteHeights = null; - class328.indexedSpritePalette = null; - class328.spritePixels = ((byte[][])null); - return var0; - } + 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 + HealthBarUpdate.Interpreter_intStackSize]; + var9[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + HealthBarUpdate.Interpreter_intStackSize + 1]; + } + } + } else { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]}; + var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]}; + } + + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] - 1; + if (var7 >= 0 && var7 <= 9) { + FloorOverlayDefinition.method4756(var4, var7, var8, var9); + return 1; + } else { + throw new RuntimeException(); + } + } + } + } + } } diff --git a/runescape-client/src/main/java/UserList.java b/runescape-client/src/main/java/UserList.java index 1db071698b..608d46da75 100644 --- a/runescape-client/src/main/java/UserList.java +++ b/runescape-client/src/main/java/UserList.java @@ -7,328 +7,335 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("km") +@ObfuscatedName("jb") @Implements("UserList") public abstract class UserList { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -2119868987 - ) - @Export("capacity") - final int capacity; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -280101247 - ) - @Export("size0") - int size0; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[Ljs;" - ) - @Export("array") - User[] array; - @ObfuscatedName("g") - @Export("usernamesMap") - HashMap usernamesMap; - @ObfuscatedName("l") - @Export("previousUsernamesMap") - HashMap previousUsernamesMap; - @ObfuscatedName("e") - @Export("comparator") - Comparator comparator; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1922167721 + ) + @Export("capacity") + final int capacity; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1078735745 + ) + @Export("size") + int size; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "[Ljd;" + ) + @Export("array") + User[] array; + @ObfuscatedName("b") + @Export("usernamesMap") + HashMap usernamesMap; + @ObfuscatedName("i") + @Export("previousUsernamesMap") + HashMap previousUsernamesMap; + @ObfuscatedName("c") + @Export("comparator") + Comparator comparator; - UserList(int var1) { - this.size0 = 0; - this.comparator = null; - this.capacity = var1; - this.array = this.newTypedArray(var1); - this.usernamesMap = new HashMap(var1 / 8); - this.previousUsernamesMap = new HashMap(var1 / 8); - } + 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("m") - @ObfuscatedSignature( - signature = "(I)Ljs;", - garbageValue = "-2063112195" - ) - @Export("newInstance") - abstract User newInstance(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Ljd;", + garbageValue = "2016619159" + ) + @Export("newInstance") + abstract User newInstance(); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)[Ljs;", - garbageValue = "861814350" - ) - @Export("newTypedArray") - abstract User[] newTypedArray(int size); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)[Ljd;", + garbageValue = "2126056206" + ) + @Export("newTypedArray") + abstract User[] newTypedArray(int var1); - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1821856453" - ) - @Export("clear") - public void clear() { - this.size0 = 0; - Arrays.fill(this.array, (Object)null); - this.usernamesMap.clear(); - this.previousUsernamesMap.clear(); - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1361883918" + ) + @Export("clear") + public void clear() { + this.size = 0; + Arrays.fill(this.array, (Object)null); + this.usernamesMap.clear(); + this.previousUsernamesMap.clear(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1458980777" - ) - @Export("size") - public int size() { - return this.size0; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1502557341" + ) + @Export("getSize") + public int getSize() { + return this.size; + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "482333248" - ) - @Export("isFull") - public boolean isFull() { - return this.capacity == this.size0; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1711155206" + ) + @Export("isFull") + public boolean isFull() { + return this.capacity == this.size; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkp;I)Z", - garbageValue = "933434965" - ) - @Export("contains") - public boolean contains(Username username) { - return username.hasCleanName() && (this.usernamesMap.containsKey(username) || this.previousUsernamesMap.containsKey(username)); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ljv;I)Z", + garbageValue = "-416985799" + ) + @Export("contains") + public boolean contains(Username var1) { + if (!var1.hasCleanName()) { + return false; + } else { + return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1); + } + } - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(Lkp;I)Ljs;", - garbageValue = "-291023874" - ) - @Export("getByUsername") - public User getByUsername(Username username) { - User var2 = this.getByCurrentUsername(username); - return var2 != null ? var2 : this.getByPreviousUsername(username); - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(Ljv;B)Ljd;", + garbageValue = "-108" + ) + @Export("getByUsername") + public User getByUsername(Username var1) { + User var2 = this.getByCurrentUsername(var1); + return var2 != null ? var2 : this.getByPreviousUsername(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(Lkp;I)Ljs;", - garbageValue = "-1364698032" - ) - @Export("getByCurrentUsername") - User getByCurrentUsername(Username username) { - return !username.hasCleanName() ? null : (User)this.usernamesMap.get(username); - } + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Ljv;I)Ljd;", + garbageValue = "2083171527" + ) + @Export("getByCurrentUsername") + User getByCurrentUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); + } - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(Lkp;I)Ljs;", - garbageValue = "-1976876334" - ) - @Export("getByPreviousUsername") - User getByPreviousUsername(Username previousUsername) { - return !previousUsername.hasCleanName() ? null : (User)this.previousUsernamesMap.get(previousUsername); - } + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(Ljv;B)Ljd;", + garbageValue = "9" + ) + @Export("getByPreviousUsername") + User getByPreviousUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); + } - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkp;S)Z", - garbageValue = "7857" - ) - @Export("removeByUsername") - public final boolean removeByUsername(Username username) { - User var2 = this.getByCurrentUsername(username); - if (var2 == null) { - return false; - } else { - this.remove(var2); - return true; - } - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Ljv;B)Z", + garbageValue = "38" + ) + @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("p") - @ObfuscatedSignature( - signature = "(Ljs;I)V", - garbageValue = "-1991960360" - ) - @Export("remove") - final void remove(User user) { - int var2 = this.indexOf(user); - if (var2 != -1) { - this.arrayRemove(var2); - this.mapRemove(user); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ljd;I)V", + garbageValue = "951866693" + ) + @Export("remove") + final void remove(User var1) { + int var2 = this.indexOf(var1); + if (var2 != -1) { + this.arrayRemove(var2); + this.mapRemove(var1); + } + } - } + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Ljv;B)Ljd;", + garbageValue = "-19" + ) + @Export("addLastNoPreviousUsername") + User addLastNoPreviousUsername(Username var1) { + return this.addLast(var1, (Username)null); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lkp;I)Ljs;", - garbageValue = "-1137431921" - ) - @Export("addLastNoPreviousUsername") - User addLastNoPreviousUsername(Username username) { - return this.addLast(username, (Username)null); - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljv;Ljv;B)Ljd;", + garbageValue = "-19" + ) + @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("ag") - @ObfuscatedSignature( - signature = "(Lkp;Lkp;I)Ljs;", - garbageValue = "1445676158" - ) - @Export("addLast") - User addLast(Username username, Username previousUsername) { - if (this.getByCurrentUsername(username) != null) { - throw new IllegalStateException(); - } else { - User var3 = this.newInstance(); - var3.set(username, previousUsername); - this.arrayAddLast(var3); - this.mapPut(var3); - return var3; - } - } + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(II)Ljd;", + garbageValue = "-1818852723" + ) + @Export("get") + public final User get(int var1) { + if (var1 >= 0 && var1 < this.size) { + return this.array[var1]; + } else { + throw new ArrayIndexOutOfBoundsException(var1); + } + } - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(II)Ljs;", - garbageValue = "-1676228472" - ) - @Export("get") - public final User get(int index) { - if (index >= 0 && index < this.size0) { - return this.array[index]; - } else { - throw new ArrayIndexOutOfBoundsException(index); - } - } + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "128" + ) + @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("aj") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-337545643" - ) - @Export("sort") - public final void sort() { - if (this.comparator == null) { - Arrays.sort(this.array, 0, this.size0); - } else { - Arrays.sort(this.array, 0, this.size0, this.comparator); - } + } - } + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(Ljd;Ljv;Ljv;I)V", + garbageValue = "-1615811470" + ) + @Export("changeName") + final void changeName(User var1, Username var2, Username var3) { + this.mapRemove(var1); + var1.set(var2, var3); + this.mapPut(var1); + } - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljs;Lkp;Lkp;B)V", - garbageValue = "35" - ) - @Export("changeName") - final void changeName(User user, Username username, Username previousUsername) { - this.mapRemove(user); - user.set(username, previousUsername); - this.mapPut(user); - } + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(Ljd;I)I", + garbageValue = "403420808" + ) + @Export("indexOf") + final int indexOf(User var1) { + for (int var2 = 0; var2 < this.size; ++var2) { + if (this.array[var2] == var1) { + return var2; + } + } - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(Ljs;I)I", - garbageValue = "-1908653684" - ) - @Export("indexOf") - final int indexOf(User user) { - for (int var2 = 0; var2 < this.size0; ++var2) { - if (this.array[var2] == user) { - return var2; - } - } + return -1; + } - return -1; - } + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Ljd;I)V", + garbageValue = "-1244348671" + ) + @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("ac") - @ObfuscatedSignature( - signature = "(Ljs;S)V", - garbageValue = "-20791" - ) - @Export("mapRemove") - final void mapRemove(User user) { - if (user.previousUsername != null) { - this.previousUsernamesMap.remove(user.previousUsername); - } + } + } - } + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(Ljd;B)V", + garbageValue = "3" + ) + @Export("arrayAddLast") + final void arrayAddLast(User var1) { + this.array[++this.size - 1] = var1; + } - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(Ljs;I)V", - garbageValue = "1398315954" - ) - @Export("arrayAddLast") - final void arrayAddLast(User user) { - this.array[++this.size0 - 1] = user; - } + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Ljd;B)V", + garbageValue = "1" + ) + @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("ah") - @ObfuscatedSignature( - signature = "(Ljs;B)V", - garbageValue = "103" - ) - @Export("mapPut") - final void mapPut(User user) { - this.usernamesMap.put(user.username, user); - if (user.previousUsername != null) { - User var2 = (User)this.previousUsernamesMap.put(user.previousUsername, user); - if (var2 != null && var2 != user) { - var2.previousUsername = null; - } - } + } - } + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "57" + ) + @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("ak") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-616972929" - ) - @Export("arrayRemove") - final void arrayRemove(int index) { - --this.size0; - if (index < this.size0) { - System.arraycopy(this.array, index + 1, this.array, index, this.size0 - index); - } + } - } + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-960225827" + ) + @Export("removeComparator") + public final void removeComparator() { + this.comparator = null; + } - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1875022477" - ) - @Export("removeComparator") - public final void removeComparator() { - this.comparator = null; - } + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;I)V", + garbageValue = "-1720687591" + ) + @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); + } - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;B)V", - garbageValue = "-128" - ) - @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 e9d4e0cf48..a985ee1a5b 100644 --- a/runescape-client/src/main/java/Username.java +++ b/runescape-client/src/main/java/Username.java @@ -3,79 +3,144 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kp") +@ObfuscatedName("jv") @Implements("Username") public class Username implements Comparable { - @ObfuscatedName("q") - @Export("Interpreter_intLocals") - static int[] Interpreter_intLocals; - @ObfuscatedName("m") - @Export("name") - String name; - @ObfuscatedName("f") - @Export("cleanName") - String cleanName; + @ObfuscatedName("q") + @Export("name") + String name; + @ObfuscatedName("w") + @Export("cleanName") + String cleanName; - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Llx;)V" - ) - public Username(String var1, LoginType var2) { - this.name = var1; - this.cleanName = Message.method1229(var1, var2); - } + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lmu;)V" + ) + public Username(String var1, LoginType var2) { + this.name = var1; + this.cleanName = class291.method5315(var1, var2); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1065850055" - ) - @Export("getName") - public String getName() { - return this.name; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Ljava/lang/String;", + garbageValue = "118" + ) + @Export("getName") + public String getName() { + return this.name; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1468109942" - ) - @Export("hasCleanName") - public boolean hasCleanName() { - return this.cleanName != null; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-76" + ) + @Export("hasCleanName") + public boolean hasCleanName() { + return this.cleanName != null; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lkp;B)I", - garbageValue = "8" - ) - @Export("compareToTyped") - public int compareToTyped(Username other) { - return this.cleanName == null ? (other.cleanName == null ? 0 : 1) : (other.cleanName == null ? -1 : this.cleanName.compareTo(other.cleanName)); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljv;B)I", + garbageValue = "-67" + ) + @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 { - return var2.cleanName != null && this.hashCode() == var2.hashCode() && this.cleanName.equals(var2.cleanName); - } - } else { - return false; - } - } + 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 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 int compareTo(Object var1) { - return this.compareToTyped((Username)var1); - } + public String toString() { + return this.getName(); + } + + @ObfuscatedName("q") + public static final int method5217(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 = var4 * (var2 + 1.0D); + } else { + var12 = var4 + var2 - 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 = 6.0D * (var12 - var14) * var16 + var14; + } else if (var16 * 2.0D < 1.0D) { + var6 = var12; + } else if (3.0D * var16 < 2.0D) { + var6 = var14 + (0.6666666666666666D - var16) * (var12 - var14) * 6.0D; + } else { + var6 = var14; + } + + if (6.0D * var0 < 1.0D) { + var8 = (var12 - var14) * 6.0D * var0 + var14; + } else if (2.0D * var0 < 1.0D) { + var8 = var12; + } else if (var0 * 3.0D < 2.0D) { + var8 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var0); + } else { + var8 = var14; + } + + if (var20 * 6.0D < 1.0D) { + var10 = var20 * (var12 - var14) * 6.0D + var14; + } else if (2.0D * var20 < 1.0D) { + var10 = var12; + } else if (3.0D * var20 < 2.0D) { + var10 = 6.0D * (0.6666666666666666D - var20) * (var12 - var14) + var14; + } else { + var10 = var14; + } + } + + int var22 = (int)(var6 * 256.0D); + int var13 = (int)(256.0D * var8); + int var23 = (int)(var10 * 256.0D); + int var15 = var23 + (var13 << 8) + (var22 << 16); + return var15; + } } diff --git a/runescape-client/src/main/java/Usernamed.java b/runescape-client/src/main/java/Usernamed.java index b20a64d2c4..250e051050 100644 --- a/runescape-client/src/main/java/Usernamed.java +++ b/runescape-client/src/main/java/Usernamed.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ky") +@ObfuscatedName("jg") @Implements("Usernamed") public interface Usernamed { - @ObfuscatedName("kr") - @ObfuscatedSignature( - signature = "(B)Lkp;", - garbageValue = "-87" - ) - @Export("username") - Username username(); + @ObfuscatedName("ku") + @ObfuscatedSignature( + signature = "(B)Ljv;", + garbageValue = "-19" + ) + @Export("username") + Username username(); } diff --git a/runescape-client/src/main/java/VarbitDefinition.java b/runescape-client/src/main/java/VarbitDefinition.java index f1b032e4fb..0f2c7162b7 100644 --- a/runescape-client/src/main/java/VarbitDefinition.java +++ b/runescape-client/src/main/java/VarbitDefinition.java @@ -7,91 +7,707 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ia") @Implements("VarbitDefinition") public class VarbitDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("VarbitDefinition_archive") - static AbstractArchive VarbitDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("VarbitDefinition_cached") - public static EvictingDualNodeHashTable VarbitDefinition_cached; - @ObfuscatedName("u") - @Export("indexedSpriteWidths") - static int[] indexedSpriteWidths; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1552575189 - ) - @Export("baseVar") - public int baseVar; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -870948181 - ) - @Export("startBit") - public int startBit; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1710935305 - ) - @Export("endBit") - public int endBit; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarbitDefinition_archive") + public static AbstractArchive VarbitDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("VarbitDefinition_cached") + public static EvictingDualNodeHashTable VarbitDefinition_cached; + @ObfuscatedName("s") + @Export("BZip2Decompressor_block") + static int[] BZip2Decompressor_block; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 30212683 + ) + @Export("baseVar") + public int baseVar; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1456133489 + ) + @Export("startBit") + public int startBit; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1287867035 + ) + @Export("endBit") + public int endBit; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-1888757206" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + static { + VarbitDefinition_cached = new EvictingDualNodeHashTable(64); + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1936267259" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;IB)V", - garbageValue = "-76" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.baseVar = var1.readUnsignedShort(); - this.startBit = var1.readUnsignedByte(); - this.endBit = var1.readUnsignedByte(); - } + this.decodeNext(var1, var2); + } + } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "611768322" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.baseVar = var1.readUnsignedShort(); + this.startBit = var1.readUnsignedByte(); + this.endBit = var1.readUnsignedByte(); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1635045878" - ) - static final boolean method4910(int var0, int var1) { - ObjectDefinition var2 = class50.getObjectDefinition(var0); - if (var1 == 11) { - var1 = 10; - } + } - if (var1 >= 5 && var1 <= 8) { - var1 = 4; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;II)I", + garbageValue = "508851632" + ) + @Export("parseIntCustomRadix") + public static int parseIntCustomRadix(CharSequence var0, int var1) { + return WorldMapSection1.parseIntCustomRadix(var0, var1, true); + } - return var2.method230(var1); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lbz;I)V", + garbageValue = "-442455221" + ) + static void method4484(GameShell var0) { + int var3; + int var15; + if (Login.worldSelectOpen) { + while (true) { + if (!class218.method4109()) { + if (MouseHandler.MouseHandler_lastButton != 1 && (DevicePcmPlayerProvider.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { + break; + } - static { - VarbitDefinition_cached = new EvictingDualNodeHashTable(64); - } + 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; + } + + var3 = Login.xPadding + 500; + if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(2, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(2, 1); + break; + } + + var15 = Login.xPadding + 610; + if (MouseHandler.MouseHandler_lastPressedX >= var15 && MouseHandler.MouseHandler_lastPressedX <= var15 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(3, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var15 + 15 && MouseHandler.MouseHandler_lastPressedX <= var15 + 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) { + Login.worldSelectOpen = false; + GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); + NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + GroundItem.logoSprite.drawAt(Login.xPadding + 382 - GroundItem.logoSprite.subWidth / 2, 18); + break; + } + + if (Login.hoveredWorldIndex != -1) { + World var13 = World.worlds[Login.hoveredWorldIndex]; + MusicPatchPcmStream.changeWorld(var13); + Login.worldSelectOpen = false; + GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); + NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + GroundItem.logoSprite.drawAt(Login.xPadding + 382 - GroundItem.logoSprite.subWidth / 2, 18); + } else { + if (Login.worldSelectPage > 0 && Login.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= Login.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { + --Login.worldSelectPage; + } + + if (Login.worldSelectPage < Login.worldSelectPagesCount && NPCDefinition.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= GrandExchangeEvent.canvasWidth - NPCDefinition.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= GrandExchangeEvent.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= ParamDefinition.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ParamDefinition.canvasHeight / 2 + 50) { + ++Login.worldSelectPage; + } + } + break; + } + + if (ReflectionCheck.field1338 == 13) { + Login.worldSelectOpen = false; + GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0); + NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + GroundItem.logoSprite.drawAt(Login.xPadding + 382 - GroundItem.logoSprite.subWidth / 2, 18); + break; + } + + if (ReflectionCheck.field1338 == 96) { + if (Login.worldSelectPage > 0 && Login.worldSelectLeftSprite != null) { + --Login.worldSelectPage; + } + } else if (ReflectionCheck.field1338 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && NPCDefinition.worldSelectRightSprite != null) { + ++Login.worldSelectPage; + } + } + + } else { + if ((MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { + WorldMapLabelSize.clientPreferences.titleMusicDisabled = !WorldMapLabelSize.clientPreferences.titleMusicDisabled; + ReflectionCheck.savePreferences(); + if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) { + TextureProvider.method2761(WorldMapRegion.archive6, "scape main", "", 255, false); + } else { + NetSocket.method3553(); + } + } + + if (Client.gameState != 5) { + if (Login.field1193 == -1L) { + Login.field1193 = DirectByteArrayCopier.currentTimeMs() + 1000L; + } + + long var11 = DirectByteArrayCopier.currentTimeMs(); + if (class190.method3667() && -1L == Login.field1211) { + Login.field1211 = var11; + if (Login.field1211 > Login.field1193) { + Login.field1193 = Login.field1211; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + if (class190.field2348 == ScriptFrame.field528) { + if (MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { + var3 = Login.xPadding + 5; + short var4 = 463; + byte var5 = 100; + byte var6 = 35; + if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + var5 && MouseHandler.MouseHandler_lastPressedY >= var4 && MouseHandler.MouseHandler_lastPressedY <= var6 + var4) { + ChatChannel.method2214(); + return; + } + } + + if (World.field1027 != null) { + ChatChannel.method2214(); + } + } + + var3 = MouseHandler.MouseHandler_lastButton; + var15 = MouseHandler.MouseHandler_lastPressedX; + int var16 = MouseHandler.MouseHandler_lastPressedY; + if (var3 == 0) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + } + + if (!DevicePcmPlayerProvider.mouseCam && var3 == 4) { + var3 = 1; + } + + int var7; + short var8; + if (Login.loginIndex == 0) { + boolean var17 = false; + + while (class218.method4109()) { + if (ReflectionCheck.field1338 == 84) { + var17 = true; + } + } + + var7 = ScriptEvent.loginBoxCenter - 80; + var8 = 291; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + GrandExchangeOfferWorldComparator.openURL(class190.method3666("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); + } + + var7 = ScriptEvent.loginBoxCenter + 80; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20 || var17) { + 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 { + FaceNormal.method3266(false); + } + } + } else { + int var18; + short var20; + if (Login.loginIndex != 1) { + boolean var9; + int var10; + short var19; + if (Login.loginIndex == 2) { + var19 = 201; + var18 = var19 + 52; + if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { + Login.currentLoginField = 0; + } + + var18 += 15; + if (var3 == 1 && var16 >= var18 - 12 && var16 < var18 + 2) { + Login.currentLoginField = 1; + } + + var18 += 15; + var19 = 361; + if (class96.field1325 != null) { + var7 = class96.field1325.highX / 2; + if (var3 == 1 && var15 >= class96.field1325.lowX - var7 && var15 <= var7 + class96.field1325.lowX && var16 >= var19 - 15 && var16 < var19) { + switch(Login.field1212) { + case 1: + class268.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: + GrandExchangeOfferWorldComparator.openURL("https://support.runescape.com/hc/en-gb", true, false); + } + } + } + + var7 = ScriptEvent.loginBoxCenter - 80; + var8 = 321; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class268.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + class268.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class268.setLoginResponseString("", "Connecting to server...", ""); + GrandExchangeOffer.method99(false); + class96.updateGameState(20); + return; + } + + var7 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + } + + var7 = ScriptEvent.loginBoxCenter + -117; + var8 = 277; + Login.field1199 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; + if (var3 == 1 && Login.field1199) { + Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; + if (!Client.Login_isUsernameRemembered && WorldMapLabelSize.clientPreferences.rememberedUsername != null) { + WorldMapLabelSize.clientPreferences.rememberedUsername = null; + ReflectionCheck.savePreferences(); + } + } + + var7 = ScriptEvent.loginBoxCenter + 24; + var8 = 277; + Login.field1184 = var15 >= var7 && var15 < var7 + class237.field3191 && var16 >= var8 && var16 < var8 + WorldMapDecoration.field212; + if (var3 == 1 && Login.field1184) { + WorldMapLabelSize.clientPreferences.hideUsername = !WorldMapLabelSize.clientPreferences.hideUsername; + if (!WorldMapLabelSize.clientPreferences.hideUsername) { + Login.Login_username = ""; + WorldMapLabelSize.clientPreferences.rememberedUsername = null; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } + + ReflectionCheck.savePreferences(); + } + + while (true) { + while (class218.method4109()) { + var9 = false; + + for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { + if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { + var9 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + Login.field1201 = true; + } else if (Login.currentLoginField == 0) { + if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { + Login.currentLoginField = 1; + } + + if (var9 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Calendar.field2508; + } + } else if (Login.currentLoginField == 1) { + if (ReflectionCheck.field1338 == 85 && Login.Login_password.length() > 0) { + Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); + } + + if (ReflectionCheck.field1338 == 84 || ReflectionCheck.field1338 == 80) { + Login.currentLoginField = 0; + } + + if (ReflectionCheck.field1338 == 84) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + class268.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + class268.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + class268.setLoginResponseString("", "Connecting to server...", ""); + GrandExchangeOffer.method99(false); + class96.updateGameState(20); + return; + } + + if (var9 && Login.Login_password.length() < 20) { + Login.Login_password = Login.Login_password + Calendar.field2508; + } + } + } + + return; + } + } else if (Login.loginIndex == 3) { + var18 = Login.loginBoxX + 180; + var20 = 276; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); + } + + var18 = Login.loginBoxX + 180; + var20 = 326; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + class268.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 var22; + if (Login.loginIndex == 4) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + WorldMapManager.otp.trim(); + if (WorldMapManager.otp.length() != 6) { + class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); + WorldMapManager.otp = ""; + GrandExchangeOffer.method99(true); + class268.setLoginResponseString("", "Connecting to server...", ""); + class96.updateGameState(20); + return; + } + + if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 9 && var15 <= Login.loginBoxX + 180 + 130 && var16 >= 263 && var16 <= 296) { + Login.field1201 = !Login.field1201; + } + + if (var3 == 1 && var15 >= Login.loginBoxX + 180 - 34 && var15 <= Login.loginBoxX + 34 + 180 && var16 >= 351 && var16 <= 363) { + GrandExchangeOfferWorldComparator.openURL(class190.method3666("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + } + + while (class218.method4109()) { + boolean var21 = false; + + for (var22 = 0; var22 < "1234567890".length(); ++var22) { + if (Calendar.field2508 == "1234567890".charAt(var22)) { + var21 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + GrandExchangeOffer.field65 = 0; + WorldMapManager.otp = ""; + } else { + if (ReflectionCheck.field1338 == 85 && WorldMapManager.otp.length() > 0) { + WorldMapManager.otp = WorldMapManager.otp.substring(0, WorldMapManager.otp.length() - 1); + } + + if (ReflectionCheck.field1338 == 84) { + WorldMapManager.otp.trim(); + if (WorldMapManager.otp.length() != 6) { + class268.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + GrandExchangeOffer.field65 = Integer.parseInt(WorldMapManager.otp); + WorldMapManager.otp = ""; + GrandExchangeOffer.method99(true); + class268.setLoginResponseString("", "Connecting to server...", ""); + class96.updateGameState(20); + return; + } + + if (var21 && WorldMapManager.otp.length() < 6) { + WorldMapManager.otp = WorldMapManager.otp + Calendar.field2508; + } + } + } + } else if (Login.loginIndex == 5) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + UserComparator10.method3406(); + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + + var8 = 361; + if (WorldMapAreaData.field332 != null) { + var22 = WorldMapAreaData.field332.highX / 2; + if (var3 == 1 && var15 >= WorldMapAreaData.field332.lowX - var22 && var15 <= var22 + WorldMapAreaData.field332.lowX && var16 >= var8 - 15 && var16 < var8) { + GrandExchangeOfferWorldComparator.openURL(class190.method3666("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); + } + } + + while (class218.method4109()) { + var9 = false; + + for (var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { + if (Calendar.field2508 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { + var9 = true; + break; + } + } + + if (ReflectionCheck.field1338 == 13) { + FaceNormal.method3266(true); + } else { + if (ReflectionCheck.field1338 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ReflectionCheck.field1338 == 84) { + UserComparator10.method3406(); + return; + } + + if (var9 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + Calendar.field2508; + } + } + } + } else if (Login.loginIndex == 6) { + while (true) { + do { + if (!class218.method4109()) { + var19 = 321; + if (var3 == 1 && var16 >= var19 - 20 && var16 <= var19 + 20) { + FaceNormal.method3266(true); + } + + return; + } + } while(ReflectionCheck.field1338 != 84 && ReflectionCheck.field1338 != 13); + + FaceNormal.method3266(true); + } + } else if (Login.loginIndex == 7) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + GrandExchangeOfferWorldComparator.openURL(class190.method3666("secure", true) + "m=dob/set_dob.ws", true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + } else if (Login.loginIndex == 8) { + var18 = Login.loginBoxX + 180 - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + GrandExchangeOfferWorldComparator.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var18 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(true); + } + } else if (Login.loginIndex == 12) { + String var14 = ""; + switch(Login.field1182) { + case 0: + var14 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; + break; + case 1: + var14 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; + break; + default: + FaceNormal.method3266(false); + } + + var7 = Login.loginBoxX + 180; + var8 = 276; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + GrandExchangeOfferWorldComparator.openURL(var14, true, false); + class268.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var7 = Login.loginBoxX + 180; + var8 = 326; + if (var3 == 1 && var15 >= var7 - 75 && var15 <= var7 + 75 && var16 >= var8 - 20 && var16 <= var8 + 20) { + FaceNormal.method3266(false); + } + } else if (Login.loginIndex == 24) { + var18 = Login.loginBoxX + 180; + var20 = 301; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); + } + } + } + } else { + while (class218.method4109()) { + if (ReflectionCheck.field1338 == 84) { + FaceNormal.method3266(false); + } else if (ReflectionCheck.field1338 == 13) { + Login.loginIndex = 0; + } + } + + var18 = ScriptEvent.loginBoxCenter - 80; + var20 = 321; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + FaceNormal.method3266(false); + } + + var18 = ScriptEvent.loginBoxCenter + 80; + if (var3 == 1 && var15 >= var18 - 75 && var15 <= var18 + 75 && var16 >= var20 - 20 && var16 <= var20 + 20) { + Login.loginIndex = 0; + } + } + } + + } + } + } + } } diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index 9092e57754..1da337aa42 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -2,80 +2,96 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("iw") +@ObfuscatedName("id") @Implements("VarcInt") public class VarcInt extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("VarcInt_archive") - static AbstractArchive VarcInt_archive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("VarcInt_cached") - static EvictingDualNodeHashTable VarcInt_cached; - @ObfuscatedName("q") - @Export("persist") - public boolean persist; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarcInt_archive") + public static AbstractArchive VarcInt_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("VarcInt_cached") + public static EvictingDualNodeHashTable VarcInt_cached; + @ObfuscatedName("e") + @Export("persist") + public boolean persist; - VarcInt() { - this.persist = false; - } + static { + VarcInt_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1023420886" - ) - void method354(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + public VarcInt() { + this.persist = false; + } - this.method355(var1, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "22" + ) + public void method4401(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-202810982" - ) - void method355(Buffer var1, int var2) { - if (var2 == 2) { - this.persist = true; - } + this.method4396(var1, var2); + } + } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "958337922" + ) + void method4396(Buffer var1, int var2) { + if (var2 == 2) { + this.persist = true; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/Class;", - garbageValue = "1680587190" - ) - @Export("loadClassFromDescriptor") - static Class loadClassFromDescriptor(String descriptor) throws ClassNotFoundException { - return descriptor.equals("B") ? Byte.TYPE : (descriptor.equals("I") ? Integer.TYPE : (descriptor.equals("S") ? Short.TYPE : (descriptor.equals("J") ? Long.TYPE : (descriptor.equals("Z") ? Boolean.TYPE : (descriptor.equals("F") ? Float.TYPE : (descriptor.equals("D") ? Double.TYPE : (descriptor.equals("C") ? Character.TYPE : (descriptor.equals("void") ? Void.TYPE : Reflection.findClass(descriptor))))))))); - } + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "1367119425" - ) - @Export("isAlphaNumeric") - public static boolean isAlphaNumeric(char var0) { - return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;S)Ljava/lang/String;", + garbageValue = "-32757" + ) + public static String method4403(CharSequence var0) { + long var3 = 0L; + int var5 = var0.length(); - static { - VarcInt_cached = new EvictingDualNodeHashTable(64); - } + 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 = class215.method4023(var3); + if (var8 == null) { + var8 = ""; + } + + return var8; + } } diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index 08a685b2d1..0552e1ad92 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -9,408 +9,365 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ch") +@ObfuscatedName("ca") @Implements("Varcs") public class Varcs { - @ObfuscatedName("q") - @Export("intsPersistence") - boolean[] intsPersistence; - @ObfuscatedName("w") - @Export("map") - Map map; - @ObfuscatedName("o") - @Export("strings") - String[] strings; - @ObfuscatedName("u") - @Export("unwrittenChanges") - boolean unwrittenChanges; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = 4836824701467349417L - ) - @Export("lastWriteTimeMs") - long lastWriteTimeMs; + @ObfuscatedName("es") + @ObfuscatedGetter( + intValue = 610571431 + ) + @Export("port3") + static int port3; + @ObfuscatedName("e") + @Export("intsPersistence") + boolean[] intsPersistence; + @ObfuscatedName("p") + @Export("map") + Map map; + @ObfuscatedName("k") + @Export("strings") + String[] strings; + @ObfuscatedName("l") + @Export("unwrittenChanges") + boolean unwrittenChanges; + @ObfuscatedName("b") + @ObfuscatedGetter( + longValue = -277979548816975331L + ) + long field1272; - Varcs() { - this.unwrittenChanges = false; - int var1 = ObjectSound.archive2.getGroupFileCount(19); - this.map = new HashMap(); - this.intsPersistence = new boolean[var1]; + Varcs() { + this.unwrittenChanges = false; + int var1 = class215.archive2.getGroupFileCount(19); + this.map = new HashMap(); + this.intsPersistence = new boolean[var1]; - int var2; - for (var2 = 0; var2 < var1; ++var2) { - VarcInt var3 = AbstractByteArrayCopier.getVarcInt(var2); - this.intsPersistence[var2] = var3.persist; - } + 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.method4401(new Buffer(var5)); + } - var2 = 0; - if (ObjectSound.archive2.method133(15)) { - var2 = ObjectSound.archive2.getGroupFileCount(15); - } + VarcInt.VarcInt_cached.put(var4, (long)var2); + var3 = var4; + } - this.strings = new String[var2]; - this.read(); - } + this.intsPersistence[var2] = var3.persist; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "920518911" - ) - @Export("setInt") - void setInt(int index, int var2) { - this.map.put(index, var2); - if (this.intsPersistence[index]) { - this.unwrittenChanges = true; - } + var2 = 0; + if (class215.archive2.method4268(15)) { + var2 = class215.archive2.getGroupFileCount(15); + } - } + this.strings = new String[var2]; + this.read(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "6" - ) - @Export("getInt") - int getInt(int index) { - Object var2 = this.map.get(index); - return var2 instanceof Integer ? (Integer)var2 : -1; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1875619216" + ) + @Export("setInt") + void setInt(int var1, int var2) { + this.map.put(var1, var2); + if (this.intsPersistence[var1]) { + this.unwrittenChanges = true; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "12847051" - ) - @Export("setString") - void setString(int index, String var2) { - this.map.put(index, var2); - } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "897961099" - ) - @Export("getString") - String getString(int index) { - Object var2 = this.map.get(index); - return var2 instanceof String ? (String)var2 : ""; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-17" + ) + @Export("getInt") + int getInt(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof Integer ? (Integer)var2 : -1; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;B)V", - garbageValue = "15" - ) - @Export("setStringOld") - void setStringOld(int index, String var2) { - this.strings[index] = var2; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)V", + garbageValue = "-1079389061" + ) + @Export("setString") + void setString(int var1, String var2) { + this.map.put(var1, var2); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", - garbageValue = "0" - ) - @Export("getStringOld") - String getStringOld(int index) { - return this.strings[index]; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "-1328754518" + ) + @Export("getString") + String getString(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof String ? (String)var2 : ""; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1668901140" - ) - @Export("clearTransient") - void clearTransient() { - int var1; - for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { - if (!this.intsPersistence[var1]) { - this.map.remove(var1); - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)V", + garbageValue = "-267938278" + ) + @Export("setStringOld") + void setStringOld(int var1, String var2) { + this.strings[var1] = var2; + } - for (var1 = 0; var1 < this.strings.length; ++var1) { - this.strings[var1] = null; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "1859485923" + ) + @Export("getStringOld") + String getStringOld(int var1) { + return this.strings[var1]; + } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1717605874" + ) + @Export("clearTransient") + void clearTransient() { + int var1; + for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { + if (!this.intsPersistence[var1]) { + this.map.remove(var1); + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ZB)Ldk;", - garbageValue = "8" - ) - @Export("getPreferencesFile") - AccessFile getPreferencesFile(boolean var1) { - return LoginPacket.getPreferencesFile("2", WorldMapRectangle.studioGame.name, var1); - } + for (var1 = 0; var1 < this.strings.length; ++var1) { + this.strings[var1] = null; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "370223063" - ) - @Export("write") - void write() { - AccessFile var1 = this.getPreferencesFile(true); + } - try { - int var2 = 3; - int var3 = 0; - Iterator var4 = this.map.entrySet().iterator(); + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(ZI)Lma;", + garbageValue = "195746057" + ) + @Export("getPreferencesFile") + AccessFile getPreferencesFile(boolean var1) { + return WorldMapIcon_0.getPreferencesFile("2", WorldMapRegion.field248.name, var1); + } - 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 += WorldMapRegion.stringCp1252NullTerminatedByteSize((String)var7); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2043030213" + ) + @Export("write") + void write() { + AccessFile var1 = this.getPreferencesFile(true); - ++var3; - } - } + try { + int var2 = 3; + int var3 = 0; + Iterator var4 = this.map.entrySet().iterator(); - Buffer var28 = new Buffer(var2); - var28.writeByte(2); - var28.writeShort(var3); - Iterator var29 = 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 += Huffman.stringCp1252NullTerminatedByteSize((String)var7); + } - label179: - while (true) { - Entry var8; - int var30; - do { - if (!var29.hasNext()) { - var1.write(var28.array, 0, var28.index); - break label179; - } + ++var3; + } + } - var8 = (Entry)var29.next(); - var30 = (Integer)var8.getKey(); - } while(!this.intsPersistence[var30]); + Buffer var28 = new Buffer(var2); + var28.writeByte(2); + var28.writeShort(var3); + Iterator var29 = this.map.entrySet().iterator(); - var28.writeShort(var30); - Object var9 = var8.getValue(); - Class var10 = var9.getClass(); - class3[] var11 = class3.method34(); - int var13 = 0; + label147: + while (true) { + Entry var17; + int var18; + do { + if (!var29.hasNext()) { + var1.write(var28.array, 0, var28.offset); + break label147; + } - class3 var12; - while (true) { - if (var13 >= var11.length) { - var12 = null; - break; - } + var17 = (Entry)var29.next(); + var18 = (Integer)var17.getKey(); + } while(!this.intsPersistence[var18]); - class3 var14 = var11[var13]; - if (var10 == var14.field18) { - var12 = var14; - break; - } + var28.writeShort(var18); + Object var8 = var17.getValue(); + Class var10 = var8.getClass(); + class3[] var11 = new class3[]{class3.field9, class3.field14, class3.field7}; + class3[] var12 = var11; + int var13 = 0; - ++var13; - } + class3 var9; + while (true) { + if (var13 >= var12.length) { + var9 = null; + break; + } - var28.writeByte(var12.field1147); - Class var31 = var9.getClass(); - class3[] var32 = class3.method34(); - int var16 = 0; + class3 var14 = var12[var13]; + if (var10 == var14.field12) { + var9 = var14; + break; + } - class3 var15; - while (true) { - if (var16 >= var32.length) { - var15 = null; - break; - } + ++var13; + } - class3 var17 = var32[var16]; - if (var31 == var17.field18) { - var15 = var17; - break; - } + var28.writeByte(var9.field11); + class3.method30(var8, var28); + } + } catch (Exception var26) { + } finally { + try { + var1.close(); + } catch (Exception var25) { + } - ++var16; - } + } - if (var15 == null) { - throw new IllegalArgumentException(); - } + this.unwrittenChanges = false; + this.field1272 = DirectByteArrayCopier.currentTimeMs(); + } - class0 var33 = var15.field19; - var33.vmethod44(var9, var28); - } - } catch (Exception var26) { - } finally { - try { - var1.close(); - } catch (Exception var25) { - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-5" + ) + @Export("read") + void read() { + AccessFile var1 = this.getPreferencesFile(false); - } + label226: { + try { + byte[] var2 = new byte[(int)var1.length()]; - this.unwrittenChanges = false; - this.lastWriteTimeMs = class203.currentTimeMs(); - } + 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(); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1824591047" - ) - @Export("read") - void read() { - AccessFile var1 = this.getPreferencesFile(false); + Buffer var15 = new Buffer(var2); + if (var15.array.length - var15.offset >= 1) { + 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; - try { - byte[] var2 = new byte[(int)var1.length()]; + while (true) { + if (var7 >= var17) { + break label226; + } - int var3; - for (int var4 = 0; var4 < var2.length; var4 += var3) { - var3 = var1.read(var2, var4, var2.length - var4); - if (var3 == -1) { - throw new EOFException(); - } - } + var8 = var15.readUnsignedShort(); + var9 = var15.readUnsignedByte(); + class3[] var10 = new class3[]{class3.field9, class3.field14, class3.field7}; + class3 var11 = (class3)SoundSystem.findEnumerated(var10, var9); + Object var12 = var11.method34(var15); + if (this.intsPersistence[var8]) { + this.map.put(var8, var12); + } - Buffer var24 = new Buffer(var2); - if (var24.array.length - var24.index < 1) { - return; - } + ++var7; + } + } else { + var17 = var15.readUnsignedShort(); - int var5 = var24.readUnsignedByte(); - if (var5 < 0 || var5 > 2) { - return; - } + for (var7 = 0; var7 < var17; ++var7) { + var8 = var15.readUnsignedShort(); + var9 = var15.readInt(); + if (this.intsPersistence[var8]) { + this.map.put(var8, var9); + } + } - int var6; - int var7; - int var8; - int var9; - if (var5 >= 2) { - var9 = var24.readUnsignedShort(); + var7 = var15.readUnsignedShort(); + var8 = 0; - for (var6 = 0; var6 < var9; ++var6) { - var7 = var24.readUnsignedShort(); - var8 = var24.readUnsignedByte(); - class3 var10 = (class3)ScriptFrame.findEnumerated(class3.method34(), var8); - Object var11 = var10.method31(var24); - if (this.intsPersistence[var7]) { - this.map.put(var7, var11); - } - } - } else { - var9 = var24.readUnsignedShort(); + while (true) { + if (var8 >= var7) { + break label226; + } - for (var6 = 0; var6 < var9; ++var6) { - var7 = var24.readUnsignedShort(); - var8 = var24.readInt(); - if (this.intsPersistence[var7]) { - this.map.put(var7, var8); - } - } + var15.readUnsignedShort(); + var15.readStringCp1252NullTerminated(); + ++var8; + } + } + } - var6 = var24.readUnsignedShort(); + return; + } + } catch (Exception var26) { + break label226; + } finally { + try { + var1.close(); + } catch (Exception var25) { + } - for (var7 = 0; var7 < var6; ++var7) { - var24.readUnsignedShort(); - var24.readStringCp1252NullTerminated(); - } - } - } catch (Exception var22) { - } finally { - try { - var1.close(); - } catch (Exception var21) { - } + } - } + return; + } - this.unwrittenChanges = false; - } + this.unwrittenChanges = false; + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "26563322" - ) - @Export("tryWrite") - void tryWrite() { - if (this.unwrittenChanges && this.lastWriteTimeMs < class203.currentTimeMs() - 60000L) { - this.write(); - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2136969712" + ) + @Export("tryWrite") + void tryWrite() { + if (this.unwrittenChanges && this.field1272 < DirectByteArrayCopier.currentTimeMs() - 60000L) { + this.write(); + } - } + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1171297883" - ) - @Export("hasUnwrittenChanges") - boolean hasUnwrittenChanges() { - return this.unwrittenChanges; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;I)V", - garbageValue = "321265868" - ) - @Export("setFloorOverlayDefinitionArchive") - public static void setFloorOverlayDefinitionArchive(AbstractArchive var0) { - FloorOverlayDefinition.FloorOverlayDefinition_archive = var0; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "([BIIII[Lfy;I)V", - garbageValue = "1119202993" - ) - static final void method2166(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { - int var6; - int var7; - for (int var8 = 0; var8 < 4; ++var8) { - for (var6 = 0; var6 < 64; ++var6) { - for (var7 = 0; var7 < 64; ++var7) { - if (var6 + var1 > 0 && var6 + var1 < 103 && var7 + var2 > 0 && var7 + var2 < 103) { - int[] var9 = var5[var8].flags[var6 + var1]; - var9[var7 + var2] &= -16777217; - } - } - } - } - - Buffer var10 = new Buffer(var0); - - for (var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 64; ++var7) { - for (int var11 = 0; var11 < 64; ++var11) { - GrandExchangeOfferTotalQuantityComparator.loadTerrain(var10, var6, var7 + var1, var11 + var2, var3, var4, 0); - } - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lho;IIII)V", - garbageValue = "1592367053" - ) - static final void method2168(Widget var0, int var1, int var2, int var3) { - if (var0.field968 == null) { - throw new RuntimeException(); - } else { - var0.field968[var1] = var2; - var0.field969[var1] = var3; - } - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1650912685" + ) + @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 571ab74a88..56b6d41d5b 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -4,69 +4,105 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ix") +@ObfuscatedName("ik") @Implements("VarpDefinition") public class VarpDefinition extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("VarpDefinition_archive") - public static AbstractArchive VarpDefinition_archive; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 510774535 - ) - @Export("VarpDefinition_fileCount") - public static int VarpDefinition_fileCount; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("VarpDefinition_cached") - public static EvictingDualNodeHashTable VarpDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1792568421 - ) - @Export("type") - public int type; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarpDefinition_archive") + static AbstractArchive VarpDefinition_archive; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -2051999343 + ) + @Export("VarpDefinition_fileCount") + public static int VarpDefinition_fileCount; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("VarpDefinition_cached") + static EvictingDualNodeHashTable VarpDefinition_cached; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Llx;" + ) + @Export("titlebuttonSprite") + static IndexedSprite titlebuttonSprite; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("NetCache_responseArchiveBuffer") + static Buffer NetCache_responseArchiveBuffer; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1809591211 + ) + @Export("type") + public int type; - VarpDefinition() { - this.type = 0; - } + static { + VarpDefinition_cached = new EvictingDualNodeHashTable(64); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-41" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } + VarpDefinition() { + this.type = 0; + } - this.decodeNext(var1, var2); - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-927981442" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1859920822" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 5) { - this.type = var1.readUnsignedShort(); - } + this.decodeNext(var1, var2); + } + } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1780799047" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 5) { + this.type = var1.readUnsignedShort(); + } - static { - VarpDefinition_cached = new EvictingDualNodeHashTable(64); - } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(CI)Z", + garbageValue = "-17259877" + ) + public static boolean method4366(char var0) { + if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { + if (var0 != 0) { + char[] var1 = class288.cp1252AsciiExtension; + + for (int var2 = 0; var2 < var1.length; ++var2) { + char var3 = var1[var2]; + if (var0 == var3) { + return true; + } + } + } + + return false; + } else { + return true; + } + } } diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index a4789a34d0..5042b3638f 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -1,63 +1,197 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hv") +@ObfuscatedName("he") @Implements("Varps") public class Varps { - @ObfuscatedName("m") - @Export("Varps_masks") - static int[] Varps_masks; - @ObfuscatedName("f") - @Export("Varps_temp") - public static int[] Varps_temp; - @ObfuscatedName("q") - @Export("Varps_main") - public static int[] Varps_main; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 120772859 - ) - @Export("loginBoxCenter") - static int loginBoxCenter; + @ObfuscatedName("q") + @Export("Varps_masks") + static int[] Varps_masks; + @ObfuscatedName("w") + @Export("Varps_temp") + public static int[] Varps_temp; + @ObfuscatedName("e") + @Export("Varps_main") + public static int[] Varps_main; + @ObfuscatedName("p") + @Export("SpriteBuffer_xOffsets") + public static int[] SpriteBuffer_xOffsets; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;I)V", - garbageValue = "2111080001" - ) - @Export("setFloorUnderlayDefinitionArchive") - public static void setFloorUnderlayDefinitionArchive(AbstractArchive var0) { - FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var0; - } + static { + Varps_masks = new int[32]; + int var0 = 2; - @ObfuscatedName("ki") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-1714608824" - ) - static void method4400(Buffer var0) { - if (Client.field172 != null) { - var0.writeBytes(Client.field172, 0, Client.field172.length); - } else { - byte[] var1 = AttackOption.method2032(); - var0.writeBytes(var1, 0, var1.length); - } + for (int var1 = 0; var1 < 32; ++var1) { + Varps_masks[var1] = var0 - 1; + var0 += var0; + } - } + Varps_temp = new int[4000]; + Varps_main = new int[4000]; + } - static { - Varps_masks = new int[32]; - int var0 = 2; + @ObfuscatedName("in") + @ObfuscatedSignature( + signature = "(Lhj;II)I", + garbageValue = "1546167720" + ) + static final int method3969(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; - for (int var1 = 0; var1 < 32; ++var1) { - Varps_masks[var1] = var0 - 1; - var0 += var0; - } + while (true) { + int var6 = var2[var4++]; + int var7 = 0; + byte var8 = 0; + if (var6 == 0) { + return var3; + } - Varps_temp = new int[4000]; - Varps_main = new int[4000]; - } + 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 = class80.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!WorldMapArea.getItemDefinition(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_main[var2[var4++]]; + } + + if (var6 == 6) { + var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; + } + + if (var6 == 7) { + var7 = Varps_main[var2[var4++]] * 100 / 46875; + } + + if (var6 == 8) { + var7 = Client.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 = class80.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!WorldMapArea.getItemDefinition(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_main[var2[var4++]]; + int var13 = var2[var4++]; + var7 = (var9 & 1 << var13) != 0 ? 1 : 0; + } + + if (var6 == 14) { + var9 = var2[var4++]; + var7 = GrandExchangeOfferOwnWorldComparator.getVarbit(var9); + } + + if (var6 == 15) { + var8 = 1; + } + + if (var6 == 16) { + var8 = 2; + } + + if (var6 == 17) { + var8 = 3; + } + + if (var6 == 18) { + var7 = MusicPatchNode2.baseX * 64 + (Client.localPlayer.x >> 7); + } + + if (var6 == 19) { + var7 = class1.baseY * 64 + (Client.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; + } + } } diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index 66ffc6364d..9dc3409995 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -1,72 +1,67 @@ +import java.util.Iterator; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dq") +@ObfuscatedName("dd") @Implements("VertexNormal") public class VertexNormal { - @ObfuscatedName("pe") - static boolean field945; - @ObfuscatedName("rq") - @ObfuscatedGetter( - intValue = 1351620693 - ) - static int field946; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1414310131 - ) - int field947; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1493845293 - ) - int field948; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1575149515 - ) - int field949; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -487323631 - ) - int field950; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 741962059 + ) + int field1759; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1828551341 + ) + int field1760; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1911535461 + ) + int field1758; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -171249661 + ) + int field1761; - VertexNormal() { - } + VertexNormal() { + } - @ObfuscatedSignature( - signature = "(Ldq;)V" - ) - VertexNormal(VertexNormal var1) { - this.field947 = var1.field947; - this.field948 = var1.field948; - this.field949 = var1.field949; - this.field950 = var1.field950; - } + @ObfuscatedSignature( + signature = "(Ldd;)V" + ) + VertexNormal(VertexNormal var1) { + this.field1759 = var1.field1759; + this.field1760 = var1.field1760; + this.field1758 = var1.field1758; + this.field1761 = var1.field1761; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "([BB)V", - garbageValue = "-86" - ) - static synchronized void method2984(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 (RouteStrategy.field760 != null) { - for (int var1 = 0; var1 < ByteArrayPool.field55.length; ++var1) { - if (var0.length == ByteArrayPool.field55[var1] && WorldMapSection0.field1082[var1] < RouteStrategy.field760[var1].length) { - RouteStrategy.field760[var1][WorldMapSection0.field1082[var1]++] = var0; - return; - } - } - } + @ObfuscatedName("jz") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "6" + ) + static final void method2972() { + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsFriend(); + } - } + Iterator var2 = Messages.Messages_hashTable.iterator(); + + while (var2.hasNext()) { + Message var3 = (Message)var2.next(); + var3.clearIsFromFriend(); + } + + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.clearFriends(); + } + + } } diff --git a/runescape-client/src/main/java/VerticalAlignment.java b/runescape-client/src/main/java/VerticalAlignment.java index c562dc666b..e9c5477f79 100644 --- a/runescape-client/src/main/java/VerticalAlignment.java +++ b/runescape-client/src/main/java/VerticalAlignment.java @@ -4,50 +4,56 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ip") +@ObfuscatedName("if") @Implements("VerticalAlignment") public enum VerticalAlignment implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lip;" - ) - field3277(0, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lip;" - ) - field3273(1, 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lip;" - ) - field3274(2, 2); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lif;" + ) + field3195(1, 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lif;" + ) + @Export("VerticalAlignment_centered") + VerticalAlignment_centered(0, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lif;" + ) + field3194(2, 2); - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 2070321655 - ) - @Export("value") - public final int value; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1686539261 - ) - @Export("id") - final int id; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -899877695 + ) + static int field3192; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -513284045 + ) + @Export("value") + public final int value; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -404264531 + ) + @Export("id") + final int id; - private VerticalAlignment(int var3, int var4) { - this.value = var3; - this.id = var4; - } + VerticalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } } diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index ae4ed28680..db305b43e4 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -3,149 +3,187 @@ 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("dm") +@ObfuscatedName("di") @Implements("ViewportMouse") public class ViewportMouse { - @ObfuscatedName("m") - @Export("ViewportMouse_isInViewport") - public static boolean ViewportMouse_isInViewport; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1891197573 - ) - @Export("ViewportMouse_x") - public static int ViewportMouse_x; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1535565231 - ) - @Export("ViewportMouse_y") - public static int ViewportMouse_y; - @ObfuscatedName("w") - @Export("ViewportMouse_false0") - public static boolean ViewportMouse_false0; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1135175963 - ) - static int field951; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 262104267 - ) - static int field952; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2071972829 - ) - static int field953; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -852671813 - ) - static int field954; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -2140977119 - ) - @Export("ViewportMouse_entityCount") - public static int ViewportMouse_entityCount; - @ObfuscatedName("a") - @Export("ViewportMouse_entityTags") - public static long[] ViewportMouse_entityTags; + @ObfuscatedName("q") + @Export("ViewportMouse_isInViewport") + public static boolean ViewportMouse_isInViewport; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 284050525 + ) + @Export("ViewportMouse_x") + public static int ViewportMouse_x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -245246371 + ) + @Export("ViewportMouse_y") + public static int ViewportMouse_y; + @ObfuscatedName("p") + @Export("ViewportMouse_false0") + public static boolean ViewportMouse_false0; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -933115495 + ) + static int field1745; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -401508143 + ) + static int field1746; + @ObfuscatedName("i") + @Export("loadedInterfaces") + public static boolean[] loadedInterfaces; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_modelsArchive") + static AbstractArchive Widget_modelsArchive; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -900084985 + ) + static int field1741; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1866489791 + ) + @Export("ViewportMouse_entityCount") + public static int ViewportMouse_entityCount; + @ObfuscatedName("v") + @Export("ViewportMouse_entityTags") + public static long[] ViewportMouse_entityTags; + @ObfuscatedName("fq") + @ObfuscatedGetter( + intValue = -572146471 + ) + static int field1747; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lic;", - garbageValue = "17" - ) - @Export("getWorldMapElement") - public static WorldMapElement getWorldMapElement(int var0) { - return var0 >= 0 && var0 < Widget.WorldMapElement_cached.length && Widget.WorldMapElement_cached[var0] != null ? Widget.WorldMapElement_cached[var0] : new WorldMapElement(var0); - } + static { + ViewportMouse_isInViewport = false; + ViewportMouse_x = 0; + ViewportMouse_y = 0; + ViewportMouse_false0 = false; + ViewportMouse_entityCount = 0; + ViewportMouse_entityTags = new long[1000]; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "2128573585" - ) - static int method2983(int var0, Script var1, boolean var2) { - Widget var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETX) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETY) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHIDE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETLAYER) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.parentId; - return 1; - } else { - return 2; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IS)Liy;", + garbageValue = "4095" + ) + @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)); + } - @ObfuscatedName("jg") - @ObfuscatedSignature( - signature = "(Lho;I)Z", - garbageValue = "-1501258333" - ) - static final boolean method2957(Widget var0) { - int var1 = var0.contentType; - if (var1 == 205) { - Client.field175 = 250; - return true; - } else { - int var2; - int var3; - if (var1 >= 300 && var1 <= 313) { - var2 = (var1 - 300) / 2; - var3 = var1 & 1; - Client.playerAppearance.method257(var2, var3 == 1); - } + var1.postDecode(); + if (var1.isSolid) { + var1.interactType = 0; + var1.boolean1 = false; + } - if (var1 >= 314 && var1 <= 323) { - var2 = (var1 - 314) / 2; - var3 = var1 & 1; - Client.playerAppearance.method258(var2, var3 == 1); - } + ObjectDefinition.ObjectDefinition_cached.put(var1, (long)var0); + return var1; + } + } - if (var1 == 324) { - Client.playerAppearance.method259(false); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)Lcx;", + garbageValue = "1" + ) + @Export("getScript") + static Script getScript(int var0) { + Script var1 = (Script)Script.Script_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = UserComparator4.archive12.takeFile(var0, 0); + if (var2 == null) { + return null; + } else { + var1 = World.newScript(var2); + Script.Script_cached.put(var1, (long)var0); + return var1; + } + } + } - if (var1 == 325) { - Client.playerAppearance.method259(true); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Liu;IIIBZI)V", + garbageValue = "-913325342" + ) + @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; + } - if (var1 == 326) { - PacketBufferNode var4 = Interpreter.method1915(ClientPacket.field234, Client.packetWriter.isaacCipher); - Client.playerAppearance.method260(var4.packetBuffer); - Client.packetWriter.method241(var4); - return true; - } else { - return false; - } - } - } + } else { + if (!var5) { + var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); + if (var8 != null) { + return; + } + } - static { - ViewportMouse_isInViewport = false; - ViewportMouse_x = 0; - ViewportMouse_y = 0; - ViewportMouse_false0 = false; - ViewportMouse_entityCount = 0; - ViewportMouse_entityTags = new long[1000]; - } + 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("i") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)I", + garbageValue = "-1418597327" + ) + public static int method2971(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/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index 66423c855c..012dec189d 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -4,103 +4,127 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eq") +@ObfuscatedName("ei") @Implements("WallDecoration") public final class WallDecoration { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1781638945 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1411967127 - ) - @Export("x") - int x; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -629971645 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -183359389 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -303827911 - ) - @Export("orientation2") - int orientation2; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1927462659 - ) - @Export("xOffset") - int xOffset; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1531207607 - ) - @Export("yOffset") - int yOffset; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity1") - public Entity entity1; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lex;" - ) - @Export("entity2") - public Entity entity2; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = 3167575053900974839L - ) - @Export("tag") - public long tag; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1164153171 - ) - @Export("flags") - int flags; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1872492475 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -185034131 + ) + @Export("x") + int x; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1951564087 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1472564709 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 909597607 + ) + @Export("orientation2") + int orientation2; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1726678055 + ) + @Export("xOffset") + int xOffset; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1895972445 + ) + @Export("yOffset") + int yOffset; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity1") + public Entity entity1; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("entity2") + public Entity entity2; + @ObfuscatedName("f") + @ObfuscatedGetter( + longValue = -3118431343692928767L + ) + @Export("tag") + public long tag; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -359663539 + ) + @Export("flags") + int flags; - WallDecoration() { - this.tag = 0L; - this.flags = 0; - } + WallDecoration() { + this.tag = 0L; + this.flags = 0; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BII)I", - garbageValue = "1120739015" - ) - public static int method3257(byte[] var0, int var1) { - int var2 = -1; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "([BI)Lke;", + garbageValue = "107452813" + ) + @Export("getWorldMapSprite") + public static Font getWorldMapSprite(byte[] var0) { + if (var0 == null) { + return null; + } else { + Font var1 = new Font(var0, Varps.SpriteBuffer_xOffsets, class326.SpriteBuffer_yOffsets, class326.SpriteBuffer_spriteWidths, class216.SpriteBuffer_spriteHeights, Frames.SpriteBuffer_spritePalette, class326.SpriteBuffer_pixels); + class16.method174(); + return var1; + } + } - for (int var3 = 0; var3 < var1; ++var3) { - var2 = var2 >>> 8 ^ Buffer.crc32Table[(var2 ^ var0[var3]) & 255]; - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-2066331179" + ) + public static int method3292(int var0) { + if (var0 > 0) { + return 1; + } else { + return var0 < 0 ? -1 : 0; + } + } - var2 = ~var2; - return var2; - } + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2093071208" + ) + protected static final void method3291() { + GameShell.clock.mark(); - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-881894911" - ) - public static int method3256(int var0) { - return var0 > 0 ? 1 : (var0 < 0 ? -1 : 0); - } + int var0; + for (var0 = 0; var0 < 32; ++var0) { + GameShell.field452[var0] = 0L; + } + + for (var0 = 0; var0 < 32; ++var0) { + GameShell.field453[var0] = 0L; + } + + GameShell.field449 = 0; + } } diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 623477b16f..43f82fc040 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -4,1569 +4,2067 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ho") +@ObfuscatedName("hj") @Implements("Widget") public class Widget extends Node { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Lic;" - ) - @Export("WorldMapElement_cached") - public static WorldMapElement[] WorldMapElement_cached; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "[[Lho;" - ) - @Export("interfaceComponents") - public static Widget[][] interfaceComponents; - @ObfuscatedName("l") - @Export("loadedInterfaces") - public static boolean[] loadedInterfaces; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("Widget_archive") - public static AbstractArchive Widget_archive; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("Widget_spritesArchive") - public static AbstractArchive Widget_spritesArchive; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("widgetSpriteCache") - static EvictingDualNodeHashTable widgetSpriteCache; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("Widget_cachedModels") - static EvictingDualNodeHashTable Widget_cachedModels; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("Widget_cachedFonts") - static EvictingDualNodeHashTable Widget_cachedFonts; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Ler;" - ) - static EvictingDualNodeHashTable field956; - @ObfuscatedName("j") - public static boolean field957; - @ObfuscatedName("s") - @Export("isIf3") - public boolean isIf3; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -941148335 - ) - @Export("id") - public int id; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -648033351 - ) - @Export("childIndex") - public int childIndex; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1521310729 - ) - @Export("type") - public int type; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1412102151 - ) - @Export("buttonType") - public int buttonType; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -581762425 - ) - @Export("contentType") - public int contentType; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 523318277 - ) - @Export("xAlignment") - public int xAlignment; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1300531185 - ) - @Export("yAlignment") - public int yAlignment; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1628640897 - ) - @Export("widthAlignment") - public int widthAlignment; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -709256449 - ) - @Export("heightAlignment") - public int heightAlignment; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -872904863 - ) - @Export("rawX") - public int rawX; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1814696937 - ) - @Export("rawY") - public int rawY; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -2001402777 - ) - @Export("rawWidth") - public int rawWidth; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = 1202342839 - ) - @Export("rawHeight") - public int rawHeight; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = 1271321381 - ) - @Export("x") - public int x; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1492291497 - ) - @Export("y") - public int y; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 1716081883 - ) - @Export("width") - public int width; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 1656646737 - ) - @Export("height") - public int height; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 206556853 - ) - public int field958; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -1047989223 - ) - public int field959; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -617209253 - ) - @Export("parentId") - public int parentId; - @ObfuscatedName("ae") - @Export("isHidden") - public boolean isHidden; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 2090399935 - ) - @Export("scrollX") - public int scrollX; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -537618643 - ) - @Export("scrollY") - public int scrollY; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -623790443 - ) - @Export("scrollWidth") - public int scrollWidth; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = -867175629 - ) - @Export("scrollHeight") - public int scrollHeight; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -2022638615 - ) - @Export("color") - public int color; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -365781561 - ) - @Export("color2") - public int color2; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = -1831692129 - ) - @Export("mouseOverColor") - public int mouseOverColor; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 1236161275 - ) - @Export("mouseOverColor2") - public int mouseOverColor2; - @ObfuscatedName("ao") - @Export("fill") - public boolean fill; - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("rectangleMode") - public RectangleMode rectangleMode; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -638557371 - ) - @Export("transparency") - public int transparency; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -1853255291 - ) - public int field960; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = -110526699 - ) - @Export("lineWid") - public int lineWid; - @ObfuscatedName("ba") - public boolean field961; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = -1074168553 - ) - @Export("spriteId2") - public int spriteId2; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = 1573420153 - ) - @Export("spriteId") - public int spriteId; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = -1361791123 - ) - @Export("spriteAngle") - public int spriteAngle; - @ObfuscatedName("bn") - @Export("spriteTiling") - public boolean spriteTiling; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = -594884327 - ) - @Export("outline") - public int outline; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = 215797483 - ) - @Export("spriteShadow") - public int spriteShadow; - @ObfuscatedName("bc") - @Export("spriteFlipV") - public boolean spriteFlipV; - @ObfuscatedName("bo") - @Export("spriteFlipH") - public boolean spriteFlipH; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = 630750753 - ) - @Export("modelType") - public int modelType; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = -2013625215 - ) - @Export("modelId") - public int modelId; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 138222099 - ) - @Export("modelType2") - int modelType2; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = -201557389 - ) - @Export("modelId2") - int modelId2; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = -1423753745 - ) - @Export("sequenceId") - public int sequenceId; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = -856053301 - ) - @Export("sequenceId2") - public int sequenceId2; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -459670781 - ) - @Export("modelOffsetX") - public int modelOffsetX; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = -2018053063 - ) - @Export("modelOffsetY") - public int modelOffsetY; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = 2044722063 - ) - @Export("modelAngleX") - public int modelAngleX; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = -1253859481 - ) - @Export("modelAngleY") - public int modelAngleY; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = -692411223 - ) - @Export("modelAngleZ") - public int modelAngleZ; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = -2133338643 - ) - @Export("modelZoom") - public int modelZoom; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = -1692331135 - ) - public int field962; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 727421593 - ) - public int field963; - @ObfuscatedName("be") - @Export("modelOrthog") - public boolean modelOrthog; - @ObfuscatedName("bv") - @Export("modelTransparency") - public boolean modelTransparency; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = -1658511475 - ) - @Export("itemQuantityMode") - public int itemQuantityMode; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 1435746863 - ) - @Export("fontId") - public int fontId; - @ObfuscatedName("cv") - @Export("text") - public String text; - @ObfuscatedName("ce") - @Export("text2") - public String text2; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = 1401272343 - ) - @Export("textLineHeight") - public int textLineHeight; - @ObfuscatedName("cs") - @ObfuscatedGetter( - intValue = 1527989635 - ) - @Export("textXAlignment") - public int textXAlignment; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = 1271997981 - ) - @Export("textYAlignment") - public int textYAlignment; - @ObfuscatedName("cj") - @Export("textShadowed") - public boolean textShadowed; - @ObfuscatedName("cu") - @ObfuscatedGetter( - intValue = -23173063 - ) - @Export("paddingX") - public int paddingX; - @ObfuscatedName("cb") - @ObfuscatedGetter( - intValue = 720760323 - ) - @Export("paddingY") - public int paddingY; - @ObfuscatedName("ck") - @Export("inventoryXOffsets") - public int[] inventoryXOffsets; - @ObfuscatedName("cn") - @Export("inventoryYOffsets") - public int[] inventoryYOffsets; - @ObfuscatedName("cq") - @Export("inventorySprites") - public int[] inventorySprites; - @ObfuscatedName("ch") - @Export("itemActions") - public String[] itemActions; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = 1856618959 - ) - @Export("clickMask") - public int clickMask; - @ObfuscatedName("cg") - public boolean field965; - @ObfuscatedName("cf") - public byte[][] field966; - @ObfuscatedName("cp") - public byte[][] field967; - @ObfuscatedName("cc") - public int[] field968; - @ObfuscatedName("ci") - public int[] field969; - @ObfuscatedName("de") - @Export("dataText") - public String dataText; - @ObfuscatedName("dx") - @Export("actions") - public String[] actions; - @ObfuscatedName("dt") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("parent") - public Widget parent; - @ObfuscatedName("dn") - @ObfuscatedGetter( - intValue = 2092800189 - ) - @Export("dragZoneSize") - public int dragZoneSize; - @ObfuscatedName("df") - @ObfuscatedGetter( - intValue = -1021798347 - ) - @Export("dragThreshold") - public int dragThreshold; - @ObfuscatedName("da") - @Export("isScrollBar") - public boolean isScrollBar; - @ObfuscatedName("dp") - @Export("spellActionName") - public String spellActionName; - @ObfuscatedName("ds") - @Export("hasListener") - public boolean hasListener; - @ObfuscatedName("di") - @Export("onLoad") - public Object[] onLoad; - @ObfuscatedName("dc") - @Export("onClick") - public Object[] onClick; - @ObfuscatedName("dg") - @Export("onClickRepeat") - public Object[] onClickRepeat; - @ObfuscatedName("db") - @Export("onRelease") - public Object[] onRelease; - @ObfuscatedName("dd") - @Export("onHold") - public Object[] onHold; - @ObfuscatedName("dy") - @Export("onMouseOver") - public Object[] onMouseOver; - @ObfuscatedName("dk") - @Export("onMouseRepeat") - public Object[] onMouseRepeat; - @ObfuscatedName("dl") - @Export("onMouseLeave") - public Object[] onMouseLeave; - @ObfuscatedName("dr") - @Export("onDrag") - public Object[] onDrag; - @ObfuscatedName("dw") - @Export("onDragComplete") - public Object[] onDragComplete; - @ObfuscatedName("dv") - @Export("onTargetEnter") - public Object[] onTargetEnter; - @ObfuscatedName("do") - @Export("onTargetLeave") - public Object[] onTargetLeave; - @ObfuscatedName("dh") - @Export("onVarTransmit") - public Object[] onVarTransmit; - @ObfuscatedName("dz") - @Export("varTransmitTriggers") - public int[] varTransmitTriggers; - @ObfuscatedName("dj") - @Export("onInvTransmit") - public Object[] onInvTransmit; - @ObfuscatedName("du") - @Export("invTransmitTriggers") - public int[] invTransmitTriggers; - @ObfuscatedName("dm") - @Export("onStatTransmit") - public Object[] onStatTransmit; - @ObfuscatedName("dq") - @Export("statTransmitTriggers") - public int[] statTransmitTriggers; - @ObfuscatedName("et") - @Export("onTimer") - public Object[] onTimer; - @ObfuscatedName("eb") - @Export("onOp") - public Object[] onOp; - @ObfuscatedName("ek") - @Export("onScroll") - public Object[] onScroll; - @ObfuscatedName("em") - @Export("onChatTransmit") - public Object[] onChatTransmit; - @ObfuscatedName("ed") - @Export("onKey") - public Object[] onKey; - @ObfuscatedName("ex") - @Export("onFriendTransmit") - public Object[] onFriendTransmit; - @ObfuscatedName("ej") - @Export("onClanTransmit") - public Object[] onClanTransmit; - @ObfuscatedName("el") - @Export("onMiscTransmit") - public Object[] onMiscTransmit; - @ObfuscatedName("en") - @Export("onDialogAbort") - public Object[] onDialogAbort; - @ObfuscatedName("ei") - @Export("onSubChange") - public Object[] onSubChange; - @ObfuscatedName("ee") - @Export("onResize") - public Object[] onResize; - @ObfuscatedName("eq") - @Export("onStockTransmit") - public Object[] onStockTransmit; - @ObfuscatedName("eh") - public Object[] field977; - @ObfuscatedName("eo") - @Export("cs1Instructions") - public int[][] cs1Instructions; - @ObfuscatedName("ey") - @Export("cs1Comparisons") - public int[] cs1Comparisons; - @ObfuscatedName("er") - @Export("cs1ComparisonValues") - public int[] cs1ComparisonValues; - @ObfuscatedName("ew") - @ObfuscatedGetter( - intValue = -1390352887 - ) - @Export("mouseOverRedirect") - public int mouseOverRedirect; - @ObfuscatedName("eu") - @Export("spellName") - public String spellName; - @ObfuscatedName("ec") - @Export("buttonText") - public String buttonText; - @ObfuscatedName("ef") - @Export("itemIds") - public int[] itemIds; - @ObfuscatedName("ev") - @Export("itemQuantities") - public int[] itemQuantities; - @ObfuscatedName("ea") - @ObfuscatedGetter( - intValue = 1248629915 - ) - @Export("itemId") - public int itemId; - @ObfuscatedName("es") - @ObfuscatedGetter( - intValue = 340244859 - ) - @Export("itemQuantity") - public int itemQuantity; - @ObfuscatedName("eg") - @ObfuscatedGetter( - intValue = -431656963 - ) - @Export("modelFrame") - public int modelFrame; - @ObfuscatedName("ez") - @ObfuscatedGetter( - intValue = -95117407 - ) - @Export("modelFrameCycle") - public int modelFrameCycle; - @ObfuscatedName("ep") - @ObfuscatedSignature( - signature = "[Lho;" - ) - @Export("children") - public Widget[] children; - @ObfuscatedName("fq") - public boolean field978; - @ObfuscatedName("fw") - public boolean field979; - @ObfuscatedName("fg") - @ObfuscatedGetter( - intValue = -1520351537 - ) - public int field980; - @ObfuscatedName("fc") - @ObfuscatedGetter( - intValue = 209458049 - ) - public int field981; - @ObfuscatedName("fl") - @ObfuscatedGetter( - intValue = -672198209 - ) - public int field982; - @ObfuscatedName("fj") - @ObfuscatedGetter( - intValue = 876695207 - ) - public int field983; - @ObfuscatedName("fp") - @ObfuscatedGetter( - intValue = 365867737 - ) - @Export("rootIndex") - public int rootIndex; - @ObfuscatedName("fd") - @ObfuscatedGetter( - intValue = -1995006949 - ) - @Export("cycle") - public int cycle; - @ObfuscatedName("fh") - public int[] field984; - @ObfuscatedName("fx") - @Export("noClickThrough") - public boolean noClickThrough; - @ObfuscatedName("fm") - @Export("noScrollThrough") - public boolean noScrollThrough; - @ObfuscatedName("fz") - public boolean field985; - - 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.field958 = 1; - this.field959 = 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.rectangleMode = RectangleMode.SOLID; - this.transparency = 0; - this.field960 = 0; - this.lineWid = 1; - this.field961 = 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.field962 = 0; - this.field963 = 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.field965 = 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.field978 = false; - this.field979 = false; - this.field980 = -1; - this.field981 = 0; - this.field982 = 0; - this.field983 = 0; - this.rootIndex = -1; - this.cycle = -1; - this.noClickThrough = false; - this.noScrollThrough = false; - this.field985 = false; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "688173225" - ) - @Export("decodeLegacy") - void decodeLegacy(Buffer buffer) { - this.isIf3 = false; - this.type = buffer.readUnsignedByte(); - this.buttonType = buffer.readUnsignedByte(); - this.contentType = buffer.readUnsignedShort(); - this.rawX = buffer.readShort(); - this.rawY = buffer.readShort(); - this.rawWidth = buffer.readUnsignedShort(); - this.rawHeight = buffer.readUnsignedShort(); - this.transparency = buffer.readUnsignedByte(); - this.parentId = buffer.readUnsignedShort(); - if (this.parentId == 65535) { - this.parentId = -1; - } else { - this.parentId += this.id & -65536; - } - - this.mouseOverRedirect = buffer.readUnsignedShort(); - if (this.mouseOverRedirect == 65535) { - this.mouseOverRedirect = -1; - } - - int var2 = buffer.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] = buffer.readUnsignedByte(); - this.cs1ComparisonValues[var3] = buffer.readUnsignedShort(); - } - } - - var3 = buffer.readUnsignedByte(); - int var4; - int var5; - int var6; - if (var3 > 0) { - this.cs1Instructions = new int[var3][]; - - for (var4 = 0; var4 < var3; ++var4) { - var5 = buffer.readUnsignedShort(); - this.cs1Instructions[var4] = new int[var5]; - - for (var6 = 0; var6 < var5; ++var6) { - this.cs1Instructions[var4][var6] = buffer.readUnsignedShort(); - if (this.cs1Instructions[var4][var6] == 65535) { - this.cs1Instructions[var4][var6] = -1; - } - } - } - } - - if (this.type == 0) { - this.scrollHeight = buffer.readUnsignedShort(); - this.isHidden = buffer.readUnsignedByte() == 1; - } - - if (this.type == 1) { - buffer.readUnsignedShort(); - buffer.readUnsignedByte(); - } - - if (this.type == 2) { - this.itemIds = new int[this.rawHeight * this.rawWidth]; - this.itemQuantities = new int[this.rawWidth * this.rawHeight]; - var4 = buffer.readUnsignedByte(); - if (var4 == 1) { - this.clickMask |= 268435456; - } - - var5 = buffer.readUnsignedByte(); - if (var5 == 1) { - this.clickMask |= 1073741824; - } - - var6 = buffer.readUnsignedByte(); - if (var6 == 1) { - this.clickMask |= Integer.MIN_VALUE; - } - - int var7 = buffer.readUnsignedByte(); - if (var7 == 1) { - this.clickMask |= 536870912; - } - - this.paddingX = buffer.readUnsignedByte(); - this.paddingY = buffer.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 = buffer.readUnsignedByte(); - if (var9 == 1) { - this.inventoryXOffsets[var8] = buffer.readShort(); - this.inventoryYOffsets[var8] = buffer.readShort(); - this.inventorySprites[var8] = buffer.readInt(); - } else { - this.inventorySprites[var8] = -1; - } - } - - this.itemActions = new String[5]; - - for (var8 = 0; var8 < 5; ++var8) { - String var11 = buffer.readStringCp1252NullTerminated(); - if (var11.length() > 0) { - this.itemActions[var8] = var11; - this.clickMask |= 1 << var8 + 23; - } - } - } - - if (this.type == 3) { - this.fill = buffer.readUnsignedByte() == 1; - } - - if (this.type == 4 || this.type == 1) { - this.textXAlignment = buffer.readUnsignedByte(); - this.textYAlignment = buffer.readUnsignedByte(); - this.textLineHeight = buffer.readUnsignedByte(); - this.fontId = buffer.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.textShadowed = buffer.readUnsignedByte() == 1; - } - - if (this.type == 4) { - this.text = buffer.readStringCp1252NullTerminated(); - this.text2 = buffer.readStringCp1252NullTerminated(); - } - - if (this.type == 1 || this.type == 3 || this.type == 4) { - this.color = buffer.readInt(); - } - - if (this.type == 3 || this.type == 4) { - this.color2 = buffer.readInt(); - this.mouseOverColor = buffer.readInt(); - this.mouseOverColor2 = buffer.readInt(); - } - - if (this.type == 5) { - this.spriteId2 = buffer.readInt(); - this.spriteId = buffer.readInt(); - } - - if (this.type == 6) { - this.modelType = 1; - this.modelId = buffer.readUnsignedShort(); - if (this.modelId == 65535) { - this.modelId = -1; - } - - this.modelType2 = 1; - this.modelId2 = buffer.readUnsignedShort(); - if (this.modelId2 == 65535) { - this.modelId2 = -1; - } - - this.sequenceId = buffer.readUnsignedShort(); - if (this.sequenceId == 65535) { - this.sequenceId = -1; - } - - this.sequenceId2 = buffer.readUnsignedShort(); - if (this.sequenceId2 == 65535) { - this.sequenceId2 = -1; - } - - this.modelZoom = buffer.readUnsignedShort(); - this.modelAngleX = buffer.readUnsignedShort(); - this.modelAngleY = buffer.readUnsignedShort(); - } - - if (this.type == 7) { - this.itemIds = new int[this.rawHeight * this.rawWidth]; - this.itemQuantities = new int[this.rawWidth * this.rawHeight]; - this.textXAlignment = buffer.readUnsignedByte(); - this.fontId = buffer.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.textShadowed = buffer.readUnsignedByte() == 1; - this.color = buffer.readInt(); - this.paddingX = buffer.readShort(); - this.paddingY = buffer.readShort(); - var4 = buffer.readUnsignedByte(); - if (var4 == 1) { - this.clickMask |= 1073741824; - } - - this.itemActions = new String[5]; - - for (var5 = 0; var5 < 5; ++var5) { - String var10 = buffer.readStringCp1252NullTerminated(); - if (var10.length() > 0) { - this.itemActions[var5] = var10; - this.clickMask |= 1 << var5 + 23; - } - } - } - - if (this.type == 8) { - this.text = buffer.readStringCp1252NullTerminated(); - } - - if (this.buttonType == 2 || this.type == 2) { - this.spellActionName = buffer.readStringCp1252NullTerminated(); - this.spellName = buffer.readStringCp1252NullTerminated(); - var4 = buffer.readUnsignedShort() & 63; - this.clickMask |= var4 << 11; - } - - if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { - this.buttonText = buffer.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("u") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "-1967445442" - ) - @Export("decode") - void decode(Buffer buffer) { - buffer.readUnsignedByte(); - this.isIf3 = true; - this.type = buffer.readUnsignedByte(); - this.contentType = buffer.readUnsignedShort(); - this.rawX = buffer.readShort(); - this.rawY = buffer.readShort(); - this.rawWidth = buffer.readUnsignedShort(); - if (this.type == 9) { - this.rawHeight = buffer.readShort(); - } else { - this.rawHeight = buffer.readUnsignedShort(); - } - - this.widthAlignment = buffer.readByte(); - this.heightAlignment = buffer.readByte(); - this.xAlignment = buffer.readByte(); - this.yAlignment = buffer.readByte(); - this.parentId = buffer.readUnsignedShort(); - if (this.parentId == 65535) { - this.parentId = -1; - } else { - this.parentId += this.id & -65536; - } - - this.isHidden = buffer.readUnsignedByte() == 1; - if (this.type == 0) { - this.scrollWidth = buffer.readUnsignedShort(); - this.scrollHeight = buffer.readUnsignedShort(); - this.noClickThrough = buffer.readUnsignedByte() == 1; - } - - if (this.type == 5) { - this.spriteId2 = buffer.readInt(); - this.spriteAngle = buffer.readUnsignedShort(); - this.spriteTiling = buffer.readUnsignedByte() == 1; - this.transparency = buffer.readUnsignedByte(); - this.outline = buffer.readUnsignedByte(); - this.spriteShadow = buffer.readInt(); - this.spriteFlipV = buffer.readUnsignedByte() == 1; - this.spriteFlipH = buffer.readUnsignedByte() == 1; - } - - if (this.type == 6) { - this.modelType = 1; - this.modelId = buffer.readUnsignedShort(); - if (this.modelId == 65535) { - this.modelId = -1; - } - - this.modelOffsetX = buffer.readShort(); - this.modelOffsetY = buffer.readShort(); - this.modelAngleX = buffer.readUnsignedShort(); - this.modelAngleY = buffer.readUnsignedShort(); - this.modelAngleZ = buffer.readUnsignedShort(); - this.modelZoom = buffer.readUnsignedShort(); - this.sequenceId = buffer.readUnsignedShort(); - if (this.sequenceId == 65535) { - this.sequenceId = -1; - } - - this.modelOrthog = buffer.readUnsignedByte() == 1; - buffer.readUnsignedShort(); - if (this.widthAlignment != 0) { - this.field962 = buffer.readUnsignedShort(); - } - - if (this.heightAlignment != 0) { - buffer.readUnsignedShort(); - } - } - - if (this.type == 4) { - this.fontId = buffer.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.text = buffer.readStringCp1252NullTerminated(); - this.textLineHeight = buffer.readUnsignedByte(); - this.textXAlignment = buffer.readUnsignedByte(); - this.textYAlignment = buffer.readUnsignedByte(); - this.textShadowed = buffer.readUnsignedByte() == 1; - this.color = buffer.readInt(); - } - - if (this.type == 3) { - this.color = buffer.readInt(); - this.fill = buffer.readUnsignedByte() == 1; - this.transparency = buffer.readUnsignedByte(); - } - - if (this.type == 9) { - this.lineWid = buffer.readUnsignedByte(); - this.color = buffer.readInt(); - this.field961 = buffer.readUnsignedByte() == 1; - } - - this.clickMask = buffer.readMedium(); - this.dataText = buffer.readStringCp1252NullTerminated(); - int var2 = buffer.readUnsignedByte(); - if (var2 > 0) { - this.actions = new String[var2]; - - for (int var3 = 0; var3 < var2; ++var3) { - this.actions[var3] = buffer.readStringCp1252NullTerminated(); - } - } - - this.dragZoneSize = buffer.readUnsignedByte(); - this.dragThreshold = buffer.readUnsignedByte(); - this.isScrollBar = buffer.readUnsignedByte() == 1; - this.spellActionName = buffer.readStringCp1252NullTerminated(); - this.onLoad = this.readListener(buffer); - this.onMouseOver = this.readListener(buffer); - this.onMouseLeave = this.readListener(buffer); - this.onTargetLeave = this.readListener(buffer); - this.onTargetEnter = this.readListener(buffer); - this.onVarTransmit = this.readListener(buffer); - this.onInvTransmit = this.readListener(buffer); - this.onStatTransmit = this.readListener(buffer); - this.onTimer = this.readListener(buffer); - this.onOp = this.readListener(buffer); - this.onMouseRepeat = this.readListener(buffer); - this.onClick = this.readListener(buffer); - this.onClickRepeat = this.readListener(buffer); - this.onRelease = this.readListener(buffer); - this.onHold = this.readListener(buffer); - this.onDrag = this.readListener(buffer); - this.onDragComplete = this.readListener(buffer); - this.onScroll = this.readListener(buffer); - this.varTransmitTriggers = this.readListenerTriggers(buffer); - this.invTransmitTriggers = this.readListenerTriggers(buffer); - this.statTransmitTriggers = this.readListenerTriggers(buffer); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lgr;I)[Ljava/lang/Object;", - garbageValue = "1906438788" - ) - @Export("readListener") - Object[] readListener(Buffer buffer) { - int var2 = buffer.readUnsignedByte(); - if (var2 == 0) { - return null; - } else { - Object[] var3 = new Object[var2]; - - for (int var4 = 0; var4 < var2; ++var4) { - int var5 = buffer.readUnsignedByte(); - if (var5 == 0) { - var3[var4] = new Integer(buffer.readInt()); - } else if (var5 == 1) { - var3[var4] = buffer.readStringCp1252NullTerminated(); - } - } - - this.hasListener = true; - return var3; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lgr;B)[I", - garbageValue = "1" - ) - @Export("readListenerTriggers") - int[] readListenerTriggers(Buffer buffer) { - int var2 = buffer.readUnsignedByte(); - if (var2 == 0) { - return null; - } else { - int[] var3 = new int[var2]; - - for (int var4 = 0; var4 < var2; ++var4) { - var3[var4] = buffer.readInt(); - } - - return var3; - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1403134294" - ) - @Export("swapItems") - public void swapItems(int indexA, int indexB) { - int var3 = this.itemIds[indexB]; - this.itemIds[indexB] = this.itemIds[indexA]; - this.itemIds[indexA] = var3; - var3 = this.itemQuantities[indexB]; - this.itemQuantities[indexB] = this.itemQuantities[indexA]; - this.itemQuantities[indexA] = var3; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(ZI)Lln;", - garbageValue = "1271984781" - ) - @Export("getSprite") - public Sprite getSprite(boolean var1) { - field957 = false; - int var2; - if (var1) { - var2 = this.spriteId; - } else { - var2 = 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); - Sprite var5 = (Sprite)widgetSpriteCache.get(var3); - if (var5 != null) { - return var5; - } else { - var5 = class322.readSprite(Widget_spritesArchive, var2, 0); - if (var5 == null) { - field957 = true; - return null; - } else { - if (this.spriteFlipV) { - var5.method306(); - } - - if (this.spriteFlipH) { - var5.method305(); - } - - if (this.outline > 0) { - var5.method304(this.outline); - } - - if (this.outline >= 1) { - var5.outline(1); - } - - if (this.outline >= 2) { - var5.outline(16777215); - } - - if (this.spriteShadow != 0) { - var5.shadow(this.spriteShadow); - } - - widgetSpriteCache.put(var5, var3); - return var5; - } - } - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Lkk;", - garbageValue = "-2" - ) - @Export("getFont") - public Font getFont() { - field957 = false; - if (this.fontId == -1) { - return null; - } else { - Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); - if (var1 != null) { - return var1; - } else { - var1 = GraphicsDefaults.loadFont(Widget_spritesArchive, class27.Widget_fontsArchive, this.fontId, 0); - if (var1 != null) { - Widget_cachedFonts.put(var1, (long)this.fontId); - } else { - field957 = true; - } - - return var1; - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(II)Lln;", - garbageValue = "285832400" - ) - @Export("getInventorySprite") - public Sprite getInventorySprite(int var1) { - field957 = false; - if (var1 >= 0 && var1 < this.inventorySprites.length) { - int var2 = this.inventorySprites[var1]; - if (var2 == -1) { - return null; - } else { - Sprite var3 = (Sprite)widgetSpriteCache.get((long)var2); - if (var3 != null) { - return var3; - } else { - var3 = class322.readSprite(Widget_spritesArchive, var2, 0); - if (var3 != null) { - widgetSpriteCache.put(var3, (long)var2); - } else { - field957 = true; - } - - return var3; - } - } - } else { - return null; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljh;IZLhi;I)Ldu;", - garbageValue = "1082545676" - ) - @Export("getModel") - public Model getModel(SequenceDefinition sequence, int frame, boolean alternate, PlayerAppearance appearance) { - field957 = false; - int var5; - int var6; - if (alternate) { - 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.method2788(BufferedSource.Widget_modelsArchive, var6, 0); - if (var8 == null) { - field957 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 2) { - var8 = ObjectDefinition.getNpcDefinition(var6).getModelData(); - if (var8 == null) { - field957 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 3) { - if (appearance == null) { - return null; - } - - var8 = appearance.getModelData(); - if (var8 == null) { - field957 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 4) { - ItemDefinition var9 = Skills.getItemDefinition(var6); - var8 = var9.method143(10); - if (var8 == null) { - field957 = true; - return null; - } - - var7 = var8.toModel(var9.ambient + 64, var9.contrast * 5 + 768, -50, -10, -50); - } - - Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); - } - - if (sequence != null) { - var7 = sequence.transformWidgetModel(var7, frame); - } - - return var7; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ZB)Lhp;", - garbageValue = "4" - ) - @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 = ((long)this.spriteShadow << 40) + ((this.spriteFlipH ? 1L : 0L) << 39) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2; - SpriteMask var5 = (SpriteMask)field956.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); - field956.put(var5, var3); - return var5; - } - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;B)V", - garbageValue = "-30" - ) - @Export("setAction") - public void setAction(int index, String var2) { - if (this.actions == null || this.actions.length <= index) { - String[] var3 = new String[index + 1]; - if (this.actions != null) { - for (int var4 = 0; var4 < this.actions.length; ++var4) { - var3[var4] = this.actions[var4]; - } - } - - this.actions = var3; - } - - this.actions[index] = var2; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I[BLff;I)V", - garbageValue = "-1287305716" - ) - static void method4499(int var0, byte[] var1, ArchiveDisk var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); - var3.type = 0; - var3.key = (long)var0; - var3.data = var1; - var3.archiveDisk = var2; - NodeDeque var4 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); - } - - Object var5 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field412 == 0) { - Frames.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); - Frames.ArchiveDiskActionHandler_thread.setDaemon(true); - Frames.ArchiveDiskActionHandler_thread.start(); - Frames.ArchiveDiskActionHandler_thread.setPriority(5); - } - - ArchiveDiskActionHandler.field412 = 600; - } - } - - static { - widgetSpriteCache = new EvictingDualNodeHashTable(200); - Widget_cachedModels = new EvictingDualNodeHashTable(50); - Widget_cachedFonts = new EvictingDualNodeHashTable(20); - field956 = new EvictingDualNodeHashTable(8); - field957 = false; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "[[Lhj;" + ) + @Export("Widget_interfaceComponents") + public static Widget[][] Widget_interfaceComponents; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_archive") + public static AbstractArchive Widget_archive; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("Widget_cachedSprites") + static EvictingDualNodeHashTable Widget_cachedSprites; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("Widget_cachedModels") + static EvictingDualNodeHashTable Widget_cachedModels; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("Widget_cachedFonts") + static EvictingDualNodeHashTable Widget_cachedFonts; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("Widget_cachedSpriteMasks") + static EvictingDualNodeHashTable Widget_cachedSpriteMasks; + @ObfuscatedName("g") + public static boolean field2562; + @ObfuscatedName("a") + @Export("isIf3") + public boolean isIf3; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 158584387 + ) + @Export("id") + public int id; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1544000877 + ) + @Export("childIndex") + public int childIndex; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -864720251 + ) + @Export("type") + public int type; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -880099821 + ) + @Export("buttonType") + public int buttonType; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1944932789 + ) + @Export("contentType") + public int contentType; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 987746495 + ) + @Export("xAlignment") + public int xAlignment; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 717061483 + ) + @Export("yAlignment") + public int yAlignment; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 997023099 + ) + @Export("widthAlignment") + public int widthAlignment; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -498004417 + ) + @Export("heightAlignment") + public int heightAlignment; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -1285685435 + ) + @Export("rawX") + public int rawX; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = 601625019 + ) + @Export("rawY") + public int rawY; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 1455891423 + ) + @Export("rawWidth") + public int rawWidth; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -1245544493 + ) + @Export("rawHeight") + public int rawHeight; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 468921479 + ) + @Export("x") + public int x; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -1717840937 + ) + @Export("y") + public int y; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -207604811 + ) + @Export("width") + public int width; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 652469727 + ) + @Export("height") + public int height; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1037362729 + ) + public int field2636; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 282635247 + ) + public int field2582; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = -1620194855 + ) + @Export("parentId") + public int parentId; + @ObfuscatedName("at") + @Export("isHidden") + public boolean isHidden; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -481429601 + ) + @Export("scrollX") + public int scrollX; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 910134597 + ) + @Export("scrollY") + public int scrollY; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 1233349313 + ) + @Export("scrollWidth") + public int scrollWidth; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -794847893 + ) + @Export("scrollHeight") + public int scrollHeight; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 900294255 + ) + @Export("color") + public int color; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 105989459 + ) + @Export("color2") + public int color2; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 1301053947 + ) + @Export("mouseOverColor") + public int mouseOverColor; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -345653957 + ) + @Export("mouseOverColor2") + public int mouseOverColor2; + @ObfuscatedName("ah") + @Export("fill") + public boolean fill; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "Lll;" + ) + @Export("fillMode") + public class323 fillMode; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -1372029575 + ) + @Export("transparencyTop") + public int transparencyTop; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = -575464839 + ) + @Export("transparencyBot") + public int transparencyBot; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -319407573 + ) + @Export("lineWid") + public int lineWid; + @ObfuscatedName("bp") + public boolean field2598; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = -876595051 + ) + @Export("spriteId2") + public int spriteId2; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = 1580941445 + ) + @Export("spriteId") + public int spriteId; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = 683998235 + ) + @Export("spriteAngle") + public int spriteAngle; + @ObfuscatedName("bh") + @Export("spriteTiling") + public boolean spriteTiling; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = -321597231 + ) + @Export("outline") + public int outline; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 75735867 + ) + @Export("spriteShadow") + public int spriteShadow; + @ObfuscatedName("bc") + @Export("spriteFlipV") + public boolean spriteFlipV; + @ObfuscatedName("bx") + @Export("spriteFlipH") + public boolean spriteFlipH; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 846816051 + ) + @Export("modelType") + public int modelType; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = 1563127453 + ) + @Export("modelId") + public int modelId; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = -283106593 + ) + @Export("modelType2") + int modelType2; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -1633810101 + ) + @Export("modelId2") + int modelId2; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = -234048173 + ) + @Export("sequenceId") + public int sequenceId; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -141585849 + ) + @Export("sequenceId2") + public int sequenceId2; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = 1696056233 + ) + @Export("modelOffsetX") + public int modelOffsetX; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = 908250059 + ) + @Export("modelOffsetY") + public int modelOffsetY; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = 1607699645 + ) + @Export("modelAngleX") + public int modelAngleX; + @ObfuscatedName("bu") + @ObfuscatedGetter( + intValue = 696166099 + ) + @Export("modelAngleY") + public int modelAngleY; + @ObfuscatedName("bw") + @ObfuscatedGetter( + intValue = -2033298185 + ) + @Export("modelAngleZ") + public int modelAngleZ; + @ObfuscatedName("br") + @ObfuscatedGetter( + intValue = -321826555 + ) + @Export("modelZoom") + public int modelZoom; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = 1070193225 + ) + public int field2619; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = -1940340785 + ) + public int field2575; + @ObfuscatedName("bv") + @Export("modelOrthog") + public boolean modelOrthog; + @ObfuscatedName("be") + @Export("modelTransparency") + public boolean modelTransparency; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = -2132117517 + ) + @Export("itemQuantityMode") + public int itemQuantityMode; + @ObfuscatedName("cr") + @ObfuscatedGetter( + intValue = 1233826431 + ) + @Export("fontId") + public int fontId; + @ObfuscatedName("cf") + @Export("text") + public String text; + @ObfuscatedName("cj") + @Export("text2") + public String text2; + @ObfuscatedName("cl") + @ObfuscatedGetter( + intValue = 1697523401 + ) + @Export("textLineHeight") + public int textLineHeight; + @ObfuscatedName("cn") + @ObfuscatedGetter( + intValue = -1511938645 + ) + @Export("textXAlignment") + public int textXAlignment; + @ObfuscatedName("cy") + @ObfuscatedGetter( + intValue = 1416587481 + ) + @Export("textYAlignment") + public int textYAlignment; + @ObfuscatedName("ct") + @Export("textShadowed") + public boolean textShadowed; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = 1258193639 + ) + @Export("paddingX") + public int paddingX; + @ObfuscatedName("cp") + @ObfuscatedGetter( + intValue = -722730749 + ) + @Export("paddingY") + public int paddingY; + @ObfuscatedName("ch") + @Export("inventoryXOffsets") + public int[] inventoryXOffsets; + @ObfuscatedName("co") + @Export("inventoryYOffsets") + public int[] inventoryYOffsets; + @ObfuscatedName("cw") + @Export("inventorySprites") + public int[] inventorySprites; + @ObfuscatedName("ca") + @Export("itemActions") + public String[] itemActions; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = 1890187799 + ) + @Export("clickMask") + public int clickMask; + @ObfuscatedName("cx") + public boolean field2704; + @ObfuscatedName("cu") + public byte[][] field2650; + @ObfuscatedName("cs") + public byte[][] field2625; + @ObfuscatedName("cz") + public int[] field2641; + @ObfuscatedName("cm") + public int[] field2588; + @ObfuscatedName("dr") + @Export("dataText") + public String dataText; + @ObfuscatedName("dn") + @Export("actions") + public String[] actions; + @ObfuscatedName("dw") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("parent") + public Widget parent; + @ObfuscatedName("dg") + @ObfuscatedGetter( + intValue = 377025817 + ) + @Export("dragZoneSize") + public int dragZoneSize; + @ObfuscatedName("df") + @ObfuscatedGetter( + intValue = -600496525 + ) + @Export("dragThreshold") + public int dragThreshold; + @ObfuscatedName("dt") + @Export("isScrollBar") + public boolean isScrollBar; + @ObfuscatedName("dj") + @Export("spellActionName") + public String spellActionName; + @ObfuscatedName("dl") + @Export("hasListener") + public boolean hasListener; + @ObfuscatedName("dz") + @Export("onLoad") + public Object[] onLoad; + @ObfuscatedName("dh") + @Export("onClick") + public Object[] onClick; + @ObfuscatedName("dy") + @Export("onClickRepeat") + public Object[] onClickRepeat; + @ObfuscatedName("dx") + @Export("onRelease") + public Object[] onRelease; + @ObfuscatedName("dp") + @Export("onHold") + public Object[] onHold; + @ObfuscatedName("de") + @Export("onMouseOver") + public Object[] onMouseOver; + @ObfuscatedName("du") + @Export("onMouseRepeat") + public Object[] onMouseRepeat; + @ObfuscatedName("do") + @Export("onMouseLeave") + public Object[] onMouseLeave; + @ObfuscatedName("dc") + @Export("onDrag") + public Object[] onDrag; + @ObfuscatedName("ds") + @Export("onDragComplete") + public Object[] onDragComplete; + @ObfuscatedName("dk") + @Export("onTargetEnter") + public Object[] onTargetEnter; + @ObfuscatedName("dq") + @Export("onTargetLeave") + public Object[] onTargetLeave; + @ObfuscatedName("db") + @Export("onVarTransmit") + public Object[] onVarTransmit; + @ObfuscatedName("da") + @Export("varTransmitTriggers") + public int[] varTransmitTriggers; + @ObfuscatedName("dv") + @Export("onInvTransmit") + public Object[] onInvTransmit; + @ObfuscatedName("dm") + @Export("invTransmitTriggers") + public int[] invTransmitTriggers; + @ObfuscatedName("di") + @Export("onStatTransmit") + public Object[] onStatTransmit; + @ObfuscatedName("dd") + @Export("statTransmitTriggers") + public int[] statTransmitTriggers; + @ObfuscatedName("ev") + @Export("onTimer") + public Object[] onTimer; + @ObfuscatedName("et") + @Export("onOp") + public Object[] onOp; + @ObfuscatedName("ej") + @Export("onScroll") + public Object[] onScroll; + @ObfuscatedName("er") + @Export("onChatTransmit") + public Object[] onChatTransmit; + @ObfuscatedName("eu") + @Export("onKey") + public Object[] onKey; + @ObfuscatedName("eo") + @Export("onFriendTransmit") + public Object[] onFriendTransmit; + @ObfuscatedName("em") + @Export("onClanTransmit") + public Object[] onClanTransmit; + @ObfuscatedName("en") + @Export("onMiscTransmit") + public Object[] onMiscTransmit; + @ObfuscatedName("ek") + @Export("onDialogAbort") + public Object[] onDialogAbort; + @ObfuscatedName("ef") + @Export("onSubChange") + public Object[] onSubChange; + @ObfuscatedName("eg") + @Export("onResize") + public Object[] onResize; + @ObfuscatedName("ei") + @Export("onStockTransmit") + public Object[] onStockTransmit; + @ObfuscatedName("es") + public Object[] field2681; + @ObfuscatedName("ez") + @Export("cs1Instructions") + public int[][] cs1Instructions; + @ObfuscatedName("ex") + @Export("cs1Comparisons") + public int[] cs1Comparisons; + @ObfuscatedName("el") + @Export("cs1ComparisonValues") + public int[] cs1ComparisonValues; + @ObfuscatedName("ep") + @ObfuscatedGetter( + intValue = -1660027401 + ) + @Export("mouseOverRedirect") + public int mouseOverRedirect; + @ObfuscatedName("eq") + @Export("spellName") + public String spellName; + @ObfuscatedName("ew") + @Export("buttonText") + public String buttonText; + @ObfuscatedName("ed") + @Export("itemIds") + public int[] itemIds; + @ObfuscatedName("ee") + @Export("itemQuantities") + public int[] itemQuantities; + @ObfuscatedName("ea") + @ObfuscatedGetter( + intValue = -1747969251 + ) + @Export("itemId") + public int itemId; + @ObfuscatedName("eh") + @ObfuscatedGetter( + intValue = 123297545 + ) + @Export("itemQuantity") + public int itemQuantity; + @ObfuscatedName("ey") + @ObfuscatedGetter( + intValue = -496948185 + ) + @Export("modelFrame") + public int modelFrame; + @ObfuscatedName("ec") + @ObfuscatedGetter( + intValue = -471723099 + ) + @Export("modelFrameCycle") + public int modelFrameCycle; + @ObfuscatedName("eb") + @ObfuscatedSignature( + signature = "[Lhj;" + ) + @Export("children") + public Widget[] children; + @ObfuscatedName("fi") + public boolean field2642; + @ObfuscatedName("fk") + public boolean field2589; + @ObfuscatedName("fg") + @ObfuscatedGetter( + intValue = -1473790409 + ) + public int field2689; + @ObfuscatedName("fz") + @ObfuscatedGetter( + intValue = 938926237 + ) + public int field2592; + @ObfuscatedName("fn") + @ObfuscatedGetter( + intValue = 1322548605 + ) + public int field2603; + @ObfuscatedName("fr") + @ObfuscatedGetter( + intValue = -1647708895 + ) + public int field2700; + @ObfuscatedName("fm") + @ObfuscatedGetter( + intValue = 437901973 + ) + @Export("rootIndex") + public int rootIndex; + @ObfuscatedName("ft") + @ObfuscatedGetter( + intValue = -1179996371 + ) + @Export("cycle") + public int cycle; + @ObfuscatedName("fe") + public int[] field2578; + @ObfuscatedName("fa") + @Export("noClickThrough") + public boolean noClickThrough; + @ObfuscatedName("fs") + @Export("noScrollThrough") + public boolean noScrollThrough; + @ObfuscatedName("ff") + public boolean field2691; + + static { + Widget_cachedSprites = new EvictingDualNodeHashTable(200); + Widget_cachedModels = new EvictingDualNodeHashTable(50); + Widget_cachedFonts = new EvictingDualNodeHashTable(20); + Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); + field2562 = 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.field2636 = 1; + this.field2582 = 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 = class323.SOLID; + this.transparencyTop = 0; + this.transparencyBot = 0; + this.lineWid = 1; + this.field2598 = 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.field2619 = 0; + this.field2575 = 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.field2704 = 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.field2642 = false; + this.field2589 = false; + this.field2689 = -1; + this.field2592 = 0; + this.field2603 = 0; + this.field2700 = 0; + this.rootIndex = -1; + this.cycle = -1; + this.noClickThrough = false; + this.noScrollThrough = false; + this.field2691 = false; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "9" + ) + @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.rawHeight * this.rawWidth]; + 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.rawWidth * this.rawHeight]; + this.itemQuantities = new int[this.rawHeight * this.rawWidth]; + 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("l") + @ObfuscatedSignature( + signature = "(Lkf;B)V", + garbageValue = "30" + ) + @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.field2619 = 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.field2598 = 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("b") + @ObfuscatedSignature( + signature = "(Lkf;B)[Ljava/lang/Object;", + garbageValue = "-58" + ) + @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("i") + @ObfuscatedSignature( + signature = "(Lkf;B)[I", + garbageValue = "104" + ) + @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("c") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "2142727340" + ) + @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("u") + @ObfuscatedSignature( + signature = "(ZI)Lly;", + garbageValue = "1738149818" + ) + @Export("getSprite") + public Sprite getSprite(boolean var1) { + field2562 = false; + int var2; + if (var1) { + var2 = this.spriteId; + } else { + var2 = this.spriteId2; + } + + if (var2 == -1) { + return null; + } else { + long var3 = ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39) + ((long)this.spriteShadow << 40); + Sprite var5 = (Sprite)Widget_cachedSprites.get(var3); + if (var5 != null) { + return var5; + } else { + var5 = class65.SpriteBuffer_tryCreateSprite(class216.Widget_spritesArchive, var2, 0); + if (var5 == null) { + field2562 = true; + return null; + } else { + if (this.spriteFlipV) { + var5.method6128(); + } + + if (this.spriteFlipH) { + var5.method6117(); + } + + if (this.outline > 0) { + var5.method6115(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("x") + @ObfuscatedSignature( + signature = "(I)Lke;", + garbageValue = "-121271997" + ) + @Export("getFont") + public Font getFont() { + field2562 = false; + if (this.fontId == -1) { + return null; + } else { + Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); + if (var1 != null) { + return var1; + } else { + var1 = GameObject.loadFont(class216.Widget_spritesArchive, DirectByteArrayCopier.Widget_fontsArchive, this.fontId, 0); + if (var1 != null) { + Widget_cachedFonts.put(var1, (long)this.fontId); + } else { + field2562 = true; + } + + return var1; + } + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)Lly;", + garbageValue = "-1022923411" + ) + @Export("getInventorySprite") + public Sprite getInventorySprite(int var1) { + field2562 = 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 = class65.SpriteBuffer_tryCreateSprite(class216.Widget_spritesArchive, var2, 0); + if (var3 != null) { + Widget_cachedSprites.put(var3, (long)var2); + } else { + field2562 = true; + } + + return var3; + } + } + } else { + return null; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lis;IZLhh;I)Ldm;", + garbageValue = "482898105" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerAppearance var4) { + field2562 = 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.method2769(ViewportMouse.Widget_modelsArchive, var6, 0); + if (var8 == null) { + field2562 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 2) { + var8 = GameShell.getNpcDefinition(var6).getModelData(); + if (var8 == null) { + field2562 = 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) { + field2562 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 4) { + ItemDefinition var9 = WorldMapArea.getItemDefinition(var6); + var8 = var9.method4643(10); + if (var8 == null) { + field2562 = 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("y") + @ObfuscatedSignature( + signature = "(ZB)Lhg;", + 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("a") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;S)V", + garbageValue = "-20428" + ) + @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("q") + @ObfuscatedSignature( + signature = "(IIII)J", + garbageValue = "1098126812" + ) + @Export("getWorldMapSpriteHash") + static long getWorldMapSpriteHash(int var0, int var1, int var2) { + return (long)(var2 << 16 | var0 << 8 | var1); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIII)Ljava/lang/String;", + garbageValue = "1305438411" + ) + public static String method4092(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(class290.field3673[var5 >>> 2]); + if (var4 < var2 - 1) { + int var6 = var0[var4 + 1] & 255; + var3.append(class290.field3673[(var5 & 3) << 4 | var6 >>> 4]); + if (var4 < var2 - 2) { + int var7 = var0[var4 + 2] & 255; + var3.append(class290.field3673[(var6 & 15) << 2 | var7 >>> 6]).append(class290.field3673[var7 & 63]); + } else { + var3.append(class290.field3673[(var6 & 15) << 2]).append("="); + } + } else { + var3.append(class290.field3673[(var5 & 3) << 4]).append("=="); + } + } + + return var3.toString(); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "0" + ) + public static void method4091() { + if (MouseHandler.MouseHandler_instance != null) { + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_instance = null; + } + } + + } + + @ObfuscatedName("hk") + @ObfuscatedSignature( + signature = "(Lbd;IIBI)V", + garbageValue = "310839135" + ) + static final void method4056(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 var8 = var0.transformedSize(); + RouteStrategy var9 = WorldMapAreaData.method667(var1, var2); + CollisionMap var10 = Client.collisionMaps[var0.plane]; + int[] var11 = Client.field929; + int[] var12 = Client.field930; + + int var13; + int var14; + for (var13 = 0; var13 < 128; ++var13) { + for (var14 = 0; var14 < 128; ++var14) { + class173.directions[var13][var14] = 0; + class173.distances[var13][var14] = 99999999; + } + } + + int var15; + int var16; + byte var17; + byte var18; + int var19; + int var20; + byte var21; + int var22; + int[][] var23; + int var24; + int var25; + int var26; + int var27; + boolean var33; + boolean var34; + int var35; + int var36; + int var38; + if (var8 == 1) { + var15 = var4; + var16 = var5; + var17 = 64; + var18 = 64; + var19 = var4 - var17; + var20 = var5 - var18; + class173.directions[var17][var18] = 99; + class173.distances[var17][var18] = 0; + var21 = 0; + var22 = 0; + class173.bufferX[var21] = var4; + var38 = var21 + 1; + class173.bufferY[var21] = var5; + var23 = var10.flags; + + while (true) { + if (var38 == var22) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = false; + break; + } + + var15 = class173.bufferX[var22]; + var16 = class173.bufferY[var22]; + var22 = var22 + 1 & 4095; + var35 = var15 - var19; + var36 = var16 - var20; + var24 = var15 - var10.xInset; + var25 = var16 - var10.yInset; + if (var9.vmethod3594(1, var15, var16, var10)) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = true; + break; + } + + var26 = class173.distances[var35][var36] + 1; + if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136776) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36] = 2; + class173.distances[var35 - 1][var36] = var26; + } + + if (var35 < 127 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + 1][var25] & 19136896) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36] = 8; + class173.distances[var35 + 1][var36] = var26; + } + + if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 - 1] = 1; + class173.distances[var35][var36 - 1] = var26; + } + + if (var36 < 127 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 + 1] = 4; + class173.distances[var35][var36 + 1] = var26; + } + + if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 - 1] = 3; + class173.distances[var35 - 1][var36 - 1] = var26; + } + + if (var35 < 127 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + 1][var25 - 1] & 19136899) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 - 1] & 19136770) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 - 1] = 9; + class173.distances[var35 + 1][var36 - 1] = var26; + } + + if (var35 > 0 && var36 < 127 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var25 + 1] & 19136824) == 0 && (var23[var24 - 1][var25] & 19136776) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 + 1] = 6; + class173.distances[var35 - 1][var36 + 1] = var26; + } + + if (var35 < 127 && var36 < 127 && class173.directions[var35 + 1][var36 + 1] == 0 && (var23[var24 + 1][var25 + 1] & 19136992) == 0 && (var23[var24 + 1][var25] & 19136896) == 0 && (var23[var24][var25 + 1] & 19136800) == 0) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 + 1] = 12; + class173.distances[var35 + 1][var36 + 1] = var26; + } + } + + var33 = var34; + } else if (var8 == 2) { + var33 = Frames.method3267(var4, var5, var9, var10); + } else { + var15 = var4; + var16 = var5; + var17 = 64; + var18 = 64; + var19 = var4 - var17; + var20 = var5 - var18; + class173.directions[var17][var18] = 99; + class173.distances[var17][var18] = 0; + var21 = 0; + var22 = 0; + class173.bufferX[var21] = var4; + var38 = var21 + 1; + class173.bufferY[var21] = var5; + var23 = var10.flags; + + label640: + while (true) { + label638: + while (true) { + do { + do { + do { + label615: + do { + if (var22 == var38) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = false; + break label640; + } + + var15 = class173.bufferX[var22]; + var16 = class173.bufferY[var22]; + var22 = var22 + 1 & 4095; + var35 = var15 - var19; + var36 = var16 - var20; + var24 = var15 - var10.xInset; + var25 = var16 - var10.yInset; + if (var9.vmethod3594(var8, var15, var16, var10)) { + class173.field2088 = var15; + class218.field2707 = var16; + var34 = true; + break label640; + } + + var26 = class173.distances[var35][var36] + 1; + if (var35 > 0 && class173.directions[var35 - 1][var36] == 0 && (var23[var24 - 1][var25] & 19136782) == 0 && (var23[var24 - 1][var8 + var25 - 1] & 19136824) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36] = 2; + class173.distances[var35 - 1][var36] = var26; + break; + } + + if ((var23[var24 - 1][var27 + var25] & 19136830) != 0) { + break; + } + + ++var27; + } + } + + if (var35 < 128 - var8 && class173.directions[var35 + 1][var36] == 0 && (var23[var24 + var8][var25] & 19136899) == 0 && (var23[var24 + var8][var25 + var8 - 1] & 19136992) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36] = 8; + class173.distances[var35 + 1][var36] = var26; + break; + } + + if ((var23[var8 + var24][var27 + var25] & 19136995) != 0) { + break; + } + + ++var27; + } + } + + if (var36 > 0 && class173.directions[var35][var36 - 1] == 0 && (var23[var24][var25 - 1] & 19136782) == 0 && (var23[var24 + var8 - 1][var25 - 1] & 19136899) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 - 1] = 1; + class173.distances[var35][var36 - 1] = var26; + break; + } + + if ((var23[var27 + var24][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } + } + + if (var36 < 128 - var8 && class173.directions[var35][var36 + 1] == 0 && (var23[var24][var8 + var25] & 19136824) == 0 && (var23[var8 + var24 - 1][var8 + var25] & 19136992) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8 - 1) { + class173.bufferX[var38] = var15; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35][var36 + 1] = 4; + class173.distances[var35][var36 + 1] = var26; + break; + } + + if ((var23[var27 + var24][var8 + var25] & 19137016) != 0) { + break; + } + + ++var27; + } + } + + if (var35 > 0 && var36 > 0 && class173.directions[var35 - 1][var36 - 1] == 0 && (var23[var24 - 1][var25 - 1] & 19136782) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8) { + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 - 1] = 3; + class173.distances[var35 - 1][var36 - 1] = var26; + break; + } + + if ((var23[var24 - 1][var27 + (var25 - 1)] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } + } + + if (var35 < 128 - var8 && var36 > 0 && class173.directions[var35 + 1][var36 - 1] == 0 && (var23[var24 + var8][var25 - 1] & 19136899) == 0) { + var27 = 1; + + while (true) { + if (var27 >= var8) { + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 - 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 - 1] = 9; + class173.distances[var35 + 1][var36 - 1] = var26; + break; + } + + if ((var23[var8 + var24][var27 + (var25 - 1)] & 19136995) != 0 || (var23[var24 + var27][var25 - 1] & 19136911) != 0) { + break; + } + + ++var27; + } + } + + if (var35 > 0 && var36 < 128 - var8 && class173.directions[var35 - 1][var36 + 1] == 0 && (var23[var24 - 1][var8 + var25] & 19136824) == 0) { + for (var27 = 1; var27 < var8; ++var27) { + if ((var23[var24 - 1][var25 + var27] & 19136830) != 0 || (var23[var27 + (var24 - 1)][var25 + var8] & 19137016) != 0) { + continue label615; + } + } + + class173.bufferX[var38] = var15 - 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 - 1][var36 + 1] = 6; + class173.distances[var35 - 1][var36 + 1] = var26; + } + } while(var35 >= 128 - var8); + } while(var36 >= 128 - var8); + } while(class173.directions[var35 + 1][var36 + 1] != 0); + } while((var23[var24 + var8][var25 + var8] & 19136992) != 0); + + for (var27 = 1; var27 < var8; ++var27) { + if ((var23[var24 + var27][var8 + var25] & 19137016) != 0 || (var23[var8 + var24][var27 + var25] & 19136995) != 0) { + continue label638; + } + } + + class173.bufferX[var38] = var15 + 1; + class173.bufferY[var38] = var16 + 1; + var38 = var38 + 1 & 4095; + class173.directions[var35 + 1][var36 + 1] = 12; + class173.distances[var35 + 1][var36 + 1] = var26; + } + } + + var33 = var34; + } + + int var7; + label696: { + var14 = var4 - 64; + var15 = var5 - 64; + var16 = class173.field2088; + var35 = class218.field2707; + if (!var33) { + var36 = Integer.MAX_VALUE; + var19 = Integer.MAX_VALUE; + byte var37 = 10; + var38 = var9.approxDestinationX; + var22 = var9.approxDestinationY; + int var32 = var9.approxDestinationSizeX; + var24 = var9.approxDestinationSizeY; + + for (var25 = var38 - var37; var25 <= var37 + var38; ++var25) { + for (var26 = var22 - var37; var26 <= var37 + var22; ++var26) { + var27 = var25 - var14; + int var28 = var26 - var15; + if (var27 >= 0 && var28 >= 0 && var27 < 128 && var28 < 128 && class173.distances[var27][var28] < 100) { + int var29 = 0; + if (var25 < var38) { + var29 = var38 - var25; + } else if (var25 > var38 + var32 - 1) { + var29 = var25 - (var32 + var38 - 1); + } + + int var30 = 0; + if (var26 < var22) { + var30 = var22 - var26; + } else if (var26 > var24 + var22 - 1) { + var30 = var26 - (var24 + var22 - 1); + } + + int var31 = var29 * var29 + var30 * var30; + if (var31 < var36 || var31 == var36 && class173.distances[var27][var28] < var19) { + var36 = var31; + var19 = class173.distances[var27][var28]; + var16 = var25; + var35 = var26; + } + } + } + } + + if (var36 == Integer.MAX_VALUE) { + var7 = -1; + break label696; + } + } + + if (var4 == var16 && var5 == var35) { + var7 = 0; + } else { + var18 = 0; + class173.bufferX[var18] = var16; + var36 = var18 + 1; + class173.bufferY[var18] = var35; + + for (var19 = var20 = class173.directions[var16 - var14][var35 - var15]; var16 != var4 || var5 != var35; var19 = class173.directions[var16 - var14][var35 - var15]) { + if (var19 != var20) { + var20 = var19; + class173.bufferX[var36] = var16; + class173.bufferY[var36++] = var35; + } + + if ((var19 & 2) != 0) { + ++var16; + } else if ((var19 & 8) != 0) { + --var16; + } + + if ((var19 & 1) != 0) { + ++var35; + } else if ((var19 & 4) != 0) { + --var35; + } + } + + var38 = 0; + + while (var36-- > 0) { + var11[var38] = class173.bufferX[var36]; + var12[var38++] = class173.bufferY[var36]; + if (var38 >= var11.length) { + break; + } + } + + var7 = var38; + } + } + + var13 = var7; + if (var7 >= 1) { + for (var14 = 0; var14 < var13 - 1; ++var14) { + var0.method1191(Client.field929[var14], Client.field930[var14], var3); + } + + } + } + } + } + + @ObfuscatedName("kq") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-174761515" + ) + static void method4090() { + if (Client.field736 && Client.localPlayer != null) { + int var0 = Client.localPlayer.pathX[0]; + int var1 = Client.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + MouseHandler.oculusOrbFocalPointX = Client.localPlayer.x; + int var2 = ScriptEvent.getTileHeight(Client.localPlayer.x, Client.localPlayer.y, class42.plane) - Client.camFollowHeight; + if (var2 < Client.field729) { + Client.field729 = var2; + } + + WorldMapArea.oculusOrbFocalPointY = Client.localPlayer.y; + Client.field736 = false; + } + + } } diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 75467409f7..2cad844dd9 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -4,141 +4,233 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bt") +@ObfuscatedName("bw") @Implements("World") public class World { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 233222155 - ) - @Export("worldsCount") - static int worldsCount; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1143875805 - ) - @Export("worldListWorldCount") - static int worldListWorldCount; - @ObfuscatedName("l") - @Export("sortOption2") - static int[] sortOption2; - @ObfuscatedName("e") - @Export("sortOption1") - static int[] sortOption1; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -144265493 - ) - @Export("id") - int id; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 956991319 - ) - @Export("properties") - int properties; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1863464125 - ) - @Export("population") - int population; - @ObfuscatedName("i") - @Export("host") - String host; - @ObfuscatedName("a") - @Export("activity") - String activity; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1942858323 - ) - @Export("location") - int location; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1147427427 - ) - @Export("index") - int index; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "[Lbw;" + ) + @Export("worlds") + static World[] worlds; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 774267173 + ) + @Export("worldsCount") + static int worldsCount; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2084454035 + ) + @Export("worldListWorldCount") + static int worldListWorldCount; + @ObfuscatedName("i") + @Export("sortOption2") + static int[] sortOption2; + @ObfuscatedName("c") + @Export("sortOption1") + static int[] sortOption1; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lex;" + ) + static UrlRequest field1027; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 790181133 + ) + @Export("id") + int id; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 630491985 + ) + @Export("properties") + int properties; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -432731733 + ) + @Export("population") + int population; + @ObfuscatedName("r") + @Export("host") + String host; + @ObfuscatedName("v") + @Export("activity") + String activity; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 657222747 + ) + @Export("location") + int location; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1014616139 + ) + @Export("index") + int index; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1059414592" - ) - @Export("isMembersOnly") - boolean isMembersOnly() { - return (1 & this.properties) != 0; - } + static { + worldsCount = 0; + worldListWorldCount = 0; + sortOption2 = new int[]{1, 1, 1, 1}; + sortOption1 = new int[]{0, 1, 2, 3}; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "0" - ) - boolean method356() { - return (2 & this.properties) != 0; - } + World() { + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-354931924" - ) - @Export("isPvp") - boolean isPvp() { - return (4 & this.properties) != 0; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "0" + ) + @Export("isMembersOnly") + boolean isMembersOnly() { + return (1 & this.properties) != 0; + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1662622660" - ) - boolean method357() { - return (8 & this.properties) != 0; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "2029214211" + ) + boolean method1682() { + return (2 & this.properties) != 0; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-1" - ) - @Export("isDeadman") - boolean isDeadman() { - return (536870912 & this.properties) != 0; - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1353649797" + ) + @Export("isPvp") + boolean isPvp() { + return (4 & this.properties) != 0; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "2033779841" - ) - @Export("isBeta") - boolean isBeta() { - return (33554432 & this.properties) != 0; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1749102436" + ) + boolean method1698() { + return (8 & this.properties) != 0; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1569234522" - ) - public static int method1759(int var0) { - --var0; - var0 |= var0 >>> 1; - var0 |= var0 >>> 2; - var0 |= var0 >>> 4; - var0 |= var0 >>> 8; - var0 |= var0 >>> 16; - return var0 + 1; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-2068007512" + ) + @Export("isDeadman") + boolean isDeadman() { + return (536870912 & this.properties) != 0; + } - static { - worldsCount = 0; - worldListWorldCount = 0; - sortOption2 = new int[]{1, 1, 1, 1}; - sortOption1 = new int[]{0, 1, 2, 3}; - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1648546006" + ) + @Export("isBeta") + boolean isBeta() { + return (33554432 & this.properties) != 0; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkx;B)I", + garbageValue = "80" + ) + static int method1686(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("p") + @ObfuscatedSignature( + signature = "([BI)Lcx;", + garbageValue = "-75241458" + ) + @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.method2182(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; + } } diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index ae3b0fee48..0a5139c96b 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -10,1397 +10,1427 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lz") +@ObfuscatedName("lw") @Implements("WorldMap") public class WorldMap { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("fontNameVerdana11") - static final FontName fontNameVerdana11; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("fontNameVerdana13") - static final FontName fontNameVerdana13; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("fontNameVerdana15") - static final FontName fontNameVerdana15; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("WorldMap_archive") - AbstractArchive WorldMap_archive; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("WorldMap_geographyArchive") - AbstractArchive WorldMap_geographyArchive; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("WorldMap_groundArchive") - AbstractArchive WorldMap_groundArchive; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("font") - Font font; - @ObfuscatedName("i") - @Export("fonts") - HashMap fonts; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("z") - @Export("mapAreas") - HashMap mapAreas; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lag;" - ) - @Export("mainMapArea") - WorldMapArea mainMapArea; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lag;" - ) - @Export("currentMapArea") - WorldMapArea currentMapArea; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lag;" - ) - WorldMapArea field992; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lal;" - ) - @Export("worldMapManager") - WorldMapManager worldMapManager; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lls;" - ) - @Export("cacheLoader") - WorldMapArchiveLoader cacheLoader; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1711576969 - ) - @Export("worldMapX") - int worldMapX; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1318118645 - ) - @Export("worldMapY") - int worldMapY; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -89657613 - ) - @Export("worldMapTargetX") - int worldMapTargetX; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -56022357 - ) - @Export("worldMapTargetY") - int worldMapTargetY; - @ObfuscatedName("v") - @Export("zoom") - float zoom; - @ObfuscatedName("ag") - @Export("zoomTarget") - float zoomTarget; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -1469654441 - ) - @Export("worldMapDisplayWidth") - int worldMapDisplayWidth; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1140942239 - ) - @Export("worldMapDisplayHeight") - int worldMapDisplayHeight; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1301477687 - ) - @Export("worldMapDisplayX") - int worldMapDisplayX; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -298919797 - ) - @Export("worldMapDisplayY") - int worldMapDisplayY; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -1653084915 - ) - int field993; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1664740569 - ) - int field994; - @ObfuscatedName("ah") - @Export("perpetualFlash") - boolean perpetualFlash; - @ObfuscatedName("ak") - @Export("flashingElements") - HashSet flashingElements; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1683910031 - ) - int field995; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 2064651113 - ) - int field996; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1979665983 - ) - int field997; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 547126547 - ) - int field998; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -815748997 - ) - int field999; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -988933407 - ) - int field1000; - @ObfuscatedName("ap") - @ObfuscatedGetter( - longValue = -4747643242047040283L - ) - long field1001; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = -969094439 - ) - int field1002; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -869889187 - ) - int field1003; - @ObfuscatedName("an") - boolean field1004; - @ObfuscatedName("ao") - @Export("enabledElements") - HashSet enabledElements; - @ObfuscatedName("aa") - @Export("enabledCategories") - HashSet enabledCategories; - @ObfuscatedName("ax") - HashSet field1005; - @ObfuscatedName("af") - HashSet field1006; - @ObfuscatedName("ai") - @Export("elementsDisabled") - boolean elementsDisabled; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = -237734529 - ) - int field1007; - @ObfuscatedName("bs") - final int[] field1008; - @ObfuscatedName("bq") - List field1009; - @ObfuscatedName("bn") - @Export("iconIterator") - Iterator iconIterator; - @ObfuscatedName("bk") - HashSet field1010; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("mouseCoord") - Coord mouseCoord; - @ObfuscatedName("bc") - @Export("showCoord") - public boolean showCoord; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("sprite") - Sprite sprite; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = 2031417343 - ) - int field1011; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = 754899959 - ) - int field1012; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 2064728623 - ) - int field1013; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = -1774424249 - ) - int field1014; - - public WorldMap() { - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - this.worldMapDisplayWidth = -1; - this.worldMapDisplayHeight = -1; - this.worldMapDisplayX = -1; - this.worldMapDisplayY = -1; - this.field993 = 3; - this.field994 = 50; - this.perpetualFlash = false; - this.flashingElements = null; - this.field995 = -1; - this.field996 = -1; - this.field997 = -1; - this.field998 = -1; - this.field999 = -1; - this.field1000 = -1; - this.field1004 = true; - this.enabledElements = new HashSet(); - this.enabledCategories = new HashSet(); - this.field1005 = new HashSet(); - this.field1006 = new HashSet(); - this.elementsDisabled = false; - this.field1007 = 0; - this.field1008 = new int[]{1008, 1009, 1010, 1011, 1012}; - this.field1010 = new HashSet(); - this.mouseCoord = null; - this.showCoord = false; - this.field1012 = -1; - this.field1013 = -1; - this.field1014 = -1; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;Lir;Lkk;Ljava/util/HashMap;[Llq;I)V", - garbageValue = "1887817097" - ) - @Export("init") - public void init(AbstractArchive archive19, AbstractArchive archive18, AbstractArchive archive20, Font fontBold12, HashMap fontsMap, IndexedSprite[] mapSceneSprites) { - this.mapSceneSprites = mapSceneSprites; - this.WorldMap_archive = archive19; - this.WorldMap_geographyArchive = archive18; - this.WorldMap_groundArchive = archive20; - this.font = fontBold12; - this.fonts = new HashMap(); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, fontsMap.get(fontNameVerdana11)); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, fontsMap.get(fontNameVerdana13)); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, fontsMap.get(fontNameVerdana15)); - this.cacheLoader = new WorldMapArchiveLoader(archive19); - int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.WorldMapCacheName_details.name); - int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); - this.mapAreas = 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.mapAreas.put(var11.getArchiveName(), var11); - if (var11.getIsMain()) { - this.mainMapArea = var11; - } - } - - this.setCurrentMapArea(this.mainMapArea); - this.field992 = null; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1144390092" - ) - public void method360() { - WorldMapRegion.field1051.demote(5); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIZIIIIB)V", - garbageValue = "-35" - ) - @Export("onCycle") - public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { - if (this.cacheLoader.getIsLoaded()) { - this.smoothZoom(); - this.method363(); - 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.method403(this.worldMapX - var8 / 2 - 1, this.worldMapY - var9 / 2 - 1, var8 / 2 + this.worldMapX + 1, var9 / 2 + this.worldMapY + 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(); AbstractArchive.runScript(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.field1010.contains(var13)) { - var14.setType(17); - } else { - var14.setType(15); - } - } - - var12 = this.field1010.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); - AbstractArchive.runScript(var14); - } - } - - this.field1010 = var11; - } - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIZZS)V", - garbageValue = "18431" - ) - public void method361(int var1, int var2, boolean var3, boolean var4) { - long var5 = class203.currentTimeMs(); - this.method362(var1, var2, var4, var5); - if (this.method365() || !var4 && !var3) { - this.method364(); - } else { - if (var4) { - this.field999 = var1; - this.field1000 = var2; - this.field997 = this.worldMapX; - this.field998 = this.worldMapY; - } - - if (this.field997 != -1) { - int var7 = var1 - this.field999; - int var8 = var2 - this.field1000; - this.setWorldMapPosition(this.field997 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field998, false); - } - } - - if (var4) { - this.field1001 = var5; - this.field1002 = var1; - this.field1003 = var2; - } - - } - - @ObfuscatedName("o") - void method362(int var1, int var2, boolean var3, long var4) { - if (this.currentMapArea != null) { - int var6 = (int)((float)this.worldMapX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); - int var7 = (int)((float)this.worldMapY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); - this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.minX() * 64, var7 + this.currentMapArea.minY() * 64); - if (this.mouseCoord != null && var3) { - int var8; - int var9; - PacketBufferNode var10; - if (FriendSystem.jmodCheck() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { - int var12 = this.mouseCoord.x; - var8 = this.mouseCoord.y; - var9 = this.mouseCoord.plane; - var10 = Interpreter.method1915(ClientPacket.field283, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeIntME(0); - var10.packetBuffer.writeShortLE(var8); - var10.packetBuffer.method56(var9); - var10.packetBuffer.writeShort(var12); - Client.packetWriter.method241(var10); - } else { - boolean var11 = true; - if (this.field1004) { - var8 = var1 - this.field1002; - var9 = var2 - this.field1003; - if (var4 - this.field1001 > 500L || var8 < -25 || var8 > 25 || var9 < -25 || var9 > 25) { - var11 = false; - } - } - - if (var11) { - var10 = Interpreter.method1915(ClientPacket.field267, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeIntME(this.mouseCoord.packed()); - Client.packetWriter.method241(var10); - this.field1001 = 0L; - } - } - } - } else { - this.mouseCoord = null; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-328885193" - ) - @Export("smoothZoom") - void smoothZoom() { - if (ClientParameter.field3645 != 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("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2075446341" - ) - void method363() { - if (this.method365()) { - int var1 = this.worldMapTargetX - this.worldMapX; - int var2 = this.worldMapTargetY - this.worldMapY; - if (var1 != 0) { - var1 /= Math.min(8, Math.abs(var1)); - } - - if (var2 != 0) { - var2 /= Math.min(8, Math.abs(var2)); - } - - this.setWorldMapPosition(var1 + this.worldMapX, var2 + this.worldMapY, true); - if (this.worldMapTargetX == this.worldMapX && this.worldMapTargetY == this.worldMapY) { - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIZI)V", - garbageValue = "-943230538" - ) - @Export("setWorldMapPosition") - final void setWorldMapPosition(int var1, int var2, boolean var3) { - this.worldMapX = var1; - this.worldMapY = var2; - class203.currentTimeMs(); - if (var3) { - this.method364(); - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "35" - ) - final void method364() { - this.field1000 = -1; - this.field999 = -1; - this.field998 = -1; - this.field997 = -1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1444745621" - ) - boolean method365() { - return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIII)Lag;", - garbageValue = "1738506455" - ) - @Export("mapAreaAtCoord") - public WorldMapArea mapAreaAtCoord(int plane, int x, int y) { - Iterator var4 = this.mapAreas.values().iterator(); - - WorldMapArea var5; - do { - if (!var4.hasNext()) { - return null; - } - - var5 = (WorldMapArea)var4.next(); - } while(!var5.containsCoord(plane, x, y)); - - return var5; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IIIZI)V", - garbageValue = "469045892" - ) - public void method366(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.field992 || var4) { - this.field992 = var5; - this.setCurrentMapArea(var5); - var6 = true; - } - - if (var6 || var4) { - this.jump(var1, var2, var3); - } - - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1318491821" - ) - @Export("setCurrentMapAreaId") - public void setCurrentMapAreaId(int var1) { - WorldMapArea var2 = this.getMapArea(var1); - if (var2 != null) { - this.setCurrentMapArea(var2); - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-501094512" - ) - @Export("currentMapAreaId") - public int currentMapAreaId() { - return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)Lag;", - garbageValue = "-810288511" - ) - @Export("getCurrentMapArea") - public WorldMapArea getCurrentMapArea() { - return this.currentMapArea; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lag;B)V", - garbageValue = "-44" - ) - @Export("setCurrentMapArea") - void setCurrentMapArea(WorldMapArea mapArea) { - if (this.currentMapArea == null || mapArea != this.currentMapArea) { - this.initializeWorldMapManager(mapArea); - this.jump(-1, -1, -1); - } - - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "-1072205896" - ) - @Export("initializeWorldMapManager") - void initializeWorldMapManager(WorldMapArea mapArea) { - this.currentMapArea = mapArea; - this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive); - this.cacheLoader.reset(this.currentMapArea.getArchiveName()); - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(Lag;Lhu;Lhu;ZI)V", - garbageValue = "-1430939646" - ) - public void method367(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("b") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "1094346962" - ) - @Export("jump") - void jump(int plane, int x, int y) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(plane, x, y); - if (var4 == null) { - var4 = this.currentMapArea.position(this.currentMapArea.originPlane(), this.currentMapArea.originX(), this.currentMapArea.originY()); - } - - this.setWorldMapPosition(var4[0] - this.currentMapArea.minX() * 64, var4[1] - this.currentMapArea.minY() * 64, true); - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - this.zoom = this.method370(this.currentMapArea.zoom()); - this.zoomTarget = this.zoom; - this.field1009 = null; - this.iconIterator = null; - this.worldMapManager.clearIcons(); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIIII)V", - garbageValue = "-288419793" - ) - @Export("draw") - public void draw(int x, int y, int width, int height, int cycle) { - int[] var6 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var6); - Rasterizer2D.Rasterizer2D_setClip(x, y, width + x, y + height); - Rasterizer2D.Rasterizer2D_fillRectangle(x, y, width, height, -16777216); - int var7 = this.cacheLoader.getPercentLoaded(); - if (var7 < 100) { - this.drawLoading(x, y, width, height, var7); - } else { - if (!this.worldMapManager.isLoaded()) { - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getArchiveName(), Client.isMembersWorld); - if (!this.worldMapManager.isLoaded()) { - return; - } - } - - if (this.flashingElements != null) { - ++this.field996; - if (this.field996 % this.field994 == 0) { - this.field996 = 0; - ++this.field995; - } - - if (this.field995 >= this.field993 && !this.perpetualFlash) { - this.flashingElements = null; - } - } - - int var8 = (int)Math.ceil((double)((float)width / this.zoom)); - int var9 = (int)Math.ceil((double)((float)height / this.zoom)); - this.worldMapManager.method401(this.worldMapX - var8 / 2, this.worldMapY - var9 / 2, var8 / 2 + this.worldMapX, var9 / 2 + this.worldMapY, x, y, width + x, y + height); - if (!this.elementsDisabled) { - boolean var10 = false; - if (cycle - this.field1007 > 100) { - this.field1007 = cycle; - var10 = true; - } - - this.worldMapManager.method402(this.worldMapX - var8 / 2, this.worldMapY - var9 / 2, var8 / 2 + this.worldMapX, var9 / 2 + this.worldMapY, x, y, width + x, y + height, this.field1006, this.flashingElements, this.field996, this.field994, var10); - } - - this.method369(x, y, width, height, var8, var9); - if (FriendSystem.jmodCheck() && 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 = x; - this.worldMapDisplayY = y; - Rasterizer2D.Rasterizer2D_setClipArray(var6); - } - - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIIIIII)Z", - garbageValue = "-1561237851" - ) - boolean method368(int var1, int var2, int var3, int var4, int var5, int var6) { - return this.sprite == null ? true : (this.sprite.subWidth == var1 && this.sprite.subHeight == var2 ? (this.worldMapManager.field1050 != this.field1011 ? true : (this.field1014 != Client.field104 ? true : (var3 <= 0 && var4 <= 0 ? var3 + var1 < var5 || var2 + var4 < var6 : true))) : true); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIIIIII)V", - garbageValue = "-2090965249" - ) - void method369(int var1, int var2, int var3, int var4, int var5, int var6) { - if (ClientParameter.field3645 != null) { - int var7 = 512 / (this.worldMapManager.field1050 * 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.field1012) * this.worldMapManager.field1050; - int var14 = var2 - this.worldMapManager.field1050 * (var7 - (var12 - this.field1013)); - if (this.method368(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.field1012 = this.getDisplayX() - var5 / 2 - var7; - this.field1013 = this.getDisplayY() - var6 / 2 - var7; - this.field1011 = this.worldMapManager.field1050; - ClientParameter.field3645.method4720(this.field1012, this.field1013, this.sprite, (float)this.field1011 / var10); - this.field1014 = Client.field104; - var13 = var1 - (var11 + var7 - this.field1012) * this.worldMapManager.field1050; - var14 = var2 - this.worldMapManager.field1050 * (var7 - (var12 - this.field1013)); - } - - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); - if (1.0F == var10) { - this.sprite.method312(var13, var14, 192); - } else { - this.sprite.method313(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192); - } - } - - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "-84" - ) - @Export("drawOverview") - public void drawOverview(int x, int y, int width, int height) { - if (this.cacheLoader.getIsLoaded()) { - if (!this.worldMapManager.isLoaded()) { - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getArchiveName(), Client.isMembersWorld); - if (!this.worldMapManager.isLoaded()) { - return; - } - } - - this.worldMapManager.drawOverview(x, y, width, height, this.flashingElements, this.field996, this.field994); - } - - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "328502073" - ) - @Export("setZoomLevel") - public void setZoomLevel(int zoom) { - this.zoomTarget = this.method370(zoom); - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(IIIIIB)V", - garbageValue = "126" - ) - @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 = "(IB)F", - garbageValue = "56" - ) - float method370(int var1) { - return var1 == 25 ? 1.0F : (var1 == 37 ? 1.5F : (var1 == 50 ? 2.0F : (var1 == 75 ? 3.0F : (var1 == 100 ? 4.0F : 8.0F)))); - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-80" - ) - @Export("getZoomLevel") - public int getZoomLevel() { - return (double)this.zoomTarget == 1.0D ? 25 : ((double)this.zoomTarget == 1.5D ? 37 : (2.0D == (double)this.zoomTarget ? 50 : (3.0D == (double)this.zoomTarget ? 75 : (4.0D == (double)this.zoomTarget ? 100 : 200)))); - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-50" - ) - @Export("loadCache") - public void loadCache() { - this.cacheLoader.load(); - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "3411" - ) - @Export("isCacheLoaded") - public boolean isCacheLoaded() { - return this.cacheLoader.getIsLoaded(); - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(II)Lag;", - garbageValue = "-1453627706" - ) - @Export("getMapArea") - public WorldMapArea getMapArea(int var1) { - Iterator var2 = this.mapAreas.values().iterator(); - - WorldMapArea var3; - do { - if (!var2.hasNext()) { - return null; - } - - var3 = (WorldMapArea)var2.next(); - } while(var3.getId() != var1); - - return var3; - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1820000123" - ) - @Export("setWorldMapPositionTarget") - public void setWorldMapPositionTarget(int x, int y) { - if (this.currentMapArea != null && this.currentMapArea.containsPosition(x, y)) { - this.worldMapTargetX = x - this.currentMapArea.minX() * 64; - this.worldMapTargetY = y - this.currentMapArea.minY() * 64; - } - - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-2147142500" - ) - @Export("setWorldMapPositionTargetInstant") - public void setWorldMapPositionTargetInstant(int x, int y) { - if (this.currentMapArea != null) { - this.setWorldMapPosition(x - this.currentMapArea.minX() * 64, y - this.currentMapArea.minY() * 64, true); - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - } - - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "-40" - ) - @Export("jumpToSourceCoord") - public void jumpToSourceCoord(int plane, int x, int y) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(plane, x, y); - if (var4 != null) { - this.setWorldMapPositionTarget(var4[0], var4[1]); - } - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "1808854561" - ) - @Export("jumpToSourceCoordInstant") - public void jumpToSourceCoordInstant(int plane, int x, int y) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(plane, x, y); - if (var4 != null) { - this.setWorldMapPositionTargetInstant(var4[0], var4[1]); - } - } - - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-659556919" - ) - @Export("getDisplayX") - public int getDisplayX() { - return this.currentMapArea == null ? -1 : this.worldMapX + this.currentMapArea.minX() * 64; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1893257871" - ) - @Export("getDisplayY") - public int getDisplayY() { - return this.currentMapArea == null ? -1 : this.worldMapY + this.currentMapArea.minY() * 64; - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(I)Lhu;", - garbageValue = "-2005824064" - ) - @Export("getDisplayCoord") - public Coord getDisplayCoord() { - return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "442119278" - ) - @Export("getDisplayWith") - public int getDisplayWith() { - return this.worldMapDisplayWidth; - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2065910749" - ) - @Export("getDisplayHeight") - public int getDisplayHeight() { - return this.worldMapDisplayHeight; - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2017050927" - ) - public void method379(int var1) { - if (var1 >= 1) { - this.field993 = var1; - } - - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1568631080" - ) - public void method380() { - this.field993 = 3; - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "107295139" - ) - public void method381(int var1) { - if (var1 >= 1) { - this.field994 = var1; - } - - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2023118274" - ) - public void method382() { - this.field994 = 50; - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "1025207933" - ) - @Export("setPerpetualFlash") - public void setPerpetualFlash(boolean var1) { - this.perpetualFlash = var1; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "509924675" - ) - @Export("flashElement") - public void flashElement(int var1) { - this.flashingElements = new HashSet(); - this.flashingElements.add(var1); - this.field995 = 0; - this.field996 = 0; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-21" - ) - @Export("flashCategory") - public void flashCategory(int var1) { - this.flashingElements = new HashSet(); - this.field995 = 0; - this.field996 = 0; - - for (int var2 = 0; var2 < UserComparator4.WorldMapElement_count; ++var2) { - if (ViewportMouse.getWorldMapElement(var2) != null && ViewportMouse.getWorldMapElement(var2).category == var1) { - this.flashingElements.add(ViewportMouse.getWorldMapElement(var2).field1020); - } - } - - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1011326291" - ) - @Export("stopCurrentFlashes") - public void stopCurrentFlashes() { - this.flashingElements = null; - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "179561693" - ) - @Export("setElementsEnabled") - public void setElementsEnabled(boolean var1) { - this.elementsDisabled = !var1; - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(IZI)V", - garbageValue = "-853551606" - ) - @Export("disableElement") - public void disableElement(int var1, boolean var2) { - if (!var2) { - this.enabledElements.add(var1); - } else { - this.enabledElements.remove(var1); - } - - this.method383(); - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "(IZI)V", - garbageValue = "128396492" - ) - @Export("disableCategory") - public void disableCategory(int var1, boolean var2) { - if (!var2) { - this.enabledCategories.add(var1); - } else { - this.enabledCategories.remove(var1); - } - - for (int var3 = 0; var3 < UserComparator4.WorldMapElement_count; ++var3) { - if (ViewportMouse.getWorldMapElement(var3) != null && ViewportMouse.getWorldMapElement(var3).category == var1) { - int var4 = ViewportMouse.getWorldMapElement(var3).field1020; - if (!var2) { - this.field1005.add(var4); - } else { - this.field1005.remove(var4); - } - } - } - - this.method383(); - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "107" - ) - @Export("getElementsEnabled") - public boolean getElementsEnabled() { - return !this.elementsDisabled; - } - - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "1" - ) - @Export("isElementDisabled") - public boolean isElementDisabled(int var1) { - return !this.enabledElements.contains(var1); - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-758200752" - ) - @Export("isCategoryDisabled") - public boolean isCategoryDisabled(int var1) { - return !this.enabledCategories.contains(var1); - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "758731634" - ) - void method383() { - this.field1006.clear(); - this.field1006.addAll(this.enabledElements); - this.field1006.addAll(this.field1005); - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "(IIIIIIB)V", - garbageValue = "-73" - ) - public void method384(int var1, int var2, int var3, int var4, int var5, int var6) { - if (this.cacheLoader.getIsLoaded()) { - int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); - int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); - List var9 = this.worldMapManager.method403(this.worldMapX - var7 / 2 - 1, this.worldMapY - var8 / 2 - 1, var7 / 2 + this.worldMapX + 1, var8 / 2 + this.worldMapY + 1, var1, var2, var3, var4, var5, var6); - if (!var9.isEmpty()) { - Iterator var10 = var9.iterator(); - - boolean var11; - do { - if (!var10.hasNext()) { - return; - } - - AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var10.next(); - WorldMapElement var13 = ViewportMouse.getWorldMapElement(var12.getElement()); - var11 = false; - - for (int var14 = this.field1008.length - 1; var14 >= 0; --var14) { - if (var13.strings[var14] != null) { - Tiles.insertMenuItemNoShift(var13.strings[var14], var13.string1, this.field1008[var14], var12.getElement(), var12.coord1.packed(), var12.coord2.packed()); - var11 = true; - } - } - } while(!var11); - } - } - - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "(ILhu;I)Lhu;", - garbageValue = "333454230" - ) - public Coord method385(int var1, Coord var2) { - if (!this.cacheLoader.getIsLoaded()) { - 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("bo") - @ObfuscatedSignature( - signature = "(IILhu;Lhu;B)V", - garbageValue = "94" - ) - @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); - } - - AbstractArchive.runScript(var5); - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "(I)Lak;", - garbageValue = "593642556" - ) - @Export("iconStart") - public AbstractWorldMapIcon iconStart() { - if (!this.cacheLoader.getIsLoaded()) { - return null; - } else if (!this.worldMapManager.isLoaded()) { - return null; - } else { - HashMap var1 = this.worldMapManager.buildIcons(); - this.field1009 = new LinkedList(); - Iterator var2 = var1.values().iterator(); - - while (var2.hasNext()) { - List var3 = (List)var2.next(); - this.field1009.addAll(var3); - } - - this.iconIterator = this.field1009.iterator(); - return this.iconNext(); - } - } - - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "(B)Lak;", - garbageValue = "24" - ) - @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; - } - } - - static { - fontNameVerdana11 = FontName.FontName_verdana11; - fontNameVerdana13 = FontName.FontName_verdana13; - fontNameVerdana15 = FontName.FontName_verdana15; - } + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("fontNameVerdana11") + static final FontName fontNameVerdana11; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("fontNameVerdana13") + static final FontName fontNameVerdana13; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lkd;" + ) + @Export("fontNameVerdana15") + static final FontName fontNameVerdana15; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_archive") + AbstractArchive WorldMap_archive; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_geographyArchive") + AbstractArchive WorldMap_geographyArchive; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_groundArchive") + AbstractArchive WorldMap_groundArchive; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lke;" + ) + @Export("font") + Font font; + @ObfuscatedName("r") + @Export("fonts") + HashMap fonts; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("y") + @Export("details") + HashMap details; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lal;" + ) + @Export("mainMapArea") + WorldMapArea mainMapArea; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lal;" + ) + @Export("currentMapArea") + WorldMapArea currentMapArea; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lal;" + ) + WorldMapArea field3987; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lao;" + ) + @Export("worldMapManager") + WorldMapManager worldMapManager; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Llh;" + ) + @Export("cacheLoader") + WorldMapArchiveLoader cacheLoader; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1418781423 + ) + @Export("centerTileX") + int centerTileX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1871898529 + ) + @Export("centerTileY") + int centerTileY; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -992718151 + ) + @Export("worldMapTargetX") + int worldMapTargetX; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1071222737 + ) + @Export("worldMapTargetY") + int worldMapTargetY; + @ObfuscatedName("z") + @Export("zoom") + float zoom; + @ObfuscatedName("al") + @Export("zoomTarget") + float zoomTarget; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -802390977 + ) + @Export("worldMapDisplayWidth") + int worldMapDisplayWidth; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -856953133 + ) + @Export("worldMapDisplayHeight") + int worldMapDisplayHeight; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 1183613303 + ) + @Export("worldMapDisplayX") + int worldMapDisplayX; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 696817529 + ) + @Export("worldMapDisplayY") + int worldMapDisplayY; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -1595018925 + ) + @Export("maxFlashCount") + int maxFlashCount; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -2142682359 + ) + @Export("cyclesPerFlash") + int cyclesPerFlash; + @ObfuscatedName("ax") + @Export("perpetualFlash") + boolean perpetualFlash; + @ObfuscatedName("az") + @Export("flashingElements") + HashSet flashingElements; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -11969815 + ) + @Export("flashCount") + int flashCount; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -616472333 + ) + @Export("flashCycle") + int flashCycle; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 1572567943 + ) + int field4006; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1183921933 + ) + int field4007; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -62799705 + ) + int field4001; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -1700345793 + ) + int field3989; + @ObfuscatedName("aq") + @ObfuscatedGetter( + longValue = 3331576765951850875L + ) + long field3982; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -1084825883 + ) + int field4000; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 1928093953 + ) + int field4012; + @ObfuscatedName("au") + boolean field4013; + @ObfuscatedName("ah") + @Export("enabledElements") + HashSet enabledElements; + @ObfuscatedName("am") + @Export("enabledCategories") + HashSet enabledCategories; + @ObfuscatedName("ay") + @Export("enabledElementIds") + HashSet enabledElementIds; + @ObfuscatedName("af") + HashSet field3988; + @ObfuscatedName("ab") + @Export("elementsDisabled") + boolean elementsDisabled; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = 1122489777 + ) + int field4011; + @ObfuscatedName("bi") + final int[] field4020; + @ObfuscatedName("bg") + List field3972; + @ObfuscatedName("bh") + @Export("iconIterator") + Iterator iconIterator; + @ObfuscatedName("bm") + HashSet field4005; + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("mouseCoord") + Coord mouseCoord; + @ObfuscatedName("bc") + @Export("showCoord") + public boolean showCoord; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("sprite") + Sprite sprite; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = -1411548561 + ) + @Export("cachedPixelsPerTile") + int cachedPixelsPerTile; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = 573003381 + ) + @Export("minCachedTileX") + int minCachedTileX; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = -2083065465 + ) + @Export("minCachedTileY") + int minCachedTileY; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -1463258673 + ) + int field4030; + + 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.field4006 = -1; + this.field4007 = -1; + this.field4001 = -1; + this.field3989 = -1; + this.field4013 = true; + this.enabledElements = new HashSet(); + this.enabledCategories = new HashSet(); + this.enabledElementIds = new HashSet(); + this.field3988 = new HashSet(); + this.elementsDisabled = false; + this.field4011 = 0; + this.field4020 = new int[]{1008, 1009, 1010, 1011, 1012}; + this.field4005 = new HashSet(); + this.mouseCoord = null; + this.showCoord = false; + this.minCachedTileX = -1; + this.minCachedTileY = -1; + this.field4030 = -1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;Lke;Ljava/util/HashMap;[Llx;I)V", + garbageValue = "269789148" + ) + @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.field308.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.field3987 = null; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1654811924" + ) + public void method6299() { + WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIZIIIII)V", + garbageValue = "-2047217979" + ) + @Export("onCycle") + public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { + if (this.cacheLoader.getIsLoaded()) { + 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.method607(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(); LoginPacket.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.field4005.contains(var13)) { + var14.setType(17); + } else { + var14.setType(15); + } + } + + var12 = this.field4005.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); + LoginPacket.runScriptEvent(var14); + } + } + + this.field4005 = var11; + } + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIZZB)V", + garbageValue = "24" + ) + public void method6301(int var1, int var2, boolean var3, boolean var4) { + long var5 = DirectByteArrayCopier.currentTimeMs(); + this.method6302(var1, var2, var4, var5); + if (!this.hasTarget() && (var4 || var3)) { + if (var4) { + this.field4001 = var1; + this.field3989 = var2; + this.field4006 = this.centerTileX; + this.field4007 = this.centerTileY; + } + + if (this.field4006 != -1) { + int var7 = var1 - this.field4001; + int var8 = var2 - this.field3989; + this.setWorldMapPosition(this.field4006 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field4007, false); + } + } else { + this.method6306(); + } + + if (var4) { + this.field3982 = var5; + this.field4000 = var1; + this.field4012 = var2; + } + + } + + @ObfuscatedName("k") + void method6302(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]) { + WorldMapLabel.method418(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false); + } else { + boolean var9 = true; + if (this.field4013) { + int var10 = var1 - this.field4000; + int var11 = var2 - this.field4012; + if (var4 - this.field3982 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { + var9 = false; + } + } + + if (var9) { + PacketBufferNode var12 = Archive.method4265(ClientPacket.field2248, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeIntME(this.mouseCoord.packed()); + Client.packetWriter.method2219(var12); + this.field3982 = 0L; + } + } + } + } else { + this.mouseCoord = null; + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-59" + ) + @Export("smoothZoom") + void smoothZoom() { + if (PendingSpawn.field944 != 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("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1342245212" + ) + @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("i") + @ObfuscatedSignature( + signature = "(IIZI)V", + garbageValue = "997010308" + ) + @Export("setWorldMapPosition") + final void setWorldMapPosition(int var1, int var2, boolean var3) { + this.centerTileX = var1; + this.centerTileY = var2; + DirectByteArrayCopier.currentTimeMs(); + if (var3) { + this.method6306(); + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + final void method6306() { + this.field3989 = -1; + this.field4001 = -1; + this.field4007 = -1; + this.field4006 = -1; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1798677301" + ) + @Export("hasTarget") + boolean hasTarget() { + return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(IIIB)Lal;", + garbageValue = "30" + ) + @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("r") + @ObfuscatedSignature( + signature = "(IIIZB)V", + garbageValue = "-128" + ) + public void method6309(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.field3987 || var4) { + this.field3987 = var5; + this.setCurrentMapArea(var5); + var6 = true; + } + + if (var6 || var4) { + this.jump(var1, var2, var3); + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-2081966255" + ) + @Export("setCurrentMapAreaId") + public void setCurrentMapAreaId(int var1) { + WorldMapArea var2 = this.getMapArea(var1); + if (var2 != null) { + this.setCurrentMapArea(var2); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "89" + ) + @Export("currentMapAreaId") + public int currentMapAreaId() { + return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(B)Lal;", + garbageValue = "-121" + ) + @Export("getCurrentMapArea") + public WorldMapArea getCurrentMapArea() { + return this.currentMapArea; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Lal;I)V", + garbageValue = "812407126" + ) + @Export("setCurrentMapArea") + void setCurrentMapArea(WorldMapArea var1) { + if (this.currentMapArea == null || var1 != this.currentMapArea) { + this.initializeWorldMapManager(var1); + this.jump(-1, -1, -1); + } + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(Lal;I)V", + garbageValue = "-1813483224" + ) + @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("o") + @ObfuscatedSignature( + signature = "(Lal;Lhv;Lhv;ZI)V", + garbageValue = "1469825217" + ) + public void method6315(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("d") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "1348080831" + ) + @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.field3972 = null; + this.iconIterator = null; + this.worldMapManager.clearIcons(); + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "-365948534" + ) + @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.field4011 > 100) { + this.field4011 = var5; + var10 = true; + } + + this.worldMapManager.method605(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field3988, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); + } + + this.method6319(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("z") + @ObfuscatedSignature( + signature = "(IIIIIII)Z", + garbageValue = "-1863961695" + ) + boolean method6318(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.field4030 != Client.field924) { + return true; + } else if (var3 <= 0 && var4 <= 0) { + return var3 + var1 < var5 || var2 + var4 < var6; + } else { + return true; + } + } else { + return true; + } + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(IIIIIIB)V", + garbageValue = "-125" + ) + void method6319(int var1, int var2, int var3, int var4, int var5, int var6) { + if (PendingSpawn.field944 != 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.method6318(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; + PendingSpawn.field944.method4321(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); + this.field4030 = Client.field924; + var13 = var1 - (var11 + var7 - 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.method6135(var13, var14, 192); + } else { + this.sprite.method6217(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192); + } + } + + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-1774436451" + ) + @Export("drawOverview") + public void drawOverview(int var1, int var2, int var3, int var4) { + if (this.cacheLoader.getIsLoaded()) { + 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("as") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1089841292" + ) + @Export("setZoomPercentage") + public void setZoomPercentage(int var1) { + this.zoomTarget = this.getZoomFromPercentage(var1); + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "1955930802" + ) + @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("ad") + @ObfuscatedSignature( + signature = "(II)F", + garbageValue = "-1360526836" + ) + @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("ag") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "58" + ) + @Export("getZoomLevel") + public int getZoomLevel() { + if ((double)this.zoomTarget == 1.0D) { + return 25; + } else if (1.5D == (double)this.zoomTarget) { + return 37; + } else if (2.0D == (double)this.zoomTarget) { + return 50; + } else if ((double)this.zoomTarget == 3.0D) { + return 75; + } else { + return 4.0D == (double)this.zoomTarget ? 100 : 200; + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1903923036" + ) + @Export("loadCache") + public void loadCache() { + this.cacheLoader.load(); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1852688720" + ) + @Export("isCacheLoaded") + public boolean isCacheLoaded() { + return this.cacheLoader.getIsLoaded(); + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "(II)Lal;", + garbageValue = "-733609439" + ) + @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("ae") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1604144136" + ) + @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("ao") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "2147035195" + ) + @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 = "-1252480817" + ) + @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("at") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1225675746" + ) + @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("ac") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-786263367" + ) + @Export("getDisplayX") + public int getDisplayX() { + return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2026899768" + ) + @Export("getDisplayY") + public int getDisplayY() { + return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(B)Lhv;", + garbageValue = "19" + ) + @Export("getDisplayCoord") + public Coord getDisplayCoord() { + return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1200687327" + ) + @Export("getDisplayWith") + public int getDisplayWith() { + return this.worldMapDisplayWidth; + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "127" + ) + @Export("getDisplayHeight") + public int getDisplayHeight() { + return this.worldMapDisplayHeight; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1678064633" + ) + public void method6337(int var1) { + if (var1 >= 1) { + this.maxFlashCount = var1; + } + + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "18" + ) + public void method6338() { + this.maxFlashCount = 3; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "127822739" + ) + public void method6339(int var1) { + if (var1 >= 1) { + this.cyclesPerFlash = var1; + } + + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-244117630" + ) + public void method6340() { + this.cyclesPerFlash = 50; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "1836786082" + ) + @Export("setPerpetualFlash") + public void setPerpetualFlash(boolean var1) { + this.perpetualFlash = var1; + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1761276065" + ) + @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 = "(II)V", + garbageValue = "-685614117" + ) + @Export("flashCategory") + public void flashCategory(int var1) { + this.flashingElements = new HashSet(); + this.flashCount = 0; + this.flashCycle = 0; + + for (int var2 = 0; var2 < UserComparator1.WorldMapElement_count; ++var2) { + if (class222.getWorldMapElement(var2) != null && class222.getWorldMapElement(var2).category == var1) { + this.flashingElements.add(class222.getWorldMapElement(var2).objectId); + } + } + + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1910993188" + ) + @Export("stopCurrentFlashes") + public void stopCurrentFlashes() { + this.flashingElements = null; + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(ZB)V", + garbageValue = "35" + ) + @Export("setElementsDisabled") + public void setElementsDisabled(boolean var1) { + this.elementsDisabled = !var1; + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(IZB)V", + garbageValue = "-69" + ) + @Export("disableElement") + public void disableElement(int var1, boolean var2) { + if (!var2) { + this.enabledElements.add(var1); + } else { + this.enabledElements.remove(var1); + } + + this.method6350(); + } + + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "(IZI)V", + garbageValue = "-1036879778" + ) + @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 < UserComparator1.WorldMapElement_count; ++var3) { + if (class222.getWorldMapElement(var3) != null && class222.getWorldMapElement(var3).category == var1) { + int var4 = class222.getWorldMapElement(var3).objectId; + if (!var2) { + this.enabledElementIds.add(var4); + } else { + this.enabledElementIds.remove(var4); + } + } + } + + this.method6350(); + } + + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "-27155" + ) + @Export("getElementsDisabled") + public boolean getElementsDisabled() { + return !this.elementsDisabled; + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "-85" + ) + @Export("isElementDisabled") + public boolean isElementDisabled(int var1) { + return !this.enabledElements.contains(var1); + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-120988361" + ) + @Export("isCategoryDisabled") + public boolean isCategoryDisabled(int var1) { + return !this.enabledCategories.contains(var1); + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "27" + ) + void method6350() { + this.field3988.clear(); + this.field3988.addAll(this.enabledElements); + this.field3988.addAll(this.enabledElementIds); + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "(IIIIIII)V", + garbageValue = "90618974" + ) + public void method6482(int var1, int var2, int var3, int var4, int var5, int var6) { + if (this.cacheLoader.getIsLoaded()) { + int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); + int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); + List var9 = this.worldMapManager.method607(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 = class222.getWorldMapElement(var11.getElement()); + var13 = false; + + for (int var14 = this.field4020.length - 1; var14 >= 0; --var14) { + if (var12.strings[var14] != null) { + class188.insertMenuItemNoShift(var12.strings[var14], var12.string1, this.field4020[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); + var13 = true; + } + } + } while(!var13); + + } + } + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(ILhv;I)Lhv;", + garbageValue = "719601861" + ) + public Coord method6352(int var1, Coord var2) { + if (!this.cacheLoader.getIsLoaded()) { + 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 = var9 * var9 + var10 * var10; + if (var11 == 0) { + return var8.coord2; + } + } while(var11 >= var6 && var5 != null); + + var5 = var8; + var6 = var11; + } + } else { + return null; + } + } + } + + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "(IILhv;Lhv;B)V", + garbageValue = "8" + ) + @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); + } + + LoginPacket.runScriptEvent(var5); + } + + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "(I)Laz;", + garbageValue = "1843313611" + ) + @Export("iconStart") + public AbstractWorldMapIcon iconStart() { + if (!this.cacheLoader.getIsLoaded()) { + return null; + } else if (!this.worldMapManager.isLoaded()) { + return null; + } else { + HashMap var1 = this.worldMapManager.buildIcons(); + this.field3972 = new LinkedList(); + Iterator var2 = var1.values().iterator(); + + while (var2.hasNext()) { + List var3 = (List)var2.next(); + this.field3972.addAll(var3); + } + + this.iconIterator = this.field3972.iterator(); + return this.iconNext(); + } + } + + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "(B)Laz;", + garbageValue = "64" + ) + @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 b469676698..f3e7491d63 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -4,105 +4,106 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ls") +@ObfuscatedName("lh") @Implements("WorldMapArchiveLoader") public class WorldMapArchiveLoader { - @ObfuscatedName("o") - @Export("cacheName") - String cacheName; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("archive") - AbstractArchive archive; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 624113115 - ) - @Export("percentLoaded") - int percentLoaded; - @ObfuscatedName("l") - @Export("isLoaded") - boolean isLoaded; + @ObfuscatedName("k") + @Export("cacheName") + String cacheName; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("archive") + AbstractArchive archive; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 431285519 + ) + @Export("percentLoaded") + int percentLoaded; + @ObfuscatedName("i") + @Export("isLoaded") + boolean isLoaded; - @ObfuscatedSignature( - signature = "(Lir;)V" - ) - WorldMapArchiveLoader(AbstractArchive var1) { - this.percentLoaded = 0; - this.isLoaded = false; - this.archive = var1; - } + @ObfuscatedSignature( + signature = "(Lhp;)V" + ) + WorldMapArchiveLoader(AbstractArchive var1) { + this.percentLoaded = 0; + this.isLoaded = false; + this.archive = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1867776989" - ) - @Export("reset") - void reset(String cacheName) { - if (cacheName != null && !cacheName.isEmpty() && cacheName != this.cacheName) { - this.cacheName = cacheName; - this.percentLoaded = 0; - this.isLoaded = false; - this.load(); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "124" + ) + @Export("reset") + void reset(String var1) { + if (var1 != null && !var1.isEmpty()) { + if (var1 != this.cacheName) { + this.cacheName = var1; + this.percentLoaded = 0; + this.isLoaded = false; + this.load(); + } + } + } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "52307485" + ) + @Export("load") + int load() { + if (this.percentLoaded < 33) { + if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field302.name, this.cacheName)) { + return this.percentLoaded; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2019633217" - ) - @Export("load") - int load() { - if (this.percentLoaded < 33) { - if (!this.archive.tryLoadFileByNames(WorldMapCacheName.WorldMapCacheName_compositeMap.name, this.cacheName)) { - return this.percentLoaded; - } + this.percentLoaded = 33; + } - this.percentLoaded = 33; - } + if (this.percentLoaded == 33) { + if (this.archive.isValidFileName(WorldMapCacheName.field303.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field303.name, this.cacheName)) { + return this.percentLoaded; + } - if (this.percentLoaded == 33) { - if (this.archive.isValidFileName(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName)) { - return this.percentLoaded; - } + this.percentLoaded = 66; + } - this.percentLoaded = 66; - } + if (this.percentLoaded == 66) { + if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field305.name)) { + return this.percentLoaded; + } - if (this.percentLoaded == 66) { - if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.WorldMapCacheName_labels.name)) { - return this.percentLoaded; - } + this.percentLoaded = 100; + this.isLoaded = true; + } - this.percentLoaded = 100; - this.isLoaded = true; - } + return this.percentLoaded; + } - return this.percentLoaded; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1906092832" + ) + @Export("getIsLoaded") + boolean getIsLoaded() { + return this.isLoaded; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "-16324" - ) - @Export("getIsLoaded") - boolean getIsLoaded() { - return this.isLoaded; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1342963007" - ) - @Export("getPercentLoaded") - int getPercentLoaded() { - return this.percentLoaded; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-805069530" + ) + @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 257166055e..03398b71a8 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -1,3 +1,4 @@ +import java.io.IOException; import java.util.Iterator; import java.util.LinkedList; import net.runelite.mapping.Export; @@ -6,437 +7,729 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ag") +@ObfuscatedName("al") @Implements("WorldMapArea") public class WorldMapArea { - @ObfuscatedName("rc") - @ObfuscatedSignature( - signature = "Lbh;" - ) - @Export("friendSystem") - public static FriendSystem friendSystem; - @ObfuscatedName("eq") - @ObfuscatedGetter( - intValue = -256520591 - ) - @Export("port2") - static int port2; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1232579503 - ) - @Export("id") - int id; - @ObfuscatedName("f") - @Export("archiveName") - String archiveName; - @ObfuscatedName("q") - @Export("name") - String name; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 986239133 - ) - int field1015; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 196514055 - ) - @Export("zoom0") - int zoom0; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("origin0") - Coord origin0; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1238532539 - ) - @Export("minX0") - int minX0; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 225384859 - ) - @Export("maxX0") - int maxX0; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 963380367 - ) - @Export("minY0") - int minY0; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1025105175 - ) - @Export("maxY0") - int maxY0; - @ObfuscatedName("d") - @Export("isMain") - boolean isMain; - @ObfuscatedName("k") - @Export("sections") - LinkedList sections; + @ObfuscatedName("bo") + static String field213; + @ObfuscatedName("hc") + @ObfuscatedGetter( + intValue = 143213649 + ) + @Export("oculusOrbFocalPointY") + static int oculusOrbFocalPointY; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1977211607 + ) + @Export("id") + int id; + @ObfuscatedName("w") + @Export("internalName") + String internalName; + @ObfuscatedName("e") + @Export("externalName") + String externalName; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -162659739 + ) + @Export("backGroundColor") + int backGroundColor; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 19158817 + ) + @Export("zoom") + int zoom; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("origin") + Coord origin; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1024999231 + ) + @Export("regionLowX") + int regionLowX; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1660950761 + ) + @Export("regionHighX") + int regionHighX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1294876503 + ) + @Export("regionLowY") + int regionLowY; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -341254141 + ) + @Export("regionHighY") + int regionHighY; + @ObfuscatedName("m") + @Export("isMain") + boolean isMain; + @ObfuscatedName("u") + @Export("sections") + LinkedList sections; - public WorldMapArea() { - this.id = -1; - this.field1015 = -1; - this.zoom0 = -1; - this.origin0 = null; - this.minX0 = Integer.MAX_VALUE; - this.maxX0 = 0; - this.minY0 = Integer.MAX_VALUE; - this.maxY0 = 0; - this.isMain = false; - } + 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("m") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "1854512327" - ) - @Export("read") - public void read(Buffer var1, int fileId) { - this.id = fileId; - this.archiveName = var1.readStringCp1252NullTerminated(); - this.name = var1.readStringCp1252NullTerminated(); - this.origin0 = new Coord(var1.readInt()); - this.field1015 = var1.readInt(); - var1.readUnsignedByte(); - this.isMain = var1.readUnsignedByte() == 1; - this.zoom0 = var1.readUnsignedByte(); - int var3 = var1.readUnsignedByte(); - this.sections = new LinkedList(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "0" + ) + @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)); - } + for (int var4 = 0; var4 < var3; ++var4) { + this.sections.add(this.readWorldMapSection(var1)); + } - this.setBounds(); - } + this.setBounds(); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;S)Lab;", - garbageValue = "-13154" - ) - @Export("readWorldMapSection") - WorldMapSection readWorldMapSection(Buffer var1) { - int var2 = var1.readUnsignedByte(); - WorldMapSectionType[] var3 = new WorldMapSectionType[]{WorldMapSectionType.WORLDMAPSECTIONTYPE1, WorldMapSectionType.WORLDMAPSECTIONTYPE3, WorldMapSectionType.WORLDMAPSECTIONTYPE0, WorldMapSectionType.WORLDMAPSECTIONTYPE2}; - WorldMapSectionType var4 = (WorldMapSectionType)ScriptFrame.findEnumerated(var3, var2); - Object var5 = null; - switch(var4.type) { - case 0: - var5 = new WorldMapSection0(); - break; - case 1: - var5 = new WorldMapSection1(); - break; - case 2: - var5 = new WorldMapSection2(); - break; - case 3: - var5 = new WorldMapSection3(); - break; - default: - throw new IllegalStateException(""); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)Laj;", + garbageValue = "-1426808810" + ) + @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)SoundSystem.findEnumerated(var3, var2); + Object var5 = null; + switch(var4.type) { + case 0: + var5 = new WorldMapSection0(); + break; + case 1: + var5 = new WorldMapSection2(); + break; + case 2: + var5 = new WorldMapSection1(); + break; + case 3: + var5 = new class42(); + break; + default: + throw new IllegalStateException(""); + } - ((WorldMapSection)var5).read(var1); - return (WorldMapSection)var5; - } + ((WorldMapSection)var5).read(var1); + return (WorldMapSection)var5; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "1843012457" - ) - @Export("containsCoord") - public boolean containsCoord(int plane, int x, int y) { - Iterator var4 = this.sections.iterator(); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "772882794" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return false; - } + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return false; + } - var5 = (WorldMapSection)var4.next(); - } while(!var5.containsCoord(plane, x, y)); + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); - return true; - } + return true; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "-693447297" - ) - @Export("containsPosition") - public boolean containsPosition(int x, int y) { - int var3 = x / 64; - int var4 = y / 64; - if (var3 >= this.minX0 && var3 <= this.maxX0) { - if (var4 >= this.minY0 && var4 <= this.maxY0) { - Iterator var5 = this.sections.iterator(); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "431640899" + ) + @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; - } + WorldMapSection var6; + do { + if (!var5.hasNext()) { + return false; + } - var6 = (WorldMapSection)var5.next(); - } while(!var6.containsPosition(x, y)); + var6 = (WorldMapSection)var5.next(); + } while(!var6.containsPosition(var1, var2)); - return true; - } else { - return false; - } - } else { - return false; - } - } + return true; + } else { + return false; + } + } else { + return false; + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "745399916" - ) - @Export("position") - public int[] position(int plane, int x, int y) { - Iterator var4 = this.sections.iterator(); + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "1197175712" + ) + @Export("position") + public int[] position(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return null; - } + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return null; + } - var5 = (WorldMapSection)var4.next(); - } while(!var5.containsCoord(plane, x, y)); + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); - return var5.position(plane, x, y); - } + return var5.getBorderTileLengths(var1, var2, var3); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "1509069978" - ) - @Export("coord") - public Coord coord(int x, int y) { - Iterator var3 = this.sections.iterator(); + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(III)Lhv;", + garbageValue = "1177032245" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + Iterator var3 = this.sections.iterator(); - WorldMapSection var4; - do { - if (!var3.hasNext()) { - return null; - } + WorldMapSection var4; + do { + if (!var3.hasNext()) { + return null; + } - var4 = (WorldMapSection)var3.next(); - } while(!var4.containsPosition(x, y)); + var4 = (WorldMapSection)var3.next(); + } while(!var4.containsPosition(var1, var2)); - return var4.coord(x, y); - } + return var4.coord(var1, var2); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-17" - ) - @Export("setBounds") - void setBounds() { - Iterator var1 = this.sections.iterator(); + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1983561837" + ) + @Export("setBounds") + void setBounds() { + Iterator var1 = this.sections.iterator(); - while (var1.hasNext()) { - WorldMapSection var2 = (WorldMapSection)var1.next(); - var2.expandBounds(this); - } + while (var1.hasNext()) { + WorldMapSection var2 = (WorldMapSection)var1.next(); + var2.expandBounds(this); + } - } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-628294476" - ) - @Export("getId") - public int getId() { - return this.id; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "11" + ) + @Export("getId") + public int getId() { + return this.id; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-39" - ) - @Export("getIsMain") - public boolean getIsMain() { - return this.isMain; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1524903705" + ) + @Export("getIsMain") + public boolean getIsMain() { + return this.isMain; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "-65" - ) - @Export("getArchiveName") - public String getArchiveName() { - return this.archiveName; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-229522962" + ) + @Export("getInternalName") + public String getInternalName() { + return this.internalName; + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "-66" - ) - @Export("getName") - public String getName() { - return this.name; - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-1054173331" + ) + @Export("getExternalName") + public String getExternalName() { + return this.externalName; + } - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1657905623" - ) - int method386() { - return this.field1015; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-26" + ) + @Export("getBackGroundColor") + int getBackGroundColor() { + return this.backGroundColor; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-641284417" - ) - @Export("zoom") - public int zoom() { - return this.zoom0; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "459716843" + ) + @Export("getZoom") + public int getZoom() { + return this.zoom; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-18" - ) - @Export("minX") - public int minX() { - return this.minX0; - } + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1607087713" + ) + @Export("getRegionLowX") + public int getRegionLowX() { + return this.regionLowX; + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("maxX") - public int maxX() { - return this.maxX0; - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1992426641" + ) + @Export("getRegionHighX") + public int getRegionHighX() { + return this.regionHighX; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "272992390" - ) - @Export("minY") - public int minY() { - return this.minY0; - } + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "426909580" + ) + @Export("getRegionLowY") + public int getRegionLowY() { + return this.regionLowY; + } - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1621710159" - ) - @Export("maxY") - public int maxY() { - return this.maxY0; - } + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-308162102" + ) + @Export("getRegionHighY") + public int getRegionHighY() { + return this.regionHighY; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "5" - ) - @Export("originX") - public int originX() { - return this.origin0.x; - } + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-30" + ) + @Export("getOriginX") + public int getOriginX() { + return this.origin.x; + } - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1875921633" - ) - @Export("originPlane") - public int originPlane() { - return this.origin0.plane; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1111611912" + ) + @Export("getOriginPlane") + public int getOriginPlane() { + return this.origin.plane; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-135283879" - ) - @Export("originY") - public int originY() { - return this.origin0.y; - } + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-16" + ) + @Export("getOriginY") + public int getOriginY() { + return this.origin.y; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)Lhu;", - garbageValue = "-1411761003" - ) - @Export("origin") - public Coord origin() { - return new Coord(this.origin0); - } + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Lhv;", + garbageValue = "1084515082" + ) + @Export("getOrigin") + public Coord getOrigin() { + return new Coord(this.origin); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1490951132" - ) - static int method427(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 0) { - var1 = 0; - } else if (var1 > 127) { - var1 = 127; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)Liq;", + garbageValue = "44972047" + ) + @Export("getItemDefinition") + public static ItemDefinition getItemDefinition(int var0) { + ItemDefinition var1 = (ItemDefinition)ItemDefinition.ItemDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = Messages.ItemDefinition_archive.takeFile(10, var0); + var1 = new ItemDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - var1 = 127 - var1; - return var1; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } + var1.post(); + if (var1.noteTemplate != -1) { + var1.genCert(getItemDefinition(var1.noteTemplate), getItemDefinition(var1.note)); + } - return (var0 & 65408) + var1; - } - } + if (var1.notedId != -1) { + var1.genBought(getItemDefinition(var1.notedId), getItemDefinition(var1.unnotedId)); + } - @ObfuscatedName("kc") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-26" - ) - static void method428() { - if (Client.oculusOrbState == 1) { - Client.field199 = true; - } + if (var1.placeholderTemplate != -1) { + var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder)); + } - } + if (!ModelData0.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 = WorldMapIcon_0.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("q") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-296796650" + ) + public static boolean method365() { + long var0 = DirectByteArrayCopier.currentTimeMs(); + int var2 = (int)(var0 - NetCache.field3169); + NetCache.field3169 = var0; + if (var2 > 200) { + var2 = 200; + } + + NetCache.field3163 += 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.field3163 > 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.field3163 = 0; + byte var5 = 0; + if (class226.NetCache_currentResponse == null) { + var5 = 8; + } else if (NetCache.field3175 == 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.field3181 != 0) { + for (var7 = 0; var7 < var6; ++var7) { + var10000 = NetCache.NetCache_responseHeaderBuffer.array; + var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset; + var10000[var10001] ^= NetCache.field3181; + } + } + + var22 = NetCache.NetCache_responseHeaderBuffer; + var22.offset += var6; + if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { + break; + } + + if (class226.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); + class215.field2545 = true; + if (var13 == null) { + var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); + class215.field2545 = false; + } + + if (var13 == null) { + throw new IOException(); + } + + int var14 = var9 == 0 ? 5 : 9; + class226.NetCache_currentResponse = var13; + VarpDefinition.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + class226.NetCache_currentResponse.padding); + VarpDefinition.NetCache_responseArchiveBuffer.writeByte(var9); + VarpDefinition.NetCache_responseArchiveBuffer.writeInt(var10); + NetCache.field3175 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else if (NetCache.field3175 == 0) { + if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { + NetCache.field3175 = 1; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else { + class226.NetCache_currentResponse = null; + } + } + } else { + var6 = VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding; + var7 = 512 - NetCache.field3175; + if (var7 > var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset) { + var7 = var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset; + } + + if (var7 > var16) { + var7 = var16; + } + + NetCache.NetCache_socket.read(VarpDefinition.NetCache_responseArchiveBuffer.array, VarpDefinition.NetCache_responseArchiveBuffer.offset, var7); + if (NetCache.field3181 != 0) { + for (var8 = 0; var8 < var7; ++var8) { + var10000 = VarpDefinition.NetCache_responseArchiveBuffer.array; + var10001 = VarpDefinition.NetCache_responseArchiveBuffer.offset + var8; + var10000[var10001] ^= NetCache.field3181; + } + } + + var22 = VarpDefinition.NetCache_responseArchiveBuffer; + var22.offset += var7; + NetCache.field3175 += var7; + if (var6 == VarpDefinition.NetCache_responseArchiveBuffer.offset) { + if (16711935L == class226.NetCache_currentResponse.key) { + AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer; + + for (var8 = 0; var8 < 256; ++var8) { + Archive var17 = NetCache.NetCache_archives[var8]; + if (var17 != null) { + AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5; + var10 = AbstractRasterProvider.NetCache_reference.readInt(); + int var18 = AbstractRasterProvider.NetCache_reference.readInt(); + var17.loadIndex(var10, var18); + } + } + } else { + NetCache.NetCache_crc.reset(); + NetCache.NetCache_crc.update(VarpDefinition.NetCache_responseArchiveBuffer.array, 0, var6); + var8 = (int)NetCache.NetCache_crc.getValue(); + if (var8 != class226.NetCache_currentResponse.crc) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var20) { + } + + ++NetCache.NetCache_crcMismatches; + NetCache.NetCache_socket = null; + NetCache.field3181 = (byte)((int)(Math.random() * 255.0D + 1.0D)); + return false; + } + + NetCache.NetCache_crcMismatches = 0; + NetCache.NetCache_ioExceptions = 0; + class226.NetCache_currentResponse.archive.write((int)(class226.NetCache_currentResponse.key & 65535L), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 16711680L) == 16711680L, class215.field2545); + } + + class226.NetCache_currentResponse.remove(); + if (class215.field2545) { + --NetCache.NetCache_pendingPriorityResponsesCount; + } else { + --NetCache.NetCache_pendingResponsesCount; + } + + NetCache.field3175 = 0; + class226.NetCache_currentResponse = null; + VarpDefinition.NetCache_responseArchiveBuffer = null; + } else { + if (NetCache.field3175 != 512) { + break; + } + + NetCache.field3175 = 0; + } + } + } + + return true; + } + } catch (IOException var21) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var19) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + return false; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkf;Lla;I)Lla;", + garbageValue = "-2066495425" + ) + @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("e") + @ObfuscatedSignature( + signature = "(CLgu;I)I", + garbageValue = "-2081105774" + ) + static int method387(char var0, class190 var1) { + int var2 = var0 << 4; + if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { + var0 = Character.toLowerCase(var0); + var2 = (var0 << 4) + 1; + } + + if (var0 == 241 && var1 == class190.field2350) { + var2 = 1762; + } + + return var2; + } } diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index 65e99337a8..8e3a152be1 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -5,289 +5,101 @@ 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("ae") +@ObfuscatedName("at") @Implements("WorldMapAreaData") public class WorldMapAreaData extends WorldMapArea { - @ObfuscatedName("n") - HashSet field1016; - @ObfuscatedName("i") - HashSet field1017; - @ObfuscatedName("a") - List field1018; + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "Lls;" + ) + static Bounds field332; + @ObfuscatedName("x") + @Export("worldMapData0Set") + HashSet worldMapData0Set; + @ObfuscatedName("r") + @Export("worldMapData1Set") + HashSet worldMapData1Set; + @ObfuscatedName("v") + @Export("iconList") + List iconList; - @ObfuscatedName("ce") - @ObfuscatedSignature( - signature = "(Lgr;Lgr;IZI)V", - garbageValue = "-1999841505" - ) - void method387(Buffer var1, Buffer var2, int var3, boolean var4) { - this.read(var1, var3); - int var5 = var2.readUnsignedShort(); - this.field1016 = new HashSet(var5); + WorldMapAreaData() { + } - int var6; - for (var6 = 0; var6 < var5; ++var6) { - class15 var7 = new class15(); + @ObfuscatedName("cy") + @ObfuscatedSignature( + signature = "(Lkf;Lkf;IZB)V", + garbageValue = "-52" + ) + @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); - try { - var7.method173(var2); - } catch (IllegalStateException var11) { - continue; - } + int var6; + for (var6 = 0; var6 < var5; ++var6) { + WorldMapData_0 var7 = new WorldMapData_0(); - this.field1016.add(var7); - } + try { + var7.init(var2); + } catch (IllegalStateException var12) { + continue; + } - var6 = var2.readUnsignedShort(); - this.field1017 = new HashSet(var6); + this.worldMapData0Set.add(var7); + } - for (int var12 = 0; var12 < var6; ++var12) { - class39 var8 = new class39(); + var6 = var2.readUnsignedShort(); + this.worldMapData1Set = new HashSet(var6); - try { - var8.method714(var2); - } catch (IllegalStateException var10) { - continue; - } + for (int var10 = 0; var10 < var6; ++var10) { + WorldMapData_1 var8 = new WorldMapData_1(); - this.field1017.add(var8); - } + try { + var8.init(var2); + } catch (IllegalStateException var11) { + continue; + } - this.method388(var2, var4); - } + this.worldMapData1Set.add(var8); + } - @ObfuscatedName("cy") - @ObfuscatedSignature( - signature = "(Lgr;ZB)V", - garbageValue = "48" - ) - void method388(Buffer var1, boolean var2) { - this.field1018 = new LinkedList(); - int var3 = var1.readUnsignedShort(); + this.initIconsList(var2, var4); + } - for (int var4 = 0; var4 < var3; ++var4) { - int var5 = var1.method51(); - Coord var6 = new Coord(var1.readInt()); - boolean var7 = var1.readUnsignedByte() == 1; - if (var2 || !var7) { - this.field1018.add(new WorldMapIcon1((Coord)null, var6, var5, (WorldMapLabel)null)); - } - } + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "(Lkf;ZI)V", + garbageValue = "2146657354" + ) + @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.method5511(); + 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("m") - @ObfuscatedSignature( - signature = "(II)Ljh;", - garbageValue = "1432369110" - ) - @Export("getSequenceDefinition") - public static SequenceDefinition getSequenceDefinition(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("m") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1767097678" - ) - public static boolean method711(int var0) { - return var0 >= WorldMapDecorationType.field2810.id && var0 <= WorldMapDecorationType.field2822.id; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "15" - ) - public static boolean method708(int var0) { - return (var0 >> 30 & 1) != 0; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-714719812" - ) - static int method710(int var0, Script var1, boolean var2) { - boolean var3 = true; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var4 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - var3 = false; - } else { - var4 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } - - int var5; - if (var0 == ScriptOpcodes.CC_SETOP) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] - 1; - if (var5 >= 0 && var5 <= 9) { - var4.setAction(var5, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); - return 1; - } else { - --Interpreter.Interpreter_stringStackSize; - return 1; - } - } else { - int var6; - if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { - RouteStrategy.Interpreter_intStackSize -= 2; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var4.parent = class204.getWidgetChild(var5, var6); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { - var4.isScrollBar = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { - var4.dragZoneSize = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { - var4.dragThreshold = Interpreter.Interpreter_intStack[--RouteStrategy.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.field985 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else { - int var7; - byte[] var8; - if (var0 != ScriptOpcodes.CC_SETOPKEY) { - byte var11; - if (var0 == ScriptOpcodes.CC_SETOPTKEY) { - RouteStrategy.Interpreter_intStackSize -= 2; - var11 = 10; - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]}; - byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]}; - BufferedSink.method3595(var4, var11, var8, var10); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { - RouteStrategy.Interpreter_intStackSize -= 3; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - if (var5 >= 0 && var5 <= 9) { - Varcs.method2168(var4, var5, var6, var7); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { - var11 = 10; - var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Varcs.method2168(var4, var11, var6, var7); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { - --RouteStrategy.Interpreter_intStackSize; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; - if (var5 >= 0 && var5 <= 9) { - WorldMapSection1.method345(var4, var5); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { - var11 = 10; - WorldMapSection1.method345(var4, var11); - return 1; - } else { - return 2; - } - } else { - byte[] var9 = null; - var8 = null; - if (var3) { - RouteStrategy.Interpreter_intStackSize -= 10; - - for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + RouteStrategy.Interpreter_intStackSize] >= 0; var7 += 2) { - } - - if (var7 > 0) { - var9 = new byte[var7 / 2]; - var8 = new byte[var7 / 2]; - - for (var7 -= 2; var7 >= 0; var7 -= 2) { - var9[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + RouteStrategy.Interpreter_intStackSize]; - var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + RouteStrategy.Interpreter_intStackSize + 1]; - } - } - } else { - RouteStrategy.Interpreter_intStackSize -= 2; - var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]}; - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]}; - } - - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] - 1; - if (var7 >= 0 && var7 <= 9) { - BufferedSink.method3595(var4, var7, var9, var8); - return 1; - } else { - throw new RuntimeException(); - } - } - } - } - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "1705746695" - ) - static final int method712(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("jb") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-1746120861" - ) - @Export("setTapToDrop") - static void setTapToDrop(boolean var0) { - Client.tapToDrop = var0; - } + @ObfuscatedName("hu") + @ObfuscatedSignature( + signature = "(III)Lfl;", + garbageValue = "2134464513" + ) + static RouteStrategy method667(int var0, int var1) { + Client.field735.approxDestinationX = var0; + Client.field735.approxDestinationY = var1; + Client.field735.approxDestinationSizeX = 1; + Client.field735.approxDestinationSizeY = 1; + return Client.field735; + } } diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index 59043310c4..e369a3873e 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -1,189 +1,81 @@ -import java.awt.Desktop; -import java.awt.Desktop.Action; -import java.net.URI; import net.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") +@ObfuscatedName("ae") @Implements("WorldMapCacheName") public class WorldMapCacheName { - @ObfuscatedName("qu") - @ObfuscatedSignature( - signature = "Lco;" - ) - @Export("pcmPlayer0") - static PcmPlayer pcmPlayer0; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Law;" - ) - @Export("WorldMapCacheName_details") - public static final WorldMapCacheName WorldMapCacheName_details; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Law;" - ) - @Export("WorldMapCacheName_compositeMap") - public static final WorldMapCacheName WorldMapCacheName_compositeMap; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Law;" - ) - @Export("WorldMapCacheName_compositeTexture") - public static final WorldMapCacheName WorldMapCacheName_compositeTexture; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Law;" - ) - @Export("WorldMapCacheName_area") - static final WorldMapCacheName WorldMapCacheName_area; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Law;" - ) - @Export("WorldMapCacheName_labels") - public static final WorldMapCacheName WorldMapCacheName_labels; - @ObfuscatedName("u") - @Export("name") - public final String name; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lae;" + ) + public static final WorldMapCacheName field308; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lae;" + ) + public static final WorldMapCacheName field302; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lae;" + ) + public static final WorldMapCacheName field303; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lae;" + ) + static final WorldMapCacheName field304; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lae;" + ) + public static final WorldMapCacheName field305; + @ObfuscatedName("c") + public static short[] field309; + @ObfuscatedName("de") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive5") + static Archive archive5; + @ObfuscatedName("mj") + @ObfuscatedGetter( + intValue = -380277113 + ) + @Export("selectedSpellFlags") + static int selectedSpellFlags; + @ObfuscatedName("l") + @Export("name") + public final String name; - WorldMapCacheName(String var1) { - this.name = var1; - } + static { + field308 = new WorldMapCacheName("details"); + field302 = new WorldMapCacheName("compositemap"); + field303 = new WorldMapCacheName("compositetexture"); + field304 = new WorldMapCacheName("area"); + field305 = new WorldMapCacheName("labels"); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([I[II)V", - garbageValue = "-1459849000" - ) - public static void method633(int[] var0, int[] var1) { - if (var0 != null && var1 != null) { - ByteArrayPool.field55 = var0; - WorldMapSection0.field1082 = new int[var0.length]; - RouteStrategy.field760 = new byte[var0.length][][]; + WorldMapCacheName(String var1) { + this.name = var1; + } - for (int var2 = 0; var2 < ByteArrayPool.field55.length; ++var2) { - RouteStrategy.field760[var2] = new byte[var1[var2]][]; - } - } else { - ByteArrayPool.field55 = null; - WorldMapSection0.field1082 = null; - RouteStrategy.field760 = ((byte[][][])null); - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lhj;IB)V", + garbageValue = "67" + ) + static final void method600(Widget var0, int var1) { + if (var0.field2650 == null) { + throw new RuntimeException(); + } else { + if (var0.field2578 == null) { + var0.field2578 = new int[var0.field2650.length]; + } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZZI)V", - garbageValue = "1532180466" - ) - @Export("openURL") - public static void openURL(String var0, boolean var1, boolean var2) { - if (var1) { - if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { - try { - Desktop.getDesktop().browse(new URI(var0)); - return; - } catch (Exception var4) { - } - } - - if (class50.field1160.startsWith("win")) { - ReflectionCheck.method5920(var0, 0); - } else if (class50.field1160.startsWith("mac")) { - FaceNormal.method3237(var0, 1, "openjs"); - } else { - ReflectionCheck.method5920(var0, 2); - } - } else { - ReflectionCheck.method5920(var0, 3); - } - - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "199373952" - ) - public static int method634(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("gk") - @ObfuscatedSignature( - signature = "(Lbr;ZI)V", - garbageValue = "519207109" - ) - @Export("addPlayerToScene") - static void addPlayerToScene(Player player, boolean var1) { - if (player != null && player.isVisible() && !player.isHidden) { - player.isUnanimated = false; - if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && player.movementSequence == player.readySequence) { - player.isUnanimated = true; - } - - int var2 = player.x >> 7; - int var3 = player.y >> 7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - long var4 = FontName.calculateTag(0, 0, 0, false, player.index); - if (player.model0 != null && Client.cycle >= player.animationCycleStart && Client.cycle < player.animationCycleEnd) { - player.isUnanimated = false; - player.tileHeight = class32.getTileHeight(player.x, player.y, SoundSystem.plane); - player.playerCycle = Client.cycle; - class65.scene.method286(SoundSystem.plane, player.x, player.y, player.tileHeight, 60, player, player.field9, var4, player.field721, player.field722, player.field723, player.field724); - } else { - if ((player.x & 127) == 64 && (player.y & 127) == 64) { - if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { - return; - } - - Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; - } - - player.tileHeight = class32.getTileHeight(player.x, player.y, SoundSystem.plane); - player.playerCycle = Client.cycle; - class65.scene.method285(SoundSystem.plane, player.x, player.y, player.tileHeight, 60, player, player.field9, var4, player.field10); - } - } - } - - } - - static { - WorldMapCacheName_details = new WorldMapCacheName("details"); - WorldMapCacheName_compositeMap = new WorldMapCacheName("compositemap"); - WorldMapCacheName_compositeTexture = new WorldMapCacheName("compositetexture"); - WorldMapCacheName_area = new WorldMapCacheName("area"); - WorldMapCacheName_labels = new WorldMapCacheName("labels"); - } + var0.field2578[var1] = Integer.MAX_VALUE; + } + } } diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index c599c7972a..7a873ce86b 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -3,107 +3,142 @@ 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("v") +@ObfuscatedName("z") @Implements("WorldMapDecoration") public class WorldMapDecoration { - @ObfuscatedName("dd") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive4") - static Archive archive4; - @ObfuscatedName("kw") - @ObfuscatedGetter( - intValue = -12041645 - ) - @Export("menuX") - static int menuX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 916624935 - ) - @Export("objectDefinitionId") - final int objectDefinitionId; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1452888767 - ) - @Export("decoration") - final int decoration; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -501025733 - ) - @Export("rotation") - final int rotation; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = -1778683289 + ) + static int field212; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1500590687 + ) + @Export("objectDefinitionId") + final int objectDefinitionId; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1614020575 + ) + @Export("decoration") + final int decoration; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1580531439 + ) + @Export("rotation") + final int rotation; - WorldMapDecoration(int var1, int var2, int var3) { - this.objectDefinitionId = var1; - this.decoration = var2; - this.rotation = var3; - } + WorldMapDecoration(int var1, int var2, int var3) { + this.objectDefinitionId = var1; + this.decoration = var2; + this.rotation = var3; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1540935608" - ) - static final int method348(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "-119" + ) + static int method324(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = class80.getWidget(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]); + } else { + var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + } - return var1; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } + Strings.method4120(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[--HealthBarUpdate.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { + var3.modelType = 3; + var3.modelId = Client.localPlayer.appearance.getChatHeadId(); + return 1; + } else { + return 2; + } + } else { + HealthBarUpdate.Interpreter_intStackSize -= 2; + int var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var3.itemId = var4; + var3.itemQuantity = var5; + ItemDefinition var6 = WorldMapArea.getItemDefinition(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; + } - return (var0 & 65408) + var1; - } - } + if (var3.field2619 > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.field2619; + } else if (var3.rawWidth > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; + } - @ObfuscatedName("gd") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "641029128" - ) - @Export("addLocalPlayerToScene") - static void addLocalPlayerToScene() { - if (Client.renderSelf) { - WorldMapCacheName.addPlayerToScene(Canvas.localPlayer, false); - } + return 1; + } + } - } + @ObfuscatedName("kv") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZB)V", + garbageValue = "-125" + ) + @Export("findItemDefinitions") + static void findItemDefinitions(String var0, boolean var1) { + var0 = var0.toLowerCase(); + short[] var2 = new short[16]; + int var3 = 0; - @ObfuscatedName("hk") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "162108213" - ) - static void method350(int var0, int var1, int var2, int var3) { - Widget var4 = class204.getWidgetChild(var0, var1); - if (var4 != null && var4.onTargetEnter != null) { - ScriptEvent var5 = new ScriptEvent(); - var5.widget = var4; - var5.args0 = var4.onTargetEnter; - AbstractArchive.runScript(var5); - } + for (int var4 = 0; var4 < ItemDefinition.ItemDefinition_fileCount; ++var4) { + ItemDefinition var5 = WorldMapArea.getItemDefinition(var4); + if ((!var1 || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(var0) != -1) { + if (var3 >= 250) { + FloorOverlayDefinition.foundItemIdCount = -1; + WorldMapData_1.foundItemIds = null; + return; + } - Client.field157 = var3; - Client.isSpellSelected = true; - ServerBuild.field788 = var0; - Client.field220 = var1; - FloorDecoration.selectedSpellFlags = var2; - WorldMapRectangle.method295(var4); - } + 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; + } + } + + WorldMapData_1.foundItemIds = var2; + class32.foundItemIndex = 0; + FloorOverlayDefinition.foundItemIdCount = var3; + String[] var8 = new String[FloorOverlayDefinition.foundItemIdCount]; + + for (int var9 = 0; var9 < FloorOverlayDefinition.foundItemIdCount; ++var9) { + var8[var9] = WorldMapArea.getItemDefinition(var2[var9]).name; + } + + MenuAction.startSortingItemsByName(var8, WorldMapData_1.foundItemIds); + } } diff --git a/runescape-client/src/main/java/WorldMapDecorationType.java b/runescape-client/src/main/java/WorldMapDecorationType.java index 3826a9264c..4700c59985 100644 --- a/runescape-client/src/main/java/WorldMapDecorationType.java +++ b/runescape-client/src/main/java/WorldMapDecorationType.java @@ -4,200 +4,152 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hb") +@ObfuscatedName("hr") @Implements("WorldMapDecorationType") public enum WorldMapDecorationType implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2805(0, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2802(1, 0), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2813(2, 0), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2804(3, 0), - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2806(9, 2), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2823(4, 1), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2807(5, 1), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2808(6, 1), - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2809(7, 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2812(8, 1), - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2811(12, 2), - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2803(13, 2), - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2821(14, 2), - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2814(15, 2), - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2815(16, 2), - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2816(17, 2), - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2817(18, 2), - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2818(19, 2), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2801(20, 2), - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2826(21, 2), - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2810(10, 2), - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2822(11, 2), - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhb;" - ) - field2819(22, 3); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2725(0, 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2719(1, 0), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2720(2, 0), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2721(3, 0), + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2739(9, 2), + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2738(4, 1), + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2724(5, 1), + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2729(6, 1), + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2726(7, 1), + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2727(8, 1), + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2728(12, 2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2718(13, 2), + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2730(14, 2), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2731(15, 2), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2732(16, 2), + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2740(17, 2), + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2734(18, 2), + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2735(19, 2), + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2736(20, 2), + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2737(21, 2), + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2733(10, 2), + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2722(11, 2), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhr;" + ) + field2741(22, 3); - @ObfuscatedName("sg") - @ObfuscatedGetter( - intValue = -745071109 - ) - @Export("foundItemIndex") - static int foundItemIndex; - @ObfuscatedName("av") - static java.awt.Font field1140; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 899733687 - ) - @Export("id") - public final int id; + @ObfuscatedName("ne") + @ObfuscatedGetter( + intValue = -797405515 + ) + static int field2742; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1119244565 + ) + @Export("id") + public final int id; - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "0" - ) - private WorldMapDecorationType(int id, int var4) { - this.id = id; - } + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "0" + ) + WorldMapDecorationType(int var3, int var4) { + this.id = var3; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lib;", - garbageValue = "1" - ) - @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 = class4.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("hy") - @ObfuscatedSignature( - signature = "(Lcs;IIB)V", - garbageValue = "1" - ) - @Export("processTempMenuAction") - static final void processTempMenuAction(MenuAction var0, int var1, int var2) { - Actor.menuAction(var0.argument1, var0.argument2, var0.opcode, var0.argument0, var0.action, var0.action, var1, var2); - } - - @ObfuscatedName("jm") - @ObfuscatedSignature( - signature = "(IIIIIIII)V", - garbageValue = "1521012895" - ) - @Export("updateRootInterface") - static final void updateRootInterface(int rootIndex, int x, int y, int width, int height, int xOffset, int yOffset) { - if (GroundItemPile.loadInterface(rootIndex)) { - class238.updateInterface(Widget.interfaceComponents[rootIndex], -1, x, y, width, height, xOffset, yOffset); - } - - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @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 b3f27793bc..c7e1267222 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -1,320 +1,329 @@ +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("ic") +@ObfuscatedName("iw") @Implements("WorldMapElement") public class WorldMapElement extends DualNode { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("WorldMapElement_archive") - public static AbstractArchive WorldMapElement_archive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ler;" - ) - @Export("WorldMapElement_cachedSprites") - static EvictingDualNodeHashTable WorldMapElement_cachedSprites; - @ObfuscatedName("fs") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("WorldMapElement_fonts") - static Fonts WorldMapElement_fonts; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1579051565 - ) - public final int field1020; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 2012857993 - ) - @Export("sprite1") - public int sprite1; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -322924875 - ) - @Export("sprite2") - int sprite2; - @ObfuscatedName("l") - @Export("name") - public String name; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -231067 - ) - public int field1022; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1184517129 - ) - @Export("textSize") - public int textSize; - @ObfuscatedName("k") - @Export("strings") - public String[] strings; - @ObfuscatedName("n") - @Export("string1") - public String string1; - @ObfuscatedName("i") - int[] field1023; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1336803515 - ) - int field1024; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1825795359 - ) - int field1025; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1007121521 - ) - int field1026; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1209054101 - ) - int field1027; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lju;" - ) - @Export("horizontalAlignment") - public HorizontalAlignment horizontalAlignment; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lip;" - ) - @Export("verticalAlignment") - public VerticalAlignment verticalAlignment; - @ObfuscatedName("h") - int[] field1028; - @ObfuscatedName("b") - byte[] field1029; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -653112729 - ) - @Export("category") - public int category; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMapElement_archive") + public static AbstractArchive WorldMapElement_archive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Liw;" + ) + @Export("WorldMapElement_cached") + public static WorldMapElement[] WorldMapElement_cached; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lel;" + ) + @Export("WorldMapElement_cachedSprites") + static EvictingDualNodeHashTable WorldMapElement_cachedSprites; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -846582449 + ) + @Export("objectId") + public final int objectId; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 248724911 + ) + @Export("sprite1") + public int sprite1; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 473638347 + ) + @Export("sprite2") + int sprite2; + @ObfuscatedName("i") + @Export("name") + public String name; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1731213053 + ) + public int field3217; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1939800195 + ) + @Export("textSize") + public int textSize; + @ObfuscatedName("u") + @Export("strings") + public String[] strings; + @ObfuscatedName("x") + @Export("string1") + public String string1; + @ObfuscatedName("r") + int[] field3221; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 584750185 + ) + int field3222; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 908052841 + ) + int field3223; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -310968273 + ) + int field3224; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 961137775 + ) + int field3231; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Liz;" + ) + @Export("horizontalAlignment") + public HorizontalAlignment horizontalAlignment; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lif;" + ) + @Export("verticalAlignment") + public VerticalAlignment verticalAlignment; + @ObfuscatedName("h") + int[] field3228; + @ObfuscatedName("o") + byte[] field3214; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -880485155 + ) + @Export("category") + public int category; - public WorldMapElement(int var1) { - this.sprite1 = -1; - this.sprite2 = -1; - this.textSize = 0; - this.strings = new String[5]; - this.field1024 = Integer.MAX_VALUE; - this.field1025 = Integer.MAX_VALUE; - this.field1026 = Integer.MIN_VALUE; - this.field1027 = Integer.MIN_VALUE; - this.horizontalAlignment = HorizontalAlignment.field3527; - this.verticalAlignment = VerticalAlignment.field3273; - this.category = -1; - this.field1020 = var1; - } + static { + WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "81" - ) - @Export("decode") - public void decode(Buffer buffer) { - while (true) { - int var2 = buffer.readUnsignedByte(); - if (var2 == 0) { - return; - } + public WorldMapElement(int var1) { + this.sprite1 = -1; + this.sprite2 = -1; + this.textSize = 0; + this.strings = new String[5]; + this.field3222 = Integer.MAX_VALUE; + this.field3223 = Integer.MAX_VALUE; + this.field3224 = Integer.MIN_VALUE; + this.field3231 = Integer.MIN_VALUE; + this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; + this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; + this.category = -1; + this.objectId = var1; + } - this.decodeNext(buffer, var2); - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-2108629289" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;II)V", - garbageValue = "-1197630144" - ) - @Export("decodeNext") - void decodeNext(Buffer buffer, int opcode) { - if (opcode == 1) { - this.sprite1 = buffer.method51(); - } else if (opcode == 2) { - this.sprite2 = buffer.method51(); - } else if (opcode == 3) { - this.name = buffer.readStringCp1252NullTerminated(); - } else if (opcode == 4) { - this.field1022 = buffer.readMedium(); - } else if (opcode == 5) { - buffer.readMedium(); - } else if (opcode == 6) { - this.textSize = buffer.readUnsignedByte(); - } else { - int var3; - if (opcode == 7) { - var3 = buffer.readUnsignedByte(); - if ((var3 & 1) == 0) { - } + this.decodeNext(var1, var2); + } + } - if ((var3 & 2) == 2) { - } - } else if (opcode == 8) { - buffer.readUnsignedByte(); - } else if (opcode >= 10 && opcode <= 14) { - this.strings[opcode - 10] = buffer.readStringCp1252NullTerminated(); - } else if (opcode == 15) { - var3 = buffer.readUnsignedByte(); - this.field1023 = new int[var3 * 2]; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1385963725" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.sprite1 = var1.method5511(); + } else if (var2 == 2) { + this.sprite2 = var1.method5511(); + } else if (var2 == 3) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.field3217 = 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) { + } - int var4; - for (var4 = 0; var4 < var3 * 2; ++var4) { - this.field1023[var4] = buffer.readShort(); - } + if ((var3 & 2) == 2) { + } + } else if (var2 == 8) { + var1.readUnsignedByte(); + } else if (var2 >= 10 && var2 <= 14) { + this.strings[var2 - 10] = var1.readStringCp1252NullTerminated(); + } else if (var2 == 15) { + var3 = var1.readUnsignedByte(); + this.field3221 = new int[var3 * 2]; - buffer.readInt(); - var4 = buffer.readUnsignedByte(); - this.field1028 = new int[var4]; + int var4; + for (var4 = 0; var4 < var3 * 2; ++var4) { + this.field3221[var4] = var1.readShort(); + } - int var5; - for (var5 = 0; var5 < this.field1028.length; ++var5) { - this.field1028[var5] = buffer.readInt(); - } + var1.readInt(); + var4 = var1.readUnsignedByte(); + this.field3228 = new int[var4]; - this.field1029 = new byte[var3]; + int var5; + for (var5 = 0; var5 < this.field3228.length; ++var5) { + this.field3228[var5] = var1.readInt(); + } - for (var5 = 0; var5 < var3; ++var5) { - this.field1029[var5] = buffer.readByte(); - } - } else if (opcode != 16) { - if (opcode == 17) { - this.string1 = buffer.readStringCp1252NullTerminated(); - } else if (opcode == 18) { - buffer.method51(); - } else if (opcode == 19) { - this.category = buffer.readUnsignedShort(); - } else if (opcode == 21) { - buffer.readInt(); - } else if (opcode == 22) { - buffer.readInt(); - } else if (opcode == 23) { - buffer.readUnsignedByte(); - buffer.readUnsignedByte(); - buffer.readUnsignedByte(); - } else if (opcode == 24) { - buffer.readShort(); - buffer.readShort(); - } else if (opcode == 25) { - buffer.method51(); - } else if (opcode == 28) { - buffer.readUnsignedByte(); - } else if (opcode == 29) { - HorizontalAlignment[] var6 = new HorizontalAlignment[]{HorizontalAlignment.field3527, HorizontalAlignment.field3526, HorizontalAlignment.field3529}; - this.horizontalAlignment = (HorizontalAlignment)ScriptFrame.findEnumerated(var6, buffer.readUnsignedByte()); - } else if (opcode == 30) { - this.verticalAlignment = (VerticalAlignment)ScriptFrame.findEnumerated(FloorUnderlayDefinition.method4839(), buffer.readUnsignedByte()); - } - } - } + this.field3214 = new byte[var3]; - } + for (var5 = 0; var5 < var3; ++var5) { + this.field3214[var5] = var1.readByte(); + } + } else if (var2 != 16) { + if (var2 == 17) { + this.string1 = var1.readStringCp1252NullTerminated(); + } else if (var2 == 18) { + var1.method5511(); + } 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.method5511(); + } else if (var2 == 28) { + var1.readUnsignedByte(); + } else if (var2 == 29) { + HorizontalAlignment[] var6 = new HorizontalAlignment[]{HorizontalAlignment.field3461, HorizontalAlignment.field3460, HorizontalAlignment.HorizontalAlignment_centered}; + this.horizontalAlignment = (HorizontalAlignment)SoundSystem.findEnumerated(var6, var1.readUnsignedByte()); + } else if (var2 == 30) { + VerticalAlignment[] var7 = new VerticalAlignment[]{VerticalAlignment.VerticalAlignment_centered, VerticalAlignment.field3195, VerticalAlignment.field3194}; + this.verticalAlignment = (VerticalAlignment)SoundSystem.findEnumerated(var7, var1.readUnsignedByte()); + } + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1799485224" - ) - public void method389() { - if (this.field1023 != null) { - for (int var1 = 0; var1 < this.field1023.length; var1 += 2) { - if (this.field1023[var1] < this.field1024) { - this.field1024 = this.field1023[var1]; - } else if (this.field1023[var1] > this.field1026) { - this.field1026 = this.field1023[var1]; - } + } - if (this.field1023[var1 + 1] < this.field1025) { - this.field1025 = this.field1023[var1 + 1]; - } else if (this.field1023[var1 + 1] > this.field1027) { - this.field1027 = this.field1023[var1 + 1]; - } - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2017602837" + ) + public void method4370() { + if (this.field3221 != null) { + for (int var1 = 0; var1 < this.field3221.length; var1 += 2) { + if (this.field3221[var1] < this.field3222) { + this.field3222 = this.field3221[var1]; + } else if (this.field3221[var1] > this.field3224) { + this.field3224 = this.field3221[var1]; + } - } + if (this.field3221[var1 + 1] < this.field3223) { + this.field3223 = this.field3221[var1 + 1]; + } else if (this.field3221[var1 + 1] > this.field3231) { + this.field3231 = this.field3221[var1 + 1]; + } + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(ZI)Lln;", - garbageValue = "628564789" - ) - @Export("getSprite") - public Sprite getSprite(boolean var1) { - int var2 = this.sprite1; - return this.getSprite0(var2); - } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)Lln;", - garbageValue = "-34" - ) - @Export("getSprite0") - Sprite getSprite0(int var1) { - if (var1 < 0) { - return null; - } else { - Sprite var2 = (Sprite)WorldMapElement_cachedSprites.get((long)var1); - if (var2 != null) { - return var2; - } else { - var2 = class322.readSprite(WorldMapElement_archive, var1, 0); - if (var2 != null) { - WorldMapElement_cachedSprites.put(var2, (long)var1); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(ZI)Lly;", + garbageValue = "1310169716" + ) + @Export("getSpriteBool") + public Sprite getSpriteBool(boolean var1) { + int var2 = this.sprite1; + return this.getSprite(var2); + } - return var2; - } - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)Lly;", + garbageValue = "-517237521" + ) + @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 = class65.SpriteBuffer_tryCreateSprite(WorldMapElement_archive, var1, 0); + if (var2 != null) { + WorldMapElement_cachedSprites.put(var2, (long)var1); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "821701099" - ) - public int method390() { - return this.field1020; - } + return var2; + } + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lko;", - garbageValue = "-31" - ) - public static class310 method4783(int var0) { - class310[] var1 = new class310[]{class310.field3805, class310.field3807, class310.field3806}; - class310[] var2 = var1; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "95" + ) + @Export("getObjectId") + public int getObjectId() { + return this.objectId; + } - for (int var3 = 0; var3 < var2.length; ++var3) { - class310 var4 = var2[var3]; - if (var0 == var4.field3804) { - return var4; - } - } + @ObfuscatedName("ga") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "426729441" + ) + static final void method4368(boolean var0) { + class186.playPcmPlayers(); + ++Client.packetWriter.field1319; + if (Client.packetWriter.field1319 >= 50 || var0) { + Client.packetWriter.field1319 = 0; + if (!Client.field701 && Client.packetWriter.getSocket() != null) { + PacketBufferNode var1 = Archive.method4265(ClientPacket.field2225, Client.packetWriter.isaacCipher); + Client.packetWriter.method2219(var1); - return null; - } + try { + Client.packetWriter.method2234(); + } catch (IOException var3) { + Client.field701 = true; + } + } - static { - WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); - } + } + } } diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index 77adb62209..17908b06fa 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -4,268 +4,267 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ap") +@ObfuscatedName("aq") @Implements("WorldMapEvent") public class WorldMapEvent { - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("runesSprite") - static IndexedSprite[] runesSprite; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 264384233 - ) - @Export("mapElement") - public int mapElement; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("coord1") - public Coord coord1; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lhu;" - ) - @Export("coord2") - public Coord coord2; + @ObfuscatedName("lr") + @ObfuscatedGetter( + intValue = 272938977 + ) + static int field359; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 303553599 + ) + @Export("mapElement") + public int mapElement; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("coord1") + public Coord coord1; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhv;" + ) + @Export("coord2") + public Coord coord2; - @ObfuscatedSignature( - signature = "(ILhu;Lhu;)V" - ) - public WorldMapEvent(int var1, Coord var2, Coord var3) { - this.mapElement = var1; - this.coord1 = var2; - this.coord2 = var3; - } + @ObfuscatedSignature( + signature = "(ILhv;Lhv;)V" + ) + public WorldMapEvent(int var1, Coord var2, Coord var3) { + this.mapElement = var1; + this.coord1 = var2; + this.coord2 = var3; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-782761258" - ) - public static int method780(int var0) { - return GrandExchangeOfferUnitPriceComparator.method134(ViewportMouse.ViewportMouse_entityTags[var0]); - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Lkx;ILbd;II)V", + garbageValue = "158563963" + ) + static final void method736(PacketBuffer var0, int var1, Player var2, int var3) { + byte var4 = -1; + int var5; + int var6; + int var8; + int var9; + int var12; + if ((var3 & 64) != 0) { + var5 = var0.method5722(); + int var7; + 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; + } - @ObfuscatedName("iy") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "2" - ) - @Export("addSceneMenuOptions") - static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { - if (Client.isItemSelected == 0 && !Client.isSpellSelected) { - Tiles.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); - } + var11 = var0.readUShortSmart(); + var2.addHitSplat(var7, var9, var8, var10, Client.cycle, var11); + } + } - long var4 = -1L; - long var6 = -1L; - int var8 = 0; + var6 = var0.readUnsignedByteNegate(); + if (var6 > 0) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + if (var9 != 32767) { + var10 = var0.readUShortSmart(); + var11 = var0.method5722(); + var12 = var9 > 0 ? var0.readUnsignedByte() : var11; + var2.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); + } else { + var2.removeHealthBar(var8); + } + } + } + } - while (true) { - int var9 = ViewportMouse.ViewportMouse_entityCount; - if (var8 >= var9) { - if (-1L != var4) { - var8 = GrandExchangeOfferUnitPriceComparator.method134(var4); - int var29 = (int)(var4 >>> 7 & 127L); - Player var11 = Client.players[Client.combatTargetPlayerIndex]; - GrandExchangeOfferTotalQuantityComparator.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var29); - } + if ((var3 & 512) != 0) { + var2.spotAnimation = var0.method5534(); + var5 = var0.method5542(); + var2.heightOffset = var5 >> 16; + var2.field989 = (var5 & 65535) + Client.cycle; + var2.spotAnimationFrame = 0; + var2.spotAnimationFrameCycle = 0; + if (var2.field989 > Client.cycle) { + var2.spotAnimationFrame = -1; + } - return; - } + if (var2.spotAnimation == 65535) { + var2.spotAnimation = -1; + } + } - long var10 = ViewportMouse.ViewportMouse_entityTags[var8]; - if (var6 != var10) { - label276: { - var6 = var10; - int var12 = method780(var8); - long var13 = ViewportMouse.ViewportMouse_entityTags[var8]; - int var15 = (int)(var13 >>> 7 & 127L); - var15 = var15; - int var16 = GrandExchangeEvent.method80(var8); - int var17 = ClientPreferences.method1808(var8); - if (var16 == 2 && class65.scene.getObjectFlags(SoundSystem.plane, var12, var15, var10) >= 0) { - ObjectDefinition var18 = class50.getObjectDefinition(var17); - if (var18.transforms != null) { - var18 = var18.transform(); - } + if ((var3 & 4096) != 0) { + var4 = var0.method5694(); + } - if (var18 == null) { - break label276; - } + if ((var3 & 1024) != 0) { + var2.field991 = var0.method5528(); + var2.field993 = var0.method5694(); + var2.field992 = var0.method5694(); + var2.field983 = var0.method5528(); + var2.field995 = var0.method5518() + Client.cycle; + var2.field996 = var0.method5532() + Client.cycle; + var2.field997 = var0.readUnsignedShort(); + if (var2.field638) { + var2.field991 += var2.tileX; + var2.field993 += var2.tileY; + var2.field992 += var2.tileX; + var2.field983 += var2.tileY; + var2.pathLength = 0; + } else { + var2.field991 += var2.pathX[0]; + var2.field993 += var2.pathY[0]; + var2.field992 += var2.pathX[0]; + var2.field983 += var2.pathY[0]; + var2.pathLength = 1; + } - if (Client.isItemSelected == 1) { - Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(65535) + var18.name, 1, var17, var12, var15); - } else if (Client.isSpellSelected) { - if ((FloorDecoration.selectedSpellFlags & 4) == 4) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(65535) + var18.name, 2, var17, var12, var15); - } - } else { - String[] var19 = var18.actions; - if (var19 != null) { - for (int var20 = 4; var20 >= 0; --var20) { - if (var19[var20] != null) { - short var21 = 0; - if (var20 == 0) { - var21 = 3; - } + var2.field1008 = 0; + } - if (var20 == 1) { - var21 = 4; - } + if ((var3 & 32) != 0) { + var2.overheadText = var0.readStringCp1252NullTerminated(); + if (var2.overheadText.charAt(0) == '~') { + var2.overheadText = var2.overheadText.substring(1); + ScriptEvent.addGameMessage(2, var2.username.getName(), var2.overheadText); + } else if (var2 == Client.localPlayer) { + ScriptEvent.addGameMessage(2, var2.username.getName(), var2.overheadText); + } - if (var20 == 2) { - var21 = 5; - } + var2.isAutoChatting = false; + var2.overheadTextColor = 0; + var2.overheadTextEffect = 0; + var2.overheadTextCyclesRemaining = 150; + } - if (var20 == 3) { - var21 = 6; - } + if ((var3 & 4) != 0) { + var2.field976 = var0.method5532(); + if (var2.pathLength == 0) { + var2.orientation = var2.field976; + var2.field976 = -1; + } + } - if (var20 == 4) { - var21 = 1001; - } + if ((var3 & 1) != 0) { + var5 = var0.method5525(); + byte[] var13 = new byte[var5]; + Buffer var14 = new Buffer(var13); + var0.method5544(var13, 0, var5); + Players.field1254[var1] = var14; + var2.read(var14); + } - Tiles.insertMenuItemNoShift(var19[var20], BufferedFile.colorStartTag(65535) + var18.name, var21, var17, var12, var15); - } - } - } + if ((var3 & 2) != 0) { + var2.targetIndex = var0.method5518(); + if (var2.targetIndex == 65535) { + var2.targetIndex = -1; + } + } - Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(65535) + var18.name, 1002, var18.id, var12, var15); - } - } + if ((var3 & 2048) != 0) { + Players.field1250[var1] = var0.method5694(); + } - int[] var22; - int var30; - int var31; - NPC var32; - Player var34; - if (var16 == 1) { - NPC var23 = Client.npcs[var17]; - if (var23 == null) { - break label276; - } + if ((var3 & 16) != 0) { + var5 = var0.method5518(); + PlayerType var19 = (PlayerType)SoundSystem.findEnumerated(UserComparator5.PlayerType_values(), var0.readUnsignedByte()); + boolean var17 = var0.readUnsignedByteNegate() == 1; + var8 = var0.readUnsignedByte(); + var9 = var0.offset; + if (var2.username != null && var2.appearance != null) { + boolean var18 = false; + if (var19.isUser && ArchiveLoader.friendSystem.isIgnored(var2.username)) { + var18 = true; + } - if (var23.definition.size == 1 && (var23.x & 127) == 64 && (var23.y & 127) == 64) { - for (var31 = 0; var31 < Client.npcCount; ++var31) { - var32 = Client.npcs[Client.npcIndices[var31]]; - if (var32 != null && var23 != var32 && var32.definition.size == 1 && var32.x == var23.x && var32.y == var23.y) { - Tile.addNpcToMenu(var32.definition, Client.npcIndices[var31], var12, var15); - } - } + if (!var18 && Client.field767 == 0 && !var2.isHidden) { + Players.field1264.offset = 0; + var0.readBytes(Players.field1264.array, 0, var8); + Players.field1264.offset = 0; + String var15 = AbstractFont.escapeBrackets(class1.method17(DefaultsGroup.method5898(Players.field1264))); + var2.overheadText = var15.trim(); + var2.overheadTextColor = var5 >> 8; + var2.overheadTextEffect = var5 & 255; + var2.overheadTextCyclesRemaining = 150; + var2.isAutoChatting = var17; + var2.field998 = var2 != Client.localPlayer && var19.isUser && "" != Client.field762 && var15.toLowerCase().indexOf(Client.field762) == -1; + if (var19.isPrivileged) { + var12 = var17 ? 91 : 1; + } else { + var12 = var17 ? 90 : 2; + } - var31 = Players.Players_count; - var22 = Players.Players_indices; + if (var19.modIcon != -1) { + ScriptEvent.addGameMessage(var12, WorldMapSection1.getModIconString(var19.modIcon) + var2.username.getName(), var15); + } else { + ScriptEvent.addGameMessage(var12, var2.username.getName(), var15); + } + } + } - for (var30 = 0; var30 < var31; ++var30) { - var34 = Client.players[var22[var30]]; - if (var34 != null && var34.x == var23.x && var34.y == var23.y) { - GrandExchangeOfferTotalQuantityComparator.addPlayerToMenu(var34, var22[var30], var12, var15); - } - } - } + var0.offset = var9 + var8; + } - Tile.addNpcToMenu(var23.definition, var17, var12, var15); - } + if ((var3 & 256) != 0) { + for (var5 = 0; var5 < 3; ++var5) { + var2.actions[var5] = var0.readStringCp1252NullTerminated(); + } + } - if (var16 == 0) { - Player var33 = Client.players[var17]; - if (var33 == null) { - break label276; - } + if ((var3 & 128) != 0) { + var5 = var0.readUnsignedShort(); + if (var5 == 65535) { + var5 = -1; + } - if ((var33.x & 127) == 64 && (var33.y & 127) == 64) { - for (var31 = 0; var31 < Client.npcCount; ++var31) { - var32 = Client.npcs[Client.npcIndices[var31]]; - if (var32 != null && var32.definition.size == 1 && var33.x == var32.x && var33.y == var32.y) { - Tile.addNpcToMenu(var32.definition, Client.npcIndices[var31], var12, var15); - } - } + var6 = var0.readUnsignedByte(); + MouseRecorder.performPlayerAnimation(var2, var5, var6); + } - var31 = Players.Players_count; - var22 = Players.Players_indices; + if (var2.field638) { + if (var4 == 127) { + var2.resetPath(var2.tileX, var2.tileY); + } else { + byte var16; + if (var4 != -1) { + var16 = var4; + } else { + var16 = Players.field1250[var1]; + } - for (var30 = 0; var30 < var31; ++var30) { - var34 = Client.players[var22[var30]]; - if (var34 != null && var34 != var33 && var34.x == var33.x && var34.y == var33.y) { - GrandExchangeOfferTotalQuantityComparator.addPlayerToMenu(var34, var22[var30], var12, var15); - } - } - } + var2.method1189(var2.tileX, var2.tileY, var16); + } + } - if (var17 != Client.combatTargetPlayerIndex) { - GrandExchangeOfferTotalQuantityComparator.addPlayerToMenu(var33, var17, var12, var15); - } else { - var4 = var10; - } - } + } - if (var16 == 3) { - NodeDeque var35 = Client.groundItems[SoundSystem.plane][var12][var15]; - if (var35 != null) { - for (GroundItem var24 = (GroundItem)var35.first(); var24 != null; var24 = (GroundItem)var35.next()) { - ItemDefinition var25 = Skills.getItemDefinition(var24.id); - if (Client.isItemSelected == 1) { - Tiles.insertMenuItemNoShift("Use", Client.selectedItemName + " -> " + BufferedFile.colorStartTag(16748608) + var25.name, 16, var24.id, var12, var15); - } else if (Client.isSpellSelected) { - if ((FloorDecoration.selectedSpellFlags & 1) == 1) { - Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + BufferedFile.colorStartTag(16748608) + var25.name, 17, var24.id, var12, var15); - } - } else { - String[] var26 = var25.groundActions; - - for (int var27 = 4; var27 >= 0; --var27) { - if (var26 != null && var26[var27] != null) { - byte var28 = 0; - if (var27 == 0) { - var28 = 18; - } - - if (var27 == 1) { - var28 = 19; - } - - if (var27 == 2) { - var28 = 20; - } - - if (var27 == 3) { - var28 = 21; - } - - if (var27 == 4) { - var28 = 22; - } - - Tiles.insertMenuItemNoShift(var26[var27], BufferedFile.colorStartTag(16748608) + var25.name, var28, var24.id, var12, var15); - } else if (var27 == 2) { - Tiles.insertMenuItemNoShift("Take", BufferedFile.colorStartTag(16748608) + var25.name, 20, var24.id, var12, var15); - } - } - - Tiles.insertMenuItemNoShift("Examine", BufferedFile.colorStartTag(16748608) + var25.name, 1004, var24.id, var12, var15); - } - } - } - } - } - } - - ++var8; - } - } - - @ObfuscatedName("jw") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "43" - ) - @Export("isShiftPressed") - static boolean isShiftPressed() { - return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; - } + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1659690111" + ) + static final void method737() { + Object var10000 = null; + String var0 = "You can't add yourself to your own ignore list"; + ScriptEvent.addGameMessage(30, "", var0); + } } diff --git a/runescape-client/src/main/java/WorldMapIcon1.java b/runescape-client/src/main/java/WorldMapIcon1.java deleted file mode 100644 index a8151352b2..0000000000 --- a/runescape-client/src/main/java/WorldMapIcon1.java +++ /dev/null @@ -1,216 +0,0 @@ -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("t") -@Implements("WorldMapIcon1") -public class WorldMapIcon1 extends AbstractWorldMapIcon { - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lho;" - ) - static Widget field1030; - @ObfuscatedName("db") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive3") - static Archive archive3; - @ObfuscatedName("ec") - @Export("secureRandom") - static SecureRandom secureRandom; - @ObfuscatedName("hq") - @ObfuscatedGetter( - intValue = 490189491 - ) - @Export("cameraPitch") - static int cameraPitch; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1722323621 - ) - @Export("element") - final int element; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Laj;" - ) - @Export("label") - final WorldMapLabel label; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 364253793 - ) - final int field1032; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -362031241 - ) - final int field1033; - - @ObfuscatedSignature( - signature = "(Lhu;Lhu;ILaj;)V" - ) - WorldMapIcon1(Coord var1, Coord var2, int var3, WorldMapLabel var4) { - super(var1, var2); - this.element = var3; - this.label = var4; - WorldMapElement var5 = ViewportMouse.getWorldMapElement(this.getElement()); - Sprite var6 = var5.getSprite(false); - if (var6 != null) { - this.field1032 = var6.subWidth; - this.field1033 = var6.subHeight; - } else { - this.field1032 = 0; - this.field1033 = 0; - } - - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1990181988" - ) - @Export("getElement") - public int getElement() { - return this.element; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Laj;", - garbageValue = "1159446036" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "75" - ) - int vmethod397() { - return this.field1032; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1558233611" - ) - int vmethod398() { - return this.field1033; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-460290173" - ) - @Export("addGameMessage") - static void addGameMessage(int var0, String var1, String var2) { - GrandExchangeEvents.addChatMessage(var0, var1, var2, (String)null); - } - - @ObfuscatedName("fz") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-252304353" - ) - static final void method212() { - for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { - int var10003 = Client.queuedSoundEffectDelays[var0]--; - if (Client.queuedSoundEffectDelays[var0] >= -10) { - SoundEffect var11 = Client.soundEffects[var0]; - if (var11 == null) { - Object var3 = null; - var11 = SoundEffect.readSoundEffect(WorldMapDecoration.archive4, Client.soundEffectIds[var0], 0); - if (var11 == null) { - continue; - } - - int[] var4 = Client.queuedSoundEffectDelays; - var4[var0] += var11.calculateDelay(); - Client.soundEffects[var0] = var11; - } - - if (Client.queuedSoundEffectDelays[var0] < 0) { - int var12; - if (Client.soundLocations[var0] != 0) { - int var13 = (Client.soundLocations[var0] & 255) * 128; - int var5 = Client.soundLocations[var0] >> 16 & 255; - int var6 = var5 * 128 + 64 - Canvas.localPlayer.x; - if (var6 < 0) { - var6 = -var6; - } - - int var7 = Client.soundLocations[var0] >> 8 & 255; - int var8 = var7 * 128 + 64 - Canvas.localPlayer.y; - if (var8 < 0) { - var8 = -var8; - } - - int var9 = var6 + var8 - 128; - if (var9 > var13) { - Client.queuedSoundEffectDelays[var0] = -100; - continue; - } - - if (var9 < 0) { - var9 = 0; - } - - var12 = (var13 - var9) * Client.field115 / var13; - } else { - var12 = Client.soundEffectVolume; - } - - if (var12 > 0) { - RawSound var14 = var11.toRawSound().resample(MilliClock.decimator); - RawPcmStream var15 = RawPcmStream.createRawPcmStream(var14, 100, var12); - var15.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); - TaskHandler.pcmStreamMixer.addSubStream(var15); - } - - Client.queuedSoundEffectDelays[var0] = -100; - } - } else { - --Client.soundEffectCount; - - for (int var2 = var0; var2 < Client.soundEffectCount; ++var2) { - Client.soundEffectIds[var2] = Client.soundEffectIds[var2 + 1]; - Client.soundEffects[var2] = Client.soundEffects[var2 + 1]; - Client.queuedSoundEffectLoops[var2] = Client.queuedSoundEffectLoops[var2 + 1]; - Client.queuedSoundEffectDelays[var2] = Client.queuedSoundEffectDelays[var2 + 1]; - Client.soundLocations[var2] = Client.soundLocations[var2 + 1]; - } - - --var0; - } - } - - if (Client.field107) { - boolean var10; - if (class214.field1129 != 0) { - var10 = true; - } else { - var10 = class214.midiPcmStream.isReady(); - } - - if (!var10) { - if (Client.field128 != 0 && Client.field112 != -1) { - Login.method2076(UserComparator3.archive6, Client.field112, 0, Client.field128, false); - } - - Client.field107 = false; - } - } - - } -} diff --git a/runescape-client/src/main/java/WorldMapIcon2.java b/runescape-client/src/main/java/WorldMapIcon2.java deleted file mode 100644 index 1f03250147..0000000000 --- a/runescape-client/src/main/java/WorldMapIcon2.java +++ /dev/null @@ -1,193 +0,0 @@ -import java.io.File; -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("r") -@Implements("WorldMapIcon2") -public class WorldMapIcon2 extends AbstractWorldMapIcon { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -985436813 - ) - final int field1034; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lav;" - ) - final WorldMapRegion field1035; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -25914375 - ) - @Export("element") - int element; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Laj;" - ) - @Export("label") - WorldMapLabel label; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 927871683 - ) - int field1037; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1431936619 - ) - int field1038; - - @ObfuscatedSignature( - signature = "(Lhu;Lhu;ILav;)V" - ) - WorldMapIcon2(Coord var1, Coord var2, int var3, WorldMapRegion var4) { - super(var1, var2); - this.field1034 = var3; - this.field1035 = var4; - this.method399(); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1990181988" - ) - @Export("getElement") - public int getElement() { - return this.element; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)Laj;", - garbageValue = "1159446036" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "75" - ) - int vmethod397() { - return this.field1037; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1558233611" - ) - int vmethod398() { - return this.field1038; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-806344204" - ) - void method399() { - this.element = class50.getObjectDefinition(this.field1034).transform().mapIconId; - this.label = this.field1035.createMapLabel(ViewportMouse.getWorldMapElement(this.element)); - WorldMapElement var1 = ViewportMouse.getWorldMapElement(this.getElement()); - Sprite var2 = var1.getSprite(false); - if (var2 != null) { - this.field1037 = var2.subWidth; - this.field1038 = var2.subHeight; - } else { - this.field1037 = 0; - this.field1038 = 0; - } - - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Lgl;", - garbageValue = "1026409510" - ) - @Export("LoginPacket_values") - static LoginPacket[] LoginPacket_values() { - return new LoginPacket[]{LoginPacket.field475, LoginPacket.field476, LoginPacket.field473, LoginPacket.field477, LoginPacket.field474}; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/io/File;", - garbageValue = "16723968" - ) - public static File method315(String var0) { - if (!class171.field1117) { - throw new RuntimeException(""); - } else { - File var1 = (File)class171.field1119.get(var0); - if (var1 != null) { - return var1; - } else { - File var2 = new File(class171.field1118, 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(); - class171.field1119.put(var0, var2); - return var2; - } - } catch (Exception var7) { - try { - if (var3 != null) { - var3.close(); - var3 = null; - } - } catch (Exception var6) { - } - - throw new RuntimeException(); - } - } - } - } - - @ObfuscatedName("hw") - @ObfuscatedSignature( - signature = "(Lbr;IIBB)V", - garbageValue = "1" - ) - static final void method316(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 && var1 >= var6 && var1 < 104 - var6 && var2 >= var6 && var2 < 104 - var6) { - int var7 = var0.transformedSize(); - Client.field895.approxDestinationX = var1; - Client.field895.approxDestinationY = var2; - Client.field895.approxDestinationSizeX = 1; - Client.field895.approxDestinationSizeY = 1; - class65 var8 = Client.field895; - int var9 = NetSocket.calculateRoute(var4, var5, var7, var8, Client.collisionMaps[var0.plane], true, Client.field113, Client.field114); - if (var9 >= 1) { - for (int var10 = 0; var10 < var9 - 1; ++var10) { - var0.method255(Client.field113[var10], Client.field114[var10], var3); - } - } - } - - } -} diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index dae9994f72..a9cd0781e3 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -1,267 +1,139 @@ -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("aj") +@ObfuscatedName("as") @Implements("WorldMapLabel") public class WorldMapLabel { - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1536028937 - ) - public static int field1039; - @ObfuscatedName("m") - @Export("text") - String text; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -471061617 - ) - @Export("width") - int width; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -85027761 - ) - @Export("height") - int height; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Ls;" - ) - @Export("size") - WorldMapLabelSize size; + @ObfuscatedName("q") + @Export("text") + String text; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 839300469 + ) + @Export("width") + int width; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 128259131 + ) + @Export("height") + int height; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "La;" + ) + @Export("size") + WorldMapLabelSize size; - @ObfuscatedSignature( - signature = "(Ljava/lang/String;IILs;)V" - ) - WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { - this.text = var1; - this.width = var2; - this.height = var3; - this.size = var4; - } + @ObfuscatedSignature( + signature = "(Ljava/lang/String;IILa;)V" + ) + WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { + this.text = var1; + this.width = var2; + this.height = var3; + this.size = var4; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lhx;I)V", - garbageValue = "-1747135919" - ) - public static void method443(PacketBuffer var0) { - ReflectionCheck var1 = (ReflectionCheck)class322.reflectionChecks.last(); - if (var1 != null) { - int var2 = var0.index; - var0.writeInt(var1.id); + @ObfuscatedName("p") + static int method420(long var0) { + return (int)(var0 >>> 14 & 3L); + } - 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); - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;IIIIIII)V", + garbageValue = "-1566017890" + ) + @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; - Method var7; - if (var4 != 3) { - if (var4 == 4) { - var7 = var1.methods[var3]; - var6 = var7.getModifiers(); - var0.writeByte(0); - var0.writeInt(var6); - } - } else { - var7 = var1.methods[var3]; - byte[][] var8 = var1.arguments[var3]; - Object[] var9 = new Object[var8.length]; + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -class1.method14(var4 + 932731 + var2, var3 + 556238 + var5) * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; + } + break; + } - for (int var10 = 0; var10 < var8.length; ++var10) { - ObjectInputStream var11 = new ObjectInputStream(new ByteArrayInputStream(var8[var10])); - var9[var10] = var11.readObject(); - } + if (var7 == 1) { + int var8 = var0.readUnsignedByte(); + if (var8 == 1) { + var8 = 0; + } - Object var24 = Reflection.invoke(var7, (Object)null, var9); - if (var24 == null) { - var0.writeByte(0); - } else if (var24 instanceof Number) { - var0.writeByte(1); - var0.writeLong(((Number)var24).longValue()); - } else if (var24 instanceof String) { - var0.writeByte(2); - var0.writeStringCp1252NullTerminated((String)var24); - } else { - var0.writeByte(4); - } - } - } catch (ClassNotFoundException var12) { - var0.writeByte(-10); - } catch (InvalidClassException var13) { - var0.writeByte(-11); - } catch (StreamCorruptedException var14) { - var0.writeByte(-12); - } catch (OptionalDataException var15) { - var0.writeByte(-13); - } catch (IllegalAccessException var16) { - var0.writeByte(-14); - } catch (IllegalArgumentException var17) { - var0.writeByte(-15); - } catch (InvocationTargetException var18) { - var0.writeByte(-16); - } catch (SecurityException var19) { - var0.writeByte(-17); - } catch (IOException var20) { - var0.writeByte(-18); - } catch (NullPointerException var21) { - var0.writeByte(-19); - } catch (Exception var22) { - var0.writeByte(-20); - } catch (Throwable var23) { - var0.writeByte(-21); - } - } - } + 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; + } - var0.writeCrc(var2); - var1.remove(); - } + if (var7 <= 49) { + Tiles.field505[var1][var2][var3] = var0.readByte(); + Tiles.field506[var1][var2][var3] = (byte)((var7 - 2) / 4); + class268.field3561[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); + } else if (var7 <= 81) { + Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); + } else { + Tiles.field504[var1][var2][var3] = (byte)(var7 - 81); + } + } + } else { + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + break; + } - } + if (var7 == 1) { + var0.readUnsignedByte(); + break; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "823291412" - ) - static int method442(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - return var2 == null ? 0 : (var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0); - } + if (var7 <= 49) { + var0.readUnsignedByte(); + } + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)[Llq;", - garbageValue = "-1374541046" - ) - @Export("createIndexedSpriteArray") - public static IndexedSprite[] createIndexedSpriteArray() { - IndexedSprite[] var0 = new IndexedSprite[class328.indexedSpriteCount]; + } - for (int var1 = 0; var1 < class328.indexedSpriteCount; ++var1) { - IndexedSprite var2 = var0[var1] = new IndexedSprite(); - var2.width = class328.indexedSpriteWidth; - var2.height = class328.indexedSpriteHeight; - var2.xOffset = class328.indexedSpriteOffsetXs[var1]; - var2.yOffset = class328.indexedSpriteOffsetYs[var1]; - var2.subWidth = VarbitDefinition.indexedSpriteWidths[var1]; - var2.subHeight = SecureRandomCallable.indexedSpriteHeights[var1]; - var2.palette = class328.indexedSpritePalette; - var2.pixels = class328.spritePixels[var1]; - } + @ObfuscatedName("hc") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "108" + ) + static String method417(int var0) { + if (var0 < 0) { + return ""; + } else { + return Client.menuTargetNames[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargetNames[var0] : Client.menuActions[var0]; + } + } - class328.indexedSpriteOffsetXs = null; - class328.indexedSpriteOffsetYs = null; - VarbitDefinition.indexedSpriteWidths = null; - SecureRandomCallable.indexedSpriteHeights = null; - class328.indexedSpritePalette = null; - class328.spritePixels = ((byte[][])null); - return var0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lbt;Lbt;IZI)I", - garbageValue = "1459100828" - ) - @Export("compareWorlds") - static int compareWorlds(World var0, World var1, int mode, boolean reversed) { - if (mode == 1) { - int var4 = var0.population; - int var5 = var1.population; - if (!reversed) { - if (var4 == -1) { - var4 = 2001; - } - - if (var5 == -1) { - var5 = 2001; - } - } - - return var4 - var5; - } else { - return mode == 2 ? var0.location - var1.location : (mode == 3 ? (var0.activity.equals("-") ? (var1.activity.equals("-") ? 0 : (reversed ? -1 : 1)) : (var1.activity.equals("-") ? (reversed ? 1 : -1) : var0.activity.compareTo(var1.activity))) : (mode == 4 ? (var0.method357() ? (var1.method357() ? 0 : 1) : (var1.method357() ? -1 : 0)) : (mode == 5 ? (var0.method356() ? (var1.method356() ? 0 : 1) : (var1.method356() ? -1 : 0)) : (mode == 6 ? (var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0)) : (mode == 7 ? (var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0)) : var0.id - var1.id))))); - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "60" - ) - public static void method440() { - NPCDefinition.NpcDefinition_cached.clear(); - NPCDefinition.NpcDefinition_cachedModels.clear(); - } - - @ObfuscatedName("gx") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "-1610474394" - ) - @Export("worldToScreen") - static final void worldToScreen(int var0, int var1, int var2) { - if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { - int var3 = class32.getTileHeight(var0, var1, SoundSystem.plane) - var2; - var0 -= WorldMapSection2.cameraX; - var3 -= GrandExchangeEvents.cameraY; - var1 -= GrandExchangeOfferNameComparator.cameraZ; - int var4 = Rasterizer3D.Rasterizer3D_sine[WorldMapIcon1.cameraPitch]; - int var5 = Rasterizer3D.Rasterizer3D_cosine[WorldMapIcon1.cameraPitch]; - int var6 = Rasterizer3D.Rasterizer3D_sine[MusicPatchNode.cameraYaw]; - int var7 = Rasterizer3D.Rasterizer3D_cosine[MusicPatchNode.cameraYaw]; - int var8 = var0 * var7 + var6 * var1 >> 16; - var1 = var7 * var1 - var0 * var6 >> 16; - var0 = var8; - var8 = var3 * var5 - var4 * var1 >> 16; - var1 = var5 * var1 + var3 * var4 >> 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; - } - - } + @ObfuscatedName("kz") + @ObfuscatedSignature( + signature = "(IIIZI)V", + garbageValue = "-1379117889" + ) + public static void method418(int var0, int var1, int var2, boolean var3) { + PacketBufferNode var4 = Archive.method4265(ClientPacket.field2296, Client.packetWriter.isaacCipher); + var4.packetBuffer.writeIntME(var3 ? Client.field855 : 0); + var4.packetBuffer.writeShortLE(var1); + var4.packetBuffer.method5521(var2); + var4.packetBuffer.writeShort(var0); + Client.packetWriter.method2219(var4); + } } diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index f86e3b2de0..136ef5c3fa 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -4,129 +4,143 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("s") +@ObfuscatedName("a") @Implements("WorldMapLabelSize") public class WorldMapLabelSize { - @ObfuscatedName("st") - @ObfuscatedSignature( - signature = "Llb;" - ) - @Export("platformInfo") - static PlatformInfo platformInfo; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ls;" - ) - @Export("WorldMapLabelSize_small") - public static final WorldMapLabelSize WorldMapLabelSize_small; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ls;" - ) - @Export("WorldMapLabelSize_medium") - public static final WorldMapLabelSize WorldMapLabelSize_medium; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ls;" - ) - @Export("WorldMapLabelSize_large") - public static final WorldMapLabelSize WorldMapLabelSize_large; - @ObfuscatedName("dq") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive18") - static Archive archive18; - @ObfuscatedName("fi") - @ObfuscatedGetter( - intValue = 1577759565 - ) - static int field1041; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1252293513 - ) - final int field1042; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 707828941 - ) - final int field1043; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -422937451 - ) - final int field1044; + @ObfuscatedName("sy") + @ObfuscatedSignature( + signature = "Lbk;" + ) + @Export("clientPreferences") + static ClientPreferences clientPreferences; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "La;" + ) + @Export("WorldMapLabelSize_small") + public static final WorldMapLabelSize WorldMapLabelSize_small; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "La;" + ) + @Export("WorldMapLabelSize_medium") + public static final WorldMapLabelSize WorldMapLabelSize_medium; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "La;" + ) + @Export("WorldMapLabelSize_large") + public static final WorldMapLabelSize WorldMapLabelSize_large; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Ldf;" + ) + @Export("soundCache") + public static SoundCache soundCache; + @ObfuscatedName("dk") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive10") + static Archive archive10; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1999419383 + ) + final int field112; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1876270567 + ) + final int field114; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 798925557 + ) + final int field115; - WorldMapLabelSize(int var1, int var2, int var3) { - this.field1042 = var1; - this.field1043 = var2; - this.field1044 = var3; - } + static { + WorldMapLabelSize_small = new WorldMapLabelSize(0, 0, 4); + WorldMapLabelSize_medium = new WorldMapLabelSize(2, 1, 2); + WorldMapLabelSize_large = new WorldMapLabelSize(1, 2, 0); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(FI)Z", - garbageValue = "2107231705" - ) - boolean method400(float var1) { - return var1 >= (float)this.field1044; - } + WorldMapLabelSize(int var1, int var2, int var3) { + this.field112 = var1; + this.field114 = var2; + this.field115 = var3; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Ls;", - garbageValue = "1579674051" - ) - @Export("values") - static WorldMapLabelSize[] values() { - return new WorldMapLabelSize[]{WorldMapLabelSize_small, WorldMapLabelSize_medium, WorldMapLabelSize_large}; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(FI)Z", + garbageValue = "-927816948" + ) + boolean method184(float var1) { + return var1 >= (float)this.field115; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IB)Ls;", - garbageValue = "-67" - ) - @Export("valueOf") - static WorldMapLabelSize valueOf(int var0) { - WorldMapLabelSize[] var1 = values(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)[La;", + garbageValue = "31" + ) + static WorldMapLabelSize[] method178() { + return new WorldMapLabelSize[]{WorldMapLabelSize_small, WorldMapLabelSize_medium, WorldMapLabelSize_large}; + } - for (int var2 = 0; var2 < var1.length; ++var2) { - WorldMapLabelSize var3 = var1[var2]; - if (var0 == var3.field1043) { - return var3; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)La;", + garbageValue = "1320537825" + ) + static WorldMapLabelSize method177(int var0) { + WorldMapLabelSize[] var1 = method178(); - return null; - } + for (int var2 = 0; var2 < var1.length; ++var2) { + WorldMapLabelSize var3 = var1[var2]; + if (var0 == var3.field114) { + return var3; + } + } - @ObfuscatedName("jj") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-187598326" - ) - static final void method198() { - PacketBufferNode var0 = Interpreter.method1915(ClientPacket.field242, Client.packetWriter.isaacCipher); - Client.packetWriter.method241(var0); + return null; + } - for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { - if (var1.type == 0 || var1.type == 3) { - MenuAction.closeInterface(var1, true); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IZIZI)V", + garbageValue = "-176379221" + ) + @Export("sortWorldList") + static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { + if (World.worlds != null) { + GrandExchangeOffer.doWorldSorting(0, World.worlds.length - 1, var0, var1, var2, var3); + } - if (Client.field127 != null) { - WorldMapRectangle.method295(Client.field127); - Client.field127 = null; - } + } - } + @ObfuscatedName("fe") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "131988648" + ) + static void method188(int var0, int var1) { + if (Client.field911 != 0 && var0 != -1) { + class169.method3503(class32.archive11, var0, 0, Client.field911, false); + Client.field699 = true; + } - static { - WorldMapLabelSize_small = new WorldMapLabelSize(0, 0, 4); - WorldMapLabelSize_medium = new WorldMapLabelSize(2, 1, 2); - WorldMapLabelSize_large = new WorldMapLabelSize(1, 2, 0); - } + } + + @ObfuscatedName("is") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1199742641" + ) + static final void method175(int var0, int var1) { + if (class162.loadInterface(var0)) { + WorldMapID.method539(Widget.Widget_interfaceComponents[var0], var1); + } + } } diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index be3ca138ab..197b9dff3c 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -9,518 +9,581 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("al") +@ObfuscatedName("ao") @Implements("WorldMapManager") public final class WorldMapManager { - @ObfuscatedName("m") - @Export("loaded") - boolean loaded; - @ObfuscatedName("f") - @Export("loadStarted") - boolean loadStarted; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lae;" - ) - @Export("mapAreaData") - WorldMapAreaData mapAreaData; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("overviewSprite") - Sprite overviewSprite; - @ObfuscatedName("o") - @Export("icons") - HashMap icons; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[[Lav;" - ) - @Export("regions") - WorldMapRegion[][] regions; - @ObfuscatedName("g") - HashMap field1045; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("geographyArchive") - final AbstractArchive geographyArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("groundArchive") - final AbstractArchive groundArchive; - @ObfuscatedName("d") - @Export("fonts") - final HashMap fonts; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1459928419 - ) - @Export("surfaceOffsetX") - int surfaceOffsetX; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1364441271 - ) - @Export("surfaceOffsetY") - int surfaceOffsetY; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1729323633 - ) - int field1048; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -395718741 - ) - int field1049; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1085359673 - ) - public int field1050; + @ObfuscatedName("oe") + @ObfuscatedSignature( + signature = "Lfj;" + ) + @Export("mouseWheel") + static MouseWheel mouseWheel; + @ObfuscatedName("bp") + @Export("otp") + static String otp; + @ObfuscatedName("q") + @Export("loaded") + boolean loaded; + @ObfuscatedName("w") + @Export("loadStarted") + boolean loadStarted; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lat;" + ) + @Export("mapAreaData") + WorldMapAreaData mapAreaData; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("compositeTextureSprite") + Sprite compositeTextureSprite; + @ObfuscatedName("k") + @Export("icons") + HashMap icons; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "[[Law;" + ) + @Export("regions") + WorldMapRegion[][] regions; + @ObfuscatedName("b") + HashMap field317; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "[Llx;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("geographyArchive") + final AbstractArchive geographyArchive; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("groundArchive") + final AbstractArchive groundArchive; + @ObfuscatedName("m") + @Export("fonts") + final HashMap fonts; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1940287293 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 947949829 + ) + @Export("tileY") + int tileY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 595788608 + ) + @Export("tileWidth") + int tileWidth; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 2144676672 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1989621743 + ) + @Export("pixelsPerTile") + public int pixelsPerTile; - @ObfuscatedSignature( - signature = "([Llq;Ljava/util/HashMap;Lir;Lir;)V" - ) - public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { - this.loaded = false; - this.loadStarted = false; - this.field1045 = new HashMap(); - this.field1050 = 0; - this.mapSceneSprites = var1; - this.fonts = var2; - this.geographyArchive = var3; - this.groundArchive = var4; - } + @ObfuscatedSignature( + signature = "([Llx;Ljava/util/HashMap;Lhp;Lhp;)V" + ) + public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { + this.loaded = false; + this.loadStarted = false; + this.field317 = new HashMap(); + this.pixelsPerTile = 0; + this.mapSceneSprites = var1; + this.fonts = var2; + this.geographyArchive = var3; + this.groundArchive = var4; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Ljava/lang/String;ZB)V", - garbageValue = "32" - ) - @Export("load") - public void load(AbstractArchive archive, String cacheName, boolean isMembersWorld) { - if (!this.loadStarted) { - this.loaded = false; - this.loadStarted = true; - System.nanoTime(); - int var4 = archive.getGroupId(WorldMapCacheName.WorldMapCacheName_details.name); - int var5 = archive.getFileId(var4, cacheName); - Buffer var6 = new Buffer(archive.takeFileByNames(WorldMapCacheName.WorldMapCacheName_details.name, cacheName)); - Buffer var7 = new Buffer(archive.takeFileByNames(WorldMapCacheName.WorldMapCacheName_compositeMap.name, cacheName)); - System.nanoTime(); - System.nanoTime(); - this.mapAreaData = new WorldMapAreaData(); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;ZB)V", + garbageValue = "1" + ) + @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.field308.name); + int var5 = var1.getFileId(var4, var2); + Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field308.name, var2)); + Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field302.name, var2)); + System.nanoTime(); + System.nanoTime(); + this.mapAreaData = new WorldMapAreaData(); - try { - this.mapAreaData.method387(var6, var7, var5, isMembersWorld); - } catch (IllegalStateException var16) { - return; - } + try { + this.mapAreaData.init(var6, var7, var5, var3); + } catch (IllegalStateException var19) { + return; + } - this.mapAreaData.originX(); - this.mapAreaData.originPlane(); - this.mapAreaData.originY(); - this.surfaceOffsetX = this.mapAreaData.minX() * 64; - this.surfaceOffsetY = this.mapAreaData.minY() * 64; - this.field1048 = (this.mapAreaData.maxX() - this.mapAreaData.minX() + 1) * 64; - this.field1049 = (this.mapAreaData.maxY() - this.mapAreaData.minY() + 1) * 64; - int var8 = this.mapAreaData.maxX() - this.mapAreaData.minX() + 1; - int var9 = this.mapAreaData.maxY() - this.mapAreaData.minY() + 1; - System.nanoTime(); - System.nanoTime(); - SoundSystem.method2456(); - this.regions = new WorldMapRegion[var8][var9]; - Iterator var10 = this.mapAreaData.field1016.iterator(); + 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) * 4096; + 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(); + SecureRandomFuture.WorldMapRegion_clearCachedSprites(); + this.regions = new WorldMapRegion[var16][var9]; + Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); - int var11; - while (var10.hasNext()) { - class15 var12 = (class15)var10.next(); - var11 = var12.field149; - int var13 = var12.field146; - int var14 = var11 - this.mapAreaData.minX(); - int var15 = var13 - this.mapAreaData.minY(); - this.regions[var14][var15] = new WorldMapRegion(var11, var13, this.mapAreaData.method386(), this.fonts); - this.regions[var14][var15].method447(var12, this.mapAreaData.field1018); - } + 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 < var8; ++var17) { - for (var11 = 0; var11 < var9; ++var11) { - if (this.regions[var17][var11] == null) { - this.regions[var17][var11] = new WorldMapRegion(this.mapAreaData.minX() + var17, this.mapAreaData.minY() + var11, this.mapAreaData.method386(), this.fonts); - this.regions[var17][var11].method405(this.mapAreaData.field1017, this.mapAreaData.field1018); - } - } - } + 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 (archive.isValidFileName(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName)) { - byte[] var18 = archive.takeFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName); - this.overviewSprite = class27.convertJpgToSprite(var18); - } + System.nanoTime(); + System.nanoTime(); + if (var1.isValidFileName(WorldMapCacheName.field303.name, var2)) { + byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field303.name, var2); + this.compositeTextureSprite = BuddyRankComparator.convertJpgToSprite(var20); + } - System.nanoTime(); - archive.clearGroups(); - archive.clearFiles(); - this.loaded = true; - } + System.nanoTime(); + var1.clearGroups(); + var1.clearFiles(); + this.loaded = true; + } + } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-715602432" + ) + @Export("clearIcons") + public final void clearIcons() { + this.icons = null; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "20" - ) - @Export("clearIcons") - public final void clearIcons() { - this.icons = null; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIIIIIIIB)V", + garbageValue = "36" + ) + @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.field317.containsKey(var15)) { + class40 var16 = new class40(var15); + var16.init(); + this.field317.put(var15, var16); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIIIIIIII)V", - garbageValue = "1619301748" - ) - public final void method401(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.method643(var1, var2, var3, var4); - float var14 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var15 = (int)Math.ceil((double)var14); - this.field1050 = var15; - if (!this.field1045.containsKey(var15)) { - class40 var16 = new class40(var15); - var16.method763(); - this.field1045.put(var15, var16); - } + int var23 = var13.width + var13.x - 1; + int var17 = var13.y + var13.height - 1; - int var23 = var13.worldMapRegionX + var13.worldMapRegionWidth - 1; - int var17 = var13.worldMapRegionY + var13.worldMapRegionHeight - 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.field317.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive); + } + } - int var18; - int var19; - for (var18 = var13.worldMapRegionX; var18 <= var23; ++var18) { - for (var19 = var13.worldMapRegionY; var19 <= var17; ++var19) { - this.regions[var18][var19].method455(var15, (class40)this.field1045.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; - Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); - Rasterizer2D.Rasterizer2D_setClipArray(var12); - var18 = (int)(64.0F * var14); - var19 = this.surfaceOffsetX + var1; - int var20 = var2 + this.surfaceOffsetY; + for (int var21 = var13.x; var21 < var13.x + var13.width; ++var21) { + for (int var22 = var13.y; var22 < var13.y + var13.height; ++var22) { + this.regions[var21][var22].method506(var5 + var18 * (this.regions[var21][var22].regionx * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18); + } + } - for (int var21 = var13.worldMapRegionX; var21 < var13.worldMapRegionX + var13.worldMapRegionWidth; ++var21) { - for (int var22 = var13.worldMapRegionY; var22 < var13.worldMapRegionY + var13.worldMapRegionHeight; ++var22) { - this.regions[var21][var22].method404(var5 + var18 * (this.regions[var21][var22].x * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].y * 64 - var20 + 64) / 64, var18); - } - } + } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", + garbageValue = "-855095363" + ) + public final void method605(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; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZB)V", - garbageValue = "-71" - ) - public final void method402(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.method643(var1, var2, var3, var4); - float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var16 = (int)(var15 * 64.0F); - int var17 = this.surfaceOffsetX + var1; - int var18 = var2 + this.surfaceOffsetY; + int var19; + int var20; + for (var19 = var14.x; var19 < var14.width + var14.x; ++var19) { + for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) { + if (var13) { + this.regions[var19][var20].initWorldMapIcon1s(); + } - int var19; - int var20; - for (var19 = var14.worldMapRegionX; var19 < var14.worldMapRegionWidth + var14.worldMapRegionX; ++var19) { - for (var20 = var14.worldMapRegionY; var20 < var14.worldMapRegionHeight + var14.worldMapRegionY; ++var20) { - if (var13) { - this.regions[var19][var20].method406(); - } + this.regions[var19][var20].method432(var5 + var16 * (this.regions[var19][var20].regionx * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9); + } + } - this.regions[var19][var20].method410(var5 + var16 * (this.regions[var19][var20].x * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].y * 64 - var18 + 64) / 64, var16, var9); - } - } + if (var10 != null && var11 > 0) { + for (var19 = var14.x; var19 < var14.width + var14.x; ++var19) { + for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) { + this.regions[var19][var20].method433(var10, var11, var12); + } + } + } - if (var10 != null && var11 > 0) { - for (var19 = var14.worldMapRegionX; var19 < var14.worldMapRegionWidth + var14.worldMapRegionX; ++var19) { - for (var20 = var14.worldMapRegionY; var20 < var14.worldMapRegionY + var14.worldMapRegionHeight; ++var20) { - this.regions[var19][var20].method411(var10, var11, var12); - } - } - } + } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIIILjava/util/HashSet;III)V", + garbageValue = "-1827079020" + ) + @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.method6125(var1, var2, var3, var4); + if (var6 > 0 && var6 % var7 < var7 / 2) { + if (this.icons == null) { + this.buildIcons0(); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIIILjava/util/HashSet;III)V", - garbageValue = "-2144548575" - ) - @Export("drawOverview") - public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { - if (this.overviewSprite != null) { - this.overviewSprite.method309(var1, var2, var3, var4); - if (var6 > 0 && var6 % var7 < var7 / 2) { - if (this.icons == null) { - this.buildIcons0(); - } + Iterator var8 = var5.iterator(); - Iterator var8 = var5.iterator(); + while (true) { + List var10; + do { + if (!var8.hasNext()) { + return; + } - while (true) { - List var9; - do { - if (!var8.hasNext()) { - return; - } + int var9 = (Integer)var8.next(); + var10 = (List)this.icons.get(var9); + } while(var10 == null); - int var10 = (Integer)var8.next(); - var9 = (List)this.icons.get(var10); - } while(var9 == null); + Iterator var11 = var10.iterator(); - Iterator var14 = var9.iterator(); + while (var11.hasNext()) { + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next(); + int var13 = var3 * (var12.coord2.x - this.tileX * 4096) / (this.tileWidth * 64); + int var14 = var4 - (var12.coord2.y - this.tileY * 4096) * var4 / (this.tileHeight * 64); + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256); + } + } + } + } + } - while (var14.hasNext()) { - AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var14.next(); - int var12 = var3 * (var11.coord2.x - this.surfaceOffsetX) / this.field1048; - int var13 = var4 - (var11.coord2.y - this.surfaceOffsetY) * var4 / this.field1049; - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var12 + var1, var13 + var2, 2, 16776960, 256); - } - } - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IIIIIIIIIII)Ljava/util/List;", + garbageValue = "286331893" + ) + public List method607(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.width + var12.x; ++var17) { + for (int var18 = var12.y; var18 < var12.y + var12.height; ++var18) { + List var19 = this.regions[var17][var18].method440(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); + } + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIIIIIIIIII)Ljava/util/List;", - garbageValue = "1185703832" - ) - public List method403(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.method643(var1, var2, var3, var4); - float var13 = this.getPixelsPerTile(var7, var3 - var1); - int var14 = (int)(var13 * 64.0F); - int var15 = this.surfaceOffsetX + var1; - int var16 = var2 + this.surfaceOffsetY; + return var11; + } + } - for (int var17 = var12.worldMapRegionX; var17 < var12.worldMapRegionX + var12.worldMapRegionWidth; ++var17) { - for (int var18 = var12.worldMapRegionY; var18 < var12.worldMapRegionHeight + var12.worldMapRegionY; ++var18) { - List var19 = this.regions[var17][var18].method421(var5 + var14 * (this.regions[var17][var18].x * 64 - var15) / 64, var8 + var6 - var14 * (this.regions[var17][var18].y * 64 - var16 + 64) / 64, var14, var9, var10); - if (!var19.isEmpty()) { - var11.addAll(var19); - } - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIII)Ln;", + garbageValue = "-849608506" + ) + @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; + } - return var11; - } - } + if (var5.x > this.regions.length - var5.width) { + var5.width = this.regions.length - var5.x; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIII)Lc;", - garbageValue = "-1455088394" - ) - WorldMapRectangle method643(int var1, int var2, int var3, int var4) { - WorldMapRectangle var5 = new WorldMapRectangle(this); - int var6 = this.surfaceOffsetX + var1; - int var7 = var2 + this.surfaceOffsetY; - int var8 = var3 + this.surfaceOffsetX; - int var9 = var4 + this.surfaceOffsetY; - int var10 = var6 / 64; - int var11 = var7 / 64; - int var12 = var8 / 64; - int var13 = var9 / 64; - var5.worldMapRegionWidth = var12 - var10 + 1; - var5.worldMapRegionHeight = var13 - var11 + 1; - var5.worldMapRegionX = var10 - this.mapAreaData.minX(); - var5.worldMapRegionY = var11 - this.mapAreaData.minY(); - if (var5.worldMapRegionX < 0) { - var5.worldMapRegionWidth += var5.worldMapRegionX; - var5.worldMapRegionX = 0; - } + if (var5.y < 0) { + var5.height += var5.y; + var5.y = 0; + } - if (var5.worldMapRegionX > this.regions.length - var5.worldMapRegionWidth) { - var5.worldMapRegionWidth = this.regions.length - var5.worldMapRegionX; - } + if (var5.y > this.regions[0].length - var5.height) { + var5.height = this.regions[0].length - var5.y; + } - if (var5.worldMapRegionY < 0) { - var5.worldMapRegionHeight += var5.worldMapRegionY; - var5.worldMapRegionY = 0; - } + var5.width = Math.min(var5.width, this.regions.length); + var5.height = Math.min(var5.height, this.regions[0].length); + return var5; + } - if (var5.worldMapRegionY > this.regions[0].length - var5.worldMapRegionHeight) { - var5.worldMapRegionHeight = this.regions[0].length - var5.worldMapRegionY; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1588270336" + ) + @Export("isLoaded") + public boolean isLoaded() { + return this.loaded; + } - var5.worldMapRegionWidth = Math.min(var5.worldMapRegionWidth, this.regions.length); - var5.worldMapRegionHeight = Math.min(var5.worldMapRegionHeight, this.regions[0].length); - return var5; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Ljava/util/HashMap;", + garbageValue = "1662606206" + ) + @Export("buildIcons") + public HashMap buildIcons() { + this.buildIcons0(); + return this.icons; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "483037662" - ) - @Export("isLoaded") - public boolean isLoaded() { - return this.loaded; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1110146603" + ) + @Export("buildIcons0") + void buildIcons0() { + if (this.icons == null) { + this.icons = new HashMap(); + } - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Ljava/util/HashMap;", - garbageValue = "464090770" - ) - @Export("buildIcons") - public HashMap buildIcons() { - this.buildIcons0(); - return this.icons; - } + this.icons.clear(); - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "14" - ) - @Export("buildIcons0") - void buildIcons0() { - if (this.icons == null) { - this.icons = new HashMap(); - } + 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(); - this.icons.clear(); + 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); + } + } + } + } + } - 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.method19()) { - 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("x") + @ObfuscatedSignature( + signature = "(III)F", + garbageValue = "-131172900" + ) + @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("w") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "1091225216" + ) + public static int method625(int var0, int var1, int var2) { + var2 &= 3; + if (var2 == 0) { + return var1; + } else if (var2 == 1) { + return 7 - var0; + } else { + return var2 == 2 ? 7 - var1 : var0; + } + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(III)F", - garbageValue = "1249403507" - ) - @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("u") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1454512266" + ) + static final void method633(String var0) { + StringBuilder var10000 = (new StringBuilder()).append(var0); + Object var10001 = null; + String var1 = var10000.append(" is already on your friend list").toString(); + ScriptEvent.addGameMessage(30, "", var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "514181856" - ) - @Export("itemContainerSetItem") - static void itemContainerSetItem(int itemContainerId, int index, int itemId, int itemQuantity) { - ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)itemContainerId); - if (var4 == null) { - var4 = new ItemContainer(); - ItemContainer.itemContainers.put(var4, (long)itemContainerId); - } + @ObfuscatedName("ir") + @ObfuscatedSignature( + signature = "(Lbd;IIIB)V", + garbageValue = "-54" + ) + @Export("addPlayerToMenu") + static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { + if (Client.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 = Client.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = ClientPreferences.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = ClientPreferences.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = ClientPreferences.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = ClientPreferences.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = ClientPreferences.colorStartTag(65280); + } else if (var9 > 6) { + var6 = ClientPreferences.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = ClientPreferences.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = ClientPreferences.colorStartTag(12648192); + } else { + var6 = ClientPreferences.colorStartTag(16776960); + } - if (var4.ids.length <= index) { - int[] var5 = new int[index + 1]; - int[] var6 = new int[index + 1]; + 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 var7; - for (var7 = 0; var7 < var4.ids.length; ++var7) { - var5[var7] = var4.ids[var7]; - var6[var7] = var4.quantities[var7]; - } + int var10; + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16777215) + var4, 14, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 8) == 8) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.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; + } - for (var7 = var4.ids.length; var7 < index; ++var7) { - var5[var7] = -1; - var6[var7] = 0; - } + if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.playerAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) { + var11 = 2000; + } - var4.ids = var5; - var4.quantities = var6; - } + if (Client.localPlayer.team != 0 && var0.team != 0) { + if (var0.team == Client.localPlayer.team) { + var11 = 2000; + } else { + var11 = 0; + } + } + } else if (Client.playerOptionsPriorities[var10]) { + var11 = 2000; + } - var4.ids[index] = itemId; - var4.quantities[index] = itemQuantity; - } + boolean var12 = false; + var7 = Client.playerMenuOpcodes[var10] + var11; + class188.insertMenuItemNoShift(Client.playerMenuActions[var10], ClientPreferences.colorStartTag(16777215) + var4, var7, var1, var2, var3); + } + } + } - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1743251873" - ) - public static void method673() { - ObjectDefinition.ObjectDefinition_cached.clear(); - ObjectDefinition.ObjectDefinition_cachedModelData.clear(); - ObjectDefinition.ObjectDefinition_cachedEntities.clear(); - ObjectDefinition.ObjectDefinition_cachedModels.clear(); - } + for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { + if (Client.menuOpcodes[var10] == 23) { + Client.menuTargetNames[var10] = ClientPreferences.colorStartTag(16777215) + var4; + break; + } + } - @ObfuscatedName("ij") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1344882321" - ) - @Export("isWidgetMenuOpcode") - static boolean isWidgetMenuOpcode(int var0) { - return var0 == 57 || var0 == 58 || var0 == 1007 || var0 == 25 || var0 == 30; - } - - @ObfuscatedName("ks") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1341489301" - ) - static final void method668() { - Client.field105 = Client.cycleCntr; - } + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index c54f493361..b9363a4abd 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -4,126 +4,110 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("c") +@ObfuscatedName("n") @Implements("WorldMapRectangle") -public final class WorldMapRectangle -{ - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lgr;" - ) - @Export("NetCache_responseArchiveBuffer") - public static Buffer NetCache_responseArchiveBuffer; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lis;" - ) - @Export("studioGame") - static StudioGame studioGame; - @ObfuscatedName("eb") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive17") - static Archive archive17; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1976624405 - ) - @Export("worldMapRegionWidth") - int worldMapRegionWidth; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -698663527 - ) - @Export("worldMapRegionHeight") - int worldMapRegionHeight; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1588021801 - ) - @Export("worldMapRegionX") - int worldMapRegionX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 2138505015 - ) - @Export("worldMapRegionY") - int worldMapRegionY; - @ObfuscatedSignature( - signature = "Lal;" - ) - final WorldMapManager this$0; +public final class WorldMapRectangle { + @ObfuscatedName("sd") + @ObfuscatedSignature( + signature = "Llo;" + ) + @Export("platformInfo") + static PlatformInfo platformInfo; + @ObfuscatedName("gs") + @Export("regionLandArchiveIds") + static int[] regionLandArchiveIds; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1996817297 + ) + @Export("width") + int width; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 625891879 + ) + @Export("height") + int height; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1380746691 + ) + @Export("x") + int x; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1337066781 + ) + @Export("y") + int y; + // $FF: synthetic field + @ObfuscatedSignature( + signature = "Lao;" + ) + final WorldMapManager this$0; - @ObfuscatedSignature( - signature = "(Lal;)V" - ) - WorldMapRectangle(WorldMapManager var1) { - this.this$0 = var1; - } + @ObfuscatedSignature( + signature = "(Lao;)V" + ) + WorldMapRectangle(WorldMapManager var1) { + this.this$0 = var1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1573773621" - ) - public static int method297() { - return ++MouseHandler.MouseHandler_idleCycles - 1; - } + @ObfuscatedName("gb") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "205706610" + ) + static final void method275() { + for (GraphicsObject var0 = (GraphicsObject)Client.graphicsObjects.last(); var0 != null; var0 = (GraphicsObject)Client.graphicsObjects.previous()) { + if (var0.plane == class42.plane && !var0.isFinished) { + if (Client.cycle >= var0.cycleStart) { + var0.advance(Client.field718); + if (var0.isFinished) { + var0.remove(); + } else { + GrandExchangeOfferWorldComparator.scene.drawEntity(var0.plane, var0.x, var0.y, var0.height, 60, var0, 0, -1L, false); + } + } + } else { + var0.remove(); + } + } - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "61" - ) - static final void method294(String var0) { - StringBuilder var1 = (new StringBuilder()).append(var0); - Object var2 = null; - String var3 = var1.append(" is already on your ignore list").toString(); - WorldMapIcon1.addGameMessage(30, "", var3); - } + } - @ObfuscatedName("fw") - @ObfuscatedSignature( - signature = "(IZZZB)Lit;", - garbageValue = "-15" - ) - @Export("newArchive") - static Archive newArchive(int index, boolean releaseGroups, boolean shallowFiles, boolean var3) { - ArchiveDisk var4 = null; - if (class168.dat2File != null) { - var4 = new ArchiveDisk(index, class168.dat2File, ArchiveDiskAction.idxFiles[index], 1000000); - } + @ObfuscatedName("iv") + @ObfuscatedSignature( + signature = "(Lhj;Liq;IIZI)V", + garbageValue = "106659698" + ) + @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; + } - return new Archive(var4, Fonts.masterDisk, index, releaseGroups, shallowFiles, var3); - } + var7 = var5[var3]; + } else if (var3 == 4) { + var6 = 37; + var7 = "Drop"; + } - @ObfuscatedName("jp") - @ObfuscatedSignature( - signature = "(Lho;I)V", - garbageValue = "1002272291" - ) - static void method295(Widget var0) { - if (var0.cycle == Client.field98) { - Client.field100[var0.rootIndex] = true; - } + if (var6 != -1 && var7 != null) { + Entity.insertMenuItem(var7, ClientPreferences.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); + } - } - - @ObfuscatedName("jo") - @ObfuscatedSignature( - signature = "(Lho;IIII)V", - garbageValue = "1417616898" - ) - static final void method296(Widget var0, int var1, int var2, int var3) { - SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - if (Client.minimapState < 3) { - GrandExchangeOfferUnitPriceComparator.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); - } else { - Rasterizer2D.method5948(var1, var2, 0, var4.xStarts, var4.xWidths); - } - } - - } + } } diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index ba6726efa0..d1c4fd3222 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -10,1130 +10,1121 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("av") +@ObfuscatedName("aw") @Implements("WorldMapRegion") public class WorldMapRegion { - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lec;" - ) - public static DemotingHashTable field1051; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1061363609 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2099407363 - ) - @Export("y") - int y; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lz;" - ) - class15 field239; - @ObfuscatedName("e") - LinkedList field1052; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -120515153 - ) - int field1053; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 415972873 - ) - @Export("pixelsPerTile") - int pixelsPerTile; - @ObfuscatedName("k") - @Export("iconsList") - List iconsList; - @ObfuscatedName("n") - @Export("iconsMap") - HashMap iconsMap; - @ObfuscatedName("i") - @Export("fonts") - final HashMap fonts; - - WorldMapRegion(int var1, int var2, int var3, HashMap var4) { - this.x = var1; - this.y = var2; - this.field1052 = new LinkedList(); - this.iconsList = new LinkedList(); - this.iconsMap = new HashMap(); - this.field1053 = var3 | -16777216; - this.fonts = var4; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "-87" - ) - void method404(int var1, int var2, int var3) { - Sprite var4 = class13.method164(this.x, this.y, this.pixelsPerTile); - if (var4 != null) { - if (var3 == this.pixelsPerTile * 64) { - var4.drawAt(var1, var2); - } else { - var4.method319(var1, var2, var3, var3); - } - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lz;Ljava/util/List;I)V", - garbageValue = "1704588050" - ) - void method447(class15 var1, List var2) { - this.iconsMap.clear(); - this.field239 = var1; - this.method407(var2); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;Ljava/util/List;B)V", - garbageValue = "-47" - ) - void method405(HashSet var1, List var2) { - this.iconsMap.clear(); - Iterator var3 = var1.iterator(); - - while (var3.hasNext()) { - class39 var4 = (class39)var3.next(); - if (var4.method256() == this.x && var4.method264() == this.y) { - this.field1052.add(var4); - } - } - - this.method407(var2); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIILb;B)V", - garbageValue = "115" - ) - void method449(int var1, int var2, int var3, int var4, class21 var5) { - this.iconsMap.clear(); - - for (int var6 = var1; var6 < var3 + var1; ++var6) { - label66: - for (int var7 = var2; var7 < var2 + var4; ++var7) { - for (int var8 = 0; var8 < var5.field156; ++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 var12; - boolean var13; - label57: { - WorldMapDecoration var14 = var10[var11]; - var12 = class50.getObjectDefinition(var14.objectDefinitionId); - if (var12.transforms != null) { - int[] var15 = var12.transforms; - - for (int var16 = 0; var16 < var15.length; ++var16) { - int var17 = var15[var16]; - ObjectDefinition var18 = class50.getObjectDefinition(var17); - if (var18.mapIconId != -1) { - var13 = true; - break label57; - } - } - } else if (var12.mapIconId != -1) { - var13 = true; - break label57; - } - - var13 = false; - } - - if (var13) { - this.method479(var12, var8, var6, var7, var5); - continue label66; - } - } - } - } - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljr;IIILb;I)V", - garbageValue = "-896662600" - ) - void method479(ObjectDefinition var1, int var2, int var3, int var4, class21 var5) { - Coord var6 = new Coord(var2, var3 + this.x * 64, this.y * 64 + var4); - Coord var7 = null; - if (this.field239 != null) { - var7 = new Coord(this.field239.field148 + var2, var3 + this.field239.field149 * 64, var4 + this.field239.field146 * 64); - } else { - class39 var8 = (class39)var5; - var7 = new Coord(var2 + var8.field148, var3 + var8.field149 * 64 + var8.method717() * 8, var4 + var8.field146 * 64 + var8.method718() * 8); - } - - Object var10; - if (var1.transforms != null) { - var10 = new WorldMapIcon2(var7, var6, var1.id, this); - } else { - WorldMapElement var9 = ViewportMouse.getWorldMapElement(var1.mapIconId); - var10 = new WorldMapIcon1(var7, var6, var9.field1020, this.createMapLabel(var9)); - } - - this.iconsMap.put(new Coord(0, var3, var4), var10); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "5" - ) - void method406() { - Iterator var1 = this.iconsMap.values().iterator(); - - while (var1.hasNext()) { - AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); - if (var2 instanceof WorldMapIcon2) { - ((WorldMapIcon2)var2).method399(); - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/util/List;I)V", - garbageValue = "128876606" - ) - void method407(List var1) { - Iterator var2 = var1.iterator(); - - while (var2.hasNext()) { - WorldMapIcon1 var3 = (WorldMapIcon1)var2.next(); - if (var3.coord2.x >> 6 == this.x && var3.coord2.y >> 6 == this.y) { - WorldMapIcon1 var4 = new WorldMapIcon1(var3.coord2, var3.coord2, var3.element, this.method419(var3.element)); - this.iconsList.add(var4); - } - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1543354181" - ) - void method408() { - if (this.field239 != null) { - this.field239.method282(); - } else { - Iterator var1 = this.field1052.iterator(); - - while (var1.hasNext()) { - class39 var2 = (class39)var1.next(); - var2.method282(); - } - } - - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Lir;B)Z", - garbageValue = "2" - ) - boolean method409(AbstractArchive var1) { - if (this.field239 != null) { - this.field239.method263(var1); - if (this.field239.method271()) { - this.method449(0, 0, 64, 64, this.field239); - return true; - } else { - return false; - } - } else { - boolean var2 = true; - - Iterator var3; - class39 var4; - for (var3 = this.field1052.iterator(); var3.hasNext(); var2 &= var4.method271()) { - var4 = (class39)var3.next(); - var4.method263(var1); - } - - if (var2) { - var3 = this.field1052.iterator(); - - while (var3.hasNext()) { - var4 = (class39)var3.next(); - this.method449(var4.method719() * 8, var4.method720() * 8, 8, 8, var4); - } - } - - return var2; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(ILad;[Llq;Lir;Lir;I)V", - garbageValue = "518389076" - ) - void method455(int var1, class40 var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { - this.pixelsPerTile = var1; - if ((this.field239 != null || !this.field1052.isEmpty()) && class13.method164(this.x, this.y, var1) == null) { - boolean var6 = true; - var6 &= this.method409(var4); - int var7; - if (this.field239 != null) { - var7 = this.field239.field150; - } else { - var7 = ((class21)this.field1052.getFirst()).field150; - } - - var6 &= var5.tryLoadGroup(var7); - if (var6) { - byte[] var8 = var5.takeFileFlat(var7); - class27 var9 = SecureRandomCallable.method1145(var8); - Sprite var10 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64); - var10.setRaster(); - if (this.field239 != null) { - this.method546(var2, var3, var9); - } else { - this.method459(var2, var3, var9); - } - - int var11 = this.x; - int var12 = this.y; - int var13 = this.pixelsPerTile; - field1051.put(var10, MouseHandler.method1083(var11, var12, var13), var10.pixels.length * 4); - this.method408(); - } - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IIILjava/util/HashSet;I)V", - garbageValue = "893970699" - ) - void method410(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("s") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;IIB)V", - garbageValue = "-70" - ) - void method411(HashSet var1, int var2, int var3) { - Iterator var4 = this.iconsMap.values().iterator(); - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); - if (var5.method19()) { - int var6 = var5.getElement(); - if (var1.contains(var6)) { - WorldMapElement var7 = ViewportMouse.getWorldMapElement(var6); - this.method414(var7, var5.screenX, var5.screenY, var2, var3); - } - } - } - - this.method413(var1, var2, var3); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lad;[Llq;Laq;B)V", - garbageValue = "-1" - ) - void method546(class40 var1, IndexedSprite[] var2, class27 var3) { - int var4; - int var5; - for (var4 = 0; var4 < 64; ++var4) { - for (var5 = 0; var5 < 64; ++var5) { - this.method461(var4, var5, this.field239, var1, var3); - this.method462(var4, var5, this.field239, var1); - } - } - - for (var4 = 0; var4 < 64; ++var4) { - for (var5 = 0; var5 < 64; ++var5) { - this.method460(var4, var5, this.field239, var1, var2); - } - } - - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "(Lad;[Llq;Laq;I)V", - garbageValue = "752069098" - ) - void method459(class40 var1, IndexedSprite[] var2, class27 var3) { - Iterator var4 = this.field1052.iterator(); - - class39 var5; - int var6; - int var7; - while (var4.hasNext()) { - var5 = (class39)var4.next(); - - for (var6 = var5.method719() * 8; var6 < var5.method719() * 8 + 8; ++var6) { - for (var7 = var5.method720() * 8; var7 < var5.method720() * 8 + 8; ++var7) { - this.method461(var6, var7, var5, var1, var3); - this.method462(var6, var7, var5, var1); - } - } - } - - var4 = this.field1052.iterator(); - - while (var4.hasNext()) { - var5 = (class39)var4.next(); - - for (var6 = var5.method719() * 8; var6 < var5.method719() * 8 + 8; ++var6) { - for (var7 = var5.method720() * 8; var7 < var5.method720() * 8 + 8; ++var7) { - this.method460(var6, var7, var5, var1, var2); - } - } - } - - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "(IILb;Lad;[Llq;I)V", - garbageValue = "1304772019" - ) - void method460(int var1, int var2, class21 var3, class40 var4, IndexedSprite[] var5) { - this.method465(var1, var2, var3); - this.method464(var1, var2, var3, var5); - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(IILb;Lad;Laq;I)V", - garbageValue = "1006396037" - ) - void method461(int var1, int var2, class21 var3, class40 var4, class27 var5) { - int var6 = var3.field151[0][var1][var2] - 1; - int var7 = var3.field145[0][var1][var2] - 1; - if (var6 == -1 && var7 == -1) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.field1053); - } - - int var8 = 16711935; - int var9; - if (var7 != -1) { - int var10 = this.field1053; - FloorOverlayDefinition var11 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var7); - FloorOverlayDefinition var12; - if (var11 != null) { - var12 = var11; - } else { - byte[] var13 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var7); - var11 = new FloorOverlayDefinition(); - if (var13 != null) { - var11.decode(new Buffer(var13), var7); - } - - var11.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var11, (long)var7); - var12 = var11; - } - - if (var12 == null) { - var9 = var10; - } else if (var12.rgb2 >= 0) { - var9 = var12.rgb2 | -16777216; - } else { - int var20; - if (var12.texture >= 0) { - var20 = WorldMapArea.method427(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var12.texture), 96); - var9 = Rasterizer3D.Rasterizer3D_colorPalette[var20] | -16777216; - } else if (var12.rgb == 16711935) { - var9 = var10; - } else { - var20 = var12.hue; - int var14 = var12.saturation; - int var15 = var12.lightness; - if (var15 > 179) { - var14 /= 2; - } - - if (var15 > 192) { - var14 /= 2; - } - - if (var15 > 217) { - var14 /= 2; - } - - if (var15 > 243) { - var14 /= 2; - } - - int var16 = (var14 / 32 << 7) + var15 / 2 + (var20 / 4 << 10); - byte var17 = 96; - int var18; - if (var16 == -2) { - var18 = 12345678; - } else { - int var19; - if (var16 == -1) { - if (var17 < 0) { - var17 = 0; - } else if (var17 > 127) { - var17 = 127; - } - - var19 = 127 - var17; - var18 = var19; - } else { - var19 = var17 * (var16 & 127) / 128; - if (var19 < 2) { - var19 = 2; - } else if (var19 > 126) { - var19 = 126; - } - - var18 = var19 + (var16 & 65408); - } - } - - var9 = Rasterizer3D.Rasterizer3D_colorPalette[var18] | -16777216; - } - } - - var8 = var9; - } - - if (var7 > -1 && var3.field154[0][var1][var2] == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); - } else { - var9 = this.method541(var1, var2, var3, var5); - if (var7 == -1) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); - } else { - var4.method743(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field154[0][var1][var2], var3.field155[0][var1][var2]); - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IILb;Lad;B)V", - garbageValue = "9" - ) - void method462(int var1, int var2, class21 var3, class40 var4) { - for (int var5 = 1; var5 < var3.field156; ++var5) { - int var6 = var3.field145[var5][var1][var2] - 1; - if (var6 > -1) { - int var7 = this.field1053; - FloorOverlayDefinition var8 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var6); - FloorOverlayDefinition var9; - if (var8 != null) { - var9 = var8; - } else { - byte[] var10 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var6); - var8 = new FloorOverlayDefinition(); - if (var10 != null) { - var8.decode(new Buffer(var10), var6); - } - - var8.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var8, (long)var6); - var9 = var8; - } - - int var18; - if (var9 == null) { - var18 = var7; - } else if (var9.rgb2 >= 0) { - var18 = var9.rgb2 | -16777216; - } else { - int var11; - if (var9.texture >= 0) { - var11 = WorldMapArea.method427(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture), 96); - var18 = Rasterizer3D.Rasterizer3D_colorPalette[var11] | -16777216; - } else if (var9.rgb == 16711935) { - var18 = var7; - } else { - var11 = var9.hue; - int var12 = var9.saturation; - int var13 = var9.lightness; - if (var13 > 179) { - var12 /= 2; - } - - if (var13 > 192) { - var12 /= 2; - } - - if (var13 > 217) { - var12 /= 2; - } - - if (var13 > 243) { - var12 /= 2; - } - - int var14 = (var12 / 32 << 7) + var13 / 2 + (var11 / 4 << 10); - byte var15 = 96; - int var16; - if (var14 == -2) { - var16 = 12345678; - } else { - int var17; - if (var14 == -1) { - if (var15 < 0) { - var15 = 0; - } else if (var15 > 127) { - var15 = 127; - } - - var17 = 127 - var15; - var16 = var17; - } else { - var17 = var15 * (var14 & 127) / 128; - if (var17 < 2) { - var17 = 2; - } else if (var17 > 126) { - var17 = 126; - } - - var16 = var17 + (var14 & 65408); - } - } - - var18 = Rasterizer3D.Rasterizer3D_colorPalette[var16] | -16777216; - } - } - - if (var3.field154[var5][var1][var2] == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var18); - } else { - var4.method743(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var18, this.pixelsPerTile, this.pixelsPerTile, var3.field154[var5][var1][var2], var3.field155[var5][var1][var2]); - } - } - } - - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IILb;Laq;I)I", - garbageValue = "1908333009" - ) - int method541(int var1, int var2, class21 var3, class27 var4) { - return var3.field151[0][var1][var2] == 0 ? this.field1053 : var4.method430(var1, var2); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IILb;[Llq;S)V", - garbageValue = "-26219" - ) - void method464(int var1, int var2, class21 var3, IndexedSprite[] var4) { - for (int var5 = 0; var5 < var3.field156; ++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 (WorldMapAreaData.method711(var9.decoration) || class1.method19(var9.decoration)) { - ObjectDefinition var10 = class50.getObjectDefinition(var9.objectDefinitionId); - if (var10.mapSceneId != -1) { - if (var10.mapSceneId != 46 && var10.mapSceneId != 52) { - var4[var10.mapSceneId].method135(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); - } else { - var4[var10.mapSceneId].method135(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); - } - } - } - } - } - } - - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IILb;B)V", - garbageValue = "-31" - ) - void method465(int var1, int var2, class21 var3) { - for (int var4 = 0; var4 < var3.field156; ++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 var9 = var8.decoration; - boolean var10 = var9 >= WorldMapDecorationType.field2805.id && var9 <= WorldMapDecorationType.field2804.id || var9 == WorldMapDecorationType.field2806.id; - if (var10) { - ObjectDefinition var11 = class50.getObjectDefinition(var8.objectDefinitionId); - int var12 = var11.int1 != 0 ? -3407872 : -3355444; - if (var8.decoration == WorldMapDecorationType.field2805.id) { - this.method422(var1, var2, var8.rotation, var12); - } - - if (var8.decoration == WorldMapDecorationType.field2813.id) { - this.method422(var1, var2, var8.rotation, -3355444); - this.method422(var1, var2, var8.rotation + 1, var12); - } - - if (var8.decoration == WorldMapDecorationType.field2804.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 * var1 + this.pixelsPerTile - 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.field2806.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("aq") - @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;IB)V", - garbageValue = "0" - ) - @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.iconsMap.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.method19()) { - var12.screenX = var10; - var12.screenY = var11; - WorldMapElement var13 = ViewportMouse.getWorldMapElement(var12.getElement()); - if (!var3.contains(var13.method390())) { - this.method415(var12, var10, var11, var5); - } - } - } - - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;III)V", - garbageValue = "781854370" - ) - void method413(HashSet var1, int var2, int var3) { - Iterator var4 = this.iconsList.iterator(); - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); - if (var5.method19()) { - WorldMapElement var6 = ViewportMouse.getWorldMapElement(var5.getElement()); - if (var6 != null && var1.contains(var6.method390())) { - this.method414(var6, var5.screenX, var5.screenY, var2, var3); - } - } - } - - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Lic;IIIIB)V", - garbageValue = "92" - ) - void method414(WorldMapElement var1, int x, int y, int var4, int var5) { - Sprite var6 = var1.getSprite(false); - if (var6 != null) { - var6.drawAt2(x - var6.subWidth / 2, y - var6.subHeight / 2); - if (var4 % var5 < var5 / 2) { - Rasterizer2D.Rasterizer2D_drawCircleAlpha(x, y, 15, 16776960, 128); - Rasterizer2D.Rasterizer2D_drawCircleAlpha(x, y, 7, 16777215, 256); - } - } - - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(Lak;IIFI)V", - garbageValue = "-1283733783" - ) - void method415(AbstractWorldMapIcon var1, int var2, int var3, float var4) { - WorldMapElement var5 = ViewportMouse.getWorldMapElement(var1.getElement()); - this.method416(var5, var2, var3); - this.method417(var1, var5, var2, var3, var4); - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(Lic;III)V", - garbageValue = "423173487" - ) - void method416(WorldMapElement var1, int var2, int var3) { - Sprite var4 = var1.getSprite(false); - if (var4 != null) { - int var5 = this.method473(var4, var1.horizontalAlignment); - int var6 = this.method474(var4, var1.verticalAlignment); - var4.drawAt2(var5 + var2, var3 + var6); - } - - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(Lak;Lic;IIFI)V", - garbageValue = "-1237576843" - ) - void method417(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { - WorldMapLabel var6 = var1.getLabel(); - if (var6 != null && var6.size.method400(var5)) { - Font var7 = (Font)this.fonts.get(var6.size); - var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field1022, 0, 1, 0, var7.ascent / 2); - } - - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;IB)V", - garbageValue = "-17" - ) - @Export("drawMapLinks") - void drawMapLinks(int var1, int var2, HashSet var3, int var4) { - float var5 = (float)var4 / 64.0F; - Iterator var6 = this.iconsList.iterator(); - - while (var6.hasNext()) { - AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); - if (var7.method19()) { - 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.method415(var7, var7.screenX, var7.screenY, var5); - } - } - } - - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(Lln;Lju;I)I", - garbageValue = "1945325707" - ) - int method473(Sprite var1, HorizontalAlignment var2) { - switch(var2.value) { - case 0: - return -var1.subWidth / 2; - case 2: - return 0; - default: - return -var1.subWidth; - } - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(Lln;Lip;I)I", - garbageValue = "1788772278" - ) - int method474(Sprite var1, VerticalAlignment var2) { - switch(var2.value) { - case 0: - return 0; - case 1: - return -var1.subHeight / 2; - default: - return -var1.subHeight; - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(II)Laj;", - garbageValue = "598030754" - ) - WorldMapLabel method419(int var1) { - WorldMapElement var2 = ViewportMouse.getWorldMapElement(var1); - return this.createMapLabel(var2); - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(Lic;B)Laj;", - garbageValue = "59" - ) - @Export("createMapLabel") - WorldMapLabel createMapLabel(WorldMapElement var1) { - if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { - WorldMapLabelSize var2 = WorldMapLabelSize.valueOf(var1.textSize); - if (var2 == null) { - return null; - } else { - Font var3 = (Font)this.fonts.get(var2); - if (var3 == null) { - return null; - } else { - int var4 = var3.lineCount(var1.name, 1000000); - String[] var5 = new String[var4]; - var3.breakLines(var1.name, (int[])null, var5); - int var6 = var5.length * var3.ascent / 2; - int var7 = 0; - String[] var8 = var5; - - for (int var9 = 0; var9 < var8.length; ++var9) { - String var10 = var8[var9]; - int var11 = var3.stringWidth(var10); - if (var11 > var7) { - var7 = var11; - } - } - - return new WorldMapLabel(var1.name, var7, var6, var2); - } - } - } else { - return null; - } - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(IIIIII)Ljava/util/List;", - garbageValue = "-1237576843" - ) - List method421(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.iconsMap.values().iterator(); - - AbstractWorldMapIcon var8; - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); - if (var8.method19() && var8.method18(var4, var5)) { - var6.add(var8); - } - } - - var7 = this.iconsList.iterator(); - - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); - if (var8.method19() && var8.method18(var4, var5)) { - var6.add(var8); - } - } - - return var6; - } else { - return var6; - } - } else { - return var6; - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(I)Ljava/util/List;", - garbageValue = "722163590" - ) - @Export("icons") - List icons() { - LinkedList var1 = new LinkedList(); - var1.addAll(this.iconsList); - var1.addAll(this.iconsMap.values()); - return var1; - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1516512827" - ) - void method422(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("f") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1836178572" - ) - public static int method568(int var0) { - return var0 >> 17 & 7; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "1877870965" - ) - @Export("stringCp1252NullTerminatedByteSize") - public static int stringCp1252NullTerminatedByteSize(String var0) { - return var0.length() + 1; - } - - @ObfuscatedName("fb") - @ObfuscatedSignature( - signature = "(Lho;IIS)V", - garbageValue = "597" - ) - // Click minimap? - static final void method567(Widget var0, int var1, int var2) { - if ((Client.minimapState == 0 || Client.minimapState == 3) && !Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.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 = var4 * var8 + var7 * var5 >> 11; - int var10 = var5 * var8 - var4 * var7 >> 11; - int var11 = var9 + Canvas.localPlayer.x >> 7; - int var12 = Canvas.localPlayer.y - var10 >> 7; - PacketBufferNode var13 = Interpreter.method1915(ClientPacket.field274, Client.packetWriter.isaacCipher); - var13.packetBuffer.writeByte(18); - var13.packetBuffer.method63(var12 + GraphicsObject.baseY); - var13.packetBuffer.method63(var11 + class50.baseX); - var13.packetBuffer.method55(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(Canvas.localPlayer.x); - var13.packetBuffer.writeShort(Canvas.localPlayer.y); - var13.packetBuffer.writeByte(63); - Client.packetWriter.method241(var13); - Client.destinationX = var11; - Client.destinationY = var12; - } - } - - } - - @ObfuscatedName("ix") - @ObfuscatedSignature( - signature = "([Lho;IIIZS)V", - garbageValue = "3640" - ) - @Export("notRevalidateWidgetScroll") - static void notRevalidateWidgetScroll(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) { - WorldMapSection1.alignWidgetSize(var6, var2, var3, var4); - FloorOverlayDefinition.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) { - class39.revalidateWidgetScroll(var0, var6, var4); - } - } - } - - } - - static { - field1051 = new DemotingHashTable(37748736, 256); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Led;" + ) + @Export("WorldMapRegion_cachedSprites") + public static DemotingHashTable WorldMapRegion_cachedSprites; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lhl;" + ) + static StudioGame field248; + @ObfuscatedName("du") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive6") + static Archive archive6; + @ObfuscatedName("gb") + @Export("xteaKeys") + static int[][] xteaKeys; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -862345975 + ) + @Export("regionx") + int regionx; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -908569217 + ) + @Export("regionY") + int regionY; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ly;" + ) + @Export("worldMapData_0") + WorldMapData_0 worldMapData_0; + @ObfuscatedName("c") + @Export("worldMapData1List") + LinkedList worldMapData1List; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1971368251 + ) + @Export("backgroundColor") + int backgroundColor; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 2110263181 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("u") + @Export("icon0List") + List icon0List; + @ObfuscatedName("x") + @Export("iconMap") + HashMap iconMap; + @ObfuscatedName("r") + @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("p") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "1947241845" + ) + void method506(int var1, int var2, int var3) { + Sprite var4 = PlayerType.getWorldMapRegionCachedSprite(this.regionx, this.regionY, this.pixelsPerTile); + if (var4 != null) { + if (var3 == this.pixelsPerTile * 64) { + var4.drawAt(var1, var2); + } else { + var4.method6144(var1, var2, var3, var3); + } + + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ly;Ljava/util/List;I)V", + garbageValue = "1340237556" + ) + @Export("initWorldMapData0") + void initWorldMapData0(WorldMapData_0 var1, List var2) { + this.iconMap.clear(); + this.worldMapData_0 = var1; + this.addAllToIconList(var2); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;Ljava/util/List;I)V", + garbageValue = "-523355957" + ) + @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("b") + @ObfuscatedSignature( + signature = "(IIIILo;I)V", + garbageValue = "585564692" + ) + @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 = ViewportMouse.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 = ViewportMouse.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("i") + @ObfuscatedSignature( + signature = "(Liy;IIILo;I)V", + garbageValue = "-1363155739" + ) + @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, var4 + var8.regionYLow * 64 + var8.getChunkYLow() * 8); + } + + Object var10; + if (var1.transforms != null) { + var10 = new WorldMapIcon_1(var7, var6, var1.id, this); + } else { + WorldMapElement var9 = class222.getWorldMapElement(var1.mapIconId); + var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); + } + + this.iconMap.put(new Coord(0, var3, var4), var10); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "106" + ) + @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("u") + @ObfuscatedSignature( + signature = "(Ljava/util/List;I)V", + garbageValue = "-1298217436" + ) + @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.method502(var3.element)); + this.icon0List.add(var4); + } + } + + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "30233" + ) + void method429() { + 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("r") + @ObfuscatedSignature( + signature = "(Lhp;B)Z", + garbageValue = "96" + ) + @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("v") + @ObfuscatedSignature( + signature = "(ILap;[Llx;Lhp;Lhp;I)V", + garbageValue = "-1781579709" + ) + @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 (PlayerType.getWorldMapRegionCachedSprite(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(BuddyRankComparator.convertJpgToSprite(var7).pixels); + } + + Sprite var11 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64); + var11.setRaster(); + if (this.worldMapData_0 != null) { + this.method434(var2, var3, var9); + } else { + this.method435(var2, var3, var9); + } + + int var12 = this.regionx; + int var13 = this.regionY; + int var14 = this.pixelsPerTile; + WorldMapRegion_cachedSprites.put(var11, Widget.getWorldMapSpriteHash(var12, var13, var14), var11.pixels.length * 4); + this.method429(); + } + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIILjava/util/HashSet;B)V", + garbageValue = "67" + ) + void method432(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("g") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;IIB)V", + garbageValue = "82" + ) + void method433(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 = class222.getWorldMapElement(var6); + this.method493(var7, var5.screenX, var5.screenY, var2, var3); + } + } + } + + this.method443(var1, var2, var3); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Lap;[Llx;Lav;I)V", + garbageValue = "-5287364" + ) + void method434(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.method520(var4, var5, this.worldMapData_0, var1); + } + } + + for (var4 = 0; var4 < 64; ++var4) { + for (var5 = 0; var5 < 64; ++var5) { + this.method436(var4, var5, this.worldMapData_0, var1, var2); + } + } + + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(Lap;[Llx;Lav;I)V", + garbageValue = "1494661478" + ) + void method435(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.method520(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.method436(var6, var7, var5, var1, var2); + } + } + } + + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IILo;Lap;[Llx;I)V", + garbageValue = "1019894341" + ) + void method436(int var1, int var2, AbstractWorldMapData var3, class40 var4, IndexedSprite[] var5) { + this.method472(var1, var2, var3); + this.method463(var1, var2, var3, var5); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(IILo;Lap;Lav;I)V", + garbageValue = "-1409851959" + ) + @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 = class192.method3679(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.field165[0][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); + } else { + var9 = this.method439(var1, var2, var3, var5); + if (var7 == -1) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); + } else { + var4.method698(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field165[0][var1][var2], var3.field166[0][var1][var2]); + } + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(IILo;Lap;I)V", + garbageValue = "-272085910" + ) + void method520(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 = class192.method3679(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.field165[var5][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); + } else { + var4.method698(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field165[var5][var1][var2], var3.field166[var5][var1][var2]); + } + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IILo;Lav;I)I", + garbageValue = "23103860" + ) + int method439(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { + return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(IILo;[Llx;I)V", + garbageValue = "111952884" + ) + void method463(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]; + int var11 = var9.decoration; + boolean var10 = var11 >= WorldMapDecorationType.field2733.id && var11 <= WorldMapDecorationType.field2722.id; + if (!var10) { + int var13 = var9.decoration; + boolean var12 = var13 == WorldMapDecorationType.field2741.id; + if (!var12) { + continue; + } + } + + ObjectDefinition var14 = ViewportMouse.getObjectDefinition(var9.objectDefinitionId); + if (var14.mapSceneId != -1) { + if (var14.mapSceneId != 46 && var14.mapSceneId != 52) { + var4[var14.mapSceneId].method6093(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); + } else { + var4[var14.mapSceneId].method6093(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); + } + } + } + } + } + + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(IILo;S)V", + garbageValue = "4754" + ) + void method472(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.field2725.id && var10 <= WorldMapDecorationType.field2721.id || var10 == WorldMapDecorationType.field2739.id; + if (var9) { + ObjectDefinition var11 = ViewportMouse.getObjectDefinition(var8.objectDefinitionId); + int var12 = var11.int1 != 0 ? -3407872 : -3355444; + if (var8.decoration == WorldMapDecorationType.field2725.id) { + this.method454(var1, var2, var8.rotation, var12); + } + + if (var8.decoration == WorldMapDecorationType.field2720.id) { + this.method454(var1, var2, var8.rotation, -3355444); + this.method454(var1, var2, var8.rotation + 1, var12); + } + + if (var8.decoration == WorldMapDecorationType.field2721.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 + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2), 1, var12); + } + + if (var8.rotation == 2) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 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.field2739.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("as") + @ObfuscatedSignature( + signature = "(IILjava/util/HashSet;II)V", + garbageValue = "-1887424608" + ) + @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) - (float)var9.y * var5 - var6); + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); + if (var12 != null && var12.hasValidElement()) { + var12.screenX = var10; + var12.screenY = var11; + WorldMapElement var13 = class222.getWorldMapElement(var12.getElement()); + if (!var3.contains(var13.getObjectId())) { + this.method445(var12, var10, var11, var5); + } + } + } + + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;IIB)V", + garbageValue = "-45" + ) + void method443(HashSet var1, int var2, int var3) { + Iterator var4 = this.icon0List.iterator(); + + while (var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + WorldMapElement var6 = class222.getWorldMapElement(var5.getElement()); + if (var6 != null && var1.contains(var6.getObjectId())) { + this.method493(var6, var5.screenX, var5.screenY, var2, var3); + } + } + } + + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Liw;IIIIB)V", + garbageValue = "14" + ) + void method493(WorldMapElement var1, int var2, int var3, int var4, int var5) { + Sprite var6 = var1.getSpriteBool(false); + if (var6 != null) { + var6.drawAt2(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("ag") + @ObfuscatedSignature( + signature = "(Laz;IIFB)V", + garbageValue = "-89" + ) + void method445(AbstractWorldMapIcon var1, int var2, int var3, float var4) { + WorldMapElement var5 = class222.getWorldMapElement(var1.getElement()); + this.method446(var5, var2, var3); + this.method447(var1, var5, var2, var3, var4); + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Liw;III)V", + garbageValue = "1065739105" + ) + void method446(WorldMapElement var1, int var2, int var3) { + Sprite var4 = var1.getSpriteBool(false); + if (var4 != null) { + int var5 = this.method455(var4, var1.horizontalAlignment); + int var6 = this.method450(var4, var1.verticalAlignment); + var4.drawAt2(var5 + var2, var3 + var6); + } + + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(Laz;Liw;IIFI)V", + garbageValue = "-1918014118" + ) + void method447(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { + WorldMapLabel var6 = var1.getLabel(); + if (var6 != null) { + if (var6.size.method184(var5)) { + Font var7 = (Font)this.fonts.get(var6.size); + var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3217, 0, 1, 0, var7.ascent / 2); + } + } + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "(IILjava/util/HashSet;II)V", + garbageValue = "1861626297" + ) + @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.method445(var7, var7.screenX, var7.screenY, var5); + } + } + } + + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(Lly;Liz;I)I", + garbageValue = "406251697" + ) + int method455(Sprite var1, HorizontalAlignment var2) { + switch(var2.value) { + case 0: + return 0; + case 2: + return -var1.subWidth / 2; + default: + return -var1.subWidth; + } + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(Lly;Lif;B)I", + garbageValue = "36" + ) + int method450(Sprite var1, VerticalAlignment var2) { + switch(var2.value) { + case 0: + return -var1.subHeight / 2; + case 1: + return 0; + default: + return -var1.subHeight; + } + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(II)Las;", + garbageValue = "1732767815" + ) + WorldMapLabel method502(int var1) { + WorldMapElement var2 = class222.getWorldMapElement(var1); + return this.createMapLabel(var2); + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(Liw;I)Las;", + garbageValue = "1686665284" + ) + @Export("createMapLabel") + WorldMapLabel createMapLabel(WorldMapElement var1) { + if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { + WorldMapLabelSize var2 = WorldMapLabelSize.method177(var1.textSize); + if (var2 == null) { + return null; + } else { + Font var3 = (Font)this.fonts.get(var2); + if (var3 == null) { + return null; + } else { + int var4 = var3.lineCount(var1.name, 1000000); + String[] var5 = new String[var4]; + var3.breakLines(var1.name, (int[])null, var5); + int var6 = var5.length * var3.ascent / 2; + int var7 = 0; + String[] var8 = var5; + + for (int var9 = 0; var9 < var8.length; ++var9) { + String var10 = var8[var9]; + int var11 = var3.stringWidth(var10); + if (var11 > var7) { + var7 = var11; + } + } + + return new WorldMapLabel(var1.name, var7, var6, var2); + } + } + } else { + return null; + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(IIIIII)Ljava/util/List;", + garbageValue = "-1946741699" + ) + List method440(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("ap") + @ObfuscatedSignature( + signature = "(B)Ljava/util/List;", + garbageValue = "37" + ) + @Export("icons") + List icons() { + LinkedList var1 = new LinkedList(); + var1.addAll(this.icon0List); + var1.addAll(this.iconMap.values()); + return var1; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-255594504" + ) + void method454(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("k") + @ObfuscatedSignature( + signature = "(ILhp;Ljava/lang/String;Ljava/lang/String;IZI)V", + garbageValue = "-2137956496" + ) + public static void method533(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { + int var6 = var1.getGroupId(var2); + int var7 = var1.getFileId(var6, var3); + class197.field2402 = 1; + GrandExchangeOfferNameComparator.musicTrackArchive = var1; + class197.musicTrackGroupId = var6; + class197.musicTrackFileId = var7; + ScriptFrame.field529 = var4; + BuddyRankComparator.musicTrackBoolean = var5; + class197.field2404 = var0; + } + + @ObfuscatedName("gw") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "878790252" + ) + @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 >> 7; + if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { + if (var2.size * 784322703 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { + if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { + continue; + } + + Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; + } + + long var5 = Tile.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); + var2.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var2.x, var2.y, ScriptEvent.getTileHeight(var2.size * -1342954560 - 64 + var2.x, var2.size * -1342954560 - 64 + var2.y, class42.plane), var2.size * -1342954560 - 64 + 60, var2, var2.field950, var5, var2.field967); + } + } + } + + } } diff --git a/runescape-client/src/main/java/WorldMapSection.java b/runescape-client/src/main/java/WorldMapSection.java index 3e7942dc74..fe6e31a383 100644 --- a/runescape-client/src/main/java/WorldMapSection.java +++ b/runescape-client/src/main/java/WorldMapSection.java @@ -3,54 +3,54 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ab") +@ObfuscatedName("aj") @Implements("WorldMapSection") public interface WorldMapSection { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "1384899025" - ) - @Export("expandBounds") - void expandBounds(WorldMapArea area); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lal;B)V", + garbageValue = "-53" + ) + @Export("expandBounds") + void expandBounds(WorldMapArea var1); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIB)Z", - garbageValue = "93" - ) - @Export("containsCoord") - boolean containsCoord(int plane, int x, int y); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "59484528" + ) + @Export("containsCoord") + boolean containsCoord(int var1, int var2, int var3); - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "4" - ) - @Export("containsPosition") - boolean containsPosition(int x, int y); + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "56" + ) + @Export("containsPosition") + boolean containsPosition(int var1, int var2); - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "1545934424" - ) - @Export("position") - int[] position(int plane, int x, int y); + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIB)[I", + garbageValue = "12" + ) + @Export("getBorderTileLengths") + int[] getBorderTileLengths(int var1, int var2, int var3); - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "-1916486802" - ) - @Export("coord") - Coord coord(int x, int y); + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIB)Lhv;", + garbageValue = "-13" + ) + @Export("coord") + Coord coord(int var1, int var2); - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-113" - ) - @Export("read") - void read(Buffer buffer); + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1767519038" + ) + @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 d7f2c11787..5ba3bb48c1 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -4,315 +4,441 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ah") +@ObfuscatedName("t") @Implements("WorldMapSection0") public class WorldMapSection0 implements WorldMapSection { - @ObfuscatedName("l") - static int[] field1082; - @ObfuscatedName("j") - @Export("cacheDirectoryLocations") - public static String[] cacheDirectoryLocations; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1561552223 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -245382089 - ) - @Export("planes") - int planes; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1024859679 - ) - @Export("xRegion") - int xRegion; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 40495485 - ) - @Export("yRegion") - int yRegion; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 982234927 - ) - int field1087; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1272330125 - ) - int field1088; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1946278093 + ) + @Export("oldZ") + int oldZ; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1083711829 + ) + @Export("newZ") + int newZ; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 82104029 + ) + @Export("oldX") + int oldX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 335674559 + ) + @Export("oldY") + int oldY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 12964727 + ) + @Export("newX") + int newX; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1819983063 + ) + @Export("newY") + int newY; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1938235291 + ) + @Export("oldChunkXLow") + int oldChunkXLow; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 844709239 + ) + @Export("oldChunkYLow") + int oldChunkYLow; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -263178467 + ) + @Export("oldChunkXHigh") + int oldChunkXHigh; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1648311941 + ) + @Export("oldChunkYHigh") + int oldChunkYHigh; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1777261923 + ) + @Export("newChunkXLow") + int newChunkXLow; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 681009167 + ) + @Export("newChunkYLow") + int newChunkYLow; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -790633005 + ) + @Export("newChunkXHigh") + int newChunkXHigh; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1595362875 + ) + @Export("newChunkYHigh") + int newChunkYHigh; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "1384899025" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea area) { - if (area.minX0 > this.field1087) { - area.minX0 = this.field1087; - } + WorldMapSection0() { + } - if (area.maxX0 < this.field1087) { - area.maxX0 = this.field1087; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lal;B)V", + garbageValue = "-53" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.newX) { + var1.regionLowX = this.newX; + } - if (area.minY0 > this.field1088) { - area.minY0 = this.field1088; - } + if (var1.regionHighX < this.newX) { + var1.regionHighX = this.newX; + } - if (area.maxY0 < this.field1088) { - area.maxY0 = this.field1088; - } + if (var1.regionLowY > this.newY) { + var1.regionLowY = this.newY; + } - } + if (var1.regionHighY < this.newY) { + var1.regionHighY = this.newY; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIB)Z", - garbageValue = "93" - ) - @Export("containsCoord") - public boolean containsCoord(int plane, int x, int y) { - return plane >= this.minPlane && plane < this.minPlane + this.planes ? x >> 6 == this.xRegion && y >> 6 == this.yRegion : false; - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "4" - ) - @Export("containsPosition") - public boolean containsPosition(int x, int y) { - return x >> 6 == this.field1087 && y >> 6 == this.field1088; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "59484528" + ) + @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("w") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "1545934424" - ) - @Export("position") - public int[] position(int plane, int x, int y) { - if (!this.containsCoord(plane, x, y)) { - return null; - } else { - int[] var4 = new int[]{this.field1087 * 64 - this.xRegion * 64 + x, y + (this.field1088 * 64 - this.yRegion * 64)}; - return var4; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "56" + ) + @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("o") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "-1916486802" - ) - @Export("coord") - public Coord coord(int x, int y) { - if (!this.containsPosition(x, y)) { - return null; - } else { - int var3 = this.xRegion * 64 - this.field1087 * 64 + x; - int var4 = this.yRegion * 64 - this.field1088 * 64 + y; - return new Coord(this.minPlane, var3, var4); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIB)[I", + garbageValue = "12" + ) + @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("u") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-113" - ) - @Export("read") - public void read(Buffer buffer) { - this.minPlane = buffer.readUnsignedByte(); - this.planes = buffer.readUnsignedByte(); - this.xRegion = buffer.readUnsignedShort(); - this.yRegion = buffer.readUnsignedShort(); - this.field1087 = buffer.readUnsignedShort(); - this.field1088 = buffer.readUnsignedShort(); - this.method425(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIB)Lhv;", + garbageValue = "-13" + ) + @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("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1602858772" - ) - void method425() { - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1767519038" + ) + @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("m") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "409746497" - ) - @Export("getVarbit") - public static int getVarbit(int var0) { - VarbitDefinition var1 = Occluder.getVarbitDefinition(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("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "35507364" + ) + @Export("postRead") + void postRead() { + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IILfe;Lfy;I)Z", - garbageValue = "-2025028346" - ) - static final boolean method593(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; - class178.directions[var6][var7] = 99; - class178.distances[var6][var7] = 0; - byte var10 = 0; - int var11 = 0; - class178.bufferX[var10] = var0; - int var12 = var10 + 1; - class178.bufferY[var10] = var1; - int[][] var13 = var3.flags; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;II[BIB)I", + garbageValue = "1" + ) + @Export("encodeStringCp1252") + public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { + int var5 = var2 - var1; - while (var12 != var11) { - var4 = class178.bufferX[var11]; - var5 = class178.bufferY[var11]; - var11 = var11 + 1 & 4095; - int var14 = var4 - var8; - int var15 = var5 - var9; - int var16 = var4 - var3.xInset; - int var17 = var5 - var3.yInset; - if (var2.vmethod3644(2, var4, var5, var3)) { - InterfaceParent.field986 = var4; - UrlRequester.field929 = var5; - return true; - } + 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; + } + } - int var18 = class178.distances[var14][var15] + 1; - if (var14 > 0 && class178.directions[var14 - 1][var15] == 0 && (var13[var16 - 1][var17] & 19136782) == 0 && (var13[var16 - 1][var17 + 1] & 19136824) == 0) { - class178.bufferX[var12] = var4 - 1; - class178.bufferY[var12] = var5; - var12 = var12 + 1 & 4095; - class178.directions[var14 - 1][var15] = 2; - class178.distances[var14 - 1][var15] = var18; - } + return var5; + } - if (var14 < 126 && class178.directions[var14 + 1][var15] == 0 && (var13[var16 + 2][var17] & 19136899) == 0 && (var13[var16 + 2][var17 + 1] & 19136992) == 0) { - class178.bufferX[var12] = var4 + 1; - class178.bufferY[var12] = var5; - var12 = var12 + 1 & 4095; - class178.directions[var14 + 1][var15] = 8; - class178.distances[var14 + 1][var15] = var18; - } + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(IIIIIZI)Lly;", + garbageValue = "2024001124" + ) + @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; + } - if (var15 > 0 && class178.directions[var14][var15 - 1] == 0 && (var13[var16][var17 - 1] & 19136782) == 0 && (var13[var16 + 1][var17 - 1] & 19136899) == 0) { - class178.bufferX[var12] = var4; - class178.bufferY[var12] = var5 - 1; - var12 = var12 + 1 & 4095; - class178.directions[var14][var15 - 1] = 1; - class178.distances[var14][var15 - 1] = var18; - } + long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + ((long)var1 << 16) + (long)var0; + Sprite var8; + if (!var5) { + var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6); + if (var8 != null) { + return var8; + } + } - if (var15 < 126 && class178.directions[var14][var15 + 1] == 0 && (var13[var16][var17 + 2] & 19136824) == 0 && (var13[var16 + 1][var17 + 2] & 19136992) == 0) { - class178.bufferX[var12] = var4; - class178.bufferY[var12] = var5 + 1; - var12 = var12 + 1 & 4095; - class178.directions[var14][var15 + 1] = 4; - class178.distances[var14][var15 + 1] = var18; - } + ItemDefinition var9 = WorldMapArea.getItemDefinition(var0); + if (var1 > 1 && var9.countobj != null) { + int var10 = -1; - if (var14 > 0 && var15 > 0 && class178.directions[var14 - 1][var15 - 1] == 0 && (var13[var16 - 1][var17] & 19136830) == 0 && (var13[var16 - 1][var17 - 1] & 19136782) == 0 && (var13[var16][var17 - 1] & 19136911) == 0) { - class178.bufferX[var12] = var4 - 1; - class178.bufferY[var12] = var5 - 1; - var12 = var12 + 1 & 4095; - class178.directions[var14 - 1][var15 - 1] = 3; - class178.distances[var14 - 1][var15 - 1] = var18; - } + for (int var11 = 0; var11 < 10; ++var11) { + if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { + var10 = var9.countobj[var11]; + } + } - if (var14 < 126 && var15 > 0 && class178.directions[var14 + 1][var15 - 1] == 0 && (var13[var16 + 1][var17 - 1] & 19136911) == 0 && (var13[var16 + 2][var17 - 1] & 19136899) == 0 && (var13[var16 + 2][var17] & 19136995) == 0) { - class178.bufferX[var12] = var4 + 1; - class178.bufferY[var12] = var5 - 1; - var12 = var12 + 1 & 4095; - class178.directions[var14 + 1][var15 - 1] = 9; - class178.distances[var14 + 1][var15 - 1] = var18; - } + if (var10 != -1) { + var9 = WorldMapArea.getItemDefinition(var10); + } + } - if (var14 > 0 && var15 < 126 && class178.directions[var14 - 1][var15 + 1] == 0 && (var13[var16 - 1][var17 + 1] & 19136830) == 0 && (var13[var16 - 1][var17 + 2] & 19136824) == 0 && (var13[var16][var17 + 2] & 19137016) == 0) { - class178.bufferX[var12] = var4 - 1; - class178.bufferY[var12] = var5 + 1; - var12 = var12 + 1 & 4095; - class178.directions[var14 - 1][var15 + 1] = 6; - class178.distances[var14 - 1][var15 + 1] = var18; - } + Model var21 = var9.getModel(1); + if (var21 == null) { + return null; + } else { + Sprite var22 = null; + if (var9.noteTemplate != -1) { + var22 = getItemSprite(var9.note, 10, 1, 0, 0, true); + if (var22 == null) { + return null; + } + } else if (var9.notedId != -1) { + var22 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); + if (var22 == null) { + return null; + } + } else if (var9.placeholderTemplate != -1) { + var22 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); + if (var22 == null) { + return null; + } + } - if (var14 < 126 && var15 < 126 && class178.directions[var14 + 1][var15 + 1] == 0 && (var13[var16 + 1][var17 + 2] & 19137016) == 0 && (var13[var16 + 2][var17 + 2] & 19136992) == 0 && (var13[var16 + 2][var17 + 1] & 19136995) == 0) { - class178.bufferX[var12] = var4 + 1; - class178.bufferY[var12] = var5 + 1; - var12 = var12 + 1 & 4095; - class178.directions[var14 + 1][var15 + 1] = 12; - class178.distances[var14 + 1][var15 + 1] = var18; - } - } + 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.method2976(16, 16); + Rasterizer3D.field1768 = false; + if (var9.placeholderTemplate != -1) { + var22.drawAt2(0, 0); + } - InterfaceParent.field986 = var4; - UrlRequester.field929 = var5; - return false; - } + int var16 = var9.zoom2d; + if (var5) { + var16 = (int)((double)var16 * 1.5D); + } else if (var2 == 2) { + var16 = (int)(1.04D * (double)var16); + } - @ObfuscatedName("hc") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "-1850233906" - ) - static void method583(int var0, String var1) { - int var2 = Players.Players_count; - int[] var3 = Players.Players_indices; - boolean var4 = false; - Username var5 = new Username(var1, KeyHandler.loginType); + int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; + int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; + var21.calculateBoundsCylinder(); + var21.method2866(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var21.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); + if (var9.notedId != -1) { + var22.drawAt2(0, 0); + } - for (int var6 = 0; var6 < var2; ++var6) { - Player var7 = Client.players[var3[var6]]; - if (var7 != null && var7 != Canvas.localPlayer && var7.username != null && var7.username.equals(var5)) { - PacketBufferNode var8; - if (var0 == 1) { - var8 = Interpreter.method1915(ClientPacket.field269, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3[var6]); - var8.packetBuffer.method56(0); - Client.packetWriter.method241(var8); - } else if (var0 == 4) { - var8 = Interpreter.method1915(ClientPacket.field249, Client.packetWriter.isaacCipher); - var8.packetBuffer.method64(var3[var6]); - var8.packetBuffer.method56(0); - Client.packetWriter.method241(var8); - } else if (var0 == 6) { - var8 = Interpreter.method1915(ClientPacket.field315, Client.packetWriter.isaacCipher); - var8.packetBuffer.method63(var3[var6]); - var8.packetBuffer.method57(0); - Client.packetWriter.method241(var8); - } else if (var0 == 7) { - var8 = Interpreter.method1915(ClientPacket.field297, Client.packetWriter.isaacCipher); - var8.packetBuffer.method57(0); - var8.packetBuffer.writeShortLE(var3[var6]); - Client.packetWriter.method241(var8); - } + if (var2 >= 1) { + var8.outline(1); + } - var4 = true; - break; - } - } + if (var2 >= 2) { + var8.outline(16777215); + } - if (!var4) { - WorldMapIcon1.addGameMessage(4, "", "Unable to find " + var1); - } + if (var3 != 0) { + var8.shadow(var3); + } - } + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + if (var9.noteTemplate != -1) { + var22.drawAt2(0, 0); + } + + if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { + Font var19 = HealthBar.ItemDefinition_fontPlain11; + String var20; + if (var1 < 100000) { + var20 = "" + var1 + ""; + } else if (var1 < 10000000) { + var20 = "" + var1 / 1000 + "K" + ""; + } else { + var20 = "" + var1 / 1000000 + "M" + ""; + } + + var19.draw(var20, 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.field1768 = true; + return var8; + } + } + + @ObfuscatedName("fr") + @ObfuscatedSignature( + signature = "(Lis;IIII)V", + garbageValue = "282707669" + ) + @Export("addSequenceSoundEffect") + static void addSequenceSoundEffect(SequenceDefinition var0, int var1, int var2, int var3) { + if (Client.soundEffectCount < 50 && Client.field892 != 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; + } + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapSection1.java b/runescape-client/src/main/java/WorldMapSection1.java index b2ed5c1c6d..00ac4690e9 100644 --- a/runescape-client/src/main/java/WorldMapSection1.java +++ b/runescape-client/src/main/java/WorldMapSection1.java @@ -4,261 +4,227 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("p") +@ObfuscatedName("ax") @Implements("WorldMapSection1") public class WorldMapSection1 implements WorldMapSection { - @ObfuscatedName("h") - @Export("osNameLowerCase") - public static String osNameLowerCase; - @ObfuscatedName("dr") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive8") - static Archive archive8; - @ObfuscatedName("go") - @ObfuscatedGetter( - intValue = -948290091 - ) - static int field1089; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1389733201 - ) - int field1090; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1622972483 - ) - int field1091; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 702057599 - ) - int field1092; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1068088609 - ) - int field1093; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1257151629 - ) - int field1094; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1351623663 - ) - int field1095; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1016557381 - ) - int field1096; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 884736611 - ) - int field1097; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 395786901 - ) - int field1098; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -627081155 - ) - int field1099; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -309142761 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 993590079 + ) + @Export("planes") + int planes; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1911619349 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1414952525 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 586024271 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 875825551 + ) + @Export("regionEndY") + int regionEndY; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "1384899025" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea area) { - if (area.minX0 > this.field1096) { - area.minX0 = this.field1096; - } + WorldMapSection1() { + } - if (area.maxX0 < this.field1098) { - area.maxX0 = this.field1098; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lal;B)V", + garbageValue = "-53" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.regionEndX) { + var1.regionLowX = this.regionEndX; + } - if (area.minY0 > this.field1097) { - area.minY0 = this.field1097; - } + if (var1.regionHighX < this.regionEndX) { + var1.regionHighX = this.regionEndX; + } - if (area.maxY0 < this.field1099) { - area.maxY0 = this.field1099; - } + if (var1.regionLowY > this.regionEndY) { + var1.regionLowY = this.regionEndY; + } - } + if (var1.regionHighY < this.regionEndY) { + var1.regionHighY = this.regionEndY; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIB)Z", - garbageValue = "93" - ) - @Export("containsCoord") - public boolean containsCoord(int plane, int x, int y) { - return plane >= this.field1090 && plane < this.field1090 + this.field1091 ? x >> 6 >= this.field1092 && x >> 6 <= this.field1094 && y >> 6 >= this.field1093 && y >> 6 <= this.field1095 : false; - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "4" - ) - @Export("containsPosition") - public boolean containsPosition(int x, int y) { - return x >> 6 >= this.field1096 && x >> 6 <= this.field1098 && y >> 6 >= this.field1097 && y >> 6 <= this.field1099; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "59484528" + ) + @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("w") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "1545934424" - ) - @Export("position") - public int[] position(int plane, int x, int y) { - if (!this.containsCoord(plane, x, y)) { - return null; - } else { - int[] var4 = new int[]{this.field1096 * 64 - this.field1092 * 64 + x, y + (this.field1097 * 64 - this.field1093 * 64)}; - return var4; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "56" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "-1916486802" - ) - @Export("coord") - public Coord coord(int x, int y) { - if (!this.containsPosition(x, y)) { - return null; - } else { - int var3 = this.field1092 * 64 - this.field1096 * 64 + x; - int var4 = this.field1093 * 64 - this.field1097 * 64 + y; - return new Coord(this.field1090, var3, var4); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIB)[I", + garbageValue = "12" + ) + @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("u") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-113" - ) - @Export("read") - public void read(Buffer buffer) { - this.field1090 = buffer.readUnsignedByte(); - this.field1091 = buffer.readUnsignedByte(); - this.field1092 = buffer.readUnsignedShort(); - this.field1093 = buffer.readUnsignedShort(); - this.field1094 = buffer.readUnsignedShort(); - this.field1095 = buffer.readUnsignedShort(); - this.field1096 = buffer.readUnsignedShort(); - this.field1097 = buffer.readUnsignedShort(); - this.field1098 = buffer.readUnsignedShort(); - this.field1099 = buffer.readUnsignedShort(); - this.method426(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIB)Lhv;", + garbageValue = "-13" + ) + @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("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-126" - ) - void method426() { - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1767519038" + ) + @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("d") - @ObfuscatedSignature( - signature = "(Lho;II)V", - garbageValue = "1115233428" - ) - static final void method345(Widget var0, int var1) { - if (var0.field966 == null) { - throw new RuntimeException(); - } else { - if (var0.field984 == null) { - var0.field984 = new int[var0.field966.length]; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-209894164" + ) + @Export("postRead") + void postRead() { + } - var0.field984[var1] = Integer.MAX_VALUE; - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "-57" + ) + @Export("getModIconString") + static String getModIconString(int var0) { + return ""; + } - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "23" - ) - @Export("runWidgetOnLoadListener") - static void runWidgetOnLoadListener(int var0) { - if (var0 != -1 && GroundItemPile.loadInterface(var0)) { - Widget[] var1 = Widget.interfaceComponents[var0]; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;IZI)I", + garbageValue = "-2067134672" + ) + @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 var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3.onLoad != null) { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args0 = var3.onLoad; - GrandExchangeEvent.runScript0(var4, 5000000); - } - } - } + for (int var7 = 0; var7 < var6; ++var7) { + char var8 = var0.charAt(var7); + if (var7 == 0) { + if (var8 == '-') { + var3 = true; + continue; + } - } + if (var8 == '+') { + continue; + } + } - @ObfuscatedName("ic") - @ObfuscatedSignature( - signature = "(Lho;IIZB)V", - garbageValue = "-35" - ) - @Export("alignWidgetSize") - static void alignWidgetSize(Widget component, int parentWidth, int parentHeight, boolean var3) { - int var4 = component.width; - int var5 = component.height; - if (component.widthAlignment == 0) { - component.width = component.rawWidth; - } else if (component.widthAlignment == 1) { - component.width = parentWidth - component.rawWidth; - } else if (component.widthAlignment == 2) { - component.width = component.rawWidth * parentWidth >> 14; - } + 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(); + } - if (component.heightAlignment == 0) { - component.height = component.rawHeight; - } else if (component.heightAlignment == 1) { - component.height = parentHeight - component.rawHeight; - } else if (component.heightAlignment == 2) { - component.height = parentHeight * component.rawHeight >> 14; - } + var10 = var8 - 'W'; + } - if (component.widthAlignment == 4) { - component.width = component.height * component.field958 / component.field959; - } + if (var10 >= var1) { + throw new NumberFormatException(); + } - if (component.heightAlignment == 4) { - component.height = component.width * component.field959 / component.field958; - } + if (var3) { + var10 = -var10; + } - if (component.contentType == 1337) { - Client.viewportWidget = component; - } + int var9 = var10 + var5 * var1; + if (var9 / var1 != var5) { + throw new NumberFormatException(); + } - if (var3 && component.onResize != null && (var4 != component.width || var5 != component.height)) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = component; - var6.args0 = component.onResize; - Client.scriptEvents.addFirst(var6); - } + 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/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 7a0ec2ec78..811c329e88 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -4,321 +4,175 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("as") +@ObfuscatedName("s") @Implements("WorldMapSection2") public class WorldMapSection2 implements WorldMapSection { - @ObfuscatedName("c") - @Export("userHomeDirectory") - public static String userHomeDirectory; - @ObfuscatedName("du") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive15") - static Archive archive15; - @ObfuscatedName("ey") - @ObfuscatedGetter( - intValue = -1516124929 - ) - static int field1071; - @ObfuscatedName("ha") - @ObfuscatedGetter( - intValue = 1052834531 - ) - @Export("cameraX") - static int cameraX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1971304641 - ) - int field1072; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1483447179 - ) - int field1073; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1875803617 - ) - int field1074; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 284566685 - ) - int field1075; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1513010233 - ) - int field1076; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1383826035 - ) - int field1077; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1526007343 - ) - int field1078; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -890169045 - ) - int field1079; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1797724181 - ) - int field1080; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 325777555 - ) - int field1081; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1951013555 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -927462805 + ) + @Export("planes") + int planes; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1508174563 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -290088343 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -2013070877 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 204062243 + ) + @Export("regionEndY") + int regionEndY; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1982766605 + ) + int field202; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1874865145 + ) + int field203; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1506169835 + ) + int field204; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1738066987 + ) + int field205; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "1384899025" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea area) { - if (area.minX0 > this.field1076) { - area.minX0 = this.field1076; - } + WorldMapSection2() { + } - if (area.maxX0 < this.field1076) { - area.maxX0 = this.field1076; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lal;B)V", + garbageValue = "-53" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.field202) { + var1.regionLowX = this.field202; + } - if (area.minY0 > this.field1077) { - area.minY0 = this.field1077; - } + if (var1.regionHighX < this.field204) { + var1.regionHighX = this.field204; + } - if (area.maxY0 < this.field1077) { - area.maxY0 = this.field1077; - } + if (var1.regionLowY > this.field203) { + var1.regionLowY = this.field203; + } - } + if (var1.regionHighY < this.field205) { + var1.regionHighY = this.field205; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIB)Z", - garbageValue = "93" - ) - @Export("containsCoord") - public boolean containsCoord(int plane, int x, int y) { - return plane >= this.field1072 && plane < this.field1072 + this.field1073 ? x >= (this.field1074 << 6) + (this.field1078 << 3) && x <= (this.field1074 << 6) + (this.field1078 << 3) + 7 && y >= (this.field1075 << 6) + (this.field1079 << 3) && y <= (this.field1075 << 6) + (this.field1079 << 3) + 7 : false; - } + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "4" - ) - @Export("containsPosition") - public boolean containsPosition(int x, int y) { - return x >= (this.field1076 << 6) + (this.field1080 << 3) && x <= (this.field1076 << 6) + (this.field1080 << 3) + 7 && y >= (this.field1077 << 6) + (this.field1081 << 3) && y <= (this.field1077 << 6) + (this.field1081 << 3) + 7; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "59484528" + ) + @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("w") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "1545934424" - ) - @Export("position") - public int[] position(int plane, int x, int y) { - if (!this.containsCoord(plane, x, y)) { - return null; - } else { - int[] var4 = new int[]{this.field1076 * 64 - this.field1074 * 64 + x + (this.field1080 * 8 - this.field1078 * 8), y + (this.field1077 * 64 - this.field1075 * 64) + (this.field1081 * 8 - this.field1079 * 8)}; - return var4; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "56" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 >= this.field202 && var1 >> 6 <= this.field204 && var2 >> 6 >= this.field203 && var2 >> 6 <= this.field205; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "-1916486802" - ) - @Export("coord") - public Coord coord(int x, int y) { - if (!this.containsPosition(x, y)) { - return null; - } else { - int var3 = this.field1074 * 64 - this.field1076 * 64 + (this.field1078 * 8 - this.field1080 * 8) + x; - int var4 = this.field1075 * 64 - this.field1077 * 64 + y + (this.field1079 * 8 - this.field1081 * 8); - return new Coord(this.field1072, var3, var4); - } - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIB)[I", + garbageValue = "12" + ) + @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.field202 * 64 - this.regionStartX * 64 + var2, var3 + (this.field203 * 64 - this.regionStartY * 64)}; + return var4; + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-113" - ) - @Export("read") - public void read(Buffer buffer) { - this.field1072 = buffer.readUnsignedByte(); - this.field1073 = buffer.readUnsignedByte(); - this.field1074 = buffer.readUnsignedShort(); - this.field1078 = buffer.readUnsignedByte(); - this.field1075 = buffer.readUnsignedShort(); - this.field1079 = buffer.readUnsignedByte(); - this.field1076 = buffer.readUnsignedShort(); - this.field1080 = buffer.readUnsignedByte(); - this.field1077 = buffer.readUnsignedShort(); - this.field1081 = buffer.readUnsignedByte(); - this.method424(); - } + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIB)Lhv;", + garbageValue = "-13" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.regionStartX * 64 - this.field202 * 64 + var1; + int var4 = this.regionStartY * 64 - this.field203 * 64 + var2; + return new Coord(this.minPlane, var3, var4); + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2026323437" - ) - void method424() { - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "1767519038" + ) + @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.field202 = var1.readUnsignedShort(); + this.field203 = var1.readUnsignedShort(); + this.field204 = var1.readUnsignedShort(); + this.field205 = var1.readUnsignedShort(); + this.postRead(); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(II)Lim;", - garbageValue = "-205156540" - ) - @Export("getKitDefinition") - public static KitDefinition getKitDefinition(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("fc") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2142100332" - ) - static void method808() { - Client.mouseLastLastPressedTimeMillis = 1L; - Projectile.mouseRecorder.index = 0; - class230.field1138 = true; - Client.field166 = true; - Client.field126 = -1L; - PendingSpawn.method1694(); - Client.packetWriter.method239(); - Client.packetWriter.packetBuffer.index = 0; - Client.packetWriter.serverPacket0 = null; - Client.packetWriter.field676 = null; - Client.packetWriter.field677 = null; - Client.packetWriter.field678 = null; - Client.packetWriter.serverPacket0Length = 0; - Client.packetWriter.field674 = 0; - Client.rebootTimer = 0; - Client.field175 = 0; - Client.hintArrowType = 0; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - MouseHandler.MouseHandler_idleCycles = 0; - GroundItem.method2094(); - Client.isItemSelected = 0; - Client.isSpellSelected = false; - Client.soundEffectCount = 0; - Client.camAngleY = 0; - Client.oculusOrbState = 0; - ClientParameter.field3645 = null; - Client.minimapState = 0; - Client.field125 = -1; - Client.destinationX = 0; - Client.destinationY = 0; - Client.playerAttackOption = AttackOption.AttackOption_hidden; - Client.npcAttackOption = AttackOption.AttackOption_hidden; - Client.npcCount = 0; - Players.Players_count = 0; - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { - Players.field733[var0] = null; - Players.field732[var0] = 1; - } - - 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(); - WorldMapArea.friendSystem.clear(); - - for (var0 = 0; var0 < VarpDefinition.VarpDefinition_fileCount; ++var0) { - VarpDefinition var3 = SecureRandomCallable.method1140(var0); - if (var3 != null) { - Varps.Varps_temp[var0] = 0; - Varps.Varps_main[var0] = 0; - } - } - - class196.varcs.clearTransient(); - Client.followerIndex = -1; - if (Client.rootInterface != -1) { - AbstractByteArrayCopier.unloadInterface(Client.rootInterface); - } - - for (InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.first(); var4 != null; var4 = (InterfaceParent)Client.interfaceParents.next()) { - MenuAction.closeInterface(var4, true); - } - - Client.rootInterface = -1; - Client.interfaceParents = new NodeHashTable(8); - Client.field127 = 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; - } - - SpriteMask.method4389(); - Client.isLoading = true; - - for (var0 = 0; var0 < 100; ++var0) { - Client.field100[var0] = true; - } - - AbstractByteArrayCopier.method4024(); - PacketWriter.clanChat = null; - - for (var0 = 0; var0 < 8; ++var0) { - Client.grandExchangeOffers[var0] = new GrandExchangeOffer(); - } - - FloorDecoration.grandExchangeEvents = null; - } + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-39" + ) + @Export("postRead") + void postRead() { + } } diff --git a/runescape-client/src/main/java/WorldMapSection3.java b/runescape-client/src/main/java/WorldMapSection3.java deleted file mode 100644 index 887c39c087..0000000000 --- a/runescape-client/src/main/java/WorldMapSection3.java +++ /dev/null @@ -1,284 +0,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("y") -@Implements("WorldMapSection3") -public class WorldMapSection3 implements WorldMapSection { - @ObfuscatedName("sn") - @ObfuscatedGetter( - intValue = -1946112139 - ) - @Export("foundItemIdCount") - static int foundItemIdCount; - @ObfuscatedName("p") - static int[] field1056; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -2011838881 - ) - int field1057; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1299225715 - ) - int field1058; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 82600709 - ) - int field1059; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -477370575 - ) - int field1060; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -671345527 - ) - int field1061; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 529427495 - ) - int field1062; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -150870205 - ) - int field1063; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1009718107 - ) - int field1064; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1022177315 - ) - int field1065; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1397517463 - ) - int field1066; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -799353317 - ) - int field1067; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1388959491 - ) - int field1068; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1657956317 - ) - int field1069; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1345061881 - ) - int field1070; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lag;I)V", - garbageValue = "1384899025" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea area) { - if (area.minX0 > this.field1061) { - area.minX0 = this.field1061; - } - - if (area.maxX0 < this.field1061) { - area.maxX0 = this.field1061; - } - - if (area.minY0 > this.field1062) { - area.minY0 = this.field1062; - } - - if (area.maxY0 < this.field1062) { - area.maxY0 = this.field1062; - } - - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIB)Z", - garbageValue = "93" - ) - @Export("containsCoord") - public boolean containsCoord(int plane, int x, int y) { - return plane >= this.field1057 && plane < this.field1057 + this.field1058 ? x >= (this.field1059 << 6) + (this.field1063 << 3) && x <= (this.field1059 << 6) + (this.field1065 << 3) + 7 && y >= (this.field1060 << 6) + (this.field1064 << 3) && y <= (this.field1060 << 6) + (this.field1066 << 3) + 7 : false; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "4" - ) - @Export("containsPosition") - public boolean containsPosition(int x, int y) { - return x >= (this.field1061 << 6) + (this.field1067 << 3) && x <= (this.field1061 << 6) + (this.field1069 << 3) + 7 && y >= (this.field1062 << 6) + (this.field1068 << 3) && y <= (this.field1062 << 6) + (this.field1070 << 3) + 7; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "1545934424" - ) - @Export("position") - public int[] position(int plane, int x, int y) { - if (!this.containsCoord(plane, x, y)) { - return null; - } else { - int[] var4 = new int[]{this.field1061 * 64 - this.field1059 * 64 + x + (this.field1067 * 8 - this.field1063 * 8), y + (this.field1062 * 64 - this.field1060 * 64) + (this.field1068 * 8 - this.field1064 * 8)}; - return var4; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(III)Lhu;", - garbageValue = "-1916486802" - ) - @Export("coord") - public Coord coord(int x, int y) { - if (!this.containsPosition(x, y)) { - return null; - } else { - int var3 = this.field1059 * 64 - this.field1061 * 64 + (this.field1063 * 8 - this.field1067 * 8) + x; - int var4 = this.field1060 * 64 - this.field1062 * 64 + y + (this.field1064 * 8 - this.field1068 * 8); - return new Coord(this.field1057, var3, var4); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lgr;B)V", - garbageValue = "-113" - ) - @Export("read") - public void read(Buffer buffer) { - this.field1057 = buffer.readUnsignedByte(); - this.field1058 = buffer.readUnsignedByte(); - this.field1059 = buffer.readUnsignedShort(); - this.field1063 = buffer.readUnsignedByte(); - this.field1065 = buffer.readUnsignedByte(); - this.field1060 = buffer.readUnsignedShort(); - this.field1064 = buffer.readUnsignedByte(); - this.field1066 = buffer.readUnsignedByte(); - this.field1061 = buffer.readUnsignedShort(); - this.field1067 = buffer.readUnsignedByte(); - this.field1069 = buffer.readUnsignedByte(); - this.field1062 = buffer.readUnsignedShort(); - this.field1068 = buffer.readUnsignedByte(); - this.field1070 = buffer.readUnsignedByte(); - this.method423(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1967186894" - ) - void method423() { - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2102591569" - ) - @Export("savePreferences") - static void savePreferences() { - AccessFile var0 = null; - - try { - var0 = LoginPacket.getPreferencesFile("", WorldMapRectangle.studioGame.name, true); - Buffer var1 = ReflectionCheck.clientPreferences.toBuffer(); - var0.write(var1.array, 0, var1.index); - } catch (Exception var3) { - } - - try { - if (var0 != null) { - var0.closeSync(true); - } - } catch (Exception var2) { - } - - } - - @ObfuscatedName("hz") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1886145284" - ) - static final void method245(int var0) { - if (var0 >= 0) { - int var1 = Client.menuArguments1[var0]; - int var2 = Client.menuArguments2[var0]; - int var3 = Client.menuOpcodes[var0]; - int var4 = Client.menuArguments0[var0]; - String var5 = Client.menuActions[var0]; - String var6 = Client.menuTargetNames[var0]; - Actor.menuAction(var1, var2, var3, var4, var5, var6, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - - } - - @ObfuscatedName("io") - @ObfuscatedSignature( - signature = "(Lho;IIIIIII)V", - garbageValue = "-1723792771" - ) - static final void method246(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (Client.field188) { - Client.field189 = 32; - } else { - Client.field189 = 0; - } - - Client.field188 = false; - int var7; - if (MouseHandler.MouseHandler_currentButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { - if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { - var0.scrollY -= 4; - WorldMapRectangle.method295(var0); - } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { - var0.scrollY += 4; - WorldMapRectangle.method295(var0); - } else if (var5 >= var1 - Client.field189 && var5 < Client.field189 + 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; - WorldMapRectangle.method295(var0); - Client.field188 = 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; - WorldMapRectangle.method295(var0); - } - } - - } -} diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index d1eec2286b..6db57725d9 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -1,4 +1,3 @@ -import java.util.Date; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; @@ -9,137 +8,221 @@ import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("h") @Implements("WorldMapSectionType") public enum WorldMapSectionType implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lh;" - ) - @Export("WORLDMAPSECTIONTYPE0") - WORLDMAPSECTIONTYPE0(1, (byte)0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lh;" - ) - @Export("WORLDMAPSECTIONTYPE1") - WORLDMAPSECTIONTYPE1(0, (byte)1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lh;" - ) - @Export("WORLDMAPSECTIONTYPE2") - WORLDMAPSECTIONTYPE2(3, (byte)2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lh;" - ) - @Export("WORLDMAPSECTIONTYPE3") - WORLDMAPSECTIONTYPE3(2, (byte)3); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lh;" + ) + @Export("WORLDMAPSECTIONTYPE0") + WORLDMAPSECTIONTYPE0(1, (byte)0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lh;" + ) + @Export("WORLDMAPSECTIONTYPE1") + WORLDMAPSECTIONTYPE1(2, (byte)1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lh;" + ) + @Export("WORLDMAPSECTIONTYPE2") + WORLDMAPSECTIONTYPE2(0, (byte)2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lh;" + ) + @Export("WORLDMAPSECTIONTYPE3") + WORLDMAPSECTIONTYPE3(3, (byte)3); - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("logoSprite") - static IndexedSprite logoSprite; - @ObfuscatedName("n") - static int[] field1104; - @ObfuscatedName("gc") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("modIconSprites") - static IndexedSprite[] modIconSprites; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 738759853 - ) - @Export("type") - final int type; - @ObfuscatedName("u") - @Export("id") - final byte id; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1941114483 + ) + @Export("type") + final int type; + @ObfuscatedName("l") + @Export("id") + final byte id; - private WorldMapSectionType(int var3, byte var4) { - this.type = var3; - this.id = var4; - } + WorldMapSectionType(int var3, byte var4) { + this.type = var3; + this.id = var4; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("m") - @Export("getDateString") - public static String getDateString(long millis) { - Calendar.Calendar_calendar.setTime(new Date(millis)); - 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("q") + @ObfuscatedSignature( + signature = "(Lkx;B)V", + garbageValue = "-61" + ) + @Export("updatePlayer") + static final void updatePlayer(PacketBuffer var0) { + var0.importIndex(); + int var1 = Client.localPlayerIndex; + Player var2 = Client.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 - MusicPatchNode2.baseX * 64; + var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); + var2.pathY[0] = var6 - class1.baseY * 64; + var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); + class42.plane = var2.plane = var4; + if (Players.field1254[var1] != null) { + var2.read(Players.field1254[var1]); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IZIZI)V", - garbageValue = "2102950996" - ) - @Export("sortWorldList") - static void sortWorldList(int primaryMode, boolean primaryReversed, int secondaryMode, boolean secondaryReversed) { - if (ItemContainer.worlds != null) { - class3.doWorldSorting(0, ItemContainer.worlds.length - 1, primaryMode, primaryReversed, secondaryMode, secondaryReversed); - } + Players.Players_count = 0; + Players.Players_indices[++Players.Players_count - 1] = var1; + Players.field1252[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.field1252[var7] = 0; + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "-1520594673" - ) - static int method253(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - if (var0 == ScriptOpcodes.CC_GETX) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETY) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHIDE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETLAYER) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.parentId; - return 1; - } else { - return 2; - } - } + var0.exportIndex(); + } - @ObfuscatedName("gp") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1187868759" - ) - static void method254() { - if (class60.worldMap != null) { - class60.worldMap.method366(SoundSystem.plane, (Canvas.localPlayer.x >> 7) + class50.baseX, (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY, false); - class60.worldMap.loadCache(); - } + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "1" + ) + static int method239(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + int var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (!Client.isCameraLocked) { + Client.camAngleX = var3; + Client.camAngleY = var4; + } - } + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.camAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.camAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var3 < 0) { + var3 = 0; + } + + Client.camFollowHeight = var3; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.camFollowHeight; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-292172071" + ) + static int method242(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + Client.field782 = (short)ItemContainer.method1116(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]); + if (Client.field782 <= 0) { + Client.field782 = 256; + } + + Client.field651 = (short)ItemContainer.method1116(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + if (Client.field651 <= 0) { + Client.field651 = 256; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + Client.field906 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + if (Client.field906 <= 0) { + Client.field906 = 256; + } + + Client.field908 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (Client.field908 <= 0) { + Client.field908 = 320; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { + HealthBarUpdate.Interpreter_intStackSize -= 4; + Client.field820 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + if (Client.field820 <= 0) { + Client.field820 = 1; + } + + Client.field790 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (Client.field790 <= 0) { + Client.field790 = 32767; + } else if (Client.field790 < Client.field820) { + Client.field790 = Client.field820; + } + + Client.field732 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + if (Client.field732 <= 0) { + Client.field732 = 1; + } + + Client.field659 = (short)Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + if (Client.field659 <= 0) { + Client.field659 = 32767; + } else if (Client.field659 < Client.field732) { + Client.field659 = Client.field732; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { + if (Client.viewportWidget != null) { + UrlRequest.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.viewportWidth; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.viewportHeight; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.field906; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.field908; + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = NetFileRequest.method4140(Client.field782); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = NetFileRequest.method4140(Client.field651); + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Wrapper.java b/runescape-client/src/main/java/Wrapper.java index 985dd692d7..8f60620906 100644 --- a/runescape-client/src/main/java/Wrapper.java +++ b/runescape-client/src/main/java/Wrapper.java @@ -2,22 +2,22 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("eu") +@ObfuscatedName("ew") @Implements("Wrapper") public abstract class Wrapper extends DualNode { - @ObfuscatedName("f") - @Export("size") - final int size; + @ObfuscatedName("w") + @Export("size") + final int size; - Wrapper(int var1) { - this.size = var1; - } + Wrapper(int var1) { + this.size = var1; + } - @ObfuscatedName("m") - @Export("get") - abstract Object get(); + @ObfuscatedName("q") + @Export("get") + abstract Object get(); - @ObfuscatedName("f") - @Export("isSoft") - abstract boolean isSoft(); + @ObfuscatedName("w") + @Export("isSoft") + abstract boolean isSoft(); } diff --git a/runescape-client/src/main/java/class0.java b/runescape-client/src/main/java/class0.java index f4e38d90a1..2d15b348a6 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("m") +@ObfuscatedName("q") public interface class0 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lgr;I)V", - garbageValue = "-223205903" - ) - void vmethod44(Object var1, Buffer var2); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkf;I)V", + garbageValue = "1977897097" + ) + void vmethod43(Object var1, Buffer var2); - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/Object;", - garbageValue = "704451908" - ) - Object vmethod46(Buffer var1); + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)Ljava/lang/Object;", + garbageValue = "-408972538" + ) + Object vmethod42(Buffer var1); } diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index c1911809bb..343897644f 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -1,279 +1,435 @@ +import java.io.File; 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("f") +@ObfuscatedName("w") final class class1 implements class0 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("musicPatchesArchive") - public static AbstractArchive musicPatchesArchive; + @ObfuscatedName("k") + static File field2; + @ObfuscatedName("fx") + @ObfuscatedGetter( + intValue = 768104753 + ) + @Export("baseY") + static int baseY; + @ObfuscatedName("hb") + @ObfuscatedGetter( + intValue = 1283296175 + ) + @Export("cameraZ") + static int cameraZ; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lgr;I)V", - garbageValue = "-223205903" - ) - public void vmethod44(Object var1, Buffer var2) { - this.method6((Integer)var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkf;I)V", + garbageValue = "1977897097" + ) + public void vmethod43(Object var1, Buffer var2) { + this.method6((Integer)var1, var2); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/Object;", - garbageValue = "704451908" - ) - public Object vmethod46(Buffer var1) { - return var1.readInt(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)Ljava/lang/Object;", + garbageValue = "-408972538" + ) + public Object vmethod42(Buffer var1) { + return var1.readInt(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/Integer;Lgr;I)V", - garbageValue = "-254123307" - ) - void method6(Integer var1, Buffer var2) { - var2.writeInt(var1); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljava/lang/Integer;Lkf;I)V", + garbageValue = "982248566" + ) + void method6(Integer var1, Buffer var2) { + var2.writeInt(var1); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "553036714" - ) - public static boolean method19(int var0) { - return var0 == WorldMapDecorationType.field2819.id; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "84" + ) + static final int method14(int var0, int var1) { + int var2 = FloorOverlayDefinition.method4757(45365 + var0, 91923 + var1, 4) - 128 + (FloorOverlayDefinition.method4757(var0 + 10294, var1 + 37821, 2) - 128 >> 1) + (FloorOverlayDefinition.method4757(var0, var1, 1) - 128 >> 2); + var2 = (int)((double)var2 * 0.3D) + 35; + if (var2 < 10) { + var2 = 10; + } else if (var2 > 60) { + var2 = 60; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "644743473" - ) - static int method18(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; + return var2; + } - for (int var4 = 0; var4 < var2.quantities.length; ++var4) { - if (var2.ids[var4] == var1) { - var3 += var2.quantities[var4]; - } - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)Ljava/lang/String;", + garbageValue = "-89" + ) + public static String method17(String var0) { + int var1 = var0.length(); + char[] var2 = new char[var1]; + byte var3 = 2; - return var3; - } - } + 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)) { + char var6; + if (var5 != 181 && var5 != 402) { + var6 = Character.toTitleCase(var5); + } else { + var6 = var5; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "-91" - ) - static int method8(int var0, Script var1, boolean var2) { - int var3 = -1; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Huffman.getWidget(var3); - } else { - var4 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } + var5 = var6; + } - if (var0 == ScriptOpcodes.CC_SETPOSITION) { - RouteStrategy.Interpreter_intStackSize -= 4; - var4.rawX = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4.rawY = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var4.xAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - var4.yAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - WorldMapRectangle.method295(var4); - TextureProvider.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - class39.revalidateWidgetScroll(Widget.interfaceComponents[var3 >> 16], var4, false); - } + 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; + } - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSIZE) { - RouteStrategy.Interpreter_intStackSize -= 4; - var4.rawWidth = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4.rawHeight = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var4.widthAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - var4.heightAlignment = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - WorldMapRectangle.method295(var4); - TextureProvider.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - class39.revalidateWidgetScroll(Widget.interfaceComponents[var3 >> 16], var4, false); - } + var2[var4] = var5; + } - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHIDE) { - boolean var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (var5 != var4.isHidden) { - var4.isHidden = var5; - WorldMapRectangle.method295(var4); - } + return new String(var2); + } - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { - var4.noClickThrough = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { - var4.noScrollThrough = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else { - return 2; - } - } + @ObfuscatedName("gq") + @ObfuscatedSignature( + signature = "(Lgw;I)V", + garbageValue = "-472781511" + ) + static final void method10(class185 var0) { + PacketBuffer var1 = Client.packetWriter.packetBuffer; + int var2; + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + if (class185.field2320 == var0) { + var2 = var1.method5525(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field713[var3]; + var6 = var1.method5525(); + var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; + var8 = (var6 & 7) + ChatChannel.field1306; + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + MusicPatch.method3885(class42.plane, var7, var8, var5, -1, var3, var4, 0, -1); + } - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "-82" - ) - static int method16(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.OC_NAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Skills.getItemDefinition(var3).name; - return 1; - } else { - int var4; - ItemDefinition var5; - if (var0 == ScriptOpcodes.OC_OP) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var5 = Skills.getItemDefinition(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] = ""; - } + } else { + GroundItem var32; + if (class185.field2321 == var0) { + var2 = var1.method5722(); + var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + var4 = (var2 & 7) + ChatChannel.field1306; + var5 = var1.method5534(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + NodeDeque var31 = Client.groundItems[class42.plane][var3][var4]; + if (var31 != null) { + for (var32 = (GroundItem)var31.last(); var32 != null; var32 = (GroundItem)var31.previous()) { + if ((var5 & 32767) == var32.id) { + var32.remove(); + break; + } + } - return 1; - } else if (var0 == ScriptOpcodes.OC_IOP) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var5 = Skills.getItemDefinition(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] = ""; - } + if (var31.last() == null) { + Client.groundItems[class42.plane][var3][var4] = null; + } - return 1; - } else if (var0 == ScriptOpcodes.OC_COST) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Skills.getItemDefinition(var3).price; - return 1; - } else if (var0 == ScriptOpcodes.OC_STACKABLE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Skills.getItemDefinition(var3).isStackable == 1 ? 1 : 0; - return 1; - } else { - ItemDefinition var6; - if (var0 == ScriptOpcodes.OC_CERT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Skills.getItemDefinition(var3); - if (var6.noteTemplate == -1 && var6.note >= 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.note; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - } + GrandExchangeOfferWorldComparator.updateItemPile(var3, var4); + } + } - return 1; - } else if (var0 == ScriptOpcodes.OC_UNCERT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Skills.getItemDefinition(var3); - if (var6.noteTemplate >= 0 && var6.note >= 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.note; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - } + } else { + int var9; + int var10; + int var12; + byte var13; + int var14; + int var39; + if (class185.field2316 == var0) { + var2 = var1.method5525() * 4; + var3 = var1.readUnsignedShort(); + var4 = var1.method5518(); + var5 = var1.method5525() * 4; + var6 = var1.method5535(); + var7 = var1.readUnsignedByte(); + var8 = var1.method5525(); + var9 = var1.method5532(); + var10 = var1.method5722(); + var39 = (var10 >> 4 & 7) + DefaultsGroup.field3819; + var12 = (var10 & 7) + ChatChannel.field1306; + var13 = var1.method5694(); + byte var40 = var1.method5527(); + var14 = var40 + var39; + int var41 = var13 + var12; + if (var39 >= 0 && var12 >= 0 && var39 < 104 && var12 < 104 && var14 >= 0 && var41 >= 0 && var14 < 104 && var41 < 104 && var4 != 65535) { + var39 = var39 * 128 + 64; + var12 = var12 * 128 + 64; + var14 = var14 * 128 + 64; + var41 = var41 * 128 + 64; + Projectile var15 = new Projectile(var4, class42.plane, var39, var12, ScriptEvent.getTileHeight(var39, var12, class42.plane) - var5, var9 + Client.cycle, var3 + Client.cycle, var7, var8, var6, var2); + var15.setDestination(var14, var41, ScriptEvent.getTileHeight(var14, var41, class42.plane) - var2, var9 + Client.cycle); + Client.projectiles.addFirst(var15); + } - return 1; - } else if (var0 == ScriptOpcodes.OC_MEMBERS) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Skills.getItemDefinition(var3).isMembersOnly ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Skills.getItemDefinition(var3); - if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.placeholder; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - } + } else if (class185.field2322 == var0) { + var2 = var1.method5532(); + var3 = var1.method5534(); + var4 = var1.method5532(); + var5 = var1.method5722(); + var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; + var7 = (var5 & 7) + ChatChannel.field1306; + if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { + NodeDeque var42 = Client.groundItems[class42.plane][var6][var7]; + if (var42 != null) { + for (GroundItem var34 = (GroundItem)var42.last(); var34 != null; var34 = (GroundItem)var42.previous()) { + if ((var2 & 32767) == var34.id && var4 == var34.quantity) { + var34.quantity = var3; + break; + } + } - return 1; - } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Skills.getItemDefinition(var3); - if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.placeholder; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3; - } + GrandExchangeOfferWorldComparator.updateItemPile(var6, var7); + } + } - return 1; - } else if (var0 == ScriptOpcodes.OC_FIND) { - String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - class50.findItemDefinitions(var7, var4 == 1); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapSection3.foundItemIdCount; - return 1; - } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { - if (var0 == ScriptOpcodes.OC_FINDRESET) { - WorldMapDecorationType.foundItemIndex = 0; - return 1; - } else { - return 2; - } - } else { - if (AttackOption.foundItemIds != null && WorldMapDecorationType.foundItemIndex < WorldMapSection3.foundItemIdCount) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = AttackOption.foundItemIds[++WorldMapDecorationType.foundItemIndex - 1] & '\uffff'; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } + } else if (class185.field2315 == var0) { + var2 = var1.method5518(); + var3 = var1.method5534(); + var4 = var1.method5722(); + var5 = (var4 >> 4 & 7) + DefaultsGroup.field3819; + var6 = (var4 & 7) + ChatChannel.field1306; + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + var32 = new GroundItem(); + var32.id = var3; + var32.quantity = var2; + if (Client.groundItems[class42.plane][var5][var6] == null) { + Client.groundItems[class42.plane][var5][var6] = new NodeDeque(); + } - return 1; - } - } - } - } + Client.groundItems[class42.plane][var5][var6].addFirst(var32); + GrandExchangeOfferWorldComparator.updateItemPile(var5, var6); + } - @ObfuscatedName("jv") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-370289311" - ) - static boolean method15(int var0) { - for (int var1 = 0; var1 < Client.field137; ++var1) { - if (Client.field145[var1] == var0) { - return true; - } - } + } else { + if (class185.field2319 == var0) { + var2 = var1.readUnsignedByte(); + var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + var4 = (var2 & 7) + ChatChannel.field1306; + var5 = var1.method5525(); + var6 = var1.method5722(); + var7 = var6 >> 4 & 15; + var8 = var6 & 7; + var9 = var1.method5534(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + var10 = var7 + 1; + if (Client.localPlayer.pathX[0] >= var3 - var10 && Client.localPlayer.pathX[0] <= var3 + var10 && Client.localPlayer.pathY[0] >= var4 - var10 && Client.localPlayer.pathY[0] <= var4 + var10 && Client.field892 != 0 && var8 > 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var9; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var8; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var5; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = var7 + (var4 << 8) + (var3 << 16); + ++Client.soundEffectCount; + } + } + } - return false; - } + if (class185.field2318 == var0) { + byte var37 = var1.method5527(); + var3 = var1.method5534(); + byte var38 = var1.method5527(); + var5 = var1.method5518(); + var6 = var1.readUnsignedShort(); + var7 = var1.method5722(); + var8 = var7 >> 2; + var9 = var7 & 3; + var10 = Client.field713[var8]; + byte var11 = var1.method5694(); + var12 = var1.method5532(); + var13 = var1.method5527(); + var14 = var1.readUnsignedByteNegate(); + int var35 = (var14 >> 4 & 7) + DefaultsGroup.field3819; + int var16 = (var14 & 7) + ChatChannel.field1306; + Player var17; + if (var12 == Client.localPlayerIndex) { + var17 = Client.localPlayer; + } else { + var17 = Client.players[var12]; + } - @ObfuscatedName("kp") - @ObfuscatedSignature( - signature = "(Lho;I)I", - garbageValue = "1809366429" - ) - @Export("getWidgetClickMask") - static int getWidgetClickMask(Widget component) { - IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.get(((long)component.id << 32) + (long)component.childIndex); - return var1 != null ? var1.integer : component.clickMask; - } + if (var17 != null) { + ObjectDefinition var18 = ViewportMouse.getObjectDefinition(var5); + int var19; + int var20; + if (var9 != 1 && var9 != 3) { + var19 = var18.sizeX; + var20 = var18.sizeY; + } else { + var19 = var18.sizeY; + var20 = var18.sizeX; + } + + int var21 = var35 + (var19 >> 1); + int var22 = var35 + (var19 + 1 >> 1); + int var23 = var16 + (var20 >> 1); + int var24 = var16 + (var20 + 1 >> 1); + int[][] var25 = Tiles.Tiles_heights[class42.plane]; + int var26 = var25[var22][var23] + var25[var21][var23] + var25[var21][var24] + var25[var22][var24] >> 2; + int var27 = (var35 << 7) + (var19 << 6); + int var28 = (var16 << 7) + (var20 << 6); + Model var29 = var18.getModel(var8, var9, var25, var27, var26, var28); + if (var29 != null) { + MusicPatch.method3885(class42.plane, var35, var16, var10, -1, 0, 0, var6 + 1, var3 + 1); + var17.animationCycleStart = var6 + Client.cycle; + var17.animationCycleEnd = var3 + Client.cycle; + var17.model0 = var29; + var17.field633 = var35 * 128 + var19 * 64; + var17.field620 = var16 * 128 + var20 * 64; + var17.tileHeight2 = var26; + byte var30; + if (var37 > var13) { + var30 = var37; + var37 = var13; + var13 = var30; + } + + if (var11 > var38) { + var30 = var11; + var11 = var38; + var38 = var30; + } + + var17.field627 = var35 + var37; + var17.field612 = var35 + var13; + var17.field625 = var11 + var16; + var17.field630 = var16 + var38; + } + } + } + + if (class185.field2323 == var0) { + var2 = var1.method5722(); + var3 = (var2 >> 4 & 7) + DefaultsGroup.field3819; + var4 = (var2 & 7) + ChatChannel.field1306; + var5 = var1.method5525(); + var6 = var5 >> 2; + var7 = var5 & 3; + var8 = Client.field713[var6]; + var9 = var1.method5518(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + MusicPatch.method3885(class42.plane, var3, var4, var8, var9, var6, var7, 0, -1); + } + + } else if (class185.field2317 == var0) { + var2 = var1.readUnsignedShort(); + var3 = var1.method5722(); + var4 = var1.method5518(); + var5 = var1.readUnsignedByte(); + var6 = (var5 >> 4 & 7) + DefaultsGroup.field3819; + var7 = (var5 & 7) + ChatChannel.field1306; + if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { + var6 = var6 * 128 + 64; + var7 = var7 * 128 + 64; + GraphicsObject var33 = new GraphicsObject(var2, class42.plane, var6, var7, ScriptEvent.getTileHeight(var6, var7, class42.plane) - var3, var4, Client.cycle); + Client.graphicsObjects.addFirst(var33); + } + + } else if (class185.field2324 == var0) { + var2 = var1.method5525(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field713[var3]; + var6 = var1.readUnsignedByteNegate(); + var7 = (var6 >> 4 & 7) + DefaultsGroup.field3819; + var8 = (var6 & 7) + ChatChannel.field1306; + var9 = var1.readUnsignedShort(); + if (var7 >= 0 && var8 >= 0 && var7 < 103 && var8 < 103) { + if (var5 == 0) { + BoundaryObject var36 = GrandExchangeOfferWorldComparator.scene.method3088(class42.plane, var7, var8); + if (var36 != null) { + var39 = class43.method770(var36.tag); + if (var3 == 2) { + var36.entity1 = new DynamicObject(var39, 2, var4 + 4, class42.plane, var7, var8, var9, false, var36.entity1); + var36.entity2 = new DynamicObject(var39, 2, var4 + 1 & 3, class42.plane, var7, var8, var9, false, var36.entity2); + } else { + var36.entity1 = new DynamicObject(var39, var3, var4, class42.plane, var7, var8, var9, false, var36.entity1); + } + } + } + + if (var5 == 1) { + WallDecoration var43 = GrandExchangeOfferWorldComparator.scene.method3118(class42.plane, var7, var8); + if (var43 != null) { + var39 = class43.method770(var43.tag); + if (var3 != 4 && var3 != 5) { + if (var3 == 6) { + var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); + } else if (var3 == 7) { + var43.entity1 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity1); + } else if (var3 == 8) { + var43.entity1 = new DynamicObject(var39, 4, var4 + 4, class42.plane, var7, var8, var9, false, var43.entity1); + var43.entity2 = new DynamicObject(var39, 4, (var4 + 2 & 3) + 4, class42.plane, var7, var8, var9, false, var43.entity2); + } + } else { + var43.entity1 = new DynamicObject(var39, 4, var4, class42.plane, var7, var8, var9, false, var43.entity1); + } + } + } + + if (var5 == 2) { + GameObject var44 = GrandExchangeOfferWorldComparator.scene.method3195(class42.plane, var7, var8); + if (var3 == 11) { + var3 = 10; + } + + if (var44 != null) { + var44.entity = new DynamicObject(class43.method770(var44.tag), var3, var4, class42.plane, var7, var8, var9, false, var44.entity); + } + } + + if (var5 == 3) { + FloorDecoration var45 = GrandExchangeOfferWorldComparator.scene.getFloorDecoration(class42.plane, var7, var8); + if (var45 != null) { + var45.entity = new DynamicObject(class43.method770(var45.tag), 22, var4, class42.plane, var7, var8, var9, false, var45.entity); + } + } + } + + } + } + } + } + } + + @ObfuscatedName("hl") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1662351965" + ) + @Export("isWidgetMenuOpcode") + static boolean isWidgetMenuOpcode(int var0) { + return var0 == 57 || var0 == 58 || var0 == 1007 || var0 == 25 || var0 == 30; + } } diff --git a/runescape-client/src/main/java/class102.java b/runescape-client/src/main/java/class102.java deleted file mode 100644 index 0e13792535..0000000000 --- a/runescape-client/src/main/java/class102.java +++ /dev/null @@ -1,311 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ca") -public class class102 { - @ObfuscatedName("m") - static final int[] field1106; - @ObfuscatedName("f") - static final float[] field1107; - @ObfuscatedName("x") - static int[] field1108; - @ObfuscatedName("d") - static int[] field1109; - @ObfuscatedName("k") - static boolean[] field1110; - @ObfuscatedName("q") - int[] field1353; - @ObfuscatedName("w") - int field1360; - @ObfuscatedName("o") - int[] field1357; - @ObfuscatedName("u") - int[] field1352; - @ObfuscatedName("g") - int[] field1356; - @ObfuscatedName("l") - int[] field1358; - @ObfuscatedName("e") - int[][] field1359; - - class102() { - int var1 = MusicSample.method2352(16); - if (var1 != 1) { - throw new RuntimeException(); - } else { - int var2 = MusicSample.method2352(5); - int var3 = 0; - this.field1357 = new int[var2]; - - int var4; - int var5; - for (var4 = 0; var4 < var2; ++var4) { - var5 = MusicSample.method2352(4); - this.field1357[var4] = var5; - if (var5 >= var3) { - var3 = var5 + 1; - } - } - - this.field1352 = new int[var3]; - this.field1356 = new int[var3]; - this.field1358 = new int[var3]; - this.field1359 = new int[var3][]; - - int var6; - for (var4 = 0; var4 < var3; ++var4) { - this.field1352[var4] = MusicSample.method2352(3) + 1; - var5 = this.field1356[var4] = MusicSample.method2352(2); - if (var5 != 0) { - this.field1358[var4] = MusicSample.method2352(8); - } - - var5 = 1 << var5; - int[] var7 = new int[var5]; - this.field1359[var4] = var7; - - for (var6 = 0; var6 < var5; ++var6) { - var7[var6] = MusicSample.method2352(8) - 1; - } - } - - this.field1360 = MusicSample.method2352(2) + 1; - var4 = MusicSample.method2352(4); - var5 = 2; - - int var9; - for (var9 = 0; var9 < var2; ++var9) { - var5 += this.field1352[this.field1357[var9]]; - } - - this.field1353 = new int[var5]; - this.field1353[0] = 0; - this.field1353[1] = 1 << var4; - var5 = 2; - - for (var9 = 0; var9 < var2; ++var9) { - var6 = this.field1357[var9]; - - for (int var8 = 0; var8 < this.field1352[var6]; ++var8) { - this.field1353[var5++] = MusicSample.method2352(var4); - } - } - - if (field1108 == null || field1108.length < var5) { - field1108 = new int[var5]; - field1109 = new int[var5]; - field1110 = new boolean[var5]; - } - - } - } - - @ObfuscatedName("q") - int method2379(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("w") - void method2365(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] *= field1107[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] *= field1107[var11]; - } - - } - - @ObfuscatedName("o") - void method2366(int var1, int var2) { - if (var1 < var2) { - int var3 = var1; - int var4 = field1108[var1]; - int var5 = field1109[var1]; - boolean var6 = field1110[var1]; - - for (int var7 = var1 + 1; var7 <= var2; ++var7) { - int var8 = field1108[var7]; - if (var8 < var4) { - field1108[var3] = var8; - field1109[var3] = field1109[var7]; - field1110[var3] = field1110[var7]; - ++var3; - field1108[var7] = field1108[var3]; - field1109[var7] = field1109[var3]; - field1110[var7] = field1110[var3]; - } - } - - field1108[var3] = var4; - field1109[var3] = var5; - field1110[var3] = var6; - this.method2366(var1, var3 - 1); - this.method2366(var3 + 1, var2); - } - - } - - @ObfuscatedName("u") - boolean method2367() { - boolean var1 = MusicSample.method2338() != 0; - if (!var1) { - return false; - } else { - int var2 = this.field1353.length; - - int var3; - for (var3 = 0; var3 < var2; ++var3) { - field1108[var3] = this.field1353[var3]; - } - - var3 = field1106[this.field1360 - 1]; - int var4 = WorldMapCacheName.method634(var3 - 1); - field1109[0] = MusicSample.method2352(var4); - field1109[1] = MusicSample.method2352(var4); - int var5 = 2; - - for (int var6 = 0; var6 < this.field1357.length; ++var6) { - int var7 = this.field1357[var6]; - int var8 = this.field1352[var7]; - int var9 = this.field1356[var7]; - int var10 = (1 << var9) - 1; - int var11 = 0; - if (var9 > 0) { - var11 = MusicSample.field1323[this.field1358[var7]].method2306(); - } - - for (int var12 = 0; var12 < var8; ++var12) { - int var13 = this.field1359[var7][var11 & var10]; - var11 >>>= var9; - field1109[var5++] = var13 >= 0 ? MusicSample.field1323[var13].method2306() : 0; - } - } - - return true; - } - } - - @ObfuscatedName("g") - void method2375(float[] var1, int var2) { - int var3 = this.field1353.length; - int var4 = field1106[this.field1360 - 1]; - boolean[] var5 = field1110; - field1110[1] = true; - var5[0] = true; - - int var6; - int var7; - int var8; - int var9; - int var10; - for (var6 = 2; var6 < var3; ++var6) { - var7 = method2369(field1108, var6); - var8 = method2363(field1108, var6); - var9 = this.method2379(field1108[var7], field1109[var7], field1108[var8], field1109[var8], field1108[var6]); - var10 = field1109[var6]; - int var11 = var4 - var9; - int var12 = (var11 < var9 ? var11 : var9) << 1; - if (var10 != 0) { - boolean[] var13 = field1110; - field1110[var8] = true; - var13[var7] = true; - field1110[var6] = true; - if (var10 >= var12) { - field1109[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; - } else { - field1109[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; - } - } else { - field1110[var6] = false; - field1109[var6] = var9; - } - } - - this.method2366(0, var3 - 1); - var6 = 0; - var7 = field1109[0] * this.field1360; - - for (var8 = 1; var8 < var3; ++var8) { - if (field1110[var8]) { - var9 = field1108[var8]; - var10 = field1109[var8] * this.field1360; - this.method2365(var6, var7, var9, var10, var1, var2); - if (var9 >= var2) { - return; - } - - var6 = var9; - var7 = var10; - } - } - - float var14 = field1107[var7]; - - for (var9 = var6; var9 < var2; ++var9) { - var1[var9] *= var14; - } - - } - - @ObfuscatedName("m") - static int method2369(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("f") - static int method2363(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; - } - - static { - field1106 = new int[]{256, 128, 86, 64}; - field1107 = 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}; - } -} diff --git a/runescape-client/src/main/java/class109.java b/runescape-client/src/main/java/class109.java deleted file mode 100644 index 8e91a37d29..0000000000 --- a/runescape-client/src/main/java/class109.java +++ /dev/null @@ -1,121 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("da") -public class class109 { - @ObfuscatedName("m") - int field1409; - @ObfuscatedName("f") - int field1406; - @ObfuscatedName("q") - int field1407; - @ObfuscatedName("w") - int field1408; - @ObfuscatedName("o") - int field1405; - @ObfuscatedName("u") - int field1411; - @ObfuscatedName("g") - int[] field1410; - - class109() { - this.field1409 = MusicSample.method2352(16); - this.field1406 = MusicSample.method2352(24); - this.field1407 = MusicSample.method2352(24); - this.field1408 = MusicSample.method2352(24) + 1; - this.field1405 = MusicSample.method2352(6) + 1; - this.field1411 = MusicSample.method2352(8); - int[] var1 = new int[this.field1405]; - - int var2; - for (var2 = 0; var2 < this.field1405; ++var2) { - int var3 = 0; - int var4 = MusicSample.method2352(3); - boolean var5 = MusicSample.method2338() != 0; - if (var5) { - var3 = MusicSample.method2352(5); - } - - var1[var2] = var3 << 3 | var4; - } - - this.field1410 = new int[this.field1405 * 8]; - - for (var2 = 0; var2 < this.field1405 * 8; ++var2) { - this.field1410[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0 ? MusicSample.method2352(8) : -1; - } - - } - - @ObfuscatedName("m") - void method2473(float[] var1, int var2, boolean var3) { - int var4; - for (var4 = 0; var4 < var2; ++var4) { - var1[var4] = 0.0F; - } - - if (!var3) { - var4 = MusicSample.field1323[this.field1411].field1306; - int var5 = this.field1407 - this.field1406; - int var6 = var5 / this.field1408; - 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 = MusicSample.field1323[this.field1411].method2306(); - - for (var11 = var4 - 1; var11 >= 0; --var11) { - if (var9 + var11 < var6) { - var7[var9 + var11] = var10 % this.field1405; - } - - var10 /= this.field1405; - } - } - - for (var10 = 0; var10 < var4; ++var10) { - var11 = var7[var9]; - int var12 = this.field1410[var8 + var11 * 8]; - if (var12 >= 0) { - int var13 = var9 * this.field1408 + this.field1406; - class98 var14 = MusicSample.field1323[var12]; - int var15; - if (this.field1409 == 0) { - var15 = this.field1408 / var14.field1306; - - for (int var19 = 0; var19 < var15; ++var19) { - float[] var20 = var14.method2307(); - - for (int var18 = 0; var18 < var14.field1306; ++var18) { - var1[var13 + var19 + var18 * var15] += var20[var18]; - } - } - } else { - var15 = 0; - - while (var15 < this.field1408) { - float[] var16 = var14.method2307(); - - for (int var17 = 0; var17 < var14.field1306; ++var17) { - var1[var13 + var15] += var16[var17]; - ++var15; - } - } - } - } - - ++var9; - if (var9 >= var6) { - break; - } - } - } - } - } - - } -} diff --git a/runescape-client/src/main/java/class114.java b/runescape-client/src/main/java/class114.java deleted file mode 100644 index b45e205c8a..0000000000 --- a/runescape-client/src/main/java/class114.java +++ /dev/null @@ -1,36 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("dg") -public class class114 { - @ObfuscatedName("m") - int field1453; - @ObfuscatedName("f") - int field1454; - @ObfuscatedName("q") - int[] field1452; - @ObfuscatedName("w") - int[] field1455; - - class114() { - MusicSample.method2352(16); - this.field1453 = MusicSample.method2338() != 0 ? MusicSample.method2352(4) + 1 : 1; - if (MusicSample.method2338() != 0) { - MusicSample.method2352(8); - } - - MusicSample.method2352(2); - if (this.field1453 > 1) { - this.field1454 = MusicSample.method2352(4); - } - - this.field1452 = new int[this.field1453]; - this.field1455 = new int[this.field1453]; - - for (int var1 = 0; var1 < this.field1453; ++var1) { - MusicSample.method2352(8); - this.field1452[var1] = MusicSample.method2352(8); - this.field1455[var1] = MusicSample.method2352(8); - } - - } -} diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index fb13bb6aae..222d6c8cbc 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -1,86 +1,70 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("i") +@ObfuscatedName("r") public class class13 { - @ObfuscatedName("x") - static int[] field1112; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lhe;" - ) - @Export("musicTrack") - public static MusicTrack musicTrack; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -1810047523 - ) - @Export("otpInt") - static int otpInt; + @ObfuscatedName("dp") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive4") + static Archive archive4; + @ObfuscatedName("gp") + @Export("regionLandArchives") + static byte[][] regionLandArchives; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIII)Lln;", - garbageValue = "862375604" - ) - static Sprite method164(int var0, int var1, int var2) { - return (Sprite)WorldMapRegion.field1051.get(MouseHandler.method1083(var0, var1, var2)); - } + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "-1481103738" + ) + public static int method152(String var0) { + return var0.length() + 2; + } - @ObfuscatedName("fm") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "63" - ) - @Export("playPcmPlayers") - static final void playPcmPlayers() { - if (AbstractArchive.pcmPlayer1 != null) { - AbstractArchive.pcmPlayer1.run(); - } + @ObfuscatedName("ht") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "246973533" + ) + static final int method151() { + return Client.menuOptionsCount - 1; + } - if (WorldMapCacheName.pcmPlayer0 != null) { - WorldMapCacheName.pcmPlayer0.run(); - } + @ObfuscatedName("ic") + @ObfuscatedSignature( + signature = "([Lhj;IIIZI)V", + garbageValue = "1879036172" + ) + @Export("resizeWidget") + static void resizeWidget(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) { + class219.alignWidgetSize(var6, var2, var3, var4); + PcmPlayer.alignWidgetPosition(var6, var2, var3); + if (var6.scrollX > var6.scrollWidth - var6.width) { + var6.scrollX = var6.scrollWidth - var6.width; + } - } + if (var6.scrollX < 0) { + var6.scrollX = 0; + } - @ObfuscatedName("hm") - @ObfuscatedSignature( - signature = "(Lbi;I)V", - garbageValue = "-527387190" - ) - static final void method165(PendingSpawn var0) { - long var1 = 0L; - int var3 = -1; - int var4 = 0; - int var5 = 0; - if (var0.type == 0) { - var1 = class65.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); - } + if (var6.scrollY > var6.scrollHeight - var6.height) { + var6.scrollY = var6.scrollHeight - var6.height; + } - if (var0.type == 1) { - var1 = class65.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); - } + if (var6.scrollY < 0) { + var6.scrollY = 0; + } - if (var0.type == 2) { - var1 = class65.scene.getGameObjectTag(var0.plane, var0.x, var0.y); - } + if (var6.type == 0) { + WorldMapSprite.revalidateWidgetScroll(var0, var6, var4); + } + } + } - if (var0.type == 3) { - var1 = class65.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); - } - - if (var1 != 0L) { - int var6 = class65.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); - var3 = HitSplatDefinition.method4972(var1); - var4 = var6 & 31; - var5 = var6 >> 6 & 3; - } - - var0.field903 = var3; - var0.field905 = var4; - var0.field904 = var5; - } + } } diff --git a/runescape-client/src/main/java/class14.java b/runescape-client/src/main/java/class14.java index 05982b75e4..b1a42b193d 100644 --- a/runescape-client/src/main/java/class14.java +++ b/runescape-client/src/main/java/class14.java @@ -1,63 +1,97 @@ -import java.io.File; -import java.io.IOException; +import java.util.Date; +import java.util.concurrent.ScheduledExecutorService; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import netscape.javascript.JSObject; -@ObfuscatedName("a") +@ObfuscatedName("v") public class class14 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/io/File;Ljava/io/File;I)V", - garbageValue = "1360082712" - ) - public static void method167(File var0, File var1) { - try { - AccessFile var2 = new AccessFile(class337.clDat, "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(""); - } + @ObfuscatedName("i") + @Export("soundSystemExecutor") + static ScheduledExecutorService soundSystemExecutor; - var2.write(var3.array, 0, var3.index); - var2.close(); - } catch (IOException var4) { - var4.printStackTrace(); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "2056666863" + ) + @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("f") - @ObfuscatedSignature( - signature = "(BI)C", - garbageValue = "-1102775612" - ) - public static char method171(byte var0) { - int var1 = var0 & 255; - if (var1 == 0) { - throw new IllegalArgumentException(""); - } else { - if (var1 >= 128 && var1 < 160) { - char var2 = class304.cp1252AsciiExtension[var1 - 128]; - if (var2 == 0) { - var2 = '?'; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lhj;IIII)V", + garbageValue = "-2006801653" + ) + static final void method153(Widget var0, int var1, int var2, int var3) { + if (var0.field2641 == null) { + throw new RuntimeException(); + } else { + var0.field2641[var1] = var2; + var0.field2588[var1] = var3; + } + } - var1 = var2; - } + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;II)V", + garbageValue = "1053602258" + ) + static final void method159(String var0, int var1) { + PacketBufferNode var2 = Archive.method4265(ClientPacket.field2280, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0) + 1); + var2.packetBuffer.writeStringCp1252NullTerminated(var0); + var2.packetBuffer.writeByte(var1); + Client.packetWriter.method2219(var2); + } - return (char)var1; - } - } + @ObfuscatedName("kk") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "-27" + ) + static void method155(String var0) { + class294.field3695 = var0; - @ObfuscatedName("gt") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1103685678" - ) - static boolean method169() { - return (Client.field210 & 8) != 0; - } + try { + String var1 = WorldMapSprite.client.getParameter(ClientParameter.field3587.id); + String var2 = WorldMapSprite.client.getParameter(ClientParameter.field3594.id); + String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; + String var5; + 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 = DirectByteArrayCopier.currentTimeMs() + 94608000000L; + Calendar.field2504.setTime(new Date(var6)); + int var8 = Calendar.field2504.get(7); + int var9 = Calendar.field2504.get(5); + int var10 = Calendar.field2504.get(2); + int var11 = Calendar.field2504.get(1); + int var12 = Calendar.field2504.get(11); + int var13 = Calendar.field2504.get(12); + int var14 = Calendar.field2504.get(13); + 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; + } + + Client var16 = WorldMapSprite.client; + var5 = "document.cookie=\"" + var3 + "\""; + JSObject.getWindow(var16).eval(var5); + } catch (Throwable var15) { + } + + } } diff --git a/runescape-client/src/main/java/class15.java b/runescape-client/src/main/java/class15.java deleted file mode 100644 index c58056d2b0..0000000000 --- a/runescape-client/src/main/java/class15.java +++ /dev/null @@ -1,209 +0,0 @@ -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("z") -public class class15 extends class21 { - @ObfuscatedName("si") - @ObfuscatedGetter( - longValue = 3423502126894795079L - ) - static long field1113; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lap;" - ) - @Export("worldMapEvent") - static WorldMapEvent worldMapEvent; - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("serverBuild") - static ServerBuild serverBuild; - @ObfuscatedName("gt") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("headIconPkSprites") - static Sprite[] headIconPkSprites; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "962518033" - ) - void method173(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 != class31.field259.field255) { - throw new IllegalStateException(""); - } else { - super.field148 = var1.readUnsignedByte(); - super.field156 = var1.readUnsignedByte(); - super.field149 = var1.readUnsignedShort(); - super.field146 = var1.readUnsignedShort(); - super.field159 = var1.readUnsignedShort(); - super.field147 = var1.readUnsignedShort(); - super.field150 = var1.method51(); - super.field152 = var1.method51(); - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1937224298" - ) - void vmethod715(Buffer var1) { - super.field156 = Math.min(super.field156, 4); - super.field151 = new short[1][64][64]; - super.field145 = new short[super.field156][64][64]; - super.field154 = new byte[super.field156][64][64]; - super.field155 = new byte[super.field156][64][64]; - super.decorations = new WorldMapDecoration[super.field156][64][64][]; - int var2 = var1.readUnsignedByte(); - if (var2 != class30.field246.field248) { - throw new IllegalStateException(""); - } else { - int var3 = var1.readUnsignedByte(); - int var4 = var1.readUnsignedByte(); - if (var3 == super.field159 && var4 == super.field147) { - for (int var5 = 0; var5 < 64; ++var5) { - for (int var6 = 0; var6 < 64; ++var6) { - this.method259(var5, var6, var1); - } - } - - } else { - throw new IllegalStateException(""); - } - } - } - - public boolean equals(Object var1) { - if (!(var1 instanceof class15)) { - return false; - } else { - class15 var2 = (class15)var1; - return super.field159 == var2.field159 && super.field147 == var2.field147; - } - } - - public int hashCode() { - return super.field159 | super.field147 << 8; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "3" - ) - static final int method183(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("p") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "2139921057" - ) - static int method182(int var0, Script var1, boolean var2) { - Widget var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Calendar.method4107(class1.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[--RouteStrategy.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("fh") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-1757982583" - ) - static final void method184(boolean var0) { - if (var0) { - Client.field658 = Login.field470 ? class159.field1980 : class159.field1983; - } else { - Client.field658 = ReflectionCheck.clientPreferences.parameters.containsKey(class279.method5357(Login.Login_username)) ? class159.field1982 : class159.field1985; - } - - } - - @ObfuscatedName("jn") - @ObfuscatedSignature( - signature = "(Lho;I)V", - garbageValue = "1585987978" - ) - static final void method186(Widget component) { - int var1 = component.contentType; - if (var1 == 324) { - if (Client.field118 == -1) { - Client.field118 = component.spriteId2; - Client.field120 = component.spriteId; - } - - if (Client.playerAppearance.isFemale) { - component.spriteId2 = Client.field118; - } else { - component.spriteId2 = Client.field120; - } - } else if (var1 == 325) { - if (Client.field118 == -1) { - Client.field118 = component.spriteId2; - Client.field120 = component.spriteId; - } - - if (Client.playerAppearance.isFemale) { - component.spriteId2 = Client.field120; - } else { - component.spriteId2 = Client.field118; - } - } else if (var1 == 327) { - component.modelAngleX = 150; - component.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - component.modelType = 5; - component.modelId = 0; - } else if (var1 == 328) { - component.modelAngleX = 150; - component.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - component.modelType = 5; - component.modelId = 1; - } - - } -} diff --git a/runescape-client/src/main/java/class159.java b/runescape-client/src/main/java/class159.java deleted file mode 100644 index 58d72f6461..0000000000 --- a/runescape-client/src/main/java/class159.java +++ /dev/null @@ -1,65 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fc") -public enum class159 implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lfc;" - ) - field1982(2, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lfc;" - ) - field1980(3, 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lfc;" - ) - field1985(1, 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lfc;" - ) - field1983(0, 3); - - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1975536793 - ) - public final int field1984; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 458308007 - ) - @Export("id") - final int id; - - private class159(int var3, int var4) { - this.field1984 = var3; - this.id = var4; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "1176730001" - ) - @Export("isCharDigit") - public static boolean isCharDigit(char var0) { - return var0 >= '0' && var0 <= '9'; - } -} diff --git a/runescape-client/src/main/java/class16.java b/runescape-client/src/main/java/class16.java index d3099181eb..151d20b9b4 100644 --- a/runescape-client/src/main/java/class16.java +++ b/runescape-client/src/main/java/class16.java @@ -1,585 +1,19 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("j") +@ObfuscatedName("g") public class class16 { - @ObfuscatedName("ol") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("mouseWheel") - static MouseWheel mouseWheel; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lbp;" - ) - @Export("loginScreenRunesAnimation") - static LoginScreenAnimation loginScreenRunesAnimation; - @ObfuscatedName("dv") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive10") - static Archive archive10; - @ObfuscatedName("ga") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("mapMarkerSprites") - static Sprite[] mapMarkerSprites; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BILjava/lang/CharSequence;I)I", - garbageValue = "-1434501763" - ) - public static int method190(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("t") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1394688825" - ) - static int method188(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Calendar.method4107(class1.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[--RouteStrategy.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("hh") - @ObfuscatedSignature( - signature = "(Lgf;I)V", - garbageValue = "1917804788" - ) - static final void method189(class190 var0) { - PacketBuffer var1 = Client.packetWriter.packetBuffer; - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - byte var10; - int var11; - if (class190.field2342 == var0) { - byte var12 = var1.method61(); - var2 = var1.method67(); - byte var13 = var1.method61(); - var3 = var1.method66(); - var4 = var1.readUnsignedShort(); - var5 = var1.method58(); - var6 = var5 >> 2; - var7 = var5 & 3; - var8 = Client.field182[var6]; - byte var14 = var1.method60(); - var9 = var1.method65(); - var10 = var1.method61(); - var11 = var1.readUnsignedByteNegate(); - int var15 = (var11 >> 4 & 7) + WorldMapSection1.field1089; - int var16 = (var11 & 7) + Canvas.field95; - Player var17; - if (var9 == Client.localPlayerIndex) { - var17 = Canvas.localPlayer; - } else { - var17 = Client.players[var9]; - } - - if (var17 != null) { - ObjectDefinition var18 = class50.getObjectDefinition(var3); - int var19; - int var20; - if (var7 != 1 && var7 != 3) { - var19 = var18.sizeX; - var20 = var18.sizeY; - } else { - var19 = var18.sizeY; - var20 = var18.sizeX; - } - - int var21 = var15 + (var19 >> 1); - int var22 = var15 + (var19 + 1 >> 1); - int var23 = var16 + (var20 >> 1); - int var24 = var16 + (var20 + 1 >> 1); - int[][] var25 = Tiles.Tiles_heights[SoundSystem.plane]; - int var26 = var25[var22][var23] + var25[var21][var23] + var25[var21][var24] + var25[var22][var24] >> 2; - int var27 = (var15 << 7) + (var19 << 6); - int var28 = (var16 << 7) + (var20 << 6); - Model var29 = var18.getModel(var6, var7, var25, var27, var26, var28); - if (var29 != null) { - class258.method4898(SoundSystem.plane, var15, var16, var8, -1, 0, 0, var4 + 1, var2 + 1); - var17.animationCycleStart = var4 + Client.cycle; - var17.animationCycleEnd = var2 + Client.cycle; - var17.model0 = var29; - var17.field719 = var15 * 128 + var19 * 64; - var17.field720 = var16 * 128 + var20 * 64; - var17.tileHeight2 = var26; - byte var30; - if (var12 > var10) { - var30 = var12; - var12 = var10; - var10 = var30; - } - - if (var14 > var13) { - var30 = var14; - var14 = var13; - var13 = var30; - } - - var17.field721 = var15 + var12; - var17.field723 = var10 + var15; - var17.field722 = var14 + var16; - var17.field724 = var13 + var16; - } - } - } - - int var31; - int var32; - if (class190.field2349 == var0) { - var31 = var1.method58(); - var2 = (var31 >> 4 & 7) + WorldMapSection1.field1089; - var32 = (var31 & 7) + Canvas.field95; - var3 = var1.method59(); - var4 = var3 >> 2; - var5 = var3 & 3; - var6 = Client.field182[var4]; - var7 = var1.method66(); - if (var2 >= 0 && var32 >= 0 && var2 < 104 && var32 < 104) { - class258.method4898(SoundSystem.plane, var2, var32, var6, var7, var4, var5, 0, -1); - } - } else { - if (class190.field2345 == var0) { - var31 = var1.readUnsignedByte(); - var2 = (var31 >> 4 & 7) + WorldMapSection1.field1089; - var32 = (var31 & 7) + Canvas.field95; - var3 = var1.method59(); - var4 = var1.method58(); - var5 = var4 >> 4 & 15; - var6 = var4 & 7; - var7 = var1.method67(); - if (var2 >= 0 && var32 >= 0 && var2 < 104 && var32 < 104) { - var8 = var5 + 1; - if (Canvas.localPlayer.pathX[0] >= var2 - var8 && Canvas.localPlayer.pathX[0] <= var8 + var2 && Canvas.localPlayer.pathY[0] >= var32 - var8 && Canvas.localPlayer.pathY[0] <= var8 + var32 && Client.field115 != 0 && var6 > 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var7; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var3; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = var5 + (var32 << 8) + (var2 << 16); - ++Client.soundEffectCount; - } - } - } - - if (class190.field2341 == var0) { - var31 = var1.readUnsignedShort(); - var2 = var1.method58(); - var32 = var1.method66(); - var3 = var1.readUnsignedByte(); - var4 = (var3 >> 4 & 7) + WorldMapSection1.field1089; - var5 = (var3 & 7) + Canvas.field95; - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { - var4 = var4 * 128 + 64; - var5 = var5 * 128 + 64; - GraphicsObject var33 = new GraphicsObject(var31, SoundSystem.plane, var4, var5, class32.getTileHeight(var4, var5, SoundSystem.plane) - var2, var32, Client.cycle); - Client.graphicsObjects.addFirst(var33); - } - } else { - int var35; - if (class190.field2344 == var0) { - var31 = var1.method59(); - var2 = var31 >> 2; - var32 = var31 & 3; - var3 = Client.field182[var2]; - var4 = var1.readUnsignedByteNegate(); - var5 = (var4 >> 4 & 7) + WorldMapSection1.field1089; - var6 = (var4 & 7) + Canvas.field95; - var7 = var1.readUnsignedShort(); - if (var5 >= 0 && var6 >= 0 && var5 < 103 && var6 < 103) { - if (var3 == 0) { - BoundaryObject var34 = class65.scene.getBoundaryObject(SoundSystem.plane, var5, var6); - if (var34 != null) { - var35 = HitSplatDefinition.method4972(var34.tag); - if (var2 == 2) { - var34.entity1 = new DynamicObject(var35, 2, var32 + 4, SoundSystem.plane, var5, var6, var7, false, var34.entity1); - var34.entity2 = new DynamicObject(var35, 2, var32 + 1 & 3, SoundSystem.plane, var5, var6, var7, false, var34.entity2); - } else { - var34.entity1 = new DynamicObject(var35, var2, var32, SoundSystem.plane, var5, var6, var7, false, var34.entity1); - } - } - } - - if (var3 == 1) { - WallDecoration var36 = class65.scene.getWallDecoration(SoundSystem.plane, var5, var6); - if (var36 != null) { - var35 = HitSplatDefinition.method4972(var36.tag); - if (var2 != 4 && var2 != 5) { - if (var2 == 6) { - var36.entity1 = new DynamicObject(var35, 4, var32 + 4, SoundSystem.plane, var5, var6, var7, false, var36.entity1); - } else if (var2 == 7) { - var36.entity1 = new DynamicObject(var35, 4, (var32 + 2 & 3) + 4, SoundSystem.plane, var5, var6, var7, false, var36.entity1); - } else if (var2 == 8) { - var36.entity1 = new DynamicObject(var35, 4, var32 + 4, SoundSystem.plane, var5, var6, var7, false, var36.entity1); - var36.entity2 = new DynamicObject(var35, 4, (var32 + 2 & 3) + 4, SoundSystem.plane, var5, var6, var7, false, var36.entity2); - } - } else { - var36.entity1 = new DynamicObject(var35, 4, var32, SoundSystem.plane, var5, var6, var7, false, var36.entity1); - } - } - } - - if (var3 == 2) { - GameObject var37 = class65.scene.method289(SoundSystem.plane, var5, var6); - if (var2 == 11) { - var2 = 10; - } - - if (var37 != null) { - var37.entity = new DynamicObject(HitSplatDefinition.method4972(var37.tag), var2, var32, SoundSystem.plane, var5, var6, var7, false, var37.entity); - } - } - - if (var3 == 3) { - FloorDecoration var39 = class65.scene.getFloorDecoration(SoundSystem.plane, var5, var6); - if (var39 != null) { - var39.entity = new DynamicObject(HitSplatDefinition.method4972(var39.tag), 22, var32, SoundSystem.plane, var5, var6, var7, false, var39.entity); - } - } - } - } else { - GroundItem var38; - NodeDeque var40; - if (class190.field2347 == var0) { - var31 = var1.method58(); - var2 = (var31 >> 4 & 7) + WorldMapSection1.field1089; - var32 = (var31 & 7) + Canvas.field95; - var3 = var1.method67(); - if (var2 >= 0 && var32 >= 0 && var2 < 104 && var32 < 104) { - var40 = Client.groundItems[SoundSystem.plane][var2][var32]; - if (var40 != null) { - for (var38 = (GroundItem)var40.last(); var38 != null; var38 = (GroundItem)var40.previous()) { - if ((var3 & 32767) == var38.id) { - var38.remove(); - break; - } - } - - if (var40.last() == null) { - Client.groundItems[SoundSystem.plane][var2][var32] = null; - } - - TilePaint.updateItemPile(var2, var32); - } - } - } else if (class190.field2350 == var0) { - var31 = var1.method59(); - var2 = var31 >> 2; - var32 = var31 & 3; - var3 = Client.field182[var2]; - var4 = var1.method59(); - var5 = (var4 >> 4 & 7) + WorldMapSection1.field1089; - var6 = (var4 & 7) + Canvas.field95; - if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { - class258.method4898(SoundSystem.plane, var5, var6, var3, -1, var2, var32, 0, -1); - } - } else if (class190.field2352 == var0) { - var31 = var1.method59() * 4; - var2 = var1.readUnsignedShort(); - var32 = var1.method66(); - var3 = var1.method59() * 4; - var4 = var1.method68(); - var5 = var1.readUnsignedByte(); - var6 = var1.method59(); - var7 = var1.method65(); - var8 = var1.method58(); - var35 = (var8 >> 4 & 7) + WorldMapSection1.field1089; - var9 = (var8 & 7) + Canvas.field95; - var10 = var1.method60(); - byte var41 = var1.method61(); - var11 = var41 + var35; - int var42 = var10 + var9; - if (var35 >= 0 && var9 >= 0 && var35 < 104 && var9 < 104 && var11 >= 0 && var42 >= 0 && var11 < 104 && var42 < 104 && var32 != 65535) { - var35 = var35 * 128 + 64; - var9 = var9 * 128 + 64; - var11 = var11 * 128 + 64; - var42 = var42 * 128 + 64; - Projectile var44 = new Projectile(var32, SoundSystem.plane, var35, var9, class32.getTileHeight(var35, var9, SoundSystem.plane) - var3, var7 + Client.cycle, var2 + Client.cycle, var5, var6, var4, var31); - var44.setDestination(var11, var42, class32.getTileHeight(var11, var42, SoundSystem.plane) - var31, var7 + Client.cycle); - Client.projectiles.addFirst(var44); - } - } else if (class190.field2346 != var0) { - if (class190.field2343 == var0) { - var31 = var1.method66(); - var2 = var1.method67(); - var32 = var1.method58(); - var3 = (var32 >> 4 & 7) + WorldMapSection1.field1089; - var4 = (var32 & 7) + Canvas.field95; - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { - var38 = new GroundItem(); - var38.id = var2; - var38.quantity = var31; - if (Client.groundItems[SoundSystem.plane][var3][var4] == null) { - Client.groundItems[SoundSystem.plane][var3][var4] = new NodeDeque(); - } - - Client.groundItems[SoundSystem.plane][var3][var4].addFirst(var38); - TilePaint.updateItemPile(var3, var4); - } - } - } else { - var31 = var1.method65(); - var2 = var1.method67(); - var32 = var1.method65(); - var3 = var1.method58(); - var4 = (var3 >> 4 & 7) + WorldMapSection1.field1089; - var5 = (var3 & 7) + Canvas.field95; - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { - var40 = Client.groundItems[SoundSystem.plane][var4][var5]; - if (var40 != null) { - for (GroundItem var43 = (GroundItem)var40.last(); var43 != null; var43 = (GroundItem)var40.previous()) { - if ((var31 & 32767) == var43.id && var32 == var43.quantity) { - var43.quantity = var2; - break; - } - } - - TilePaint.updateItemPile(var4, var5); - } - } - } - } - } - } - - } - - @ObfuscatedName("il") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZB)V", - garbageValue = "0" - ) - @Export("insertMenuItem") - static final void insertMenuItem(String action, String targetName, int opcode, int var3, int var4, int var5, boolean var6) { - if (!Client.isMenuOpen && Client.menuOptionsCount < 500) { - Client.menuActions[Client.menuOptionsCount] = action; - Client.menuTargetNames[Client.menuOptionsCount] = targetName; - Client.menuOpcodes[Client.menuOptionsCount] = opcode; - Client.menuArguments0[Client.menuOptionsCount] = var3; - Client.menuArguments1[Client.menuOptionsCount] = var4; - Client.menuArguments2[Client.menuOptionsCount] = var5; - Client.menuShiftClick[Client.menuOptionsCount] = var6; - ++Client.menuOptionsCount; - } - - } - - @ObfuscatedName("ii") - @ObfuscatedSignature( - signature = "(Lho;II)I", - garbageValue = "931169314" - ) - static final int method187(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 = Huffman.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!Skills.getItemDefinition(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 = Canvas.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 = Huffman.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!Skills.getItemDefinition(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 = WorldMapSection0.getVarbit(var9); - } - - if (var6 == 15) { - var8 = 1; - } - - if (var6 == 16) { - var8 = 2; - } - - if (var6 == 17) { - var8 = 3; - } - - if (var6 == 18) { - var7 = (Canvas.localPlayer.x >> 7) + class50.baseX; - } - - if (var6 == 19) { - var7 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; - } - - 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; - } - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "572816821" + ) + public static void method174() { + Varps.SpriteBuffer_xOffsets = null; + class326.SpriteBuffer_yOffsets = null; + class326.SpriteBuffer_spriteWidths = null; + class216.SpriteBuffer_spriteHeights = null; + Frames.SpriteBuffer_spritePalette = null; + class326.SpriteBuffer_pixels = null; + } } diff --git a/runescape-client/src/main/java/class160.java b/runescape-client/src/main/java/class160.java index 18319526ba..518801257f 100644 --- a/runescape-client/src/main/java/class160.java +++ b/runescape-client/src/main/java/class160.java @@ -1,5 +1,55 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fl") -public interface class160 { +@ObfuscatedName("fn") +public enum class160 implements Enumerated { + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lfn;" + ) + field2005(0, 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lfn;" + ) + field2004(1, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lfn;" + ) + field2001(3, 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfn;" + ) + field2002(2, 3); + + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1749572197 + ) + public final int field2003; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 962065171 + ) + @Export("id") + final int id; + + class160(int var3, int var4) { + this.field2003 = var3; + this.id = var4; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } } diff --git a/runescape-client/src/main/java/class161.java b/runescape-client/src/main/java/class161.java index 0104348d74..9fb2ce188e 100644 --- a/runescape-client/src/main/java/class161.java +++ b/runescape-client/src/main/java/class161.java @@ -1,14 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fj") -public class class161 implements class160 { - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "442083916" - ) - static int method3395(int var0) { - return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F)); - } +@ObfuscatedName("fr") +public interface class161 { } diff --git a/runescape-client/src/main/java/class168.java b/runescape-client/src/main/java/class168.java deleted file mode 100644 index 9073494309..0000000000 --- a/runescape-client/src/main/java/class168.java +++ /dev/null @@ -1,71 +0,0 @@ -import java.io.File; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fs") -public class class168 { - @ObfuscatedName("o") - public static File field1115; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -2051451755 - ) - @Export("idxCount") - public static int idxCount; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("randomDat") - public static BufferedFile randomDat; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("dat2File") - public static BufferedFile dat2File; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("idx255File") - public static BufferedFile idx255File; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 1181569415 - ) - @Export("optionButtonSpriteSubWidth") - static int optionButtonSpriteSubWidth; - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1352667137" - ) - public static boolean method3461(int var0) { - return (var0 >> 29 & 1) != 0; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(CIB)Ljava/lang/String;", - garbageValue = "66" - ) - public static String method3450(char var0, int var1) { - char[] var2 = new char[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - var2[var3] = var0; - } - - return new String(var2); - } - - static { - randomDat = null; - dat2File = null; - idx255File = null; - } -} diff --git a/runescape-client/src/main/java/class171.java b/runescape-client/src/main/java/class171.java deleted file mode 100644 index d891f8005a..0000000000 --- a/runescape-client/src/main/java/class171.java +++ /dev/null @@ -1,655 +0,0 @@ -import java.io.File; -import java.util.Hashtable; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fo") -public class class171 { - @ObfuscatedName("ro") - @ObfuscatedGetter( - intValue = -852697585 - ) - static int field1116; - @ObfuscatedName("m") - public static boolean field1117; - @ObfuscatedName("f") - public static File field1118; - @ObfuscatedName("q") - static Hashtable field1119; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "21" - ) - public static void method3498() { - KeyHandler var0 = KeyHandler.KeyHandler_instance; - synchronized(KeyHandler.KeyHandler_instance) { - ++KeyHandler.KeyHandler_idleCycles; - KeyHandler.field453 = KeyHandler.field455; - KeyHandler.field452 = 0; - int var2; - if (KeyHandler.field448 < 0) { - for (var2 = 0; var2 < 112; ++var2) { - KeyHandler.KeyHandler_pressedKeys[var2] = false; - } - - KeyHandler.field448 = KeyHandler.field447; - } else { - while (KeyHandler.field448 != KeyHandler.field447) { - var2 = KeyHandler.field446[KeyHandler.field447]; - KeyHandler.field447 = KeyHandler.field447 + 1 & 127; - if (var2 < 0) { - KeyHandler.KeyHandler_pressedKeys[~var2] = false; - } else { - if (!KeyHandler.KeyHandler_pressedKeys[var2] && KeyHandler.field452 < KeyHandler.field451.length - 1) { - KeyHandler.field451[++KeyHandler.field452 - 1] = var2; - } - - KeyHandler.KeyHandler_pressedKeys[var2] = true; - } - } - } - - if (KeyHandler.field452 > 0) { - KeyHandler.KeyHandler_idleCycles = 0; - } - - KeyHandler.field455 = KeyHandler.field454; - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(IIIIIII)I", - garbageValue = "-1048935304" - ) - public static int method3496(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; - return var2 == 0 ? var1 : (var2 == 1 ? 7 - var0 - (var3 - 1) : (var2 == 2 ? 7 - var1 - (var4 - 1) : var0)); - } - - @ObfuscatedName("fq") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-36" - ) - @Export("load") - static void load() { - int var0; - if (Client.titleLoadingStage == 0) { - class65.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); - - for (var0 = 0; var0 < 4; ++var0) { - Client.collisionMaps[var0] = new CollisionMap(104, 104); - } - - InterfaceParent.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) { - AbstractArchive.archive0 = WorldMapRectangle.newArchive(0, false, true, true); - Skeleton.archive1 = WorldMapRectangle.newArchive(1, false, true, true); - ObjectSound.archive2 = WorldMapRectangle.newArchive(2, true, false, true); - WorldMapIcon1.archive3 = WorldMapRectangle.newArchive(3, false, true, true); - WorldMapDecoration.archive4 = WorldMapRectangle.newArchive(4, false, true, true); - SecureRandomFuture.archive5 = WorldMapRectangle.newArchive(5, true, true, true); - UserComparator3.archive6 = WorldMapRectangle.newArchive(6, true, true, true); - class40.archive7 = WorldMapRectangle.newArchive(7, false, true, true); - WorldMapSection1.archive8 = WorldMapRectangle.newArchive(8, false, true, true); - class238.archive9 = WorldMapRectangle.newArchive(9, false, true, true); - class16.archive10 = WorldMapRectangle.newArchive(10, false, true, true); - Login.archive11 = WorldMapRectangle.newArchive(11, false, true, true); - Formatting.archive12 = WorldMapRectangle.newArchive(12, false, true, true); - ByteArrayPool.archive13 = WorldMapRectangle.newArchive(13, true, false, true); - class2.archive14 = WorldMapRectangle.newArchive(14, false, true, true); - WorldMapSection2.archive15 = WorldMapRectangle.newArchive(15, false, true, true); - WorldMapRectangle.archive17 = WorldMapRectangle.newArchive(17, true, true, true); - WorldMapLabelSize.archive18 = WorldMapRectangle.newArchive(18, false, true, true); - ItemContainer.archive19 = WorldMapRectangle.newArchive(19, false, true, true); - AbstractByteArrayCopier.archive20 = WorldMapRectangle.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 var1 = 0; - var0 = var1 + AbstractArchive.archive0.percentage() * 4 / 100; - var0 += Skeleton.archive1.percentage() * 4 / 100; - var0 += ObjectSound.archive2.percentage() * 2 / 100; - var0 += WorldMapIcon1.archive3.percentage() * 2 / 100; - var0 += WorldMapDecoration.archive4.percentage() * 6 / 100; - var0 += SecureRandomFuture.archive5.percentage() * 4 / 100; - var0 += UserComparator3.archive6.percentage() * 2 / 100; - var0 += class40.archive7.percentage() * 56 / 100; - var0 += WorldMapSection1.archive8.percentage() * 2 / 100; - var0 += class238.archive9.percentage() * 2 / 100; - var0 += class16.archive10.percentage() * 2 / 100; - var0 += Login.archive11.percentage() * 2 / 100; - var0 += Formatting.archive12.percentage() * 2 / 100; - var0 += ByteArrayPool.archive13.percentage() * 2 / 100; - var0 += class2.archive14.percentage() * 2 / 100; - var0 += WorldMapSection2.archive15.percentage() * 2 / 100; - var0 += ItemContainer.archive19.percentage() / 100; - var0 += WorldMapLabelSize.archive18.percentage() / 100; - var0 += AbstractByteArrayCopier.archive20.percentage() / 100; - var0 += WorldMapRectangle.archive17.method130() && WorldMapRectangle.archive17.isFullyLoaded() ? 1 : 0; - if (var0 != 100) { - if (var0 != 0) { - Login.Login_loadingText = "Checking for updates - " + var0 + "%"; - } - - Login.Login_loadingPercent = 30; - } else { - AbstractWorldMapIcon.method625(AbstractArchive.archive0, "Animations"); - AbstractWorldMapIcon.method625(Skeleton.archive1, "Skeletons"); - AbstractWorldMapIcon.method625(WorldMapDecoration.archive4, "Sound FX"); - AbstractWorldMapIcon.method625(SecureRandomFuture.archive5, "Maps"); - AbstractWorldMapIcon.method625(UserComparator3.archive6, "Music Tracks"); - AbstractWorldMapIcon.method625(class40.archive7, "Models"); - AbstractWorldMapIcon.method625(WorldMapSection1.archive8, "Sprites"); - AbstractWorldMapIcon.method625(Login.archive11, "Music Jingles"); - AbstractWorldMapIcon.method625(class2.archive14, "Music Samples"); - AbstractWorldMapIcon.method625(WorldMapSection2.archive15, "Music Patches"); - AbstractWorldMapIcon.method625(ItemContainer.archive19, "World Map"); - AbstractWorldMapIcon.method625(WorldMapLabelSize.archive18, "World Map Geography"); - AbstractWorldMapIcon.method625(AbstractByteArrayCopier.archive20, "World Map Ground"); - Calendar.spriteIds = new GraphicsDefaults(); - Calendar.spriteIds.decode(WorldMapRectangle.archive17); - Login.Login_loadingText = "Loaded update list"; - Login.Login_loadingPercent = 30; - Client.titleLoadingStage = 45; - } - } else if (Client.titleLoadingStage == 45) { - Tiles.method1097(22050, !Client.isLowDetail, 2); - MidiPcmStream var28 = new MidiPcmStream(); - var28.method174(9, 128); - WorldMapCacheName.pcmPlayer0 = Players.newPcmPlayer(GameShell.taskHandler, 0, 22050); - WorldMapCacheName.pcmPlayer0.setStream(var28); - NetSocket.setAudioArchives(WorldMapSection2.archive15, class2.archive14, WorldMapDecoration.archive4, var28); - AbstractArchive.pcmPlayer1 = Players.newPcmPlayer(GameShell.taskHandler, 1, 2048); - TaskHandler.pcmStreamMixer = new PcmStreamMixer(); - AbstractArchive.pcmPlayer1.setStream(TaskHandler.pcmStreamMixer); - MilliClock.decimator = new Decimator(22050, class309.PcmPlayer_sampleRate); - Login.Login_loadingText = "Prepared sound engine"; - Login.Login_loadingPercent = 35; - Client.titleLoadingStage = 50; - WorldMapElement.WorldMapElement_fonts = new Fonts(WorldMapSection1.archive8, ByteArrayPool.archive13); - } else { - int var29; - if (Client.titleLoadingStage == 50) { - FontName[] var2 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_bold12, FontName.FontName_plain12, FontName.FontName_verdana11, FontName.FontName_plain11, FontName.FontName_verdana13}; - var29 = var2.length; - Fonts var3 = WorldMapElement.WorldMapElement_fonts; - FontName[] var4 = new FontName[]{FontName.FontName_verdana15, FontName.FontName_bold12, FontName.FontName_plain12, FontName.FontName_verdana11, FontName.FontName_plain11, FontName.FontName_verdana13}; - Client.fontsMap = var3.createMap(var4); - if (Client.fontsMap.size() < var29) { - Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var29 + "%"; - Login.Login_loadingPercent = 40; - } else { - ScriptEvent.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); - DevicePcmPlayerProvider.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); - class2.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); - WorldMapLabelSize.platformInfo = Client.platformInfoProvider.get(); - Login.Login_loadingText = "Loaded fonts"; - Login.Login_loadingPercent = 40; - Client.titleLoadingStage = 60; - } - } else if (Client.titleLoadingStage == 60) { - var0 = FloorDecoration.method2853(class16.archive10, WorldMapSection1.archive8); - var29 = class3.method36(); - if (var0 < var29) { - Login.Login_loadingText = "Loading title screen - " + var0 * 100 / var29 + "%"; - Login.Login_loadingPercent = 50; - } else { - Login.Login_loadingText = "Loaded title screen"; - Login.Login_loadingPercent = 50; - GameShell.updateGameState(5); - Client.titleLoadingStage = 70; - } - } else { - Archive var30; - if (Client.titleLoadingStage == 70) { - if (!ObjectSound.archive2.isFullyLoaded()) { - Login.Login_loadingText = "Loading config - " + ObjectSound.archive2.loadPercent() + "%"; - Login.Login_loadingPercent = 60; - } else { - Varcs.setFloorOverlayDefinitionArchive(ObjectSound.archive2); - Varps.setFloorUnderlayDefinitionArchive(ObjectSound.archive2); - Archive var31 = ObjectSound.archive2; - Archive var33 = class40.archive7; - KitDefinition.KitDefinition_archive = var31; - KitDefinition.KitDefinition_modelsArchive = var33; - KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); - RectangleMode.setObjectDefinitionArchives(ObjectSound.archive2, class40.archive7, Client.isLowDetail); - IsaacCipher.setNpcDefinitionArchives(ObjectSound.archive2, class40.archive7); - var30 = ObjectSound.archive2; - StructDefinition.StructDefinition_archive = var30; - Archive var5 = ObjectSound.archive2; - Archive var6 = class40.archive7; - boolean var7 = Client.isMembersWorld; - Font var8 = ScriptEvent.fontPlain11; - ItemDefinition.ItemDefinition_archive = var5; - ItemDefinition.ItemDefinition_modelArchive = var6; - class30.inMembersWorld = var7; - class83.ItemDefinition_fileCount = ItemDefinition.ItemDefinition_archive.getGroupFileCount(10); - class204.ItemDefinition_fontPlain11 = var8; - Archive var9 = ObjectSound.archive2; - Archive var10 = AbstractArchive.archive0; - Archive var11 = Skeleton.archive1; - SequenceDefinition.SequenceDefinition_archive = var9; - SequenceDefinition.SequenceDefinition_animationsArchive = var10; - SequenceDefinition.SequenceDefinition_skeletonsArchive = var11; - Archive var12 = ObjectSound.archive2; - Archive var13 = class40.archive7; - SpotAnimationDefinition.SpotAnimationDefinition_archive = var12; - SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var13; - GrandExchangeOfferUnitPriceComparator.setVarbitDefinitionArchive(ObjectSound.archive2); - Archive var14 = ObjectSound.archive2; - VarpDefinition.VarpDefinition_archive = var14; - VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16); - Archive var15 = WorldMapIcon1.archive3; - Archive var16 = class40.archive7; - Archive var17 = WorldMapSection1.archive8; - Archive var18 = ByteArrayPool.archive13; - Widget.Widget_archive = var15; - BufferedSource.Widget_modelsArchive = var16; - Widget.Widget_spritesArchive = var17; - class27.Widget_fontsArchive = var18; - Widget.interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; - Widget.loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; - Archive var19 = ObjectSound.archive2; - class4.InvDefinition_archive = var19; - Archive var20 = ObjectSound.archive2; - EnumDefinition.EnumDefinition_archive = var20; - Frames.setVarcIntArchive(ObjectSound.archive2); - Archive var21 = ObjectSound.archive2; - ParamDefinition.ParamDefinition_archive = var21; - class196.varcs = new Varcs(); - class60.setHitSplatDefinitionArchives(ObjectSound.archive2, WorldMapSection1.archive8, ByteArrayPool.archive13); - Archive var22 = ObjectSound.archive2; - Archive var23 = WorldMapSection1.archive8; - HealthBarDefinition.HealthBarDefinition_archive = var22; - HealthBarDefinition.HealthBarDefinition_spritesArchive = var23; - Archive var24 = ObjectSound.archive2; - Archive var25 = WorldMapSection1.archive8; - WorldMapElement.WorldMapElement_archive = var25; - if (var24.isFullyLoaded()) { - UserComparator4.WorldMapElement_count = var24.getGroupFileCount(35); - Widget.WorldMapElement_cached = new WorldMapElement[UserComparator4.WorldMapElement_count]; - - for (int var26 = 0; var26 < UserComparator4.WorldMapElement_count; ++var26) { - byte[] var27 = var24.takeFile(35, var26); - Widget.WorldMapElement_cached[var26] = new WorldMapElement(var26); - if (var27 != null) { - Widget.WorldMapElement_cached[var26].decode(new Buffer(var27)); - Widget.WorldMapElement_cached[var26].method389(); - } - } - } - - Login.Login_loadingText = "Loaded config"; - Login.Login_loadingPercent = 60; - Client.titleLoadingStage = 80; - } - } else if (Client.titleLoadingStage == 80) { - var0 = 0; - if (GrandExchangeOfferUnitPriceComparator.compass == null) { - GrandExchangeOfferUnitPriceComparator.compass = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.compass, 0); - } else { - ++var0; - } - - if (FaceNormal.redHintArrowSprite == null) { - FaceNormal.redHintArrowSprite = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.redHintArrow, 0); - } else { - ++var0; - } - - IndexedSprite[] var32; - int var34; - if (class192.mapSceneSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.mapScenes; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var32 = null; - } else { - var32 = WorldMapLabel.createIndexedSpriteArray(); - } - - class192.mapSceneSprites = var32; - } else { - ++var0; - } - - Sprite[] var35; - if (class15.headIconPkSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.headIconsPk; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - class15.headIconPkSprites = var35; - } else { - ++var0; - } - - if (ClientPreferences.headIconPrayerSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.headIconsPrayer; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - ClientPreferences.headIconPrayerSprites = var35; - } else { - ++var0; - } - - if (Player.headIconHintSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.headIconsHint; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - Player.headIconHintSprites = var35; - } else { - ++var0; - } - - if (class16.mapMarkerSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.mapMarkers; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - class16.mapMarkerSprites = var35; - } else { - ++var0; - } - - if (KeyHandler.crossSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.crosses; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - KeyHandler.crossSprites = var35; - } else { - ++var0; - } - - if (class39.mapDotSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.mapDots; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var35 = null; - } else { - var35 = UserComparator9.createSpriteArray(); - } - - class39.mapDotSprites = var35; - } else { - ++var0; - } - - if (class32.scrollBarSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.scrollBars; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var32 = null; - } else { - var32 = WorldMapLabel.createIndexedSpriteArray(); - } - - class32.scrollBarSprites = var32; - } else { - ++var0; - } - - if (WorldMapSectionType.modIconSprites == null) { - var30 = WorldMapSection1.archive8; - var34 = Calendar.spriteIds.modIcons; - if (!SpriteMask.loadSprite(var30, var34, 0)) { - var32 = null; - } else { - var32 = WorldMapLabel.createIndexedSpriteArray(); - } - - WorldMapSectionType.modIconSprites = var32; - } else { - ++var0; - } - - if (var0 < 11) { - Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; - Login.Login_loadingPercent = 70; - } else { - AbstractFont.AbstractFont_modIconSprites = WorldMapSectionType.modIconSprites; - FaceNormal.redHintArrowSprite.normalize(); - var29 = (int)(Math.random() * 21.0D) - 10; - int var36 = (int)(Math.random() * 21.0D) - 10; - var34 = (int)(Math.random() * 21.0D) - 10; - int var38 = (int)(Math.random() * 41.0D) - 20; - class192.mapSceneSprites[0].shiftColors(var38 + var29, var38 + var36, var38 + var34); - Login.Login_loadingText = "Loaded sprites"; - Login.Login_loadingPercent = 70; - Client.titleLoadingStage = 90; - } - } else if (Client.titleLoadingStage == 90) { - if (!class238.archive9.isFullyLoaded()) { - Login.Login_loadingText = "Loading textures - 0%"; - Login.Login_loadingPercent = 90; - } else { - SecureRandomFuture.textureProvider = new TextureProvider(class238.archive9, WorldMapSection1.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); - Rasterizer3D.Rasterizer3D_setTextureLoader(SecureRandomFuture.textureProvider); - Rasterizer3D.Rasterizer3D_setBrightness(0.8D); - Client.titleLoadingStage = 100; - } - } else if (Client.titleLoadingStage == 100) { - var0 = SecureRandomFuture.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) { - Projectile.mouseRecorder = new MouseRecorder(); - GameShell.taskHandler.newThreadTask(Projectile.mouseRecorder, 10); - Login.Login_loadingText = "Loaded input handler"; - Login.Login_loadingPercent = 92; - Client.titleLoadingStage = 120; - } else if (Client.titleLoadingStage == 120) { - if (!class16.archive10.tryLoadFileByNames("huffman", "")) { - Login.Login_loadingText = "Loading wordpack - 0%"; - Login.Login_loadingPercent = 94; - } else { - Huffman var37 = new Huffman(class16.archive10.takeFileByNames("huffman", "")); - class303.huffman = var37; - Login.Login_loadingText = "Loaded wordpack"; - Login.Login_loadingPercent = 94; - Client.titleLoadingStage = 130; - } - } else if (Client.titleLoadingStage == 130) { - if (!WorldMapIcon1.archive3.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + WorldMapIcon1.archive3.loadPercent() * 4 / 5 + "%"; - Login.Login_loadingPercent = 96; - } else if (!Formatting.archive12.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (80 + Formatting.archive12.loadPercent() / 6) + "%"; - Login.Login_loadingPercent = 96; - } else if (!ByteArrayPool.archive13.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (96 + ByteArrayPool.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 (!ItemContainer.archive19.tryLoadGroupByName(WorldMapCacheName.WorldMapCacheName_details.name)) { - Login.Login_loadingText = "Loading world map - " + ItemContainer.archive19.groupLoadPercentByName(WorldMapCacheName.WorldMapCacheName_details.name) / 10 + "%"; - } else { - if (class60.worldMap == null) { - class60.worldMap = new WorldMap(); - class60.worldMap.init(ItemContainer.archive19, WorldMapLabelSize.archive18, AbstractByteArrayCopier.archive20, class2.fontBold12, Client.fontsMap, class192.mapSceneSprites); - } - - Login.Login_loadingText = "Loaded world map"; - Client.titleLoadingStage = 150; - } - } else if (Client.titleLoadingStage == 150) { - GameShell.updateGameState(10); - } - } - } - - } - - @ObfuscatedName("ie") - @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;I)V", - garbageValue = "49247882" - ) - static void method3494(int var0, int var1, int var2, int var3, String var4) { - Widget var5 = class204.getWidgetChild(var1, var2); - if (var5 != null) { - if (var5.onOp != null) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = var5; - var6.opIndex = var0; - var6.targetName = var4; - var6.args0 = var5.onOp; - AbstractArchive.runScript(var6); - } - - boolean var11 = true; - if (var5.contentType > 0) { - var11 = ViewportMouse.method2957(var5); - } - - if (var11) { - int var7 = class1.getWidgetClickMask(var5); - int var8 = var0 - 1; - boolean var9 = (var7 >> var8 + 1 & 1) != 0; - if (var9) { - PacketBufferNode var10; - if (var0 == 1) { - var10 = Interpreter.method1915(ClientPacket.field290, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 2) { - var10 = Interpreter.method1915(ClientPacket.field243, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 3) { - var10 = Interpreter.method1915(ClientPacket.field270, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 4) { - var10 = Interpreter.method1915(ClientPacket.field241, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 5) { - var10 = Interpreter.method1915(ClientPacket.field262, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 6) { - var10 = Interpreter.method1915(ClientPacket.field288, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 7) { - var10 = Interpreter.method1915(ClientPacket.field307, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 8) { - var10 = Interpreter.method1915(ClientPacket.field236, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 9) { - var10 = Interpreter.method1915(ClientPacket.field306, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - - if (var0 == 10) { - var10 = Interpreter.method1915(ClientPacket.field222, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeInt(var1); - var10.packetBuffer.writeShort(var2); - var10.packetBuffer.writeShort(var3); - Client.packetWriter.method241(var10); - } - } - } - } - - } - - static { - field1117 = false; - field1119 = new Hashtable(16); - } -} diff --git a/runescape-client/src/main/java/class178.java b/runescape-client/src/main/java/class178.java deleted file mode 100644 index 1079c412b8..0000000000 --- a/runescape-client/src/main/java/class178.java +++ /dev/null @@ -1,25 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fi") -public class class178 { - @ObfuscatedName("q") - @Export("directions") - static int[][] directions; - @ObfuscatedName("w") - @Export("distances") - static int[][] distances; - @ObfuscatedName("l") - @Export("bufferX") - static int[] bufferX; - @ObfuscatedName("e") - @Export("bufferY") - static int[] bufferY; - - static { - directions = new int[128][128]; - distances = new int[128][128]; - bufferX = new int[4096]; - bufferY = new int[4096]; - } -} diff --git a/runescape-client/src/main/java/class190.java b/runescape-client/src/main/java/class190.java index 0da28fa61f..96d8b58d41 100644 --- a/runescape-client/src/main/java/class190.java +++ b/runescape-client/src/main/java/class190.java @@ -1,137 +1,204 @@ +import java.util.Locale; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gf") -public class class190 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2346; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2352; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2342; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2341; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2344; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2345; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2350; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2347; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2343; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgf;" - ) - public static final class190 field2349; - @ObfuscatedName("ge") - @Export("xteaKeys") - static int[][] xteaKeys; +@ObfuscatedName("gu") +public class class190 implements Enumerated { + @ObfuscatedName("qk") + @ObfuscatedSignature( + signature = "Ldn;" + ) + @Export("pcmPlayer1") + static PcmPlayer pcmPlayer1; + @ObfuscatedName("qb") + @ObfuscatedGetter( + intValue = -429347521 + ) + static int field2345; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgu;" + ) + public static final class190 field2348; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgu;" + ) + static final class190 field2351; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgu;" + ) + public static final class190 field2347; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgu;" + ) + static final class190 field2352; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgu;" + ) + static final class190 field2349; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgu;" + ) + public static final class190 field2350; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgu;" + ) + static final class190 field2360; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "[Lgu;" + ) + public static final class190[] field2355; + @ObfuscatedName("eg") + @ObfuscatedGetter( + intValue = -1179519055 + ) + @Export("port1") + static int port1; + @ObfuscatedName("i") + final String field2346; + @ObfuscatedName("c") + final String field2353; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1003386863 + ) + final int field2354; - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "7" - ) - class190(int var1) { - } + static { + field2348 = new class190("EN", "en", "English", class192.field2375, 0, "GB"); + field2351 = new class190("DE", "de", "German", class192.field2375, 1, "DE"); + field2347 = new class190("FR", "fr", "French", class192.field2375, 2, "FR"); + field2352 = new class190("PT", "pt", "Portuguese", class192.field2375, 3, "BR"); + field2349 = new class190("NL", "nl", "Dutch", class192.field2381, 4, "NL"); + field2350 = new class190("ES", "es", "Spanish", class192.field2381, 5, "ES"); + field2360 = new class190("ES_MX", "es-mx", "Spanish (Latin American)", class192.field2375, 6, "MX"); + class190[] var0 = method3664(); + field2355 = new class190[var0.length]; + class190[] var1 = var0; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)Lbt;", - garbageValue = "-68901151" - ) - @Export("worldListStart") - static World worldListStart() { - World.worldListWorldCount = 0; - return Fonts.getNextWorldListWorld(); - } + for (int var2 = 0; var2 < var1.length; ++var2) { + class190 var3 = var1[var2]; + if (field2355[var3.field2354] != null) { + throw new IllegalStateException(); + } - @ObfuscatedName("iv") - @ObfuscatedSignature( - signature = "(IIIIIIB)V", - garbageValue = "0" - ) - static final void method3669(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; - } + field2355[var3.field2354] = var3; + } - 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.method2985(var17, var18, var19); - Rasterizer3D.method3020(var21, var22, var23, var17, var18, var19, var4); - Rasterizer3D.method2985(var17, var19, var20); - Rasterizer3D.method3020(var21, var23, var24, var17, var19, var20, var4); - } + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lgd;ILjava/lang/String;)V" + ) + class190(String var1, String var2, String var3, class192 var4, int var5, String var6) { + this.field2346 = var1; + this.field2353 = var2; + this.field2354 = var5; + if (var6 != null) { + new Locale(var2.substring(0, 2), var6); + } else { + new Locale(var2.substring(0, 2)); + } - } + } - static { - field2346 = new class190(7); - field2352 = new class190(15); - field2342 = new class190(14); - field2341 = new class190(6); - field2344 = new class190(4); - field2345 = new class190(5); - field2350 = new class190(2); - field2347 = new class190(3); - field2343 = new class190(5); - field2349 = new class190(4); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1097353533" + ) + String method3656() { + return this.field2353; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + public int rsOrdinal() { + return this.field2354; + } + + public String toString() { + return this.method3656().toLowerCase(Locale.ENGLISH); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)[Lgu;", + garbageValue = "99" + ) + static class190[] method3664() { + return new class190[]{field2351, field2349, field2347, field2350, field2348, field2360, field2352}; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1942171448" + ) + public static final void method3665() { + ViewportMouse.ViewportMouse_isInViewport = false; + ViewportMouse.ViewportMouse_entityCount = 0; + } + + @ObfuscatedName("ep") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1477910272" + ) + static boolean method3667() { + if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); + if (!var0.isLoaded()) { + return false; + } + + ++Client.archiveLoaderArchive; + } + + return true; + } else { + return true; + } + } + + @ObfuscatedName("ko") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZI)Ljava/lang/String;", + garbageValue = "-1044311329" + ) + static String method3666(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 (class294.field3695 != null) { + var3 = "/p=" + class294.field3695; + } + + String var4 = "runescape.com"; + return var2 + var0 + "." + var4 + "/l=" + ScriptFrame.field528 + "/a=" + InvDefinition.field3199 + var3 + "/"; + } } diff --git a/runescape-client/src/main/java/class192.java b/runescape-client/src/main/java/class192.java index 38c7ca5429..4b6874cb19 100644 --- a/runescape-client/src/main/java/class192.java +++ b/runescape-client/src/main/java/class192.java @@ -1,13 +1,285 @@ +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("gq") -public class class192 { - @ObfuscatedName("gv") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("mapSceneSprites") - static IndexedSprite[] mapSceneSprites; +@ObfuscatedName("gd") +public enum class192 implements Enumerated { + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2375("", 0, new class191[]{class191.field2364}), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2367("", 1, new class191[]{class191.field2362, class191.field2364}), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2368("", 2, new class191[]{class191.field2362, class191.field2365, class191.field2364}), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2381("", 3, new class191[]{class191.field2362}), + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2370("", 4), + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2373("", 5, new class191[]{class191.field2362, class191.field2364}), + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2372("", 6, new class191[]{class191.field2364}), + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2376("", 8, new class191[]{class191.field2362, class191.field2364}), + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2374("", 9, new class191[]{class191.field2362, class191.field2365}), + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2369("", 10, new class191[]{class191.field2362}), + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2371("", 11, new class191[]{class191.field2362}), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2377("", 12, new class191[]{class191.field2362, class191.field2364}), + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgd;" + ) + field2378("", 13, new class191[]{class191.field2362}); + + @ObfuscatedName("dl") + @ObfuscatedGetter( + longValue = -5559382654824697645L + ) + static long field2382; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -646625045 + ) + final int field2379; + @ObfuscatedName("v") + final Set field2380; + + static { + method3674(); + } + + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I[Lgj;)V" + ) + class192(String var3, int var4, class191[] var5) { + this.field2380 = new HashSet(); + this.field2379 = var4; + class191[] var6 = var5; + + for (int var7 = 0; var7 < var6.length; ++var7) { + class191 var8 = var6[var7]; + this.field2380.add(var8); + } + + } + + class192(String var3, int var4) { + this.field2380 = new HashSet(); + this.field2379 = var4; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + public int rsOrdinal() { + return this.field2379; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIB)I", + garbageValue = "69" + ) + static int method3679(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("q") + @ObfuscatedSignature( + signature = "(I)[Lgd;", + garbageValue = "858782431" + ) + static class192[] method3674() { + return new class192[]{field2377, field2374, field2369, field2378, field2372, field2373, field2381, field2367, field2371, field2370, field2376, field2368, field2375}; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "46" + ) + public static void method3678() { + class96.reflectionChecks = new IterableNodeDeque(); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;B)Z", + garbageValue = "-31" + ) + public static boolean method3677(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; + } + + label82: { + char var7 = var0.charAt(var6); + if (var6 == 0) { + if (var7 == '-') { + var2 = true; + break label82; + } + + if (var7 == '+') { + break label82; + } + } + + 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; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-881071999" + ) + @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.sortOption1[var5] != var0) { + var2[var4] = World.sortOption1[var5]; + var3[var4] = World.sortOption2[var5]; + ++var4; + } + } + + World.sortOption1 = var2; + World.sortOption2 = var3; + Client.sortWorlds(World.worlds, 0, World.worlds.length - 1, World.sortOption1, World.sortOption2); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-72629118" + ) + static int method3669(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("ke") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2005954129" + ) + static void method3675(int var0) { + Client.oculusOrbState = var0; + } } diff --git a/runescape-client/src/main/java/class196.java b/runescape-client/src/main/java/class196.java deleted file mode 100644 index 5df771cfd5..0000000000 --- a/runescape-client/src/main/java/class196.java +++ /dev/null @@ -1,50 +0,0 @@ -import java.util.HashMap; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gy") -public class class196 { - @ObfuscatedName("of") - @ObfuscatedSignature( - signature = "Lch;" - ) - @Export("varcs") - static Varcs varcs; - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "125" - ) - static int method3736(int var0, Script var1, boolean var2) { - return var0 < 1000 ? Canvas.method861(var0, var1, var2) : (var0 < 1100 ? class1.method8(var0, var1, var2) : (var0 < 1200 ? StructDefinition.method4952(var0, var1, var2) : (var0 < 1300 ? class32.method576(var0, var1, var2) : (var0 < 1400 ? WorldMapAreaData.method710(var0, var1, var2) : (var0 < 1500 ? GrandExchangeOfferNameComparator.method141(var0, var1, var2) : (var0 < 1600 ? WorldMapSectionType.method253(var0, var1, var2) : (var0 < 1700 ? ScriptEvent.method1185(var0, var1, var2) : (var0 < 1800 ? Formatting.method2023(var0, var1, var2) : (var0 < 1900 ? class16.method188(var0, var1, var2) : (var0 < 2000 ? FriendSystem.method1867(var0, var1, var2) : (var0 < 2100 ? class1.method8(var0, var1, var2) : (var0 < 2200 ? StructDefinition.method4952(var0, var1, var2) : (var0 < 2300 ? class32.method576(var0, var1, var2) : (var0 < 2400 ? WorldMapAreaData.method710(var0, var1, var2) : (var0 < 2500 ? GrandExchangeOfferNameComparator.method141(var0, var1, var2) : (var0 < 2600 ? ViewportMouse.method2983(var0, var1, var2) : (var0 < 2700 ? GrandExchangeEvents.method75(var0, var1, var2) : (var0 < 2800 ? GrandExchangeOfferNameComparator.method146(var0, var1, var2) : (var0 < 2900 ? class15.method182(var0, var1, var2) : (var0 < 3000 ? FriendSystem.method1867(var0, var1, var2) : (var0 < 3200 ? class4.method54(var0, var1, var2) : (var0 < 3300 ? GrandExchangeOfferWorldComparator.method68(var0, var1, var2) : (var0 < 3400 ? ScriptEvent.method1187(var0, var1, var2) : (var0 < 3500 ? Formatting.method2022(var0, var1, var2) : (var0 < 3700 ? FontName.method5639(var0, var1, var2) : (var0 < 4000 ? class248.method4741(var0, var1, var2) : (var0 < 4100 ? TextureProvider.method2752(var0, var1, var2) : (var0 < 4200 ? Calendar.method4103(var0, var1, var2) : (var0 < 4300 ? class1.method16(var0, var1, var2) : (var0 < 5100 ? DynamicObject.method2223(var0, var1, var2) : (var0 < 5400 ? UserComparator4.method3335(var0, var1, var2) : (var0 < 5600 ? GrandExchangeOfferOwnWorldComparator.method1285(var0, var1, var2) : (var0 < 5700 ? Decimator.method2492(var0, var1, var2) : (var0 < 6300 ? class229.method4513(var0, var1, var2) : (var0 < 6600 ? class31.method573(var0, var1, var2) : (var0 < 6700 ? class54.method1093(var0, var1, var2) : 2)))))))))))))))))))))))))))))))))))); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-127" - ) - static void method3740() { - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "1247389467" - ) - static final String method3735(int var0) { - return var0 < 100000 ? "" + var0 + "" : (var0 < 10000000 ? "" + var0 / 1000 + "K" : "" + var0 / 1000000 + "M"); - } - - static { - new HashMap(); - } -} diff --git a/runescape-client/src/main/java/class197.java b/runescape-client/src/main/java/class197.java index 0be18d8d6a..305506f194 100644 --- a/runescape-client/src/main/java/class197.java +++ b/runescape-client/src/main/java/class197.java @@ -1,13 +1,356 @@ 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("gz") +@ObfuscatedName("gf") public class class197 { - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Llp;" - ) - @Export("rasterProvider") - public static AbstractRasterProvider rasterProvider; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicPatchesArchive") + public static AbstractArchive musicPatchesArchive; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicSamplesArchive") + public static AbstractArchive musicSamplesArchive; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("soundEffectsArchive") + public static AbstractArchive soundEffectsArchive; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -865740165 + ) + public static int field2402; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 713445849 + ) + @Export("musicTrackGroupId") + public static int musicTrackGroupId; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 924642041 + ) + @Export("musicTrackFileId") + public static int musicTrackFileId; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1197525527 + ) + public static int field2404; + @ObfuscatedName("dz") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive0") + static Archive archive0; + + static { + field2402 = 0; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIB)I", + garbageValue = "-75" + ) + public static int method3702(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("k") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-1" + ) + @Export("FloorUnderlayDefinition_clearCached") + public static void FloorUnderlayDefinition_clearCached() { + FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-1023115268" + ) + static int method3703(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = UserComparator3.loadWorlds() ? 1 : 0; + return 1; + } else { + World var3; + if (var0 == ScriptOpcodes.WORLDLIST_START) { + var3 = DynamicObject.worldListStart(); + if (var3 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.id; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.properties; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.activity; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.location; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.population; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.host; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { + var3 = Canvas.getNextWorldListWorld(); + if (var3 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.id; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.properties; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.activity; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.location; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var3.population; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var3.host; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else { + World var4; + int var5; + int var7; + if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var4 = null; + + for (var5 = 0; var5 < World.worldsCount; ++var5) { + if (var7 == World.worlds[var5].id) { + var4 = World.worlds[var5]; + break; + } + } + + if (var4 != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.id; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.properties; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.activity; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.location; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.population; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.host; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { + HealthBarUpdate.Interpreter_intStackSize -= 4; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + boolean var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1] == 1; + var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + boolean var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3] == 1; + WorldMapLabelSize.sortWorldList(var7, var10, var5, var6); + return 1; + } else if (var0 != ScriptOpcodes.GETWORLDINFO) { + if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { + Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else { + int var8; + ParamDefinition var9; + if (var0 == ScriptOpcodes.NC_PARAM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var9 = WorldMapIcon_0.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = GameShell.getNpcDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = GameShell.getNpcDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.LC_PARAM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var9 = WorldMapIcon_0.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ViewportMouse.getObjectDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ViewportMouse.getObjectDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_PARAM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var9 = WorldMapIcon_0.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.getItemDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var9 = WorldMapIcon_0.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ParamDefinition.StructDefinition_getStructDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ParamDefinition.StructDefinition_getStructDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.ON_MOBILE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLIENTTYPE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.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) { + --Skills.Interpreter_stringStackSize; + --HealthBarUpdate.Interpreter_intStackSize; + return 1; + } else if (var0 == 6523) { + --Skills.Interpreter_stringStackSize; + --HealthBarUpdate.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + return 1; + } else { + return 2; + } + } + } else { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var7 >= 0 && var7 < World.worldsCount) { + var4 = World.worlds[var7]; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.id; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.properties; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.activity; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.location; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var4.population; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.host; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } + } + } + + @ObfuscatedName("jw") + @ObfuscatedSignature( + signature = "(Lbo;ZI)V", + garbageValue = "391006565" + ) + @Export("closeInterface") + static final void closeInterface(InterfaceParent var0, boolean var1) { + int var2 = var0.group; + int var3 = (int)var0.key; + var0.remove(); + int var5; + if (var1 && var2 != -1 && ViewportMouse.loadedInterfaces[var2]) { + Widget.Widget_archive.clearFilesGroup(var2); + if (Widget.Widget_interfaceComponents[var2] != null) { + boolean var7 = true; + + for (var5 = 0; var5 < Widget.Widget_interfaceComponents[var2].length; ++var5) { + if (Widget.Widget_interfaceComponents[var2][var5] != null) { + if (Widget.Widget_interfaceComponents[var2][var5].type != 2) { + Widget.Widget_interfaceComponents[var2][var5] = null; + } else { + var7 = false; + } + } + } + + if (var7) { + Widget.Widget_interfaceComponents[var2] = null; + } + + ViewportMouse.loadedInterfaces[var2] = false; + } + } + + for (IntegerNode var4 = (IntegerNode)Client.widgetClickMasks.first(); var4 != null; var4 = (IntegerNode)Client.widgetClickMasks.next()) { + if ((var4.key >> 48 & 65535L) == (long)var2) { + var4.remove(); + } + } + + Widget var8 = class80.getWidget(var3); + if (var8 != null) { + Strings.method4120(var8); + } + + for (var5 = 0; var5 < Client.menuOptionsCount; ++var5) { + if (class1.isWidgetMenuOpcode(Client.menuOpcodes[var5])) { + if (var5 < Client.menuOptionsCount - 1) { + for (int var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) { + Client.menuActions[var6] = Client.menuActions[var6 + 1]; + Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1]; + Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1]; + Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1]; + Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1]; + Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1]; + Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1]; + } + } + + --var5; + --Client.menuOptionsCount; + } + } + + GrandExchangeOfferAgeComparator.method145(); + if (Client.rootInterface != -1) { + WorldMapLabelSize.method175(Client.rootInterface, 1); + } + + } } diff --git a/runescape-client/src/main/java/class198.java b/runescape-client/src/main/java/class198.java deleted file mode 100644 index 8c993792a7..0000000000 --- a/runescape-client/src/main/java/class198.java +++ /dev/null @@ -1,14 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gm") -public class class198 { - @ObfuscatedName("kn") - @ObfuscatedSignature( - signature = "(Lho;I)Ljava/lang/String;", - garbageValue = "1713547686" - ) - static String method3745(Widget var0) { - return Calendar.method4107(class1.getWidgetClickMask(var0)) == 0 ? null : (var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null); - } -} diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index b825090e21..c21391cf9a 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -3,147 +3,638 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("q") +@ObfuscatedName("e") final class class2 implements class0 { - @ObfuscatedName("dj") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive14") - static Archive archive14; - @ObfuscatedName("ee") - @ObfuscatedGetter( - intValue = -753026759 - ) - @Export("port1") - static int port1; - @ObfuscatedName("fo") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("fontBold12") - static Font fontBold12; + @ObfuscatedName("w") + @ObfuscatedGetter( + longValue = -8967154126905967921L + ) + static long field4; + @ObfuscatedName("da") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive13") + static Archive archive13; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lgr;I)V", - garbageValue = "-223205903" - ) - public void vmethod44(Object var1, Buffer var2) { - this.method21((Long)var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkf;I)V", + garbageValue = "1977897097" + ) + public void vmethod43(Object var1, Buffer var2) { + this.method19((Long)var1, var2); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/Object;", - garbageValue = "704451908" - ) - public Object vmethod46(Buffer var1) { - return var1.readLong(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)Ljava/lang/Object;", + garbageValue = "-408972538" + ) + public Object vmethod42(Buffer var1) { + return var1.readLong(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/Long;Lgr;I)V", - garbageValue = "1518625016" - ) - void method21(Long var1, Buffer var2) { - var2.writeLong(var1); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljava/lang/Long;Lkf;I)V", + garbageValue = "-338982282" + ) + void method19(Long var1, Buffer var2) { + var2.writeLong(var1); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lir;Lir;ZII)V", - garbageValue = "-1535318699" - ) - static void method27(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { - if (Login.field465) { - if (var3 == 4) { - Login.loginIndex = 4; - } - } else { - Login.loginIndex = var3; - Rasterizer2D.Rasterizer2D_clear(); - byte[] var4 = var0.takeFileByNames("title.jpg", ""); - Login.leftTitleSprite = class27.convertJpgToSprite(var4); - Fonts.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally(); - if ((Client.worldProperties & 536870912) != 0) { - WorldMapSectionType.logoSprite = MenuAction.loadIndexedSpriteByName(var1, "logo_deadman_mode", ""); - } else { - WorldMapSectionType.logoSprite = MenuAction.loadIndexedSpriteByName(var1, "logo", ""); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1315693887" + ) + static int method27(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; + } + } - Login.titleboxSprite = MenuAction.loadIndexedSpriteByName(var1, "titlebox", ""); - ArchiveLoader.titlebuttonSprite = MenuAction.loadIndexedSpriteByName(var1, "titlebutton", ""); - int var5 = var1.getGroupId("runes"); - int var6 = var1.getFileId(var5, ""); - IndexedSprite[] var7; - if (!SpriteMask.loadSprite(var1, var5, var6)) { - var7 = null; - } else { - var7 = WorldMapLabel.createIndexedSpriteArray(); - } + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "1766587749" + ) + public static int method18(byte[] var0, int var1, int var2) { + int var3 = -1; - WorldMapEvent.runesSprite = var7; - var6 = var1.getGroupId("title_mute"); - int var8 = var1.getFileId(var6, ""); - IndexedSprite[] var9; - if (!SpriteMask.loadSprite(var1, var6, var8)) { - var9 = null; - } else { - var9 = WorldMapLabel.createIndexedSpriteArray(); - } + for (int var4 = var1; var4 < var2; ++var4) { + var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; + } - KeyHandler.title_muteSprite = var9; - Login.options_buttons_0Sprite = MenuAction.loadIndexedSpriteByName(var1, "options_radio_buttons,0", ""); - GraphicsObject.options_buttons_4Sprite = MenuAction.loadIndexedSpriteByName(var1, "options_radio_buttons,4", ""); - class308.options_buttons_2Sprite = MenuAction.loadIndexedSpriteByName(var1, "options_radio_buttons,2", ""); - KeyHandler.options_buttons_6Sprite = MenuAction.loadIndexedSpriteByName(var1, "options_radio_buttons,6", ""); - class168.optionButtonSpriteSubWidth = Login.options_buttons_0Sprite.subWidth; - GroundItemPile.optionButtonSpriteSubHeight = Login.options_buttons_0Sprite.subHeight; - class16.loginScreenRunesAnimation = new LoginScreenAnimation(WorldMapEvent.runesSprite); - if (var2) { - Login.Login_username = ""; - Login.Login_password = ""; - } + var3 = ~var3; + return var3; + } - class13.otpInt = 0; - Login.otp = ""; - Login.field470 = true; - Login.worldSelectOpen = false; - if (!ReflectionCheck.clientPreferences.titleMusicDisabled) { - Canvas.method858(2, UserComparator3.archive6, "scape main", "", 255, false); - } else { - AbstractSocket.method3488(2); - } + @ObfuscatedName("ij") + @ObfuscatedSignature( + signature = "([Lhj;IIIIIIIS)V", + garbageValue = "29276" + ) + @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 || class268.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { + if (var9.isIf3) { + if (ScriptEvent.isComponentHidden(var9)) { + continue; + } + } else if (var9.type == 0 && var9 != LoginScreenAnimation.mousedOverWidgetIf1 && ScriptEvent.isComponentHidden(var9)) { + continue; + } - UserComparator9.method3343(false); - Login.field465 = true; - Login.xPadding = (SoundCache.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - Varps.loginBoxCenter = Login.loginBoxX + 180; - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - Fonts.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - WorldMapSectionType.logoSprite.drawAt(Login.xPadding + 382 - WorldMapSectionType.logoSprite.subWidth / 2, 18); - } + 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; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lir;Ljava/lang/String;Ljava/lang/String;B)[Lln;", - garbageValue = "0" - ) - public static Sprite[] method20(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - Sprite[] var5; - if (!SpriteMask.loadSprite(var0, var3, var4)) { - var5 = null; - } else { - var5 = UserComparator9.createSpriteArray(); - } + ++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; + } + } - return var5; - } + if (var9 == Client.clickedWidget) { + Client.field745 = true; + Client.field837 = var10; + Client.field838 = var11; + } + + boolean var32 = false; + if (var9.field2704) { + switch(Client.field817) { + case 0: + var32 = true; + case 1: + default: + break; + case 2: + if (Client.field818 == var9.id >>> 16) { + var32 = true; + } + break; + case 3: + if (var9.id == Client.field818) { + 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.boolean1) { + var26.remove(); + var26.widget.field2642 = false; + } + } + + if (class80.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + GraphicsObject.resetMenuEntries(); + } + } + } 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.boolean1 && 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) { + class65.addSceneMenuOptions(var17, var18, var12, var13); + } + } else if (var9.contentType == 1338) { + WorldMapIcon_0.checkIfMinimapClicked(var9, var10, var11); + } else { + if (var9.contentType == 1400) { + BoundaryObject.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height); + } + + if (!Client.isMenuOpen && var33) { + if (var9.contentType == 1400) { + BoundaryObject.worldMap.method6482(var10, var11, var9.width, var9.height, var17, var18); + } else { + class40.method703(var9, var17 - var10, var18 - var11); + } + } + + boolean var21; + int var23; + if (var32) { + for (int var20 = 0; var20 < var9.field2650.length; ++var20) { + var21 = false; + boolean var22 = false; + if (!var21 && var9.field2650[var20] != null) { + for (var23 = 0; var23 < var9.field2650[var20].length; ++var23) { + boolean var24 = false; + if (var9.field2578 != null) { + var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2650[var20][var23]]; + } + + if (PacketWriter.method2244(var9.field2650[var20][var23]) || var24) { + var21 = true; + if (var9.field2578 != null && var9.field2578[var20] > Client.cycle) { + break; + } + + byte var25 = var9.field2625[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) { + Messages.method2163(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); + } else if (var20 == 10) { + WorldMapID.method542(); + GroundItem.method2053(var9.id, var9.childIndex, HealthBar.method1957(class268.getWidgetClickMask(var9)), var9.itemId); + Client.selectedSpellActionName = FontName.method5318(var9); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + Client.selectedSpellName = var9.dataText + ClientPreferences.colorStartTag(16777215); + } + + var23 = var9.field2641[var20]; + if (var9.field2578 == null) { + var9.field2578 = new int[var9.field2650.length]; + } + + if (var9.field2588 == null) { + var9.field2588 = new int[var9.field2650.length]; + } + + if (var23 != 0) { + if (var9.field2578[var20] == 0) { + var9.field2578[var20] = var23 + Client.cycle + var9.field2588[var20]; + } else { + var9.field2578[var20] = var23 + Client.cycle; + } + } else { + var9.field2578[var20] = Integer.MAX_VALUE; + } + } + + if (!var21 && var9.field2578 != null) { + var9.field2578[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 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) { + var34 = true; + } + + var21 = false; + if ((MouseHandler.MouseHandler_lastButton == 1 || !DevicePcmPlayerProvider.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) { + class60.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); + } + + if (var9.contentType == 1400) { + BoundaryObject.worldMap.method6301(var17, var18, var33 & var34, var33 & var21); + } + + if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && WorldMapIcon_1.method295(class268.getWidgetClickMask(var9))) { + Client.draggedOnWidget = var9; + } + + if (var9 == Client.clickedWidgetParent) { + Client.field873 = true; + Client.field834 = var10; + Client.field835 = var11; + } + + if (var9.hasListener) { + ScriptEvent var29; + if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { + var29 = new ScriptEvent(); + var29.boolean1 = true; + var29.widget = var9; + var29.mouseY = Client.mouseWheelRotation; + var29.args = var9.onScroll; + Client.scriptEvents.addFirst(var29); + } + + if (Client.clickedWidget != null || WorldMapIcon_0.dragInventoryWidget != null || Client.isMenuOpen) { + var21 = false; + var34 = false; + var33 = false; + } + + if (!var9.field2589 && var21) { + var9.field2589 = true; + if (var9.onClick != null) { + var29 = new ScriptEvent(); + var29.boolean1 = 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.field2589 && var34 && var9.onClickRepeat != null) { + var29 = new ScriptEvent(); + var29.boolean1 = 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.field2589 && !var34) { + var9.field2589 = false; + if (var9.onRelease != null) { + var29 = new ScriptEvent(); + var29.boolean1 = true; + var29.widget = var9; + var29.mouseX = MouseHandler.MouseHandler_x - var10; + var29.mouseY = MouseHandler.MouseHandler_y - var11; + var29.args = var9.onRelease; + Client.field856.addFirst(var29); + } + } + + if (var34 && var9.onHold != null) { + var29 = new ScriptEvent(); + var29.boolean1 = 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.field2642 && var33) { + var9.field2642 = true; + if (var9.onMouseOver != null) { + var29 = new ScriptEvent(); + var29.boolean1 = 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.field2642 && var33 && var9.onMouseRepeat != null) { + var29 = new ScriptEvent(); + var29.boolean1 = 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.field2642 && !var33) { + var9.field2642 = false; + if (var9.onMouseLeave != null) { + var29 = new ScriptEvent(); + var29.boolean1 = true; + var29.widget = var9; + var29.mouseX = MouseHandler.MouseHandler_x - var10; + var29.mouseY = MouseHandler.MouseHandler_y - var11; + var29.args = var9.onMouseLeave; + Client.field856.addFirst(var29); + } + } + + if (var9.onTimer != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onTimer; + Client.field852.addFirst(var29); + } + + ScriptEvent var31; + int var35; + int var36; + if (var9.onVarTransmit != null && Client.field806 > var9.field2592) { + if (var9.varTransmitTriggers != null && Client.field806 - var9.field2592 <= 32) { + label865: + for (var35 = var9.field2592; var35 < Client.field806; ++var35) { + var23 = Client.field863[var35 & 31]; + + for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { + if (var23 == var9.varTransmitTriggers[var36]) { + var31 = new ScriptEvent(); + var31.widget = var9; + var31.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var31); + break label865; + } + } + } + } else { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var29); + } + + var9.field2592 = Client.field806; + } + + if (var9.onInvTransmit != null && Client.field671 > var9.field2603) { + if (var9.invTransmitTriggers != null && Client.field671 - var9.field2603 <= 32) { + label841: + for (var35 = var9.field2603; var35 < Client.field671; ++var35) { + var23 = Client.field888[var35 & 31]; + + for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { + if (var23 == var9.invTransmitTriggers[var36]) { + var31 = new ScriptEvent(); + var31.widget = var9; + var31.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var31); + break label841; + } + } + } + } else { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var29); + } + + var9.field2603 = Client.field671; + } + + if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2700) { + if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2700 <= 32) { + label817: + for (var35 = var9.field2700; var35 < Client.changedSkillsCount; ++var35) { + var23 = Client.changedSkills[var35 & 31]; + + for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { + if (var23 == var9.statTransmitTriggers[var36]) { + var31 = new ScriptEvent(); + var31.widget = var9; + var31.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var31); + break label817; + } + } + } + } else { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var29); + } + + var9.field2700 = Client.changedSkillsCount; + } + + if (Client.chatCycle > var9.field2689 && var9.onChatTransmit != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onChatTransmit; + Client.scriptEvents.addFirst(var29); + } + + if (Client.field672 > var9.field2689 && var9.onFriendTransmit != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onFriendTransmit; + Client.scriptEvents.addFirst(var29); + } + + if (Client.field849 > var9.field2689 && var9.onClanTransmit != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onClanTransmit; + Client.scriptEvents.addFirst(var29); + } + + if (Client.field915 > var9.field2689 && var9.onStockTransmit != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onStockTransmit; + Client.scriptEvents.addFirst(var29); + } + + if (Client.field851 > var9.field2689 && var9.field2681 != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.field2681; + Client.scriptEvents.addFirst(var29); + } + + if (Client.field844 > var9.field2689 && var9.onMiscTransmit != null) { + var29 = new ScriptEvent(); + var29.widget = var9; + var29.args = var9.onMiscTransmit; + Client.scriptEvents.addFirst(var29); + } + + var9.field2689 = Client.cycleCntr; + if (var9.onKey != null) { + for (var35 = 0; var35 < Client.field754; ++var35) { + ScriptEvent var30 = new ScriptEvent(); + var30.widget = var9; + var30.keyTyped = Client.field921[var35]; + var30.keyPressed = Client.field877[var35]; + var30.args = var9.onKey; + Client.scriptEvents.addFirst(var30); + } + } + } + } + + if (!var9.isIf3) { + if (Client.clickedWidget != null || WorldMapIcon_0.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) { + LoginScreenAnimation.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; + } else { + LoginScreenAnimation.mousedOverWidgetIf1 = var9; + } + } + + if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + class32.field284 = var9; + } + + if (var9.scrollHeight > var9.height) { + GrandExchangeEvents.method71(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.boolean1) { + var28.remove(); + var28.widget.field2642 = false; + } + } + + if (class80.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + GraphicsObject.resetMenuEntries(); + } + } + + Skills.updateRootInterface(var27.group, var12, var13, var14, var15, var10, var11); + } + } + } + } + } + } + + } + + @ObfuscatedName("jg") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-949997341" + ) + static final void method28() { + UserComparator10.method3405(); + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.clearIgnoreds(); + } + + } } diff --git a/runescape-client/src/main/java/class203.java b/runescape-client/src/main/java/class203.java deleted file mode 100644 index 8761324d52..0000000000 --- a/runescape-client/src/main/java/class203.java +++ /dev/null @@ -1,75 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ga") -public class class203 { - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = -6166028446082638015L - ) - @Export("currentTimeMsOffset") - static long currentTimeMsOffset; - @ObfuscatedName("eh") - @ObfuscatedGetter( - intValue = 994298267 - ) - @Export("port3") - static int port3; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)J", - garbageValue = "340448023" - ) - @Export("currentTimeMs") - public static synchronized long currentTimeMs() { - long var0 = System.currentTimeMillis(); - if (var0 < ModelData0.currentTimeMsLast) { - currentTimeMsOffset += ModelData0.currentTimeMsLast - var0; - } - - ModelData0.currentTimeMsLast = var0; - return var0 + currentTimeMsOffset; - } - - @ObfuscatedName("m") - public static final void method4010(long var0) { - if (var0 > 0L) { - if (var0 % 10L == 0L) { - long var2 = var0 - 1L; - - try { - Thread.sleep(var2); - } catch (InterruptedException var7) { - } - - try { - Thread.sleep(1L); - } catch (InterruptedException var6) { - } - } else { - try { - Thread.sleep(var0); - } catch (InterruptedException var5) { - } - } - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "571835999" - ) - public static void method4008(int var0) { - if (class214.field1129 != 0) { - WorldMapLabel.field1039 = var0; - } else { - class214.midiPcmStream.method169(var0); - } - - } -} diff --git a/runescape-client/src/main/java/class204.java b/runescape-client/src/main/java/class204.java deleted file mode 100644 index cccb955ae0..0000000000 --- a/runescape-client/src/main/java/class204.java +++ /dev/null @@ -1,98 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gx") -public class class204 { - @ObfuscatedName("x") - static final int[] field1120; - @ObfuscatedName("d") - static final int[] field1121; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("ItemDefinition_fontPlain11") - public static Font ItemDefinition_fontPlain11; - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)Lho;", - garbageValue = "-1975300504" - ) - @Export("getWidgetChild") - public static Widget getWidgetChild(int var0, int var1) { - Widget var2 = Huffman.getWidget(var0); - return var1 == -1 ? var2 : (var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lir;Ljava/lang/String;Ljava/lang/String;IZB)V", - garbageValue = "0" - ) - public static void method4011(AbstractArchive archive, String groupName, String fileName, int var3, boolean var4) { - int var5 = archive.getGroupId(groupName); - int var6 = archive.getFileId(var5, fileName); - Login.method2076(archive, var5, var6, var3, var4); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "([BIIIIIII[Lfy;B)V", - garbageValue = "64" - ) - static final void method4013(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { - int var9; - for (int var10 = 0; var10 < 8; ++var10) { - for (var9 = 0; var9 < 8; ++var9) { - if (var10 + var2 > 0 && var10 + var2 < 103 && var3 + var9 > 0 && var3 + var9 < 103) { - int[] var11 = var8[var1].flags[var10 + var2]; - var11[var3 + var9] &= -16777217; - } - } - } - - Buffer var18 = new Buffer(var0); - - for (var9 = 0; var9 < 4; ++var9) { - for (int var19 = 0; var19 < 64; ++var19) { - for (int var12 = 0; var12 < 64; ++var12) { - if (var9 == var4 && var19 >= var5 && var19 < var5 + 8 && var12 >= var6 && var12 < var6 + 8) { - int var13 = var2 + CollisionMap.method3632(var19 & 7, var12 & 7, var7); - int var14 = var19 & 7; - int var15 = var12 & 7; - int var16 = var7 & 3; - int var17; - if (var16 == 0) { - var17 = var15; - } else if (var16 == 1) { - var17 = 7 - var14; - } else if (var16 == 2) { - var17 = 7 - var15; - } else { - var17 = var14; - } - - GrandExchangeOfferTotalQuantityComparator.loadTerrain(var18, var1, var13, var3 + var17, 0, 0, var7); - } else { - GrandExchangeOfferTotalQuantityComparator.loadTerrain(var18, 0, -1, -1, 0, 0, 0); - } - } - } - } - - } - - static { - field1120 = new int[2048]; - field1121 = new int[2048]; - double var0 = 0.0030679615757712823D; - - for (int var2 = 0; var2 < 2048; ++var2) { - field1120[var2] = (int)(65536.0D * Math.sin(var0 * (double)var2)); - field1121[var2] = (int)(65536.0D * Math.cos(var0 * (double)var2)); - } - - } -} diff --git a/runescape-client/src/main/java/class206.java b/runescape-client/src/main/java/class206.java deleted file mode 100644 index b30272a9cb..0000000000 --- a/runescape-client/src/main/java/class206.java +++ /dev/null @@ -1,16 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gj") -public class class206 { - @ObfuscatedName("jq") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1763054678" - ) - @Export("getTapToDrop") - static boolean getTapToDrop() { - return Client.tapToDrop; - } -} diff --git a/runescape-client/src/main/java/class21.java b/runescape-client/src/main/java/class21.java deleted file mode 100644 index 88ca563454..0000000000 --- a/runescape-client/src/main/java/class21.java +++ /dev/null @@ -1,444 +0,0 @@ -import java.util.LinkedList; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("b") -public abstract class class21 { - @ObfuscatedName("by") - static String field1123; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -474193537 - ) - int field149; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1952285401 - ) - int field146; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1560078681 - ) - int field159; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 549708301 - ) - int field147; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -814742029 - ) - int field148; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 2075507241 - ) - int field156; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1715718119 - ) - int field150; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2119420619 - ) - int field152; - @ObfuscatedName("e") - short[][][] field151; - @ObfuscatedName("x") - short[][][] field145; - @ObfuscatedName("d") - byte[][][] field154; - @ObfuscatedName("k") - byte[][][] field155; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "[[[[Lv;" - ) - @Export("decorations") - WorldMapDecoration[][][][] decorations; - @ObfuscatedName("i") - boolean field157; - @ObfuscatedName("a") - boolean field153; - - class21() { - this.field150 = -1; - this.field152 = -1; - new LinkedList(); - this.field157 = false; - this.field153 = false; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1937224298" - ) - abstract void vmethod715(Buffer var1); - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-947070877" - ) - boolean method271() { - return this.field157 && this.field153; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Lir;B)V", - garbageValue = "-108" - ) - void method263(AbstractArchive var1) { - if (!this.method271()) { - byte[] var2 = var1.takeFile(this.field150, this.field152); - if (var2 != null) { - this.vmethod715(new Buffer(var2)); - this.field157 = true; - this.field153 = true; - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2111523326" - ) - void method282() { - this.field151 = ((short[][][])null); - this.field145 = ((short[][][])null); - this.field154 = ((byte[][][])null); - this.field155 = ((byte[][][])null); - this.decorations = ((WorldMapDecoration[][][][])null); - this.field157 = false; - this.field153 = false; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IILgr;I)V", - garbageValue = "-1039890176" - ) - void method259(int var1, int var2, Buffer var3) { - int var4 = var3.readUnsignedByte(); - if (var4 != 0) { - if ((var4 & 1) != 0) { - this.method260(var1, var2, var3, var4); - } else { - this.method257(var1, var2, var3, var4); - } - } - - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IILgr;IB)V", - garbageValue = "34" - ) - void method260(int var1, int var2, Buffer var3, int var4) { - boolean var5 = (var4 & 2) != 0; - if (var5) { - this.field145[0][var1][var2] = (short)var3.readUnsignedByte(); - } - - this.field151[0][var1][var2] = (short)var3.readUnsignedByte(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IILgr;II)V", - garbageValue = "1538895535" - ) - void method257(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.field151[0][var1][var2] = (short)var3.readUnsignedByte(); - int var8; - int var9; - int var10; - if (var6) { - var8 = var3.readUnsignedByte(); - - for (var9 = 0; var9 < var8; ++var9) { - int var11 = var3.readUnsignedByte(); - if (var11 != 0) { - this.field145[var9][var1][var2] = (short)var11; - var10 = var3.readUnsignedByte(); - this.field154[var9][var1][var2] = (byte)(var10 >> 2); - this.field155[var9][var1][var2] = (byte)(var10 & 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 (var10 = 0; var10 < var9; ++var10) { - int var12 = var3.method51(); - int var13 = var3.readUnsignedByte(); - var14[var10] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); - } - } - } - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1061931388" - ) - int method256() { - return this.field159; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-128" - ) - int method264() { - return this.field147; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lhx;B)V", - garbageValue = "-3" - ) - static final void method293(PacketBuffer var0) { - for (int var1 = 0; var1 < Players.field736; ++var1) { - int var2 = Players.field737[var1]; - Player var3 = Client.players[var2]; - int var4 = var0.readUnsignedByte(); - if ((var4 & 8) != 0) { - var4 += var0.readUnsignedByte() << 8; - } - - byte var5 = -1; - int var6; - int var7; - int var8; - int var9; - int var10; - if ((var4 & 64) != 0) { - var6 = var0.method58(); - int var11; - int var12; - int var13; - if (var6 > 0) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = -1; - var9 = -1; - var12 = -1; - var11 = var0.readUShortSmart(); - if (var11 == 32767) { - var11 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - var8 = var0.readUShortSmart(); - var12 = var0.readUShortSmart(); - } else if (var11 != 32766) { - var9 = var0.readUShortSmart(); - } else { - var11 = -1; - } - - var13 = var0.readUShortSmart(); - var3.addHitSplat(var11, var9, var8, var12, Client.cycle, var13); - } - } - - var7 = var0.readUnsignedByteNegate(); - if (var7 > 0) { - for (var11 = 0; var11 < var7; ++var11) { - var8 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - if (var9 != 32767) { - var12 = var0.readUShortSmart(); - var13 = var0.method58(); - var10 = var9 > 0 ? var0.readUnsignedByte() : var13; - var3.addHealthBar(var8, Client.cycle, var9, var12, var13, var10); - } else { - var3.removeHealthBar(var8); - } - } - } - } - - if ((var4 & 512) != 0) { - var3.spotAnimation = var0.method67(); - var6 = var0.method72(); - var3.heightOffset = var6 >> 16; - var3.field14 = (var6 & 65535) + Client.cycle; - var3.spotAnimationFrame = 0; - var3.spotAnimationFrameCycle = 0; - if (var3.field14 > Client.cycle) { - var3.spotAnimationFrame = -1; - } - - if (var3.spotAnimation == 65535) { - var3.spotAnimation = -1; - } - } - - if ((var4 & 4096) != 0) { - var5 = var0.method60(); - } - - if ((var4 & 1024) != 0) { - var3.field15 = var0.method62(); - var3.field17 = var0.method60(); - var3.field16 = var0.method60(); - var3.field18 = var0.method62(); - var3.field19 = var0.method66() + Client.cycle; - var3.field20 = var0.method65() + Client.cycle; - var3.field21 = var0.readUnsignedShort(); - if (var3.field725) { - var3.field15 += var3.tileX; - var3.field17 += var3.tileY; - var3.field16 += var3.tileX; - var3.field18 += var3.tileY; - var3.pathLength = 0; - } else { - var3.field15 += var3.pathX[0]; - var3.field17 += var3.pathY[0]; - var3.field16 += var3.pathX[0]; - var3.field18 += var3.pathY[0]; - var3.pathLength = 1; - } - - var3.field25 = 0; - } - - if ((var4 & 32) != 0) { - var3.overheadText = var0.readStringCp1252NullTerminated(); - if (var3.overheadText.charAt(0) == '~') { - var3.overheadText = var3.overheadText.substring(1); - WorldMapIcon1.addGameMessage(2, var3.username.getName(), var3.overheadText); - } else if (var3 == Canvas.localPlayer) { - WorldMapIcon1.addGameMessage(2, var3.username.getName(), var3.overheadText); - } - - var3.isAutoChatting = false; - var3.overheadTextColor = 0; - var3.overheadTextEffect = 0; - var3.overheadTextCyclesRemaining = 150; - } - - if ((var4 & 4) != 0) { - var3.field12 = var0.method65(); - if (var3.pathLength == 0) { - var3.orientation = var3.field12; - var3.field12 = -1; - } - } - - if ((var4 & 1) != 0) { - var6 = var0.method59(); - byte[] var15 = new byte[var6]; - Buffer var16 = new Buffer(var15); - var0.method74(var15, 0, var6); - Players.field733[var2] = var16; - var3.read(var16); - } - - if ((var4 & 2) != 0) { - var3.targetIndex = var0.method66(); - if (var3.targetIndex == 65535) { - var3.targetIndex = -1; - } - } - - if ((var4 & 2048) != 0) { - Players.field732[var2] = var0.method60(); - } - - if ((var4 & 16) != 0) { - var6 = var0.method66(); - PlayerType var17 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var0.readUnsignedByte()); - boolean var18 = var0.readUnsignedByteNegate() == 1; - var8 = var0.readUnsignedByte(); - var9 = var0.index; - if (var3.username != null && var3.appearance != null) { - boolean var19 = false; - if (var17.isUser && WorldMapArea.friendSystem.isIgnored(var3.username)) { - var19 = true; - } - - if (!var19 && Client.field208 == 0 && !var3.isHidden) { - Players.field738.index = 0; - var0.readBytes(Players.field738.array, 0, var8); - Players.field738.index = 0; - String var14 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(Players.field738))); - var3.overheadText = var14.trim(); - var3.overheadTextColor = var6 >> 8; - var3.overheadTextEffect = var6 & 255; - var3.overheadTextCyclesRemaining = 150; - var3.isAutoChatting = var18; - var3.field11 = var3 != Canvas.localPlayer && var17.isUser && "" != Client.field158 && var14.toLowerCase().indexOf(Client.field158) == -1; - if (var17.isPrivileged) { - var10 = var18 ? 91 : 1; - } else { - var10 = var18 ? 90 : 2; - } - - if (var17.modIcon != -1) { - WorldMapIcon1.addGameMessage(var10, ItemContainer.method1170(var17.modIcon) + var3.username.getName(), var14); - } else { - WorldMapIcon1.addGameMessage(var10, var3.username.getName(), var14); - } - } - } - - var0.index = var9 + var8; - } - - if ((var4 & 256) != 0) { - for (var6 = 0; var6 < 3; ++var6) { - var3.actions[var6] = var0.readStringCp1252NullTerminated(); - } - } - - if ((var4 & 128) != 0) { - var6 = var0.readUnsignedShort(); - if (var6 == 65535) { - var6 = -1; - } - - var7 = var0.readUnsignedByte(); - class234.performPlayerAnimation(var3, var6, var7); - } - - if (var3.field725) { - if (var5 == 127) { - var3.resetPath(var3.tileX, var3.tileY); - } else { - byte var20; - if (var5 != -1) { - var20 = var5; - } else { - var20 = Players.field732[var2]; - } - - var3.method254(var3.tileX, var3.tileY, var20); - } - } - } - - } -} diff --git a/runescape-client/src/main/java/class210.java b/runescape-client/src/main/java/class210.java index 163a3ddb17..22b493fd6b 100644 --- a/runescape-client/src/main/java/class210.java +++ b/runescape-client/src/main/java/class210.java @@ -1,221 +1,19 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hr") +@ObfuscatedName("hu") public class class210 { - @ObfuscatedName("dn") - @ObfuscatedSignature( - signature = "Lfm;" - ) - @Export("js5SocketTask") - static Task js5SocketTask; - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lhx;II)V", - garbageValue = "-9255886" - ) - static void method4101(PacketBuffer var0, int var1) { - boolean var2 = var0.readBits(1) == 1; - if (var2) { - Players.field737[++Players.field736 - 1] = var1; - } - - int var3 = var0.readBits(2); - Player var4 = Client.players[var1]; - if (var3 == 0) { - if (var2) { - var4.field725 = false; - } else { - if (Client.localPlayerIndex == var1) { - throw new RuntimeException(); - } - - Players.Players_regions[var1] = (var4.plane << 28) + (GraphicsObject.baseY + var4.pathY[0] >> 13) + (class50.baseX + var4.pathX[0] >> 13 << 14); - if (var4.field12 != -1) { - Players.Players_orientations[var1] = var4.field12; - } else { - Players.Players_orientations[var1] = var4.orientation; - } - - Players.Players_targetIndices[var1] = var4.targetIndex; - Client.players[var1] = null; - if (var0.readBits(1) != 0) { - class236.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 >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field725 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field725 = false; - var4.method254(var6, var7, Players.field732[var1]); - } - } else { - var4.resetPath(var6, var7); - var4.field725 = 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 >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field725 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field725 = false; - var4.method254(var6, var7, Players.field732[var1]); - } - } else { - var4.resetPath(var6, var7); - var4.field725 = false; - } - } 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 >= 1536 && var4.x < 11776 && var4.y < 11776) { - if (var2) { - var4.field725 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field725 = false; - var4.method254(var10, var11, Players.field732[var1]); - } - } else { - var4.resetPath(var10, var11); - var4.field725 = false; - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - SoundSystem.plane = var4.plane; - } - } else { - var6 = var0.readBits(30); - var7 = var6 >> 28; - var8 = var6 >> 14 & 16383; - var9 = var6 & 16383; - var10 = (var8 + class50.baseX + var4.pathX[0] & 16383) - class50.baseX; - var11 = (var9 + GraphicsObject.baseY + var4.pathY[0] & 16383) - GraphicsObject.baseY; - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { - var4.resetPath(var10, var11); - var4.field725 = false; - } else if (var2) { - var4.field725 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field725 = false; - var4.method254(var10, var11, Players.field732[var1]); - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - SoundSystem.plane = var4.plane; - } - } - } - } - - } + @ObfuscatedName("qw") + @ObfuscatedGetter( + intValue = 705612672 + ) + static int field2516; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhk;" + ) + @Export("huffman") + public static Huffman huffman; } diff --git a/runescape-client/src/main/java/class212.java b/runescape-client/src/main/java/class212.java deleted file mode 100644 index 24005d53ea..0000000000 --- a/runescape-client/src/main/java/class212.java +++ /dev/null @@ -1,70 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("hh") -public class class212 { - @ObfuscatedName("m") - public static void method4109(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("x") - @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/class214.java b/runescape-client/src/main/java/class214.java deleted file mode 100644 index 6f102df9fa..0000000000 --- a/runescape-client/src/main/java/class214.java +++ /dev/null @@ -1,120 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hf") -public class class214 { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("musicSamplesArchive") - public static AbstractArchive musicSamplesArchive; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("soundEffectsArchive") - public static AbstractArchive soundEffectsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lhm;" - ) - @Export("midiPcmStream") - public static MidiPcmStream midiPcmStream; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -848833001 - ) - public static int field1129; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("musicTrackArchive") - public static AbstractArchive musicTrackArchive; - @ObfuscatedName("k") - static int[] field1131; - @ObfuscatedName("ko") - @ObfuscatedGetter( - intValue = 2079315667 - ) - @Export("menuWidth") - static int menuWidth; - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;IZI)Z", - garbageValue = "-125135280" - ) - static boolean method4144(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 var9; - if (var8 >= '0' && var8 <= '9') { - var9 = var8 - '0'; - } else if (var8 >= 'A' && var8 <= 'Z') { - var9 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { - return false; - } - - var9 = var8 - 'W'; - } - - if (var9 >= var1) { - return false; - } - - if (var3) { - var9 = -var9; - } - - int var10 = var5 * var1 + var9; - if (var10 / var1 != var5) { - return false; - } - - var5 = var10; - var4 = true; - } - - return var4; - } else { - throw new IllegalArgumentException(""); - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II)I", - garbageValue = "2125526115" - ) - @Export("parseIntCustomRadix") - public static int parseIntCustomRadix(CharSequence var0, int radix) { - return IgnoreList.parseIntCustomRadix(var0, radix, true); - } - - static { - field1129 = 0; - } -} diff --git a/runescape-client/src/main/java/class226.java b/runescape-client/src/main/java/class226.java index 6342e86565..314136df30 100644 --- a/runescape-client/src/main/java/class226.java +++ b/runescape-client/src/main/java/class226.java @@ -2,143 +2,133 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ht") +@ObfuscatedName("hw") public class class226 { - @ObfuscatedName("m") - public static final short[] field1132; - @ObfuscatedName("f") - public static final short[][] field1133; - @ObfuscatedName("q") - public static final short[] field1134; - @ObfuscatedName("w") - public static final short[][] field1135; + @ObfuscatedName("pr") + @ObfuscatedSignature( + signature = "Lkl;" + ) + static class310 field3072; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lhq;" + ) + @Export("NetCache_currentResponse") + static NetFileRequest NetCache_currentResponse; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIIIIZI)Lln;", - garbageValue = "-76173898" - ) - @Export("getItemSprite") - public static final Sprite getItemSprite(int id, int quantity, int outline, int shadow, int quantityMode, boolean noted) { - if (quantity == -1) { - quantityMode = 0; - } else if (quantityMode == 2 && quantity != 1) { - quantityMode = 1; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lkx;II)Z", + garbageValue = "-352047926" + ) + @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); + } - long var6 = ((long)quantity << 16) + (long)id + ((long)outline << 38) + ((long)quantityMode << 40) + ((long)shadow << 42); - Sprite var8; - if (!noted) { - var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6); - if (var8 != null) { - return var8; - } - } + var3 = var0.readBits(13); + var4 = var0.readBits(13); + boolean var12 = var0.readBits(1) == 1; + if (var12) { + Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; + } - ItemDefinition var9 = Skills.getItemDefinition(id); - if (quantity > 1 && var9.countobj != null) { - int var10 = -1; + if (Client.players[var1] != null) { + throw new RuntimeException(); + } else { + Player var6 = Client.players[var1] = new Player(); + var6.index = var1; + if (Players.field1254[var1] != null) { + var6.read(Players.field1254[var1]); + } - for (int var11 = 0; var11 < 10; ++var11) { - if (quantity >= var9.countco[var11] && var9.countco[var11] != 0) { - var10 = var9.countobj[var11]; - } - } + 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.field1250[var1]; + var6.plane = (byte)var8; + var6.resetPath((var9 << 13) + var3 - MusicPatchNode2.baseX * 64, (var10 << 13) + var4 - class1.baseY * 64); + var6.field638 = 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 (var10 != -1) { - var9 = Skills.getItemDefinition(var10); - } - } + if (var5 == 1) { + --var9; + } - 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, quantity, outline, shadow, 0, false); - if (var20 == null) { - return null; - } - } else if (var9.placeholderTemplate != -1) { - var20 = getItemSprite(var9.placeholder, quantity, 0, 0, 0, false); - if (var20 == null) { - return null; - } - } + if (var5 == 2) { + ++var8; + --var9; + } - 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.method2989(16, 16); - Rasterizer3D.field741 = false; - if (var9.placeholderTemplate != -1) { - var20.drawAt2(0, 0); - } + if (var5 == 3) { + --var8; + } - int var16 = var9.zoom2d; - if (noted) { - var16 = (int)((double)var16 * 1.5D); - } else if (outline == 2) { - var16 = (int)((double)var16 * 1.04D); - } + if (var5 == 4) { + ++var8; + } - int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; - int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; - var19.calculateBoundsCylinder(); - var19.method199(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); - if (var9.notedId != -1) { - var20.drawAt2(0, 0); - } + if (var5 == 5) { + --var8; + ++var9; + } - if (outline >= 1) { - var8.outline(1); - } + if (var5 == 6) { + ++var9; + } - if (outline >= 2) { - var8.outline(16777215); - } + if (var5 == 7) { + ++var8; + ++var9; + } - if (shadow != 0) { - var8.shadow(shadow); - } - - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); - if (var9.noteTemplate != -1) { - var20.drawAt2(0, 0); - } - - if (quantityMode == 1 || quantityMode == 2 && var9.isStackable == 1) { - class204.ItemDefinition_fontPlain11.draw(class196.method3735(quantity), 0, 9, 16776960, 1); - } - - if (!noted) { - ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6); - } - - Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); - Rasterizer2D.Rasterizer2D_setClipArray(var15); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - Rasterizer3D.field741 = true; - return var8; - } - } - - static { - field1132 = new short[]{6798, 8741, 25238, 4626, 4550}; - field1133 = 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}}; - field1134 = new short[]{-10304, 9104, -1, -1, -1}; - field1135 = 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]}; - } + 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 = var11 + var7 & 255; + Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); + return false; + } + } + } } diff --git a/runescape-client/src/main/java/class227.java b/runescape-client/src/main/java/class227.java index b42c492b72..7c3e87231f 100644 --- a/runescape-client/src/main/java/class227.java +++ b/runescape-client/src/main/java/class227.java @@ -1,391 +1,46 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hj") -public class class227 { - @ObfuscatedName("e") - public static short[] field1136; +@ObfuscatedName("hi") +public final class class227 { + @ObfuscatedName("gh") + @ObfuscatedSignature( + signature = "(Lbd;ZB)V", + garbageValue = "22" + ) + @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.movementSequence == var0.readySequence) { + var0.isUnanimated = true; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIIIILem;Lfy;B)V", - garbageValue = "120" - ) - static final void method4446(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; - } + int var2 = var0.x >> 7; + int var3 = var0.y >> 7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + long var4 = Tile.calculateTag(0, 0, 0, false, var0.index); + if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { + var0.isUnanimated = false; + var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); + var0.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.method3079(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.field950, var4, var0.field627, var0.field625, var0.field612, var0.field630); + } else { + if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { + if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { + return; + } - ObjectDefinition var8 = class50.getObjectDefinition(var3); - int var9; - int var10; - if (var4 != 1 && var4 != 3) { - var9 = var8.sizeX; - var10 = var8.sizeY; - } else { - var9 = var8.sizeY; - var10 = var8.sizeX; - } + Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; + } - int var11; - int var12; - if (var9 + var1 <= 104) { - var11 = (var9 >> 1) + var1; - var12 = (var9 + 1 >> 1) + var1; - } else { - var11 = var1; - var12 = var1 + 1; - } + var0.tileHeight = ScriptEvent.getTileHeight(var0.x, var0.y, class42.plane); + var0.playerCycle = Client.cycle; + GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.field950, var4, var0.field967); + } + } + } - 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 = FontName.calculateTag(var1, var2, 2, var8.int1 == 0, var3); - int var21 = var5 + (var4 << 6); - if (var8.int3 == 1) { - var21 += 256; - } - - int var22; - int var23; - if (var8.method233()) { - ObjectSound var24 = new ObjectSound(); - var24.field647 = var0; - var24.field648 = var1 * 128; - var24.field649 = var2 * 128; - var22 = var8.sizeX; - var23 = var8.sizeY; - if (var4 == 1 || var4 == 3) { - var22 = var8.sizeY; - var23 = var8.sizeX; - } - - var24.field650 = (var22 + var1) * 128; - var24.field651 = (var23 + var2) * 128; - var24.soundEffectId = var8.ambientSoundId; - var24.field652 = var8.int4 * 128; - var24.field653 = var8.int5; - var24.field654 = var8.int6; - var24.soundEffectIds = var8.field646; - if (var8.transforms != null) { - var24.obj = var8; - var24.set(); - } - - ObjectSound.objectSounds.addFirst(var24); - if (var24.soundEffectIds != null) { - var24.field655 = var24.field653 + (int)(Math.random() * (double)(var24.field654 - var24.field653)); - } - } - - Object var32; - if (var5 == 22) { - if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(22, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newFloorDecoration(var0, var1, var2, var16, (Entity)var32, var19, var21); - if (var8.interactType == 1 && var7 != null) { - var7.method93(var1, var2); - } - } - } else { - int var25; - if (var5 != 10 && var5 != 11) { - int[] var26; - if (var5 >= 12) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(var5, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.method284(var0, var1, var2, var16, 1, 1, (Entity)var32, 0, var19, var21); - if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 2340; - } - - if (var8.interactType != 0 && var7 != null) { - var7.method91(var1, var2, var9, var10, var8.boolean1); - } - } else if (var5 == 0) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(0, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var32, (Entity)null, Tiles.field911[var4], 0, var19, var21); - if (var4 == 0) { - if (var8.clipped) { - Tiles.field909[var0][var1][var2] = 50; - Tiles.field909[var0][var1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 585; - } - } else if (var4 == 1) { - if (var8.clipped) { - Tiles.field909[var0][var1][var2 + 1] = 50; - Tiles.field909[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var26 = Tiles.field910[var0][var1]; - var26[1 + var2] |= 1170; - } - } else if (var4 == 2) { - if (var8.clipped) { - Tiles.field909[var0][var1 + 1][var2] = 50; - Tiles.field909[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var26 = Tiles.field910[var0][var1 + 1]; - var26[var2] |= 585; - } - } else if (var4 == 3) { - if (var8.clipped) { - Tiles.field909[var0][var1][var2] = 50; - Tiles.field909[var0][var1 + 1][var2] = 50; - } - - if (var8.modelClipped) { - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 1170; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method90(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method287(var0, var1, var2, var8.int2); - } - } else if (var5 == 1) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(1, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var32, (Entity)null, Tiles.field912[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - Tiles.field909[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - Tiles.field909[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - Tiles.field909[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - Tiles.field909[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method90(var1, var2, var5, var4, var8.boolean1); - } - } else { - Object var27; - if (var5 == 2) { - var25 = var4 + 1 & 3; - Object var28; - if (var8.animationId == -1 && var8.transforms == null) { - var27 = var8.method232(2, var4 + 4, var15, var17, var16, var18); - var28 = var8.method232(2, var25, var15, var17, var16, var18); - } else { - var27 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - var28 = new DynamicObject(var3, 2, var25, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var27, (Entity)var28, Tiles.field911[var4], Tiles.field911[var25], var19, var21); - if (var8.modelClipped) { - if (var4 == 0) { - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 585; - var26 = Tiles.field910[var0][var1]; - var26[1 + var2] |= 1170; - } else if (var4 == 1) { - var26 = Tiles.field910[var0][var1]; - var26[1 + var2] |= 1170; - var26 = Tiles.field910[var0][var1 + 1]; - var26[var2] |= 585; - } else if (var4 == 2) { - var26 = Tiles.field910[var0][var1 + 1]; - var26[var2] |= 585; - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 1170; - } else if (var4 == 3) { - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 1170; - var26 = Tiles.field910[var0][var1]; - var26[var2] |= 585; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method90(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method287(var0, var1, var2, var8.int2); - } - } else if (var5 == 3) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(3, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var32, (Entity)null, Tiles.field912[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - Tiles.field909[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - Tiles.field909[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - Tiles.field909[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - Tiles.field909[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method90(var1, var2, var5, var4, var8.boolean1); - } - } else if (var5 == 9) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(var5, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.method284(var0, var1, var2, var16, 1, 1, (Entity)var32, 0, var19, var21); - if (var8.interactType != 0 && var7 != null) { - var7.method91(var1, var2, var9, var10, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method287(var0, var1, var2, var8.int2); - } - } else if (var5 == 4) { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(4, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var32, (Entity)null, Tiles.field911[var4], 0, 0, 0, var19, var21); - } else { - long var33; - if (var5 == 5) { - var25 = 16; - var33 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var33 != 0L) { - var25 = class50.getObjectDefinition(HitSplatDefinition.method4972(var33)).int2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var27 = var8.method232(4, var4, var15, var17, var16, var18); - } else { - var27 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var27, (Entity)null, Tiles.field911[var4], 0, var25 * Tiles.field913[var4], var25 * Tiles.field914[var4], var19, var21); - } else if (var5 == 6) { - var25 = 8; - var33 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var33 != 0L) { - var25 = class50.getObjectDefinition(HitSplatDefinition.method4972(var33)).int2 / 2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var27 = var8.method232(4, var4 + 4, var15, var17, var16, var18); - } else { - var27 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var27, (Entity)null, 256, var4, var25 * Tiles.field915[var4], var25 * Tiles.field916[var4], var19, var21); - } else if (var5 == 7) { - var22 = var4 + 2 & 3; - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(4, var22 + 4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 4, var22 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var32, (Entity)null, 256, var22, 0, 0, var19, var21); - } else if (var5 == 8) { - var25 = 8; - var33 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var33 != 0L) { - var25 = class50.getObjectDefinition(HitSplatDefinition.method4972(var33)).int2 / 2; - } - - int var30 = var4 + 2 & 3; - Object var31; - if (var8.animationId == -1 && var8.transforms == null) { - var27 = var8.method232(4, var4 + 4, var15, var17, var16, var18); - var31 = var8.method232(4, var30 + 4, var15, var17, var16, var18); - } else { - var27 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - var31 = new DynamicObject(var3, 4, var30 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var27, (Entity)var31, 256, var4, var25 * Tiles.field915[var4], var25 * Tiles.field916[var4], var19, var21); - } - } - } - } else { - if (var8.animationId == -1 && var8.transforms == null) { - var32 = var8.method232(10, var4, var15, var17, var16, var18); - } else { - var32 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - if (var32 != null && var6.method284(var0, var1, var2, var16, var9, var10, (Entity)var32, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { - var22 = 15; - if (var32 instanceof Model) { - var22 = ((Model)var32).method198() / 4; - if (var22 > 30) { - var22 = 30; - } - } - - for (var23 = 0; var23 <= var9; ++var23) { - for (var25 = 0; var25 <= var10; ++var25) { - if (var22 > Tiles.field909[var0][var23 + var1][var25 + var2]) { - Tiles.field909[var0][var23 + var1][var25 + var2] = (byte)var22; - } - } - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method91(var1, var2, var9, var10, var8.boolean1); - } - } - } - } - - } + } } diff --git a/runescape-client/src/main/java/class229.java b/runescape-client/src/main/java/class229.java deleted file mode 100644 index 45b2567226..0000000000 --- a/runescape-client/src/main/java/class229.java +++ /dev/null @@ -1,141 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("hz") -public class class229 { - @ObfuscatedName("l") - public static short[][] field1137; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Ljb;", - garbageValue = "-41" - ) - @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("ad") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "1886084106" - ) - static int method4513(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { - RouteStrategy.Interpreter_intStackSize -= 2; - Client.field130 = (short)class161.method3395(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]); - if (Client.field130 <= 0) { - Client.field130 = 256; - } - - Client.field131 = (short)class161.method3395(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - if (Client.field131 <= 0) { - Client.field131 = 256; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { - RouteStrategy.Interpreter_intStackSize -= 2; - Client.field150 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - if (Client.field150 <= 0) { - Client.field150 = 256; - } - - Client.field149 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (Client.field149 <= 0) { - Client.field149 = 320; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { - RouteStrategy.Interpreter_intStackSize -= 4; - Client.field135 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - if (Client.field135 <= 0) { - Client.field135 = 1; - } - - Client.field134 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - if (Client.field134 <= 0) { - Client.field134 = 32767; - } else if (Client.field134 < Client.field135) { - Client.field134 = Client.field135; - } - - Client.field132 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - if (Client.field132 <= 0) { - Client.field132 = 1; - } - - Client.field133 = (short)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3]; - if (Client.field133 <= 0) { - Client.field133 = 32767; - } else if (Client.field133 < Client.field132) { - Client.field133 = Client.field132; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { - if (Client.viewportWidget != null) { - FontName.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.viewportWidth; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.viewportHeight; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.field150; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.field149; - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class30.method571(Client.field130); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class30.method571(Client.field131); - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("gq") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-21" - ) - static void method4514() { - if (Canvas.localPlayer.x >> 7 == Client.destinationX && Canvas.localPlayer.y >> 7 == Client.destinationY) { - Client.destinationX = 0; - } - - } - - @ObfuscatedName("kj") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "20" - ) - static final void method4512() { - SecureRandomFuture.method2104(); - if (PacketWriter.clanChat != null) { - PacketWriter.clanChat.clearIgnoreds(); - } - - } -} diff --git a/runescape-client/src/main/java/class230.java b/runescape-client/src/main/java/class230.java deleted file mode 100644 index ab493cd64a..0000000000 --- a/runescape-client/src/main/java/class230.java +++ /dev/null @@ -1,85 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hy") -public class class230 { - @ObfuscatedName("az") - protected static boolean field1138; - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)[B", - garbageValue = "-242562639" - ) - public static byte[] method4516(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)) { - 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; - } - } else { - var2[var3] = (byte)var4; - } - } - - return var2; - } -} diff --git a/runescape-client/src/main/java/class233.java b/runescape-client/src/main/java/class233.java deleted file mode 100644 index f3fc121e9f..0000000000 --- a/runescape-client/src/main/java/class233.java +++ /dev/null @@ -1,50 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hk") -public class class233 { - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "1328150819" - ) - public static String method4527(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)) { - char var6; - if (var5 != 181 && var5 != 402) { - var6 = Character.toTitleCase(var5); - } else { - var6 = var5; - } - - var5 = var6; - } - - 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); - } -} diff --git a/runescape-client/src/main/java/class234.java b/runescape-client/src/main/java/class234.java deleted file mode 100644 index d065094361..0000000000 --- a/runescape-client/src/main/java/class234.java +++ /dev/null @@ -1,53 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("if") -public class class234 { - @ObfuscatedName("gh") - @ObfuscatedSignature( - signature = "(Lbr;III)V", - garbageValue = "-701527010" - ) - @Export("performPlayerAnimation") - static void performPlayerAnimation(Player var0, int var1, int var2) { - if (var0.sequence == var1 && var1 != -1) { - int var3 = WorldMapAreaData.getSequenceDefinition(var1).field783; - if (var3 == 1) { - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field13 = 0; - } - - if (var3 == 2) { - var0.field13 = 0; - } - } else if (var1 == -1 || var0.sequence == -1 || WorldMapAreaData.getSequenceDefinition(var1).field779 >= WorldMapAreaData.getSequenceDefinition(var0.sequence).field779) { - var0.sequence = var1; - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field13 = 0; - var0.field25 = var0.pathLength; - } - - } - - @ObfuscatedName("kt") - @ObfuscatedSignature( - signature = "(Lgr;IS)V", - garbageValue = "-30972" - ) - static void method4535(Buffer var0, int var1) { - class50.method902(var0.array, var1); - if (class168.randomDat != null) { - try { - class168.randomDat.seek(0L); - class168.randomDat.write(var0.array, var1, 24); - } catch (Exception var3) { - } - } - - } -} diff --git a/runescape-client/src/main/java/class236.java b/runescape-client/src/main/java/class236.java deleted file mode 100644 index 214b6ba767..0000000000 --- a/runescape-client/src/main/java/class236.java +++ /dev/null @@ -1,134 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ie") -public class class236 { - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lhx;II)Z", - garbageValue = "278945262" - ) - @Export("updateExternalPlayer") - static boolean updateExternalPlayer(PacketBuffer var0, int var1) { - int var2 = var0.readBits(2); - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - if (var2 == 0) { - if (var0.readBits(1) != 0) { - updateExternalPlayer(var0, var1); - } - - var3 = var0.readBits(13); - var4 = var0.readBits(13); - boolean var11 = var0.readBits(1) == 1; - if (var11) { - Players.field737[++Players.field736 - 1] = var1; - } - - if (Client.players[var1] != null) { - throw new RuntimeException(); - } else { - Player var12 = Client.players[var1] = new Player(); - var12.index = var1; - if (Players.field733[var1] != null) { - var12.read(Players.field733[var1]); - } - - var12.orientation = Players.Players_orientations[var1]; - var12.targetIndex = Players.Players_targetIndices[var1]; - var5 = Players.Players_regions[var1]; - var6 = var5 >> 28; - var7 = var5 >> 14 & 255; - var8 = var5 & 255; - var12.pathTraversed[0] = Players.field732[var1]; - var12.plane = (byte)var6; - var12.resetPath((var7 << 13) + var3 - class50.baseX, (var8 << 13) + var4 - GraphicsObject.baseY); - var12.field725 = 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 var9; - int var10; - if (var2 == 2) { - var3 = var0.readBits(5); - var4 = var3 >> 3; - var9 = var3 & 7; - var10 = Players.Players_regions[var1]; - var5 = (var10 >> 28) + var4 & 3; - var6 = var10 >> 14 & 255; - var7 = var10 & 255; - if (var9 == 0) { - --var6; - --var7; - } - - if (var9 == 1) { - --var7; - } - - if (var9 == 2) { - ++var6; - --var7; - } - - if (var9 == 3) { - --var6; - } - - if (var9 == 4) { - ++var6; - } - - if (var9 == 5) { - --var6; - ++var7; - } - - if (var9 == 6) { - ++var7; - } - - if (var9 == 7) { - ++var6; - ++var7; - } - - Players.Players_regions[var1] = (var6 << 14) + var7 + (var5 << 28); - return false; - } else { - var3 = var0.readBits(18); - var4 = var3 >> 16; - var9 = var3 >> 8 & 255; - var10 = var3 & 255; - var5 = Players.Players_regions[var1]; - var6 = (var5 >> 28) + var4 & 3; - var7 = var9 + (var5 >> 14) & 255; - var8 = var5 + var10 & 255; - Players.Players_regions[var1] = (var7 << 14) + var8 + (var6 << 28); - return false; - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-616244124" - ) - static final int method4537(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; - } -} diff --git a/runescape-client/src/main/java/class237.java b/runescape-client/src/main/java/class237.java index 0de7e2203c..1c2c5da085 100644 --- a/runescape-client/src/main/java/class237.java +++ b/runescape-client/src/main/java/class237.java @@ -1,15 +1,208 @@ +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("in") +@ObfuscatedName("ih") public class class237 { - @ObfuscatedName("eu") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1306713115" - ) - static final void method4539() { - Scene.Scene_isLowDetail = false; - Client.isLowDetail = false; - } + @ObfuscatedName("c") + static int[] field3189; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 1134867961 + ) + static int field3191; + @ObfuscatedName("q") + @Export("spriteMap") + final HashMap spriteMap; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lls;" + ) + @Export("bounds") + Bounds bounds; + @ObfuscatedName("e") + int[] field3184; + @ObfuscatedName("p") + int[] field3182; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1881453341 + ) + int field3190; + + public class237() { + this.spriteMap = new HashMap(); + this.bounds = new Bounds(0, 0); + this.field3184 = new int[2048]; + this.field3182 = new int[2048]; + this.field3190 = 0; + field3189 = new int[2000]; + int var1 = 0; + int var2 = 240; + + int var4; + for (byte var3 = 12; var1 < 16; var2 -= var3) { + var4 = Username.method5217((double)((float)var2 / 360.0F), 0.9998999834060669D, (double)(0.425F * (float)var1 / 16.0F + 0.075F)); + field3189[var1] = var4; + ++var1; + } + + var2 = 48; + + for (int var6 = var2 / 6; var1 < field3189.length; var2 -= var6) { + var4 = var1 * 2; + + for (int var5 = Username.method5217((double)((float)var2 / 360.0F), 0.9998999834060669D, 0.5D); var1 < var4 && var1 < field3189.length; ++var1) { + field3189[var1] = var5; + } + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1241140434" + ) + void method4317(int var1) { + int var2 = var1 * 2 + 1; + double[] var3 = ClientParameter.method4992(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[var9] * var3[var8] / var4)); + if (!var7 && var10 > 0) { + var7 = true; + } + } + } + + Sprite var11 = new Sprite(var6, var2, var2); + this.spriteMap.put(var1, var11); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(II)Lly;", + garbageValue = "314101713" + ) + Sprite method4318(int var1) { + if (!this.spriteMap.containsKey(var1)) { + this.method4317(var1); + } + + return (Sprite)this.spriteMap.get(var1); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-97" + ) + public final void method4316(int var1, int var2) { + if (this.field3190 < this.field3184.length) { + this.field3184[this.field3190] = var1; + this.field3182[this.field3190] = var2; + ++this.field3190; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "25" + ) + public final void method4320() { + this.field3190 = 0; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IILly;FI)V", + garbageValue = "-690333183" + ) + public final void method4321(int var1, int var2, Sprite var3, float var4) { + int var5 = (int)(18.0F * var4); + Sprite var6 = this.method4318(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.field3190; ++var10) { + var11 = this.field3184[var10]; + var12 = this.field3182[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.method5980(var8, var9); + this.method4322(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 > field3189.length) { + var11 = field3189.length; + } + + var12 = field3189[var11 - 1]; + var3.pixels[var10] = -16777216 | var12; + } + } + } + + System.nanoTime(); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lly;Lly;Lls;I)V", + garbageValue = "1272955038" + ) + void method4322(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; + } + + } + } } diff --git a/runescape-client/src/main/java/class238.java b/runescape-client/src/main/java/class238.java deleted file mode 100644 index e2b9795e55..0000000000 --- a/runescape-client/src/main/java/class238.java +++ /dev/null @@ -1,599 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("il") -public final class class238 { - @ObfuscatedName("dw") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive9") - static Archive archive9; - - @ObfuscatedName("im") - @ObfuscatedSignature( - signature = "(Lho;I)Z", - garbageValue = "188151075" - ) - @Export("runCs1") - static final boolean runCs1(Widget component) { - if (component.cs1Comparisons == null) { - return false; - } else { - for (int var1 = 0; var1 < component.cs1Comparisons.length; ++var1) { - int var2 = class16.method187(component, var1); - int var3 = component.cs1ComparisonValues[var1]; - if (component.cs1Comparisons[var1] == 2) { - if (var2 >= var3) { - return false; - } - } else if (component.cs1Comparisons[var1] == 3) { - if (var2 <= var3) { - return false; - } - } else if (component.cs1Comparisons[var1] == 4) { - if (var2 == var3) { - return false; - } - } else if (var3 != var2) { - return false; - } - } - - return true; - } - } - - @ObfuscatedName("jr") - @ObfuscatedSignature( - signature = "([Lho;IIIIIIII)V", - garbageValue = "1706481742" - ) - @Export("updateInterface") - static final void updateInterface(Widget[] components, int parentId, int x, int y, int width, int height, int xOffset, int yOffset) { - for (int var8 = 0; var8 < components.length; ++var8) { - Widget var9 = components[var8]; - if (var9 != null && var9.parentId == parentId && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class1.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { - if (var9.isIf3) { - if (PacketBufferNode.isComponentHidden(var9)) { - continue; - } - } else if (var9.type == 0 && var9 != Clock.mousedOverWidgetIf1 && PacketBufferNode.isComponentHidden(var9)) { - continue; - } - - int var10 = var9.x + xOffset; - int var11 = yOffset + var9.y; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - if (var9.type == 2) { - var12 = x; - var13 = y; - var14 = width; - var15 = height; - } else { - int var18; - if (var9.type == 9) { - var18 = var10; - var16 = var11; - var17 = var10 + var9.width; - int var19 = var11 + var9.height; - if (var17 < var10) { - var18 = var17; - var17 = var10; - } - - if (var19 < var11) { - var16 = var19; - var19 = var11; - } - - ++var17; - ++var19; - var12 = var18 > x ? var18 : x; - var13 = var16 > y ? var16 : y; - var14 = var17 < width ? var17 : width; - var15 = var19 < height ? var19 : height; - } else { - var18 = var10 + var9.width; - var16 = var11 + var9.height; - var12 = var10 > x ? var10 : x; - var13 = var11 > y ? var11 : y; - var14 = var18 < width ? var18 : width; - var15 = var16 < height ? var16 : height; - } - } - - if (var9 == Client.clickedWidget) { - Client.field103 = true; - Client.field110 = var10; - Client.field111 = var11; - } - - boolean var28 = false; - if (var9.field965) { - switch(Client.field151) { - case 0: - var28 = true; - case 1: - default: - break; - case 2: - if (Client.field153 == var9.id >>> 16) { - var28 = true; - } - break; - case 3: - if (var9.id == Client.field153) { - var28 = true; - } - } - } - - if (var28 || !var9.isIf3 || var12 < var14 && var13 < var15) { - if (var9.isIf3) { - ScriptEvent var29; - if (var9.noClickThrough) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var29.boolean1) { - var29.remove(); - var29.widget.field978 = false; - } - } - - if (MouseRecorder.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - class30.resetMenuEntries(); - } - } - } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var29.boolean1 && var29.widget.onScroll == var29.args0) { - var29.remove(); - } - } - } - } - - var16 = MouseHandler.MouseHandler_x; - var17 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var16 = MouseHandler.MouseHandler_lastPressedX; - var17 = MouseHandler.MouseHandler_lastPressedY; - } - - boolean var30 = var16 >= var12 && var17 >= var13 && var16 < var14 && var17 < var15; - if (var9.contentType == 1337) { - if (!Client.isLoading && !Client.isMenuOpen && var30) { - WorldMapEvent.addSceneMenuOptions(var16, var17, var12, var13); - } - } else if (var9.contentType == 1338) { - WorldMapRegion.method567(var9, var10, var11); - } else { - if (var9.contentType == 1400) { - class60.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var30, var10, var11, var9.width, var9.height); - } - - if (!Client.isMenuOpen && var30) { - if (var9.contentType == 1400) { - class60.worldMap.method384(var10, var11, var9.width, var9.height, var16, var17); - } else { - ChatChannel.method2237(var9, var16 - var10, var17 - var11); - } - } - - boolean var20; - int var21; - boolean var23; - if (var28) { - for (int var22 = 0; var22 < var9.field966.length; ++var22) { - var20 = false; - var23 = false; - if (!var20 && var9.field966[var22] != null) { - for (var21 = 0; var21 < var9.field966[var22].length; ++var21) { - boolean var24 = false; - if (var9.field984 != null) { - var24 = KeyHandler.KeyHandler_pressedKeys[var9.field966[var22][var21]]; - } - - if (class1.method15(var9.field966[var22][var21]) || var24) { - var20 = true; - if (var9.field984 != null && var9.field984[var22] > Client.cycle) { - break; - } - - byte var25 = var9.field967[var22][var21]; - 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])) { - var23 = true; - break; - } - } - } - } - - if (var23) { - if (var22 < 10) { - class171.method3494(var22 + 1, var9.id, var9.childIndex, var9.itemId, ""); - } else if (var22 == 10) { - Player.method1281(); - WorldMapDecoration.method350(var9.id, var9.childIndex, Calendar.method4107(class1.getWidgetClickMask(var9)), var9.itemId); - Client.selectedSpellActionName = class198.method3745(var9); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - Client.selectedSpellName = var9.dataText + BufferedFile.colorStartTag(16777215); - } - - var21 = var9.field968[var22]; - if (var9.field984 == null) { - var9.field984 = new int[var9.field966.length]; - } - - if (var9.field969 == null) { - var9.field969 = new int[var9.field966.length]; - } - - if (var21 != 0) { - if (var9.field984[var22] == 0) { - var9.field984[var22] = var21 + Client.cycle + var9.field969[var22]; - } else { - var9.field984[var22] = var21 + Client.cycle; - } - } else { - var9.field984[var22] = Integer.MAX_VALUE; - } - } - - if (!var20 && var9.field984 != null) { - var9.field984[var22] = 0; - } - } - } - - ScriptEvent var31; - if (var9.isIf3) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - var30 = true; - } else { - var30 = false; - } - - var23 = false; - if ((MouseHandler.MouseHandler_currentButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var30) { - var23 = true; - } - - var20 = false; - if ((MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { - var20 = true; - } - - if (var20) { - Players.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); - } - - if (var9.contentType == 1400) { - class60.worldMap.method361(var16, var17, var30 & var23, var30 & var20); - } - - if (Client.clickedWidget != null && var9 != Client.clickedWidget && var30 && class54.method1090(class1.getWidgetClickMask(var9))) { - Client.draggedOnWidget = var9; - } - - if (var9 == Client.clickedWidgetParent) { - Client.field106 = true; - Client.field108 = var10; - Client.field109 = var11; - } - - if (var9.hasListener) { - if (var30 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseY = Client.mouseWheelRotation; - var31.args0 = var9.onScroll; - Client.scriptEvents.addFirst(var31); - } - - if (Client.clickedWidget != null || DevicePcmPlayerProvider.dragInventoryWidget != null || Client.isMenuOpen) { - var20 = false; - var23 = false; - var30 = false; - } - - if (!var9.field979 && var20) { - var9.field979 = true; - if (var9.onClick != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; - var31.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; - var31.args0 = var9.onClick; - Client.scriptEvents.addFirst(var31); - } - } - - if (var9.field979 && var23 && var9.onClickRepeat != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onClickRepeat; - Client.scriptEvents.addFirst(var31); - } - - if (var9.field979 && !var23) { - var9.field979 = false; - if (var9.onRelease != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onRelease; - Client.field148.addFirst(var31); - } - } - - if (var23 && var9.onHold != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onHold; - Client.scriptEvents.addFirst(var31); - } - - if (!var9.field978 && var30) { - var9.field978 = true; - if (var9.onMouseOver != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onMouseOver; - Client.scriptEvents.addFirst(var31); - } - } - - if (var9.field978 && var30 && var9.onMouseRepeat != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onMouseRepeat; - Client.scriptEvents.addFirst(var31); - } - - if (var9.field978 && !var30) { - var9.field978 = false; - if (var9.onMouseLeave != null) { - var31 = new ScriptEvent(); - var31.boolean1 = true; - var31.widget = var9; - var31.mouseX = MouseHandler.MouseHandler_x - var10; - var31.mouseY = MouseHandler.MouseHandler_y - var11; - var31.args0 = var9.onMouseLeave; - Client.field148.addFirst(var31); - } - } - - if (var9.onTimer != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onTimer; - Client.field147.addFirst(var31); - } - - int var26; - int var32; - ScriptEvent var33; - if (var9.onVarTransmit != null && Client.field123 > var9.field981) { - if (var9.varTransmitTriggers != null && Client.field123 - var9.field981 <= 32) { - label590: - for (var26 = var9.field981; var26 < Client.field123; ++var26) { - var21 = Client.field121[var26 & 31]; - - for (var32 = 0; var32 < var9.varTransmitTriggers.length; ++var32) { - if (var21 == var9.varTransmitTriggers[var32]) { - var33 = new ScriptEvent(); - var33.widget = var9; - var33.args0 = var9.onVarTransmit; - Client.scriptEvents.addFirst(var33); - break label590; - } - } - } - } else { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onVarTransmit; - Client.scriptEvents.addFirst(var31); - } - - var9.field981 = Client.field123; - } - - if (var9.onInvTransmit != null && Client.field117 > var9.field982) { - if (var9.invTransmitTriggers != null && Client.field117 - var9.field982 <= 32) { - label566: - for (var26 = var9.field982; var26 < Client.field117; ++var26) { - var21 = Client.field116[var26 & 31]; - - for (var32 = 0; var32 < var9.invTransmitTriggers.length; ++var32) { - if (var21 == var9.invTransmitTriggers[var32]) { - var33 = new ScriptEvent(); - var33.widget = var9; - var33.args0 = var9.onInvTransmit; - Client.scriptEvents.addFirst(var33); - break label566; - } - } - } - } else { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onInvTransmit; - Client.scriptEvents.addFirst(var31); - } - - var9.field982 = Client.field117; - } - - if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field983) { - if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field983 <= 32) { - label542: - for (var26 = var9.field983; var26 < Client.changedSkillsCount; ++var26) { - var21 = Client.changedSkills[var26 & 31]; - - for (var32 = 0; var32 < var9.statTransmitTriggers.length; ++var32) { - if (var21 == var9.statTransmitTriggers[var32]) { - var33 = new ScriptEvent(); - var33.widget = var9; - var33.args0 = var9.onStatTransmit; - Client.scriptEvents.addFirst(var33); - break label542; - } - } - } - } else { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onStatTransmit; - Client.scriptEvents.addFirst(var31); - } - - var9.field983 = Client.changedSkillsCount; - } - - if (Client.chatCycle > var9.field980 && var9.onChatTransmit != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onChatTransmit; - Client.scriptEvents.addFirst(var31); - } - - if (Client.field105 > var9.field980 && var9.onFriendTransmit != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onFriendTransmit; - Client.scriptEvents.addFirst(var31); - } - - if (Client.field129 > var9.field980 && var9.onClanTransmit != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onClanTransmit; - Client.scriptEvents.addFirst(var31); - } - - if (Client.field122 > var9.field980 && var9.onStockTransmit != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onStockTransmit; - Client.scriptEvents.addFirst(var31); - } - - if (Client.field154 > var9.field980 && var9.field977 != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.field977; - Client.scriptEvents.addFirst(var31); - } - - if (Client.field124 > var9.field980 && var9.onMiscTransmit != null) { - var31 = new ScriptEvent(); - var31.widget = var9; - var31.args0 = var9.onMiscTransmit; - Client.scriptEvents.addFirst(var31); - } - - var9.field980 = Client.cycleCntr; - if (var9.onKey != null) { - for (var26 = 0; var26 < Client.field137; ++var26) { - ScriptEvent var27 = new ScriptEvent(); - var27.widget = var9; - var27.keyTyped = Client.field145[var26]; - var27.keyPressed = Client.field146[var26]; - var27.args0 = var9.onKey; - Client.scriptEvents.addFirst(var27); - } - } - } - } - - if (!var9.isIf3) { - if (Client.clickedWidget != null || DevicePcmPlayerProvider.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) { - Clock.mousedOverWidgetIf1 = components[var9.mouseOverRedirect]; - } else { - Clock.mousedOverWidgetIf1 = var9; - } - } - - if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - AccessFile.field8 = var9; - } - - if (var9.scrollHeight > var9.height) { - WorldMapSection3.method246(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); - } - } - - if (var9.type == 0) { - updateInterface(components, 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 var34 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); - if (var34 != null) { - if (var34.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { - for (var31 = (ScriptEvent)Client.scriptEvents.last(); var31 != null; var31 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var31.boolean1) { - var31.remove(); - var31.widget.field978 = false; - } - } - - if (MouseRecorder.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - class30.resetMenuEntries(); - } - } - - WorldMapDecorationType.updateRootInterface(var34.group, var12, var13, var14, var15, var10, var11); - } - } - } - } - } - } - - } -} diff --git a/runescape-client/src/main/java/class248.java b/runescape-client/src/main/java/class248.java deleted file mode 100644 index 83ad2b9478..0000000000 --- a/runescape-client/src/main/java/class248.java +++ /dev/null @@ -1,333 +0,0 @@ -import java.util.HashMap; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("iu") -public class class248 { - @ObfuscatedName("e") - static int[] field1141; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 662119345 - ) - static int field1142; - @ObfuscatedName("m") - final HashMap field3267; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lla;" - ) - Bounds field3263; - @ObfuscatedName("q") - int[] field3271; - @ObfuscatedName("w") - int[] field3262; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1072223029 - ) - int field3266; - - public class248() { - this.field3267 = new HashMap(); - this.field3263 = new Bounds(0, 0); - this.field3271 = new int[2048]; - this.field3262 = new int[2048]; - this.field3266 = 0; - Login.method2056(); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2027223388" - ) - void method4716(int var1) { - int var2 = var1 * 2 + 1; - double[] var3 = Bounds.method5905(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 + var2 * var8] = (int)(256.0D * (var3[var9] * var3[var8] / var4)); - if (!var7 && var10 > 0) { - var7 = true; - } - } - } - - Sprite var11 = new Sprite(var6, var2, var2); - this.field3267.put(var1, var11); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)Lln;", - garbageValue = "-1847730067" - ) - Sprite method4718(int var1) { - if (!this.field3267.containsKey(var1)) { - this.method4716(var1); - } - - return (Sprite)this.field3267.get(var1); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-703491177" - ) - public final void method4738(int var1, int var2) { - if (this.field3266 < this.field3271.length) { - this.field3271[this.field3266] = var1; - this.field3262[this.field3266] = var2; - ++this.field3266; - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "20019778" - ) - public final void method4719() { - this.field3266 = 0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IILln;FI)V", - garbageValue = "1523665695" - ) - public final void method4720(int var1, int var2, Sprite var3, float var4) { - int var5 = (int)(18.0F * var4); - Sprite var6 = this.method4718(var5); - int var7 = var5 * 2 + 1; - Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); - Bounds var9 = new Bounds(0, 0); - this.field3263.method29(var7, var7); - System.nanoTime(); - - int var10; - int var11; - int var12; - for (var10 = 0; var10 < this.field3266; ++var10) { - var11 = this.field3271[var10]; - var12 = this.field3262[var10]; - int var13 = (int)(var4 * (float)(var11 - var1)) - var5; - int var14 = (int)((float)var3.subHeight - (float)(var12 - var2) * var4) - var5; - this.field3263.method28(var13, var14); - this.field3263.method30(var8, var9); - this.method4721(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 > field1141.length) { - var11 = field1141.length; - } - - var12 = field1141[var11 - 1]; - var3.pixels[var10] = -16777216 | var12; - } - } - } - - System.nanoTime(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lln;Lln;Lla;B)V", - garbageValue = "112" - ) - void method4721(Sprite var1, Sprite var2, Bounds var3) { - if (var3.field43 != 0 && var3.field44 != 0) { - int var4 = 0; - int var5 = 0; - if (var3.field41 == 0) { - var4 = var1.subWidth - var3.field43; - } - - if (var3.field42 == 0) { - var5 = var1.subHeight - var3.field44; - } - - int var6 = var4 + var5 * var1.subWidth; - int var7 = var2.subWidth * var3.field42 + var3.field41; - - for (int var8 = 0; var8 < var3.field44; ++var8) { - for (int var9 = 0; var9 < var3.field43; ++var9) { - int var10 = var7++; - int[] var11 = var2.pixels; - var11[var10] += var1.pixels[var6++]; - } - - var6 += var1.subWidth - var3.field43; - var7 += var2.subWidth - var3.field43; - } - } - - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "2033111880" - ) - static int method4741(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; - return 1; - } else { - int var4; - if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4 == 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4 == 2 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4 == 5 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4 == 1 ? 1 : 0; - return 1; - } else { - boolean var5; - if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (FloorDecoration.grandExchangeEvents != null) { - FloorDecoration.grandExchangeEvents.sort(GrandExchangeEvents.geItemNameComparator, var5); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (FloorDecoration.grandExchangeEvents != null) { - FloorDecoration.grandExchangeEvents.sort(GrandExchangeEvents.geUnitPriceComparator, var5); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { - RouteStrategy.Interpreter_intStackSize -= 2; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] == 1; - boolean var13 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1] == 1; - if (FloorDecoration.grandExchangeEvents != null) { - Client.geOwnWorldComparator.compareOwnWorld = var13; - FloorDecoration.grandExchangeEvents.sort(Client.geOwnWorldComparator, var5); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (FloorDecoration.grandExchangeEvents != null) { - FloorDecoration.grandExchangeEvents.sort(GrandExchangeEvents.geAgeComparator, var5); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { - var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - if (FloorDecoration.grandExchangeEvents != null) { - FloorDecoration.grandExchangeEvents.sort(GrandExchangeEvents.geTotalQuantityComparator, var5); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = FloorDecoration.grandExchangeEvents == null ? 0 : FloorDecoration.grandExchangeEvents.events.size(); - return 1; - } else { - GrandExchangeEvent var6; - if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.world; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getPreviousOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - long var7 = class203.currentTimeMs() - class15.field1113 - var6.field370; - int var9 = (int)(var7 / 3600000L); - int var10 = (int)((var7 - (long)(var9 * 3600000)) / 60000L); - int var11 = (int)((var7 - (long)(var9 * 3600000) - (long)(var10 * 60000)) / 1000L); - String var12 = var9 + ":" + var10 / 10 + var10 % 10 + ":" + var11 / 10 + var11 % 10; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var12; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.grandExchangeOffer.totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.grandExchangeOffer.unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = (GrandExchangeEvent)FloorDecoration.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.grandExchangeOffer.id; - return 1; - } else { - return 2; - } - } - } - } - } -} diff --git a/runescape-client/src/main/java/class258.java b/runescape-client/src/main/java/class258.java deleted file mode 100644 index c020bc70dd..0000000000 --- a/runescape-client/src/main/java/class258.java +++ /dev/null @@ -1,67 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ig") -public class class258 { - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Lln;", - garbageValue = "-51" - ) - static Sprite method4900() { - Sprite var0 = new Sprite(); - var0.width = class328.indexedSpriteWidth; - var0.height = class328.indexedSpriteHeight; - var0.yOffset = class328.indexedSpriteOffsetXs[0]; - var0.xOffset = class328.indexedSpriteOffsetYs[0]; - var0.subWidth = VarbitDefinition.indexedSpriteWidths[0]; - var0.subHeight = SecureRandomCallable.indexedSpriteHeights[0]; - int var1 = var0.subHeight * var0.subWidth; - byte[] var2 = class328.spritePixels[0]; - var0.pixels = new int[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - var0.pixels[var3] = class328.indexedSpritePalette[var2[var3] & 255]; - } - - class328.indexedSpriteOffsetXs = null; - class328.indexedSpriteOffsetYs = null; - VarbitDefinition.indexedSpriteWidths = null; - SecureRandomCallable.indexedSpriteHeights = null; - class328.indexedSpritePalette = null; - class328.spritePixels = ((byte[][])null); - return var0; - } - - @ObfuscatedName("hd") - @ObfuscatedSignature( - signature = "(IIIIIIIIII)V", - garbageValue = "772902595" - ) - static final void method4898(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; - class13.method165(var9); - Client.pendingSpawns.addFirst(var9); - } - - var9.id = var4; - var9.field908 = var5; - var9.orientation = var6; - var9.delay = var7; - var9.hitpoints = var8; - } -} diff --git a/runescape-client/src/main/java/class27.java b/runescape-client/src/main/java/class27.java deleted file mode 100644 index ba72450f79..0000000000 --- a/runescape-client/src/main/java/class27.java +++ /dev/null @@ -1,70 +0,0 @@ -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.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("aq") -public final class class27 { - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("Widget_fontsArchive") - public static AbstractArchive Widget_fontsArchive; - @ObfuscatedName("f") - final int[] field225; - - class27() { - this.field225 = new int[4096]; - } - - class27(int[] var1) { - this.field225 = var1; - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-695741813" - ) - final int method430(int var1, int var2) { - return this.field225[var1 + var2 * 64]; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)[Lge;", - garbageValue = "37" - ) - public static ServerPacket[] method429() { - return new ServerPacket[]{ServerPacket.field789, ServerPacket.field790, ServerPacket.field791, ServerPacket.field792, ServerPacket.field793, ServerPacket.field794, ServerPacket.field795, ServerPacket.field796, ServerPacket.field797, ServerPacket.field798, ServerPacket.field799, ServerPacket.field800, ServerPacket.field801, ServerPacket.field802, ServerPacket.field803, ServerPacket.field804, ServerPacket.field805, ServerPacket.field806, ServerPacket.field807, ServerPacket.field808, ServerPacket.field809, ServerPacket.field810, ServerPacket.field811, ServerPacket.field812, ServerPacket.field813, ServerPacket.field814, ServerPacket.field815, ServerPacket.field816, ServerPacket.field817, ServerPacket.field818, ServerPacket.field819, ServerPacket.field820, ServerPacket.field821, ServerPacket.field822, ServerPacket.field823, ServerPacket.field824, ServerPacket.field825, ServerPacket.field826, ServerPacket.field827, ServerPacket.field828, ServerPacket.field829, ServerPacket.field830, ServerPacket.field831, ServerPacket.field832, ServerPacket.field833, ServerPacket.field834, ServerPacket.field835, ServerPacket.field836, ServerPacket.field837, ServerPacket.field838, ServerPacket.field839, ServerPacket.field840, ServerPacket.field841, ServerPacket.field842, ServerPacket.field843, ServerPacket.field844, ServerPacket.field845, ServerPacket.field846, ServerPacket.field847, ServerPacket.field848, ServerPacket.field849, ServerPacket.field850, ServerPacket.field851, ServerPacket.field852, ServerPacket.field853, ServerPacket.field854, ServerPacket.field855, ServerPacket.field856, ServerPacket.field857, ServerPacket.field858, ServerPacket.field859, ServerPacket.field860, ServerPacket.field861, ServerPacket.field862, ServerPacket.field863, ServerPacket.field864, ServerPacket.field865, ServerPacket.field866, ServerPacket.field867, ServerPacket.field868, ServerPacket.field869, ServerPacket.field870, ServerPacket.field871, ServerPacket.field872, ServerPacket.field873}; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([BI)Lln;", - garbageValue = "-143338910" - ) - @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[var3 * var2]; - PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); - var5.grabPixels(); - return new Sprite(var4, var2, var3); - } catch (IOException var6) { - } catch (InterruptedException var7) { - } - - return new Sprite(0, 0); - } -} diff --git a/runescape-client/src/main/java/class277.java b/runescape-client/src/main/java/class277.java deleted file mode 100644 index 561600be0e..0000000000 --- a/runescape-client/src/main/java/class277.java +++ /dev/null @@ -1,112 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jn") -public class class277 { - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "Llq;" - ) - static IndexedSprite field1144; - - @ObfuscatedName("m") - public static final int method5355(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 = var4 * (var2 + 1.0D); - } else { - var12 = var4 + var2 - var2 * var4; - } - - double var14 = var4 * 2.0D - var12; - double var16 = var0 + 0.3333333333333333D; - if (var16 > 1.0D) { - --var16; - } - - double var18 = var0 - 0.3333333333333333D; - if (var18 < 0.0D) { - ++var18; - } - - if (6.0D * var16 < 1.0D) { - var6 = var16 * (var12 - var14) * 6.0D + var14; - } else if (var16 * 2.0D < 1.0D) { - var6 = var12; - } else if (var16 * 3.0D < 2.0D) { - var6 = var14 + (var12 - var14) * (0.6666666666666666D - var16) * 6.0D; - } else { - var6 = var14; - } - - if (var0 * 6.0D < 1.0D) { - var8 = var14 + (var12 - var14) * 6.0D * var0; - } else if (var0 * 2.0D < 1.0D) { - var8 = var12; - } else if (var0 * 3.0D < 2.0D) { - var8 = 6.0D * (0.6666666666666666D - var0) * (var12 - var14) + var14; - } else { - var8 = var14; - } - - if (var18 * 6.0D < 1.0D) { - var10 = var18 * 6.0D * (var12 - var14) + var14; - } else if (2.0D * var18 < 1.0D) { - var10 = var12; - } else if (var18 * 3.0D < 2.0D) { - var10 = var14 + 6.0D * (0.6666666666666666D - var18) * (var12 - var14); - } else { - var10 = var14; - } - } - - int var20 = (int)(256.0D * var6); - int var13 = (int)(var8 * 256.0D); - int var21 = (int)(var10 * 256.0D); - int var15 = var21 + (var13 << 8) + (var20 << 16); - return var15; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", - garbageValue = "1648987580" - ) - public static String method5356(CharSequence[] var0, int var1, int var2) { - if (var2 == 0) { - return ""; - } else if (var2 == 1) { - CharSequence var8 = var0[var1]; - return var8 == null ? "null" : var8.toString(); - } else { - int var3 = var2 + var1; - int var4 = 0; - - for (int var5 = var1; var5 < var3; ++var5) { - CharSequence var6 = var0[var5]; - if (var6 == null) { - var4 += 4; - } else { - var4 += var6.length(); - } - } - - StringBuilder var9 = new StringBuilder(var4); - - for (int var10 = var1; var10 < var3; ++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/class279.java b/runescape-client/src/main/java/class279.java deleted file mode 100644 index f133883da7..0000000000 --- a/runescape-client/src/main/java/class279.java +++ /dev/null @@ -1,27 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jx") -public class class279 { - @ObfuscatedName("ne") - @ObfuscatedSignature( - signature = "[Lho;" - ) - static Widget[] field1145; - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", - garbageValue = "-2144835936" - ) - public static int method5357(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/class3.java b/runescape-client/src/main/java/class3.java index 98d7e65ec0..96bc170760 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -3,329 +3,296 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("w") +@ObfuscatedName("p") public class class3 implements Enumerated { - @ObfuscatedName("qs") - @ObfuscatedGetter( - intValue = 1608439891 - ) - static int field1146; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lw;" - ) - static final class3 field20; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lw;" - ) - static final class3 field14; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lw;" - ) - static final class3 field15; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1621503295 - ) - final int field13; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -393250053 - ) - public final int field1147; - @ObfuscatedName("u") - public final Class field18; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lm;" - ) - public final class0 field19; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lp;" + ) + public static final class3 field7; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lp;" + ) + public static final class3 field9; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lp;" + ) + public static final class3 field14; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1932767747 + ) + final int field10; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -498462899 + ) + public final int field11; + @ObfuscatedName("l") + public final Class field12; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lq;" + ) + final class0 field13; - @ObfuscatedSignature( - signature = "(IILjava/lang/Class;Lm;)V" - ) - class3(int var1, int var2, Class var3, class0 var4) { - this.field13 = var1; - this.field1147 = var2; - this.field18 = var3; - this.field19 = var4; - } + static { + field7 = new class3(2, 0, Integer.class, new class1()); + field9 = new class3(1, 1, Long.class, new class2()); + field14 = new class3(0, 2, String.class, new class4()); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field1147; - } + @ObfuscatedSignature( + signature = "(IILjava/lang/Class;Lq;)V" + ) + class3(int var1, int var2, Class var3, class0 var4) { + this.field10 = var1; + this.field11 = var2; + this.field12 = var3; + this.field13 = var4; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/Object;", - garbageValue = "1915331486" - ) - public Object method31(Buffer var1) { - return this.field19.vmethod46(var1); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field11; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)[Lw;", - garbageValue = "23" - ) - public static class3[] method34() { - return new class3[]{field15, field20, field14}; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkf;I)Ljava/lang/Object;", + garbageValue = "-25501823" + ) + public Object method34(Buffer var1) { + return this.field13.vmethod42(var1); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "772942762" - ) - static int method36() { - return 11; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkf;B)V", + garbageValue = "1" + ) + public static void method30(Object var0, Buffer var1) { + class0 var2 = method31(var0.getClass()); + var2.vmethod43(var0, var1); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "729662922" - ) - public static void method41() { - while (true) { - NodeDeque var0 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; - ArchiveDiskAction var1; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Ljava/lang/Class;I)Lq;", + garbageValue = "-961366401" + ) + static class0 method31(Class var0) { + class3[] var2 = new class3[]{field9, field14, field7}; + class3[] var3 = var2; + int var4 = 0; - if (var1 == null) { - return; - } + class3 var1; + while (true) { + if (var4 >= var3.length) { + var1 = null; + break; + } - var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false); - } - } + class3 var5 = var3[var4]; + if (var5.field12 == var0) { + var1 = var5; + break; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIIZIZI)V", - garbageValue = "653716649" - ) - @Export("doWorldSorting") - static void doWorldSorting(int lowestUnsorted, int highestUnsorted, int primaryMode, boolean primaryReversed, int secondaryMode, boolean secondaryReversed) { - if (lowestUnsorted < highestUnsorted) { - int var6 = (lowestUnsorted + highestUnsorted) / 2; - int var7 = lowestUnsorted; - World var8 = ItemContainer.worlds[var6]; - ItemContainer.worlds[var6] = ItemContainer.worlds[highestUnsorted]; - ItemContainer.worlds[highestUnsorted] = var8; + ++var4; + } - for (int var9 = lowestUnsorted; var9 < highestUnsorted; ++var9) { - World var10 = ItemContainer.worlds[var9]; - int var11 = WorldMapLabel.compareWorlds(var10, var8, primaryMode, primaryReversed); - int var12; - if (var11 != 0) { - if (primaryReversed) { - var12 = -var11; - } else { - var12 = var11; - } - } else if (secondaryMode == -1) { - var12 = 0; - } else { - int var13 = WorldMapLabel.compareWorlds(var10, var8, secondaryMode, secondaryReversed); - if (secondaryReversed) { - var12 = -var13; - } else { - var12 = var13; - } - } + if (var1 == null) { + throw new IllegalArgumentException(); + } else { + return var1.field13; + } + } - if (var12 <= 0) { - World var14 = ItemContainer.worlds[var9]; - ItemContainer.worlds[var9] = ItemContainer.worlds[var7]; - ItemContainer.worlds[var7++] = var14; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;B)I", + garbageValue = "0" + ) + @Export("parseInt") + public static int parseInt(CharSequence var0) { + return WorldMapSection1.parseIntCustomRadix(var0, 10, true); + } - ItemContainer.worlds[highestUnsorted] = ItemContainer.worlds[var7]; - ItemContainer.worlds[var7] = var8; - doWorldSorting(lowestUnsorted, var7 - 1, primaryMode, primaryReversed, secondaryMode, secondaryReversed); - doWorldSorting(var7 + 1, highestUnsorted, primaryMode, primaryReversed, secondaryMode, secondaryReversed); - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-12" + ) + public static int method33(int var0) { + return WorldMapLabel.method420(ViewportMouse.ViewportMouse_entityTags[var0]); + } - } + @ObfuscatedName("gm") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "-890922875" + ) + @Export("drawObject") + static final void drawObject(int var0, int var1, int var2, int var3, int var4) { + long var5 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(var0, var1, var2); + int var7; + int var8; + int var9; + int var10; + int var14; + int var26; + if (0L != var5) { + var7 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = var3; + boolean var12 = 0L != var5; + if (var12) { + boolean var13 = (int)(var5 >>> 16 & 1L) == 1; + var12 = !var13; + } - @ObfuscatedName("hq") - @ObfuscatedSignature( - signature = "(ZLhx;B)V", - garbageValue = "1" - ) - @Export("updateNpcs") - static final void updateNpcs(boolean var0, PacketBuffer var1) { - Client.field211 = 0; - Client.field173 = 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.field212[++Client.field211 - 1] = Client.npcIndices[var4]; - } - } + if (var12) { + var10 = var4; + } - if (var3 > Client.npcCount) { - throw new RuntimeException(""); - } else { - Client.npcCount = 0; + int[] var19 = RouteStrategy.sceneMinimapSprite.pixels; + var26 = var1 * 4 + (103 - var2) * 2048 + 24624; + var14 = class43.method770(var5); + ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var14); + if (var15.mapSceneId != -1) { + IndexedSprite var16 = ClanChat.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, (104 - var2 - var15.sizeY) * 4 + var18 + 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; + } + } - int var5; - int var6; - int var7; - int var8; - for (var4 = 0; var4 < var3; ++var4) { - var5 = Client.npcIndices[var4]; - NPC var9 = Client.npcs[var5]; - var6 = var2.readBits(1); - if (var6 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var9.npcCycle = Client.cycle; - } else { - var7 = var2.readBits(2); - if (var7 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var9.npcCycle = Client.cycle; - Client.field174[++Client.field173 - 1] = var5; - } else { - int var10; - if (var7 == 1) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var9.npcCycle = Client.cycle; - var8 = var2.readBits(3); - var9.method227(var8, (byte)1); - var10 = var2.readBits(1); - if (var10 == 1) { - Client.field174[++Client.field173 - 1] = var5; - } - } else if (var7 == 2) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var9.npcCycle = Client.cycle; - var8 = var2.readBits(3); - var9.method227(var8, (byte)2); - var10 = var2.readBits(3); - var9.method227(var10, (byte)2); - int var11 = var2.readBits(1); - if (var11 == 1) { - Client.field174[++Client.field173 - 1] = var5; - } - } else if (var7 == 3) { - Client.field212[++Client.field211 - 1] = var5; - } - } - } - } + 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; + } + } - int var13; - while (var1.bitsRemaining(Client.packetWriter.serverPacket0Length) >= 27) { - var13 = var1.readBits(15); - if (var13 == 32767) { - break; - } + 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; + } + } + } + } - boolean var14 = false; - if (Client.npcs[var13] == null) { - Client.npcs[var13] = new NPC(); - var14 = true; - } + var5 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(var0, var1, var2); + if (var5 != 0L) { + var7 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = class43.method770(var5); + ObjectDefinition var20 = ViewportMouse.getObjectDefinition(var10); + if (var20.mapSceneId != -1) { + IndexedSprite var28 = ClanChat.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, var14 + (104 - var2 - var20.sizeY) * 4 + 48); + } + } else if (var9 == 9) { + int var25 = 15658734; + boolean var27 = var5 != 0L; + if (var27) { + boolean var23 = (int)(var5 >>> 16 & 1L) == 1; + var27 = !var23; + } - NPC var15 = Client.npcs[var13]; - Client.npcIndices[++Client.npcCount - 1] = var13; - var15.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 (var27) { + var25 = 15597568; + } - int var12 = var1.readBits(1); - var6 = Client.field213[var1.readBits(3)]; - if (var14) { - var15.orientation = var15.field9 = var6; - } + int[] var24 = RouteStrategy.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; + } + } + } - var7 = var1.readBits(1); - if (var7 == 1) { - Client.field174[++Client.field173 - 1] = var13; - } + var5 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var1, var2); + if (var5 != 0L) { + var7 = class43.method770(var5); + ObjectDefinition var21 = ViewportMouse.getObjectDefinition(var7); + if (var21.mapSceneId != -1) { + IndexedSprite var22 = ClanChat.mapSceneSprites[var21.mapSceneId]; + if (var22 != null) { + var10 = (var21.sizeX * 4 - var22.subWidth) / 2; + int var11 = (var21.sizeY * 4 - var22.subHeight) / 2; + var22.drawAt(var10 + var1 * 4 + 48, var11 + (104 - var2 - var21.sizeY) * 4 + 48); + } + } + } - if (var0) { - var8 = var1.readBits(8); - if (var8 > 127) { - var8 -= 256; - } - } else { - var8 = var1.readBits(5); - if (var8 > 15) { - var8 -= 32; - } - } - - var15.definition = ObjectDefinition.getNpcDefinition(var1.readBits(14)); - var15.size = var15.definition.size; - var15.field23 = var15.definition.field639; - if (var15.field23 == 0) { - var15.field9 = 0; - } - - var15.walkSequence = var15.definition.walkSequence; - var15.walkBackSequence = var15.definition.walkBackSequence; - var15.walkLeftSequence = var15.definition.walkLeftSequence; - var15.walkRightSequence = var15.definition.walkRightSequence; - var15.readySequence = var15.definition.readySequence; - var15.turnLeftSequence = var15.definition.turnLeftSequence; - var15.turnRightSequence = var15.definition.turnRightSequence; - var15.method228(Canvas.localPlayer.pathX[0] + var5, Canvas.localPlayer.pathY[0] + var8, var12 == 1); - } - - var1.exportIndex(); - GrandExchangeOfferWorldComparator.method67(var1); - - for (var13 = 0; var13 < Client.field211; ++var13) { - var3 = Client.field212[var13]; - if (Client.npcs[var3].npcCycle != Client.cycle) { - Client.npcs[var3].definition = null; - Client.npcs[var3] = null; - } - } - - if (var1.index != Client.packetWriter.serverPacket0Length) { - throw new RuntimeException(var1.index + "," + Client.packetWriter.serverPacket0Length); - } else { - for (var13 = 0; var13 < Client.npcCount; ++var13) { - if (Client.npcs[Client.npcIndices[var13]] == null) { - throw new RuntimeException(var13 + "," + Client.npcCount); - } - } - - } - } - } - - static { - field20 = new class3(2, 0, Integer.class, new class1()); - field14 = new class3(0, 1, Long.class, new class2()); - field15 = new class3(1, 2, String.class, new class4()); - } + } } diff --git a/runescape-client/src/main/java/class30.java b/runescape-client/src/main/java/class30.java index aceac67d05..734f5fd17f 100644 --- a/runescape-client/src/main/java/class30.java +++ b/runescape-client/src/main/java/class30.java @@ -2,122 +2,706 @@ 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("ar") +@ObfuscatedName("ad") public class class30 { - @ObfuscatedName("qw") - @ObfuscatedGetter( - intValue = -1555836449 - ) - static int field1148; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lar;" - ) - static final class30 field246; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lar;" - ) - static final class30 field247; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -18917723 - ) - @Export("musicTrackGroupId") - public static int musicTrackGroupId; - @ObfuscatedName("l") - @Export("inMembersWorld") - public static boolean inMembersWorld; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("worldSelectBackSprites") - static Sprite[] worldSelectBackSprites; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1474464623 - ) - final int field248; + @ObfuscatedName("rj") + @ObfuscatedGetter( + intValue = -1360749952 + ) + static int field259; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lad;" + ) + static final class30 field262; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lad;" + ) + static final class30 field258; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Llx;" + ) + static IndexedSprite field264; + @ObfuscatedName("ks") + @ObfuscatedGetter( + intValue = 148643729 + ) + @Export("menuY") + static int menuY; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -613032617 + ) + @Export("value") + final int value; - class30(int var1) { - this.field248 = var1; - } + static { + field262 = new class30(0); + field258 = new class30(1); + } - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "2127022463" - ) - static int method571(int var0) { - return (int)((Math.log((double)var0) / Interpreter.field426 - 7.0D) * 256.0D); - } + class30(int var1) { + this.value = var1; + } - @ObfuscatedName("hp") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "49" - ) - @Export("resetMenuEntries") - static void resetMenuEntries() { - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.menuActions[0] = "Cancel"; - Client.menuTargetNames[0] = ""; - Client.menuOpcodes[0] = 1006; - Client.menuShiftClick[0] = false; - Client.menuOptionsCount = 1; - } + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IS)Lek;", + garbageValue = "-15133" + ) + @Export("getFrames") + static Frames getFrames(int var0) { + Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); + if (var1 != null) { + return var1; + } else { + var1 = BoundaryObject.method3262(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); + if (var1 != null) { + SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); + } - @ObfuscatedName("jz") - @ObfuscatedSignature( - signature = "([Lho;II)V", - garbageValue = "-1070833742" - ) - static final void method570(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) { - method570(var3.children, var1); - } + return var1; + } + } - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - GrandExchangeEvents.method74(var4.group, var1); - } - } + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(ILcx;ZB)I", + garbageValue = "69" + ) + static int method536(int var0, Script var1, boolean var2) { + String var3; + if (var0 == ScriptOpcodes.MES) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + ScriptEvent.addGameMessage(0, "", var3); + return 1; + } else if (var0 == ScriptOpcodes.ANIM) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + MouseRecorder.performPlayerAnimation(Client.localPlayer, Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]); + return 1; + } else if (var0 == ScriptOpcodes.IF_CLOSE) { + if (!Interpreter.field1105) { + Interpreter.field1104 = true; + } - ScriptEvent var6; - if (var1 == 0 && var3.onDialogAbort != null) { - var6 = new ScriptEvent(); - var6.widget = var3; - var6.args0 = var3.onDialogAbort; - AbstractArchive.runScript(var6); - } + return 1; + } else { + int var10; + if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var10 = 0; + if (class192.method3677(var3)) { + var10 = class3.parseInt(var3); + } - if (var1 == 1 && var3.onSubChange != null) { - if (var3.childIndex >= 0) { - Widget var5 = Huffman.getWidget(var3.id); - if (var5 == null || var5.children == null || var3.childIndex >= var5.children.length || var3 != var5.children[var3.childIndex]) { - continue; - } - } + PacketBufferNode var12 = Archive.method4265(ClientPacket.field2220, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeInt(var10); + Client.packetWriter.method2219(var12); + return 1; + } else { + PacketBufferNode var14; + if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var14 = Archive.method4265(ClientPacket.field2298, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeByte(var3.length() + 1); + var14.packetBuffer.writeStringCp1252NullTerminated(var3); + Client.packetWriter.method2219(var14); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var14 = Archive.method4265(ClientPacket.field2211, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeByte(var3.length() + 1); + var14.packetBuffer.writeStringCp1252NullTerminated(var3); + Client.packetWriter.method2219(var14); + return 1; + } else { + String var7; + int var15; + if (var0 == ScriptOpcodes.OPPLAYER) { + var15 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + class81.method1988(var15, var7); + return 1; + } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + var15 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + Widget var13 = class80.getWidget(var9); + class60.clickWidget(var13, var15, var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var15 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Widget var11 = var2 ? Interpreter.field1111 : Calendar.field2507; + class60.clickWidget(var11, var15, var10); + return 1; + } else if (var0 == ScriptOpcodes.MOUSECAM) { + DevicePcmPlayerProvider.mouseCam = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapLabelSize.clientPreferences.roofsHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { + WorldMapLabelSize.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ReflectionCheck.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.OPENURL) { + var3 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + boolean var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + GrandExchangeOfferWorldComparator.openURL(var3, var4, false); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { + var15 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var14 = Archive.method4265(ClientPacket.field2245, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeShort(var15); + Client.packetWriter.method2219(var14); + return 1; + } else if (var0 == ScriptOpcodes.BUG_REPORT) { + var15 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Skills.Interpreter_stringStackSize -= 2; + var7 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize]; + String var5 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1]; + if (var7.length() > 500) { + return 1; + } else if (var5.length() > 500) { + return 1; + } else { + PacketBufferNode var6 = Archive.method4265(ClientPacket.field2219, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeShort(1 + Huffman.stringCp1252NullTerminatedByteSize(var7) + Huffman.stringCp1252NullTerminatedByteSize(var5)); + var6.packetBuffer.writeStringCp1252NullTerminated(var7); + var6.packetBuffer.writeByte(var15); + var6.packetBuffer.writeStringCp1252NullTerminated(var5); + Client.packetWriter.method2219(var6); + return 1; + } + } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { + Client.shiftClickDrop = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { + Client.showMouseOverText = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.RENDERSELF) { + Client.renderSelf = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 3120) { + if (Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1) { + Client.field774 |= 1; + } else { + Client.field774 &= -2; + } - var6 = new ScriptEvent(); - var6.widget = var3; - var6.args0 = var3.onSubChange; - AbstractArchive.runScript(var6); - } - } - } + return 1; + } else if (var0 == 3121) { + if (Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1) { + Client.field774 |= 2; + } else { + Client.field774 &= -3; + } - } + return 1; + } else if (var0 == 3122) { + if (Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1) { + Client.field774 |= 4; + } else { + Client.field774 &= -5; + } - static { - field246 = new class30(0); - field247 = new class30(1); - } + return 1; + } else if (var0 == 3123) { + if (Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1) { + Client.field774 |= 8; + } else { + Client.field774 &= -9; + } + + return 1; + } else if (var0 == 3124) { + Client.field774 = 0; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { + Client.showMouseCross = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { + Client.showLoadingMessages = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETTAPTODROP) { + UserComparator5.setTapToDrop(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1); + return 1; + } else if (var0 == ScriptOpcodes.GETTAPTODROP) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ScriptEvent.getTapToDrop() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + return 1; + } else if (var0 == 3130) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3131) { + --HealthBarUpdate.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = GrandExchangeEvent.canvasWidth; + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ParamDefinition.canvasHeight; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { + --HealthBarUpdate.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3136) { + Client.field817 = 3; + Client.field818 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3137) { + Client.field817 = 2; + Client.field818 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3138) { + Client.field817 = 0; + return 1; + } else if (var0 == 3139) { + Client.field817 = 1; + return 1; + } else if (var0 == 3140) { + Client.field817 = 3; + Client.field818 = var2 ? Interpreter.field1111.id : Calendar.field2507.id; + return 1; + } else { + boolean var8; + if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { + var8 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + WorldMapLabelSize.clientPreferences.hideUsername = var8; + ReflectionCheck.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapLabelSize.clientPreferences.hideUsername ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { + var8 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Client.Login_isUsernameRemembered = var8; + if (!var8) { + WorldMapLabelSize.clientPreferences.rememberedUsername = ""; + ReflectionCheck.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.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[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (var8 == WorldMapLabelSize.clientPreferences.titleMusicDisabled) { + WorldMapLabelSize.clientPreferences.titleMusicDisabled = !var8; + ReflectionCheck.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapLabelSize.clientPreferences.titleMusicDisabled ? 0 : 1; + return 1; + } else if (var0 == 3148) { + return 1; + } else if (var0 == 3149) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3150) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3151) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3152) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3153) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; + return 1; + } else if (var0 == 3154) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = Buddy.method5176(); + return 1; + } else if (var0 == 3155) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + return 1; + } else { + return var0 == 3156 ? 1 : 2; + } + } + } + } + } + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "1145147367" + ) + static int method535(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.FRIEND_COUNT) { + if (ArchiveLoader.friendSystem.field1076 == 0) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -2; + } else if (ArchiveLoader.friendSystem.field1076 == 1) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ArchiveLoader.friendSystem.friendsList.getSize(); + } + + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.FRIEND_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (ArchiveLoader.friendSystem.method1791() && var3 >= 0 && var3 < ArchiveLoader.friendSystem.friendsList.getSize()) { + Friend var8 = (Friend)ArchiveLoader.friendSystem.friendsList.get(var3); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var8.getName(); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var8.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (ArchiveLoader.friendSystem.method1791() && var3 >= 0 && var3 < ArchiveLoader.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ((Buddy)ArchiveLoader.friendSystem.friendsList.get(var3)).world; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (ArchiveLoader.friendSystem.method1791() && var3 >= 0 && var3 < ArchiveLoader.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ((Buddy)ArchiveLoader.friendSystem.friendsList.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + String var5; + if (var0 == ScriptOpcodes.FRIEND_SETRANK) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + int var6 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + class14.method159(var5, var6); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + ArchiveLoader.friendSystem.addFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + ArchiveLoader.friendSystem.removeFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + ArchiveLoader.friendSystem.addIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + ArchiveLoader.friendSystem.removeIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var5 = GrandExchangeOfferTotalQuantityComparator.removeImageTag(var5); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ArchiveLoader.friendSystem.isFriended(new Username(var5, class40.loginType), false) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { + if (DevicePcmPlayerProvider.clanChat != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = DevicePcmPlayerProvider.clanChat.name; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { + if (DevicePcmPlayerProvider.clanChat != null) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = DevicePcmPlayerProvider.clanChat.getSize(); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize()) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = DevicePcmPlayerProvider.clanChat.get(var3).getUsername().getName(); + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ((Buddy)DevicePcmPlayerProvider.clanChat.get(var3)).getWorld(); + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ((Buddy)DevicePcmPlayerProvider.clanChat.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = DevicePcmPlayerProvider.clanChat != null ? DevicePcmPlayerProvider.clanChat.minKick : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + Tile.clanKickUser(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = DevicePcmPlayerProvider.clanChat != null ? DevicePcmPlayerProvider.clanChat.rank : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + class65.method1170(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { + ScriptFrame.method1089(); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { + if (!ArchiveLoader.friendSystem.method1791()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ArchiveLoader.friendSystem.ignoreList.getSize(); + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (ArchiveLoader.friendSystem.method1791() && var3 >= 0 && var3 < ArchiveLoader.friendSystem.ignoreList.getSize()) { + Ignored var4 = (Ignored)ArchiveLoader.friendSystem.ignoreList.get(var3); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.getName(); + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var4.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + var5 = GrandExchangeOfferTotalQuantityComparator.removeImageTag(var5); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = ArchiveLoader.friendSystem.isIgnored(new Username(var5, class40.loginType)) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize() && DevicePcmPlayerProvider.clanChat.get(var3).getUsername().equals(Client.localPlayer.username)) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { + if (DevicePcmPlayerProvider.clanChat != null && DevicePcmPlayerProvider.clanChat.owner != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = DevicePcmPlayerProvider.clanChat.owner; + } else { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize() && ((ClanMate)DevicePcmPlayerProvider.clanChat.get(var3)).isFriend()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { + if (var0 == 3628) { + ArchiveLoader.friendSystem.friendsList.removeComparator(); + return 1; + } else { + boolean var7; + if (var0 == 3629) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3630) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3631) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator3(var7)); + return 1; + } else if (var0 == 3632) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator4(var7)); + return 1; + } else if (var0 == 3633) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator5(var7)); + return 1; + } else if (var0 == 3634) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator6(var7)); + return 1; + } else if (var0 == 3635) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator7(var7)); + return 1; + } else if (var0 == 3636) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator8(var7)); + return 1; + } else if (var0 == 3637) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator9(var7)); + return 1; + } else if (var0 == 3638) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new UserComparator10(var7)); + return 1; + } else if (var0 == 3639) { + ArchiveLoader.friendSystem.friendsList.sort(); + return 1; + } else if (var0 == 3640) { + ArchiveLoader.friendSystem.ignoreList.removeComparator(); + return 1; + } else if (var0 == 3641) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3642) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3643) { + ArchiveLoader.friendSystem.ignoreList.sort(); + return 1; + } else if (var0 == 3644) { + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.removeComparator(); + } + + return 1; + } else if (var0 == 3645) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator1(var7)); + } + + return 1; + } else if (var0 == 3646) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator2(var7)); + } + + return 1; + } else if (var0 == 3647) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator3(var7)); + } + + return 1; + } else if (var0 == 3648) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator4(var7)); + } + + return 1; + } else if (var0 == 3649) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator5(var7)); + } + + return 1; + } else if (var0 == 3650) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator6(var7)); + } + + return 1; + } else if (var0 == 3651) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator7(var7)); + } + + return 1; + } else if (var0 == 3652) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator8(var7)); + } + + return 1; + } else if (var0 == 3653) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator9(var7)); + } + + return 1; + } else if (var0 == 3654) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new UserComparator10(var7)); + } + + return 1; + } else if (var0 == 3655) { + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.sort(); + } + + return 1; + } else if (var0 == 3656) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + ArchiveLoader.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); + return 1; + } else if (var0 == 3657) { + var7 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + if (DevicePcmPlayerProvider.clanChat != null) { + DevicePcmPlayerProvider.clanChat.addComparator(new BuddyRankComparator(var7)); + } + + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (DevicePcmPlayerProvider.clanChat != null && var3 < DevicePcmPlayerProvider.clanChat.getSize() && ((ClanMate)DevicePcmPlayerProvider.clanChat.get(var3)).isIgnored()) { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } + } } diff --git a/runescape-client/src/main/java/class303.java b/runescape-client/src/main/java/class303.java deleted file mode 100644 index 341761fd19..0000000000 --- a/runescape-client/src/main/java/class303.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ki") -public class class303 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgd;" - ) - @Export("huffman") - public static Huffman huffman; -} diff --git a/runescape-client/src/main/java/class304.java b/runescape-client/src/main/java/class304.java deleted file mode 100644 index c8a10ff60a..0000000000 --- a/runescape-client/src/main/java/class304.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kr") -public class class304 { - @ObfuscatedName("m") - @Export("cp1252AsciiExtension") - public static final char[] cp1252AsciiExtension; - - static { - cp1252AsciiExtension = new char[]{'€', '\u0000', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '\u0000', 'Ž', '\u0000', '\u0000', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '\u0000', 'ž', 'Ÿ'}; - } -} diff --git a/runescape-client/src/main/java/class305.java b/runescape-client/src/main/java/class305.java deleted file mode 100644 index 063e617d05..0000000000 --- a/runescape-client/src/main/java/class305.java +++ /dev/null @@ -1,14 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kb") -public class class305 { - @ObfuscatedName("q") - static final char[] field1149; - @ObfuscatedName("w") - static final char[] field1150; - - static { - field1149 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; - field1150 = new char[]{'[', ']', '#'}; - } -} diff --git a/runescape-client/src/main/java/class306.java b/runescape-client/src/main/java/class306.java deleted file mode 100644 index 5e43864f4f..0000000000 --- a/runescape-client/src/main/java/class306.java +++ /dev/null @@ -1,89 +0,0 @@ -import java.io.IOException; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ku") -public final class class306 { - @ObfuscatedName("m") - @Export("base37Table") - public static final char[] base37Table; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;B)Ljava/lang/String;", - garbageValue = "1" - ) - public static String method5781(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 = HealthBar.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(); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)Lbf;", - garbageValue = "124" - ) - static ClientPreferences method5780() { - AccessFile var0 = null; - ClientPreferences var1 = new ClientPreferences(); - - try { - var0 = LoginPacket.getPreferencesFile("", WorldMapRectangle.studioGame.name, false); - byte[] var2 = new byte[(int)var0.length()]; - - int var3; - for (int var4 = 0; var4 < var2.length; var4 += var3) { - var3 = var0.read(var2, var4, var2.length - var4); - if (var3 == -1) { - throw new IOException(); - } - } - - var1 = new ClientPreferences(new Buffer(var2)); - } catch (Exception var6) { - } - - try { - if (var0 != null) { - var0.close(); - } - } catch (Exception var5) { - } - - return var1; - } - - 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'}; - } -} diff --git a/runescape-client/src/main/java/class307.java b/runescape-client/src/main/java/class307.java deleted file mode 100644 index a7d579e6b4..0000000000 --- a/runescape-client/src/main/java/class307.java +++ /dev/null @@ -1,99 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kc") -public class class307 { - @ObfuscatedName("m") - public static char[] field1151; - @ObfuscatedName("f") - static char[] field1152; - @ObfuscatedName("q") - static char[] field1153; - @ObfuscatedName("w") - static int[] field1154; - @ObfuscatedName("g") - static byte[][][] field1155; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Ldt;" - ) - @Export("soundCache") - public static SoundCache soundCache; - - static { - field1151 = new char[64]; - - int var0; - for (var0 = 0; var0 < 26; ++var0) { - field1151[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field1151[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field1151[var0] = (char)(var0 + 48 - 52); - } - - field1151[62] = '+'; - field1151[63] = '/'; - field1152 = new char[64]; - - for (var0 = 0; var0 < 26; ++var0) { - field1152[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field1152[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field1152[var0] = (char)(var0 + 48 - 52); - } - - field1152[62] = '*'; - field1152[63] = '-'; - field1153 = new char[64]; - - for (var0 = 0; var0 < 26; ++var0) { - field1153[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field1153[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field1153[var0] = (char)(var0 + 48 - 52); - } - - field1153[62] = '-'; - field1153[63] = '_'; - field1154 = new int[128]; - - for (var0 = 0; var0 < field1154.length; ++var0) { - field1154[var0] = -1; - } - - for (var0 = 65; var0 <= 90; ++var0) { - field1154[var0] = var0 - 65; - } - - for (var0 = 97; var0 <= 122; ++var0) { - field1154[var0] = var0 - 97 + 26; - } - - for (var0 = 48; var0 <= 57; ++var0) { - field1154[var0] = var0 - 48 + 52; - } - - int[] var1 = field1154; - field1154[43] = 62; - var1[42] = 62; - int[] var2 = field1154; - field1154[47] = 63; - var2[45] = 63; - } -} diff --git a/runescape-client/src/main/java/class308.java b/runescape-client/src/main/java/class308.java deleted file mode 100644 index 61d093b669..0000000000 --- a/runescape-client/src/main/java/class308.java +++ /dev/null @@ -1,16 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kw") -public final class class308 { - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("options_buttons_2Sprite") - static IndexedSprite options_buttons_2Sprite; - @ObfuscatedName("gn") - @Export("regions") - static int[] regions; -} diff --git a/runescape-client/src/main/java/class309.java b/runescape-client/src/main/java/class309.java deleted file mode 100644 index 704dc64f84..0000000000 --- a/runescape-client/src/main/java/class309.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kl") -public class class309 { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 147524751 - ) - @Export("PcmPlayer_sampleRate") - public static int PcmPlayer_sampleRate; -} diff --git a/runescape-client/src/main/java/class31.java b/runescape-client/src/main/java/class31.java deleted file mode 100644 index a5a531e263..0000000000 --- a/runescape-client/src/main/java/class31.java +++ /dev/null @@ -1,272 +0,0 @@ -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("ac") -public class class31 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lac;" - ) - static final class31 field259; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lac;" - ) - static final class31 field254; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 214832375 - ) - final int field255; - - class31(int var1) { - this.field255 = var1; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Lbt;I)V", - garbageValue = "-1277717693" - ) - @Export("changeWorld") - static void changeWorld(World var0) { - if (var0.isMembersOnly() != Client.isMembersWorld) { - Client.isMembersWorld = var0.isMembersOnly(); - boolean var1 = var0.isMembersOnly(); - if (var1 != class30.inMembersWorld) { - LoginScreenAnimation.method1780(); - class30.inMembersWorld = var1; - } - } - - class50.worldHost = var0.host; - Client.worldId = var0.id; - Client.worldProperties = var0.properties; - class2.port1 = Client.gameBuild == 0 ? 43594 : var0.id + 40000; - WorldMapArea.port2 = Client.gameBuild == 0 ? 443 : var0.id + 50000; - class203.port3 = class2.port1; - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "130306081" - ) - static int method573(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ClientParameter.loadWorlds() ? 1 : 0; - return 1; - } else { - World var3; - if (var0 == ScriptOpcodes.WORLDLIST_START) { - var3 = class190.worldListStart(); - if (var3 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.id; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.activity; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.location; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.host; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { - var3 = Fonts.getNextWorldListWorld(); - if (var3 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.id; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.activity; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.location; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.host; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else { - World var4; - int var5; - int var6; - if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { - var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var4 = null; - - for (var5 = 0; var5 < World.worldsCount; ++var5) { - if (var6 == ItemContainer.worlds[var5].id) { - var4 = ItemContainer.worlds[var5]; - break; - } - } - - if (var4 != null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.id; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.activity; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.location; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.host; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { - RouteStrategy.Interpreter_intStackSize -= 4; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - boolean var9 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1] == 1; - var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - boolean var10 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3] == 1; - WorldMapSectionType.sortWorldList(var6, var9, var5, var10); - return 1; - } else if (var0 != ScriptOpcodes.GETWORLDINFO) { - if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { - Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else { - int var7; - ParamDefinition var8; - if (var0 == ScriptOpcodes.NC_PARAM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var8 = class229.getParamDefinition(var7); - if (var8.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ObjectDefinition.getNpcDefinition(var6).getStringParam(var7, var8.defaultStr); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ObjectDefinition.getNpcDefinition(var6).getIntParam(var7, var8.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.LC_PARAM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var8 = class229.getParamDefinition(var7); - if (var8.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class50.getObjectDefinition(var6).getStringParam(var7, var8.defaultStr); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class50.getObjectDefinition(var6).getIntParam(var7, var8.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_PARAM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var8 = class229.getParamDefinition(var7); - if (var8.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Skills.getItemDefinition(var6).getStringParam(var7, var8.defaultStr); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Skills.getItemDefinition(var6).getIntParam(var7, var8.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { - RouteStrategy.Interpreter_intStackSize -= 2; - var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var8 = class229.getParamDefinition(var7); - if (var8.isString()) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = GzipDecompressor.getStructDefinition(var6).getStringParam(var7, var8.defaultStr); - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = GzipDecompressor.getStructDefinition(var6).getIntParam(var7, var8.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.ON_MOBILE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLIENTTYPE) { - Interpreter.Interpreter_intStack[++RouteStrategy.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; - --RouteStrategy.Interpreter_intStackSize; - return 1; - } else if (var0 == 6523) { - --Interpreter.Interpreter_stringStackSize; - --RouteStrategy.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - return 1; - } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1; - return 1; - } else { - return 2; - } - } - } else { - var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - if (var6 >= 0 && var6 < World.worldsCount) { - var4 = ItemContainer.worlds[var6]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.id; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.properties; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.activity; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.location; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.population; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.host; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } - } - } - } - - @ObfuscatedName("kd") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "-110" - ) - static final void method574(String var0) { - if (!var0.equals("")) { - PacketBufferNode var1 = Interpreter.method1915(ClientPacket.field300, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.method241(var1); - } - - } - - static { - field259 = new class31(0); - field254 = new class31(1); - } -} diff --git a/runescape-client/src/main/java/class310.java b/runescape-client/src/main/java/class310.java index d853fd44c9..4db5a90d83 100644 --- a/runescape-client/src/main/java/class310.java +++ b/runescape-client/src/main/java/class310.java @@ -2,36 +2,36 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ko") +@ObfuscatedName("kl") public class class310 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lko;" - ) - static final class310 field3806; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lko;" - ) - public static final class310 field3805; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lko;" - ) - static final class310 field3807; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1410154159 - ) - public final int field3804; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lkl;" + ) + static final class310 field3818; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lkl;" + ) + public static final class310 field3816; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkl;" + ) + static final class310 field3817; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 721881779 + ) + public final int field3815; - class310(int var1) { - this.field3804 = var1; - } + static { + field3818 = new class310(0); + field3816 = new class310(1); + field3817 = new class310(2); + } - static { - field3806 = new class310(0); - field3805 = new class310(1); - field3807 = new class310(2); - } + class310(int var1) { + this.field3815 = var1; + } } diff --git a/runescape-client/src/main/java/class313.java b/runescape-client/src/main/java/class313.java index 9e6b6af821..b184242d99 100644 --- a/runescape-client/src/main/java/class313.java +++ b/runescape-client/src/main/java/class313.java @@ -1,79 +1,79 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ll") +@ObfuscatedName("ln") public enum class313 implements Enumerated { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3834(2, 0), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3825(7, 1), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3826(8, 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3830(0, 3), - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3831(4, 4), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3829(1, 5), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3828(6, 6), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3824(5, 7), - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lll;" - ) - field3832(3, 8); + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3837(3, 0), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3833(4, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3834(8, 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3843(5, 3), + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3835(7, 4), + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3838(2, 5), + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3839(6, 6), + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3840(0, 7), + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lln;" + ) + field3841(1, 8); - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -561869045 - ) - final int field3833; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1246567185 - ) - final int field3827; + @ObfuscatedName("aw") + static java.awt.Font field3844; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1731817037 + ) + final int field3842; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1422970915 + ) + final int field3836; - private class313(int var3, int var4) { - this.field3833 = var3; - this.field3827 = var4; - } + class313(int var3, int var4) { + this.field3842 = var3; + this.field3836 = var4; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "83" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field3827; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "320353268" + ) + public int rsOrdinal() { + return this.field3836; + } } diff --git a/runescape-client/src/main/java/class32.java b/runescape-client/src/main/java/class32.java index e55e10c7de..798b3e5553 100644 --- a/runescape-client/src/main/java/class32.java +++ b/runescape-client/src/main/java/class32.java @@ -1,109 +1,77 @@ 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("ay") +@ObfuscatedName("ar") public class class32 { - @ObfuscatedName("u") - static byte[][][] field1157; - @ObfuscatedName("gj") - @ObfuscatedSignature( - signature = "[Llq;" - ) - @Export("scrollBarSprites") - static IndexedSprite[] scrollBarSprites; + @ObfuscatedName("sz") + @ObfuscatedGetter( + intValue = -1121998199 + ) + @Export("foundItemIndex") + static int foundItemIndex; + @ObfuscatedName("i") + static byte[][][] field282; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lcm;" + ) + @Export("pcmPlayerProvider") + public static class99 pcmPlayerProvider; + @ObfuscatedName("dq") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive11") + static Archive archive11; + @ObfuscatedName("lu") + @ObfuscatedSignature( + signature = "Lhj;" + ) + static Widget field284; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "19" - ) - static int method576(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - } else { - var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-914576641" + ) + public static int method545(int var0) { + return var0 >> 17 & 7; + } - WorldMapRectangle.method295(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[--RouteStrategy.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { - var3.modelType = 3; - var3.modelId = Canvas.localPlayer.appearance.getChatHeadId(); - return 1; - } else { - return 2; - } - } else { - RouteStrategy.Interpreter_intStackSize -= 2; - int var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - int var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - var3.itemId = var4; - var3.itemQuantity = var5; - ItemDefinition var6 = Skills.getItemDefinition(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; - } + @ObfuscatedName("gt") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "994421183" + ) + @Export("worldToScreen") + static final void worldToScreen(int var0, int var1, int var2) { + if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { + int var3 = ScriptEvent.getTileHeight(var0, var1, class42.plane) - var2; + var0 -= PacketBuffer.cameraX; + var3 -= class43.cameraY; + var1 -= class1.cameraZ; + int var4 = Rasterizer3D.Rasterizer3D_sine[GrandExchangeOfferNameComparator.cameraPitch]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[GrandExchangeOfferNameComparator.cameraPitch]; + int var6 = Rasterizer3D.Rasterizer3D_sine[Interpreter.cameraYaw]; + int var7 = Rasterizer3D.Rasterizer3D_cosine[Interpreter.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; + } - if (var3.field962 > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.field962; - } else if (var3.rawWidth > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; - } - - return 1; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "972977798" - ) - static void method578(int var0) { - Login.loginIndex = 12; - Login.field466 = var0; - } - - @ObfuscatedName("gu") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "2095576499" - ) - @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 = Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] * var6 + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; - return var7 * var9 + var8 * (128 - var7) >> 7; - } else { - return 0; - } - } + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + } + } } diff --git a/runescape-client/src/main/java/class322.java b/runescape-client/src/main/java/class322.java deleted file mode 100644 index 279019cb09..0000000000 --- a/runescape-client/src/main/java/class322.java +++ /dev/null @@ -1,27 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("le") -public class class322 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lja;" - ) - @Export("reflectionChecks") - public static IterableNodeDeque reflectionChecks; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;III)Lln;", - garbageValue = "-2000477161" - ) - @Export("readSprite") - public static Sprite readSprite(AbstractArchive archive, int group, int file) { - return !SpriteMask.loadSprite(archive, group, file) ? null : class258.method4900(); - } - - static { - reflectionChecks = new IterableNodeDeque(); - } -} diff --git a/runescape-client/src/main/java/class328.java b/runescape-client/src/main/java/class328.java deleted file mode 100644 index 9de036e0ec..0000000000 --- a/runescape-client/src/main/java/class328.java +++ /dev/null @@ -1,37 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("lr") -public class class328 { - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1119867679 - ) - @Export("indexedSpriteCount") - static int indexedSpriteCount; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 161627197 - ) - @Export("indexedSpriteWidth") - static int indexedSpriteWidth; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -76329055 - ) - @Export("indexedSpriteHeight") - static int indexedSpriteHeight; - @ObfuscatedName("w") - @Export("indexedSpriteOffsetXs") - static int[] indexedSpriteOffsetXs; - @ObfuscatedName("o") - @Export("indexedSpriteOffsetYs") - static int[] indexedSpriteOffsetYs; - @ObfuscatedName("l") - @Export("indexedSpritePalette") - static int[] indexedSpritePalette; - @ObfuscatedName("e") - @Export("spritePixels") - static byte[][] spritePixels; -} diff --git a/runescape-client/src/main/java/class337.java b/runescape-client/src/main/java/class337.java index fbd6228899..335ed8c37a 100644 --- a/runescape-client/src/main/java/class337.java +++ b/runescape-client/src/main/java/class337.java @@ -1,10 +1,21 @@ -import java.io.File; -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lc") +@ObfuscatedName("li") public class class337 { - @ObfuscatedName("w") - @Export("clDat") - public static File clDat; + @ObfuscatedName("f") + static final int[] field4046; + @ObfuscatedName("m") + static final int[] field4047; + + static { + field4046 = new int[2048]; + field4047 = new int[2048]; + double var0 = 0.0030679615757712823D; + + for (int var2 = 0; var2 < 2048; ++var2) { + field4046[var2] = (int)(65536.0D * Math.sin((double)var2 * var0)); + field4047[var2] = (int)(65536.0D * Math.cos(var0 * (double)var2)); + } + + } } diff --git a/runescape-client/src/main/java/class39.java b/runescape-client/src/main/java/class39.java deleted file mode 100644 index e06fd1e3b0..0000000000 --- a/runescape-client/src/main/java/class39.java +++ /dev/null @@ -1,825 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("at") -public class class39 extends class21 { - @ObfuscatedName("gu") - @ObfuscatedSignature( - signature = "[Lln;" - ) - @Export("mapDotSprites") - static Sprite[] mapDotSprites; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -521428531 - ) - int field318; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 686082379 - ) - int field319; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1610203543 - ) - int field321; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 2053974369 - ) - int field323; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "101973298" - ) - void method714(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 != class31.field254.field255) { - throw new IllegalStateException(""); - } else { - super.field148 = var1.readUnsignedByte(); - super.field156 = var1.readUnsignedByte(); - super.field149 = var1.readUnsignedShort(); - super.field146 = var1.readUnsignedShort(); - this.field318 = var1.readUnsignedByte(); - this.field319 = var1.readUnsignedByte(); - super.field159 = var1.readUnsignedShort(); - super.field147 = var1.readUnsignedShort(); - this.field321 = var1.readUnsignedByte(); - this.field323 = var1.readUnsignedByte(); - super.field150 = var1.method51(); - super.field152 = var1.method51(); - } - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)V", - garbageValue = "1937224298" - ) - void vmethod715(Buffer var1) { - super.field156 = Math.min(super.field156, 4); - super.field151 = new short[1][64][64]; - super.field145 = new short[super.field156][64][64]; - super.field154 = new byte[super.field156][64][64]; - super.field155 = new byte[super.field156][64][64]; - super.decorations = new WorldMapDecoration[super.field156][64][64][]; - int var2 = var1.readUnsignedByte(); - if (var2 != class30.field247.field248) { - throw new IllegalStateException(""); - } else { - int var3 = var1.readUnsignedByte(); - int var4 = var1.readUnsignedByte(); - int var5 = var1.readUnsignedByte(); - int var6 = var1.readUnsignedByte(); - if (var3 == super.field159 && var4 == super.field147 && var5 == this.field321 && var6 == this.field323) { - for (int var7 = 0; var7 < 8; ++var7) { - for (int var8 = 0; var8 < 8; ++var8) { - this.method259(var7 + this.field321 * 8, var8 + this.field323 * 8, var1); - } - } - - } else { - throw new IllegalStateException(""); - } - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2074777367" - ) - int method717() { - return this.field318; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-914799830" - ) - int method718() { - return this.field319; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "20" - ) - int method719() { - return this.field321; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "793815646" - ) - int method720() { - return this.field323; - } - - public int hashCode() { - return super.field159 | super.field147 << 8 | this.field321 << 16 | this.field323 << 24; - } - - public boolean equals(Object var1) { - if (!(var1 instanceof class39)) { - return false; - } else { - class39 var2 = (class39)var1; - return var2.field159 == super.field159 && var2.field147 == super.field147 ? this.field321 == var2.field321 && var2.field323 == this.field323 : false; - } - } - - @ObfuscatedName("gr") - @ObfuscatedSignature( - signature = "(Lbz;IIIIIB)V", - garbageValue = "-1" - ) - @Export("drawActor2d") - static final void drawActor2d(Actor actor, int var1, int var2, int var3, int var4, int var5) { - if (actor != null && actor.isVisible()) { - if (actor instanceof NPC) { - NPCDefinition var6 = ((NPC)actor).definition; - if (var6.transforms != null) { - var6 = var6.transform(); - } - - if (var6 == null) { - return; - } - } - - int var77 = Players.Players_count; - int[] var7 = Players.Players_indices; - byte var8 = 0; - Player var9; - if (var1 < var77 && actor.playerCycle == Client.cycle) { - var9 = (Player)actor; - boolean var10; - if (Client.field210 == 0) { - var10 = false; - } else if (var9 != Canvas.localPlayer) { - boolean var11 = (Client.field210 & 4) != 0; - boolean var12 = var11; - boolean var13; - if (!var11) { - var13 = (Client.field210 & 1) != 0; - var12 = var13 && var9.isFriend(); - } - - var13 = var12; - if (!var12) { - boolean var14 = (Client.field210 & 2) != 0; - var13 = var14 && var9.isClanMember(); - } - - var10 = var13; - } else { - var10 = class14.method169(); - } - - if (var10) { - Player var79 = (Player)actor; - if (var1 < var77) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - AbstractFont var81 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); - byte var83 = 9; - var81.drawCentered(var79.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var83, 16777215, 0); - var8 = 18; - } - } - } - - int var78 = -2; - int var15; - int var80; - int var82; - int var84; - int var85; - if (!actor.healthBars.isEmpty()) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - - for (HealthBar var16 = (HealthBar)actor.healthBars.last(); var16 != null; var16 = (HealthBar)actor.healthBars.previous()) { - HealthBarUpdate var17 = var16.get(Client.cycle); - if (var17 == null) { - if (var16.isEmpty()) { - var16.remove(); - } - } else { - HealthBarDefinition var18 = var16.definition; - Sprite var19 = var18.getSprite2(); - Sprite var20 = var18.getSprite1(); - int var21 = 0; - if (var19 != null && var20 != null) { - if (var18.widthPadding * 2 < var20.subWidth) { - var21 = var18.widthPadding; - } - - var85 = var20.subWidth - var21 * 2; - } else { - var85 = var18.width; - } - - int var22 = 255; - boolean var23 = true; - int var24 = Client.cycle - var17.cycle; - int var25 = var85 * var17.health2 / var18.width; - if (var17.cycleOffset > var24) { - var80 = var18.int4 == 0 ? 0 : var18.int4 * (var24 / var18.int4); - var84 = var85 * var17.health / var18.width; - var82 = var80 * (var25 - var84) / var17.cycleOffset + var84; - } else { - var82 = var25; - var80 = var17.cycleOffset + var18.int5 - var24; - if (var18.int3 >= 0) { - var22 = (var80 << 8) / (var18.int5 - var18.int3); - } - } - - if (var17.health2 > 0 && var82 < 1) { - var82 = 1; - } - - if (var19 != null && var20 != null) { - if (var85 == var82) { - var82 += var21 * 2; - } else { - var82 += var21; - } - - var80 = var19.subHeight; - var78 += var80; - var84 = var2 + Client.viewportTempX - (var85 >> 1); - var15 = var3 + Client.viewportTempY - var78; - var84 -= var21; - if (var22 >= 0 && var22 < 255) { - var19.method310(var84, var15, var22); - Rasterizer2D.Rasterizer2D_expandClip(var84, var15, var84 + var82, var15 + var80); - var20.method310(var84, var15, var22); - } else { - var19.drawAt2(var84, var15); - Rasterizer2D.Rasterizer2D_expandClip(var84, var15, var82 + var84, var80 + var15); - var20.drawAt2(var84, var15); - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); - var78 += 2; - } else { - var78 += 5; - if (Client.viewportTempX > -1) { - var80 = var2 + Client.viewportTempX - (var85 >> 1); - var84 = var3 + Client.viewportTempY - var78; - Rasterizer2D.Rasterizer2D_fillRectangle(var80, var84, var82, 5, 65280); - Rasterizer2D.Rasterizer2D_fillRectangle(var80 + var82, var84, var85 - var82, 5, 16711680); - } - - var78 += 2; - } - } - } - } - - if (var78 == -2) { - var78 += 7; - } - - var78 += var8; - if (var1 < var77) { - var9 = (Player)actor; - if (var9.isHidden) { - return; - } - - if (var9.headIconPk != -1 || var9.headIconPrayer != -1) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - if (Client.viewportTempX > -1) { - if (var9.headIconPk != -1) { - var78 += 25; - class15.headIconPkSprites[var9.headIconPk].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var78); - } - - if (var9.headIconPrayer != -1) { - var78 += 25; - ClientPreferences.headIconPrayerSprites[var9.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var78); - } - } - } - - if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - if (Client.viewportTempX > -1) { - var78 += Player.headIconHintSprites[1].subHeight; - Player.headIconHintSprites[1].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var78); - } - } - } else { - NPCDefinition var86 = ((NPC)actor).definition; - if (var86.transforms != null) { - var86 = var86.transform(); - } - - if (var86.headIconPrayer >= 0 && var86.headIconPrayer < ClientPreferences.headIconPrayerSprites.length) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - if (Client.viewportTempX > -1) { - ClientPreferences.headIconPrayerSprites[var86.headIconPrayer].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); - } - } - - if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var77] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight + 15); - if (Client.viewportTempX > -1) { - Player.headIconHintSprites[0].drawAt2(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); - } - } - } - - if (actor.overheadText != null && (var1 >= var77 || !actor.field11 && (Client.publicChatMode == 4 || !actor.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)actor).isFriend())))) { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight); - if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { - Client.overheadTextXOffsets[Client.overheadTextCount] = class2.fontBold12.stringWidth(actor.overheadText) / 2; - Client.overheadTextAscents[Client.overheadTextCount] = class2.fontBold12.ascent; - Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; - Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; - Client.overheadTextColors[Client.overheadTextCount] = actor.overheadTextColor; - Client.overheadTextEffects[Client.overheadTextCount] = actor.overheadTextEffect; - Client.overheadTextCyclesRemaining[Client.overheadTextCount] = actor.overheadTextCyclesRemaining; - Client.overheadText[Client.overheadTextCount] = actor.overheadText; - ++Client.overheadTextCount; - } - } - - for (int var88 = 0; var88 < 4; ++var88) { - int var87 = actor.hitSplatCycles[var88]; - int var89 = actor.hitSplatTypes[var88]; - HitSplatDefinition var90 = null; - int var91 = 0; - if (var89 >= 0) { - if (var87 <= Client.cycle) { - continue; - } - - var90 = LoginScreenAnimation.getHitSplatDefinition(actor.hitSplatTypes[var88]); - var91 = var90.field387; - if (var90 != null && var90.transforms != null) { - var90 = var90.transform(); - if (var90 == null) { - actor.hitSplatCycles[var88] = -1; - continue; - } - } - } else if (var87 < 0) { - continue; - } - - var85 = actor.hitSplatTypes2[var88]; - HitSplatDefinition var92 = null; - if (var85 >= 0) { - var92 = LoginScreenAnimation.getHitSplatDefinition(var85); - if (var92 != null && var92.transforms != null) { - var92 = var92.transform(); - } - } - - if (var87 - var91 <= Client.cycle) { - if (var90 == null) { - actor.hitSplatCycles[var88] = -1; - } else { - DevicePcmPlayerProvider.method840(actor, actor.defaultHeight / 2); - if (Client.viewportTempX > -1) { - if (var88 == 1) { - Client.viewportTempY -= 20; - } - - if (var88 == 2) { - Client.viewportTempX -= 15; - Client.viewportTempY -= 10; - } - - if (var88 == 3) { - Client.viewportTempX += 15; - Client.viewportTempY -= 10; - } - - Sprite var93 = null; - Sprite var94 = null; - Sprite var95 = null; - Sprite var96 = null; - var84 = 0; - var15 = 0; - var80 = 0; - var82 = 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; - var93 = var90.method123(); - int var43; - if (var93 != null) { - var84 = var93.subWidth; - var43 = var93.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var26 = var93.yOffset; - } - - var94 = var90.method124(); - if (var94 != null) { - var15 = var94.subWidth; - var43 = var94.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var27 = var94.yOffset; - } - - var95 = var90.method125(); - if (var95 != null) { - var80 = var95.subWidth; - var43 = var95.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var28 = var95.yOffset; - } - - var96 = var90.method126(); - if (var96 != null) { - var82 = var96.subWidth; - var43 = var96.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var29 = var96.yOffset; - } - - if (var92 != null) { - var30 = var92.method123(); - if (var30 != null) { - var34 = var30.subWidth; - var43 = var30.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var38 = var30.yOffset; - } - - var31 = var92.method124(); - if (var31 != null) { - var35 = var31.subWidth; - var43 = var31.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var39 = var31.yOffset; - } - - var32 = var92.method125(); - if (var32 != null) { - var36 = var32.subWidth; - var43 = var32.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var40 = var32.yOffset; - } - - var33 = var92.method126(); - if (var33 != null) { - var37 = var33.subWidth; - var43 = var33.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var41 = var33.yOffset; - } - } - - Font var44 = var90.getFont(); - if (var44 == null) { - var44 = ScriptEvent.fontPlain11; - } - - Font var45; - if (var92 != null) { - var45 = var92.getFont(); - if (var45 == null) { - var45 = ScriptEvent.fontPlain11; - } - } else { - var45 = ScriptEvent.fontPlain11; - } - - String var46 = null; - String var47 = null; - boolean var48 = false; - int var49 = 0; - var46 = var90.getString(actor.hitSplatValues[var88]); - int var50 = var44.stringWidth(var46); - if (var92 != null) { - var47 = var92.getString(actor.hitSplatValues2[var88]); - var49 = var45.stringWidth(var47); - } - - int var51 = 0; - int var52 = 0; - if (var15 > 0) { - if (var95 == null && var96 == null) { - var51 = 1; - } else { - var51 = var50 / var15 + 1; - } - } - - if (var92 != null && var35 > 0) { - if (var32 == null && var33 == null) { - var52 = 1; - } else { - var52 = var49 / var35 + 1; - } - } - - int var53 = 0; - int var54 = var53; - if (var84 > 0) { - var53 += var84; - } - - var53 += 2; - int var55 = var53; - if (var80 > 0) { - var53 += var80; - } - - int var56 = var53; - int var57 = var53; - int var58; - if (var15 > 0) { - var58 = var15 * var51; - var53 += var58; - var57 += (var58 - var50) / 2; - } else { - var53 += var50; - } - - var58 = var53; - if (var82 > 0) { - var53 += var82; - } - - int var59 = 0; - int var60 = 0; - int var61 = 0; - int var62 = 0; - int var63 = 0; - int var64; - if (var92 != null) { - var53 += 2; - var59 = var53; - if (var34 > 0) { - var53 += var34; - } - - var53 += 2; - var60 = var53; - if (var36 > 0) { - var53 += var36; - } - - var61 = var53; - var63 = var53; - if (var35 > 0) { - var64 = var35 * var52; - var53 += var64; - var63 += (var64 - var49) / 2; - } else { - var53 += var49; - } - - var62 = var53; - if (var37 > 0) { - var53 += var37; - } - } - - var64 = actor.hitSplatCycles[var88] - Client.cycle; - int var65 = var90.field392 - var64 * var90.field392 / var90.field387; - int var66 = var64 * var90.field393 / var90.field387 + -var90.field393; - int var67 = var65 + (var2 + Client.viewportTempX - (var53 >> 1)); - int var68 = var66 + (var3 + Client.viewportTempY - 12); - int var69 = var68; - int var70 = var42 + var68; - int var71 = var68 + var90.field397 + 15; - int var72 = var71 - var44.maxAscent; - int var73 = var71 + var44.maxDescent; - if (var72 < var68) { - var69 = var72; - } - - if (var73 > var70) { - var70 = var73; - } - - int var74 = 0; - int var75; - int var76; - if (var92 != null) { - var74 = var68 + var92.field397 + 15; - var75 = var74 - var45.maxAscent; - var76 = var74 + var45.maxDescent; - if (var75 < var69) { - } - - if (var76 > var70) { - } - } - - var75 = 255; - if (var90.field394 >= 0) { - var75 = (var64 << 8) / (var90.field387 - var90.field394); - } - - if (var75 >= 0 && var75 < 255) { - if (var93 != null) { - var93.method310(var54 + var67 - var26, var68, var75); - } - - if (var95 != null) { - var95.method310(var67 + var55 - var28, var68, var75); - } - - if (var94 != null) { - for (var76 = 0; var76 < var51; ++var76) { - var94.method310(var15 * var76 + (var67 + var56 - var27), var68, var75); - } - } - - if (var96 != null) { - var96.method310(var58 + var67 - var29, var68, var75); - } - - var44.drawAlpha(var46, var57 + var67, var71, var90.field386, 0, var75); - if (var92 != null) { - if (var30 != null) { - var30.method310(var67 + var59 - var38, var68, var75); - } - - if (var32 != null) { - var32.method310(var67 + var60 - var40, var68, var75); - } - - if (var31 != null) { - for (var76 = 0; var76 < var52; ++var76) { - var31.method310(var76 * var35 + (var61 + var67 - var39), var68, var75); - } - } - - if (var33 != null) { - var33.method310(var62 + var67 - var41, var68, var75); - } - - var45.drawAlpha(var47, var63 + var67, var74, var92.field386, 0, var75); - } - } else { - if (var93 != null) { - var93.drawAt2(var54 + var67 - var26, var68); - } - - if (var95 != null) { - var95.drawAt2(var67 + var55 - var28, var68); - } - - if (var94 != null) { - for (var76 = 0; var76 < var51; ++var76) { - var94.drawAt2(var15 * var76 + (var56 + var67 - var27), var68); - } - } - - if (var96 != null) { - var96.drawAt2(var58 + var67 - var29, var68); - } - - var44.draw(var46, var57 + var67, var71, var90.field386 | -16777216, 0); - if (var92 != null) { - if (var30 != null) { - var30.drawAt2(var67 + var59 - var38, var68); - } - - if (var32 != null) { - var32.drawAt2(var60 + var67 - var40, var68); - } - - if (var31 != null) { - for (var76 = 0; var76 < var52; ++var76) { - var31.drawAt2(var76 * var35 + (var67 + var61 - var39), var68); - } - } - - if (var33 != null) { - var33.drawAt2(var62 + var67 - var41, var68); - } - - var45.draw(var47, var63 + var67, var74, var92.field386 | -16777216, 0); - } - } - } - } - } - } - } - - } - - @ObfuscatedName("hv") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "3" - ) - @Export("drawMenuActionTextAt") - static final void drawMenuActionTextAt(int var0, int var1) { - if ((Client.menuOptionsCount >= 2 || Client.isItemSelected != 0 || Client.isSpellSelected) && Client.showMouseOverText) { - int var2 = Client.menuOptionsCount - 1; - 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 { - String var4; - if (var2 < 0) { - var4 = ""; - } else if (Client.menuTargetNames[var2].length() > 0) { - var4 = Client.menuActions[var2] + " " + Client.menuTargetNames[var2]; - } else { - var4 = Client.menuActions[var2]; - } - - var3 = var4; - } - - if (Client.menuOptionsCount > 2) { - var3 = var3 + BufferedFile.colorStartTag(16777215) + " " + '/' + " " + (Client.menuOptionsCount - 2) + " more options"; - } - - class2.fontBold12.drawRandomAlphaAndSpacing(var3, var0 + 4, var1 + 15, 16777215, 0, Client.cycle / 1000); - } - - } - - @ObfuscatedName("ib") - @ObfuscatedSignature( - signature = "([Lho;Lho;ZI)V", - garbageValue = "1840850218" - ) - @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; - WorldMapRegion.notRevalidateWidgetScroll(var0, var1.id, var3, var4, var2); - if (var1.children != null) { - WorldMapRegion.notRevalidateWidgetScroll(var1.children, var1.id, var3, var4, var2); - } - - InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); - if (var5 != null) { - int var6 = var5.group; - if (GroundItemPile.loadInterface(var6)) { - WorldMapRegion.notRevalidateWidgetScroll(Widget.interfaceComponents[var6], -1, var3, var4, var2); - } - } - - if (var1.contentType == 1337) { - } - - } -} diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index 857181b2cc..5e189dccba 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -1,330 +1,494 @@ 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("o") +@ObfuscatedName("k") final class class4 implements class0 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lir;" - ) - @Export("InvDefinition_archive") - public static AbstractArchive InvDefinition_archive; + @ObfuscatedName("ds") + @ObfuscatedSignature( + signature = "Liu;" + ) + @Export("archive9") + static Archive archive9; + @ObfuscatedName("iz") + @ObfuscatedGetter( + intValue = -904263063 + ) + @Export("selectedItemId") + static int selectedItemId; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lgr;I)V", - garbageValue = "-223205903" - ) - public void vmethod44(Object var1, Buffer var2) { - this.method45((String)var1, var2); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkf;I)V", + garbageValue = "1977897097" + ) + public void vmethod43(Object var1, Buffer var2) { + this.method40((String)var1, var2); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Lgr;I)Ljava/lang/Object;", - garbageValue = "704451908" - ) - public Object vmethod46(Buffer var1) { - return var1.readStringCp1252NullTerminated(); - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(Lkf;I)Ljava/lang/Object;", + garbageValue = "-408972538" + ) + public Object vmethod42(Buffer var1) { + return var1.readStringCp1252NullTerminated(); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lgr;B)V", - garbageValue = "-17" - ) - void method45(String var1, Buffer var2) { - var2.writeStringCp1252NullTerminated(var1); - } + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lkf;B)V", + garbageValue = "0" + ) + void method40(String var1, Buffer var2) { + var2.writeStringCp1252NullTerminated(var1); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Lji;", - garbageValue = "253581236" - ) - public static ClientParameter[] method47() { - return new ClientParameter[]{ClientParameter.field330, ClientParameter.field322, ClientParameter.field328, ClientParameter.field332, ClientParameter.field327, ClientParameter.field326, ClientParameter.field333, ClientParameter.field338, ClientParameter.field324, ClientParameter.field337, ClientParameter.field334, ClientParameter.field336, ClientParameter.field340, ClientParameter.field325, ClientParameter.field335, ClientParameter.field339, ClientParameter.field331, ClientParameter.field323, ClientParameter.field329}; - } + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIIII)I", + garbageValue = "16711935" + ) + static final int method49(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("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-843046456" - ) - public static void method55() { - FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); - } + @ObfuscatedName("fh") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1991855037" + ) + @Export("drawEntities") + static final void drawEntities(int var0, int var1, int var2, int var3) { + ++Client.viewportDrawCount; + ScriptFrame.checkLocalPlayerDestination(); + if (Client.renderSelf) { + class227.addPlayerToScene(Client.localPlayer, false); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(ILcg;ZB)I", - garbageValue = "1" - ) - static int method54(int var0, Script var1, boolean var2) { - String var3; - if (var0 == ScriptOpcodes.MES) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapIcon1.addGameMessage(0, "", var3); - return 1; - } else if (var0 == ScriptOpcodes.ANIM) { - RouteStrategy.Interpreter_intStackSize -= 2; - class234.performPlayerAnimation(Canvas.localPlayer, Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize], Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - return 1; - } else if (var0 == ScriptOpcodes.IF_CLOSE) { - if (!Interpreter.field424) { - Interpreter.field423 = true; - } + if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { + class227.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); + } - return 1; - } else { - int var4; - PacketBufferNode var5; - if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var4 = 0; - if (UserComparator4.method3336(var3)) { - var4 = MouseHandler.parseInt(var3); - } + WorldMapRegion.addNpcsToScene(true); + int var4 = Players.Players_count; + int[] var5 = Players.Players_indices; - var5 = Interpreter.method1915(ClientPacket.field239, Client.packetWriter.isaacCipher); - var5.packetBuffer.writeInt(var4); - Client.packetWriter.method241(var5); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var5 = Interpreter.method1915(ClientPacket.field317, Client.packetWriter.isaacCipher); - var5.packetBuffer.writeByte(var3.length() + 1); - var5.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.method241(var5); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var5 = Interpreter.method1915(ClientPacket.field230, Client.packetWriter.isaacCipher); - var5.packetBuffer.writeByte(var3.length() + 1); - var5.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.method241(var5); - return 1; - } else { - String var6; - int var7; - if (var0 == ScriptOpcodes.OPPLAYER) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - WorldMapSection0.method583(var7, var6); - return 1; - } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { - RouteStrategy.Interpreter_intStackSize -= 3; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - int var13 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2]; - Widget var11 = Huffman.getWidget(var13); - Players.clickWidget(var11, var7, var4); - return 1; - } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { - RouteStrategy.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - Widget var12 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111; - Players.clickWidget(var12, var7, var4); - return 1; - } else if (var0 == ScriptOpcodes.MOUSECAM) { - AbstractRasterProvider.mouseCam = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ReflectionCheck.clientPreferences.roofsHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { - ReflectionCheck.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapSection3.savePreferences(); - return 1; - } else { - boolean var8; - if (var0 == ScriptOpcodes.OPENURL) { - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - var8 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - WorldMapCacheName.openURL(var3, var8, false); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var5 = Interpreter.method1915(ClientPacket.field264, Client.packetWriter.isaacCipher); - var5.packetBuffer.writeShort(var7); - Client.packetWriter.method241(var5); - return 1; - } else if (var0 == ScriptOpcodes.BUG_REPORT) { - var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStackSize -= 2; - var6 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; - String var9 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; - if (var6.length() > 500) { - return 1; - } else if (var9.length() > 500) { - return 1; - } else { - PacketBufferNode var10 = Interpreter.method1915(ClientPacket.field238, Client.packetWriter.isaacCipher); - var10.packetBuffer.writeShort(1 + WorldMapRegion.stringCp1252NullTerminatedByteSize(var6) + WorldMapRegion.stringCp1252NullTerminatedByteSize(var9)); - var10.packetBuffer.writeStringCp1252NullTerminated(var6); - var10.packetBuffer.writeByte(var7); - var10.packetBuffer.writeStringCp1252NullTerminated(var9); - Client.packetWriter.method241(var10); - return 1; - } - } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { - Client.shiftClickDrop = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { - Client.showMouseOverText = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.RENDERSELF) { - Client.renderSelf = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == 3120) { - if (Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1) { - Client.field210 |= 1; - } else { - Client.field210 &= -2; - } + int var6; + for (var6 = 0; var6 < var4; ++var6) { + if (var5[var6] != Client.combatTargetPlayerIndex && var5[var6] != Client.localPlayerIndex) { + class227.addPlayerToScene(Client.players[var5[var6]], true); + } + } - return 1; - } else if (var0 == 3121) { - if (Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1) { - Client.field210 |= 2; - } else { - Client.field210 &= -3; - } + WorldMapRegion.addNpcsToScene(false); + PacketWriter.method2245(); + WorldMapRectangle.method275(); + UrlRequest.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 var28; + if (!Client.isCameraLocked) { + var4 = Client.camAngleX; + if (Client.field739 / 256 > var4) { + var4 = Client.field739 / 256; + } - return 1; - } else if (var0 == 3122) { - if (Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1) { - Client.field210 |= 4; - } else { - Client.field210 &= -5; - } + if (Client.field886[4] && Client.field902[4] + 128 > var4) { + var4 = Client.field902[4] + 128; + } - return 1; - } else if (var0 == 3123) { - if (Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1) { - Client.field210 |= 8; - } else { - Client.field210 &= -9; - } + var28 = Client.camAngleY & 2047; + LoginScreenAnimation.method1724(MouseHandler.oculusOrbFocalPointX, Client.field729, WorldMapArea.oculusOrbFocalPointY, var4, var28, class40.method700(var4), var3); + } - return 1; - } else if (var0 == 3124) { - Client.field210 = 0; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { - Client.showMouseCross = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { - Client.showLoadingMessages = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETTAPTODROP) { - WorldMapAreaData.setTapToDrop(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1); - return 1; - } else if (var0 == ScriptOpcodes.GETTAPTODROP) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class206.getTapToDrop() ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { - RouteStrategy.Interpreter_intStackSize -= 2; - Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; - return 1; - } else if (var0 == 3130) { - RouteStrategy.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3131) { - --RouteStrategy.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = SoundCache.canvasWidth; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Huffman.canvasHeight; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { - --RouteStrategy.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { - RouteStrategy.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3136) { - Client.field151 = 3; - Client.field153 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3137) { - Client.field151 = 2; - Client.field153 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3138) { - Client.field151 = 0; - return 1; - } else if (var0 == 3139) { - Client.field151 = 1; - return 1; - } else if (var0 == 3140) { - Client.field151 = 3; - Client.field153 = var2 ? WorldMapIcon1.field1030.id : GrandExchangeOfferAgeComparator.field1111.id; - return 1; - } else if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { - var8 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - ReflectionCheck.clientPreferences.hideUsername = var8; - WorldMapSection3.savePreferences(); - return 1; - } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ReflectionCheck.clientPreferences.hideUsername ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { - var8 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - Client.Login_isUsernameRemembered = var8; - if (!var8) { - ReflectionCheck.clientPreferences.rememberedUsername = ""; - WorldMapSection3.savePreferences(); - } + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + int var13; + int var14; + if (!Client.isCameraLocked) { + if (WorldMapLabelSize.clientPreferences.roofsHidden) { + var28 = class42.plane; + } else { + label567: { + var6 = 3; + if (GrandExchangeOfferNameComparator.cameraPitch < 310) { + label559: { + if (Client.oculusOrbState == 1) { + var7 = MouseHandler.oculusOrbFocalPointX >> 7; + var8 = WorldMapArea.oculusOrbFocalPointY >> 7; + } else { + var7 = Client.localPlayer.x >> 7; + var8 = Client.localPlayer.y >> 7; + } - return 1; - } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { - Interpreter.Interpreter_intStack[++RouteStrategy.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[--RouteStrategy.Interpreter_intStackSize] == 1; - if (var8 == ReflectionCheck.clientPreferences.titleMusicDisabled) { - ReflectionCheck.clientPreferences.titleMusicDisabled = !var8; - WorldMapSection3.savePreferences(); - } + var9 = PacketBuffer.cameraX >> 7; + var10 = class1.cameraZ >> 7; + if (var9 >= 0 && var10 >= 0 && var9 < 104 && var10 < 104) { + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } - return 1; - } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ReflectionCheck.clientPreferences.titleMusicDisabled ? 0 : 1; - return 1; - } else if (var0 == 3148) { - return 1; - } else if (var0 == 3149) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3150) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3151) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3152) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3153) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; - return 1; - } else if (var0 == 3154) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = GrandExchangeOffer.method101(); - return 1; - } else { - return 2; - } - } - } - } - } + 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 (true) { + if (var7 == var9) { + break label559; + } + + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + + var14 += var13; + if (var14 >= 65536) { + var14 -= 65536; + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + } + } + } else { + if (var12 > 0) { + var13 = var11 * 65536 / var12; + var14 = 32768; + + while (var10 != var8) { + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + + var14 += var13; + if (var14 >= 65536) { + var14 -= 65536; + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[class42.plane][var9][var10] & 4) != 0) { + var6 = class42.plane; + } + } + } + } + break label559; + } + } + + var28 = class42.plane; + break label567; + } + + var28 = class42.plane; + break label567; + } + } + + if (Client.localPlayer.x >= 0 && Client.localPlayer.y >= 0 && Client.localPlayer.x < 13312 && Client.localPlayer.y < 13312) { + if ((Tiles.Tiles_renderFlags[class42.plane][Client.localPlayer.x >> 7][Client.localPlayer.y >> 7] & 4) != 0) { + var6 = class42.plane; + } + + var28 = var6; + } else { + var28 = class42.plane; + } + } + } + + var4 = var28; + } else { + var4 = class83.method1995(); + } + + var28 = PacketBuffer.cameraX; + var6 = class43.cameraY; + var7 = class1.cameraZ; + var8 = GrandExchangeOfferNameComparator.cameraPitch; + var9 = Interpreter.cameraYaw; + + for (var10 = 0; var10 < 5; ++var10) { + if (Client.field886[var10]) { + var11 = (int)(Math.random() * (double)(Client.field901[var10] * 2 + 1) - (double)Client.field901[var10] + Math.sin((double)Client.field903[var10] / 100.0D * (double)Client.field904[var10]) * (double)Client.field902[var10]); + if (var10 == 0) { + PacketBuffer.cameraX += var11; + } + + if (var10 == 1) { + class43.cameraY += var11; + } + + if (var10 == 2) { + class1.cameraZ += var11; + } + + if (var10 == 3) { + Interpreter.cameraYaw = var11 + Interpreter.cameraYaw & 2047; + } + + if (var10 == 4) { + GrandExchangeOfferNameComparator.cameraPitch += var11; + if (GrandExchangeOfferNameComparator.cameraPitch < 128) { + GrandExchangeOfferNameComparator.cameraPitch = 128; + } + + if (GrandExchangeOfferNameComparator.cameraPitch > 383) { + GrandExchangeOfferNameComparator.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) { + var12 = var10 - var0; + var13 = var11 - var1; + ViewportMouse.ViewportMouse_x = var12; + ViewportMouse.ViewportMouse_y = var13; + ViewportMouse.ViewportMouse_isInViewport = true; + ViewportMouse.ViewportMouse_entityCount = 0; + ViewportMouse.ViewportMouse_false0 = false; + } else { + class190.method3665(); + } + + class186.playPcmPlayers(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + class186.playPcmPlayers(); + var12 = Rasterizer3D.Rasterizer3D_zoom; + Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; + GrandExchangeOfferWorldComparator.scene.draw(PacketBuffer.cameraX, class43.cameraY, class1.cameraZ, GrandExchangeOfferNameComparator.cameraPitch, Interpreter.cameraYaw, var4); + Rasterizer3D.Rasterizer3D_zoom = var12; + class186.playPcmPlayers(); + GrandExchangeOfferWorldComparator.scene.clearTempGameObjects(); + Client.overheadTextCount = 0; + boolean var31 = false; + var14 = -1; + int var15 = -1; + int var16 = Players.Players_count; + int[] var17 = Players.Players_indices; + + int var18; + for (var18 = 0; var18 < var16 + Client.npcCount; ++var18) { + Object var19; + if (var18 < var16) { + var19 = Client.players[var17[var18]]; + if (var17[var18] == Client.combatTargetPlayerIndex) { + var31 = true; + var14 = var18; + continue; + } + + if (var19 == Client.localPlayer) { + var15 = var18; + continue; + } + } else { + var19 = Client.npcs[Client.npcIndices[var18 - var16]]; + } + + Decimator.drawActor2d((Actor)var19, var18, var0, var1, var2, var3); + } + + if (Client.renderSelf && var15 != -1) { + Decimator.drawActor2d(Client.localPlayer, var15, var0, var1, var2, var3); + } + + if (var31) { + Decimator.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3); + } + + for (var18 = 0; var18 < Client.overheadTextCount; ++var18) { + int var29 = Client.overheadTextXs[var18]; + int var20 = Client.overheadTextYs[var18]; + int var21 = Client.overheadTextXOffsets[var18]; + int var22 = Client.overheadTextAscents[var18]; + boolean var23 = true; + + while (var23) { + var23 = false; + + for (int var24 = 0; var24 < var18; ++var24) { + if (var20 + 2 > Client.overheadTextYs[var24] - Client.overheadTextAscents[var24] && var20 - var22 < Client.overheadTextYs[var24] + 2 && var29 - var21 < Client.overheadTextXOffsets[var24] + Client.overheadTextXs[var24] && var21 + var29 > Client.overheadTextXs[var24] - Client.overheadTextXOffsets[var24] && Client.overheadTextYs[var24] - Client.overheadTextAscents[var24] < var20) { + var20 = Client.overheadTextYs[var24] - Client.overheadTextAscents[var24]; + var23 = true; + } + } + } + + Client.viewportTempX = Client.overheadTextXs[var18]; + Client.viewportTempY = Client.overheadTextYs[var18] = var20; + String var30 = Client.overheadText[var18]; + if (Client.chatEffects == 0) { + int var25 = 16776960; + if (Client.overheadTextColors[var18] < 6) { + var25 = Client.field870[Client.overheadTextColors[var18]]; + } + + if (Client.overheadTextColors[var18] == 6) { + var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; + } + + if (Client.overheadTextColors[var18] == 7) { + var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; + } + + if (Client.overheadTextColors[var18] == 8) { + var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; + } + + int var26; + if (Client.overheadTextColors[var18] == 9) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 1280 + 16711680; + } else if (var26 < 100) { + var25 = 16776960 - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 5 + 65280; + } + } + + if (Client.overheadTextColors[var18] == 10) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 5 + 16711680; + } else if (var26 < 100) { + var25 = 16711935 - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; + } + } + + if (Client.overheadTextColors[var18] == 11) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = 16777215 - var26 * 327685; + } else if (var26 < 100) { + var25 = (var26 - 50) * 327685 + 65280; + } else if (var26 < 150) { + var25 = 16777215 - (var26 - 100) * 327680; + } + } + + if (Client.overheadTextEffects[var18] == 0) { + WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); + } + + if (Client.overheadTextEffects[var18] == 1) { + WorldMapIcon_1.fontBold12.drawCenteredWave(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 2) { + WorldMapIcon_1.fontBold12.drawCenteredWave2(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 3) { + WorldMapIcon_1.fontBold12.drawCenteredShake(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); + } + + if (Client.overheadTextEffects[var18] == 4) { + var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (WorldMapIcon_1.fontBold12.stringWidth(var30) + 100) / 150; + Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); + WorldMapIcon_1.fontBold12.draw(var30, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + + if (Client.overheadTextEffects[var18] == 5) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + int var27 = 0; + if (var26 < 25) { + var27 = var26 - 25; + } else if (var26 > 125) { + var27 = var26 - 125; + } + + Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - WorldMapIcon_1.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); + WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + } else { + WorldMapIcon_1.fontBold12.drawCentered(var30, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); + } + } + + if (Client.hintArrowType == 2) { + class32.worldToScreen(Client.hintArrowSubX * 64 + (Client.hintArrowX - MusicPatchNode2.baseX * 64 << 7), (Client.hintArrowY - class1.baseY * 64 << 7) + Client.hintArrowSubY * 4096, Client.hintArrowHeight * 4); + if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { + class173.headIconHintSprites[0].drawAt2(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); + } + } + + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field718); + AbstractWorldMapData.method273(var0, var1, var2, var3); + PacketBuffer.cameraX = var28; + class43.cameraY = var6; + class1.cameraZ = var7; + GrandExchangeOfferNameComparator.cameraPitch = var8; + Interpreter.cameraYaw = var9; + if (Client.isLoading) { + byte var32 = 0; + var14 = var32 + NetCache.NetCache_pendingPriorityResponsesCount + NetCache.NetCache_pendingPriorityWritesCount; + if (var14 == 0) { + Client.isLoading = false; + } + } + + if (Client.isLoading) { + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + TriBool.drawLoadingMessage("Loading - please wait.", false); + } + + } } diff --git a/runescape-client/src/main/java/class40.java b/runescape-client/src/main/java/class40.java index 1a197bd508..73083d23c6 100644 --- a/runescape-client/src/main/java/class40.java +++ b/runescape-client/src/main/java/class40.java @@ -3,884 +3,843 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ad") +@ObfuscatedName("ap") public class class40 { - @ObfuscatedName("dl") - @ObfuscatedSignature( - signature = "Lit;" - ) - @Export("archive7") - static Archive archive7; - @ObfuscatedName("gs") - @Export("regionLandArchives") - static byte[][] regionLandArchives; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1443846573 - ) - int field326; - @ObfuscatedName("f") - byte[][][] field329; - - class40(int var1) { - this.field326 = var1; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIIIIIIB)V", - garbageValue = "125" - ) - void method743(int x, int y, int var3, int var4, int width, int height, int var7, int var8) { - if (var7 != 0 && this.field326 != 0 && this.field329 != null) { - var8 = this.method744(var8, var7); - var7 = this.method774(var7); - Rasterizer2D.raster2d7(x, y, width, height, var3, var4, this.field329[var7 - 1][var8], this.field326); - } - - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-203451964" - ) - int method744(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("q") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-63" - ) - int method774(int var1) { - return var1 != 9 && var1 != 10 ? (var1 == 11 ? 8 : var1) : 1; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1551779144" - ) - void method763() { - if (this.field329 == null) { - this.field329 = new byte[8][4][]; - this.method745(); - this.method748(); - this.method751(); - this.method750(); - this.method762(); - this.method752(); - this.method753(); - this.method754(); - } - - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "196149319" - ) - void method745() { - byte[] var1 = new byte[this.field326 * this.field326]; - int var2 = 0; - - int var3; - int var4; - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[0][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[0][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 >= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[0][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 >= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[0][3] = var1; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1590087827" - ) - void method748() { - byte[] var1 = new byte[this.field326 * this.field326]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[1][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var2 >= 0 && var2 < var1.length) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } else { - ++var2; - } - } - } - - this.field329[1][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[1][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[1][3] = var1; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "530017326" - ) - void method751() { - byte[] var1 = new byte[this.field326 * this.field326]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[2][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[2][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[2][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[2][3] = var1; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-40" - ) - void method750() { - byte[] var1 = new byte[this.field326 * this.field326]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[3][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[3][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[3][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[3][3] = var1; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-545325116" - ) - void method762() { - byte[] var1 = new byte[this.field326 * this.field326]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[4][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = this.field326 - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[4][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = 0; var4 < this.field326; ++var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[4][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var2 = 0; - - for (var3 = 0; var3 < this.field326; ++var3) { - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.field329[4][3] = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2005544109" - ) - void method752() { - byte[] var1 = new byte[this.field326 * this.field326]; - boolean var2 = false; - var1 = new byte[this.field326 * this.field326]; - int var3 = 0; - - int var4; - int var5; - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 <= this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[5][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var4 <= this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[5][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 >= this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[5][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var4 >= this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[5][3] = var1; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-105" - ) - void method753() { - byte[] var1 = new byte[this.field326 * this.field326]; - boolean var2 = false; - var1 = new byte[this.field326 * this.field326]; - int var3 = 0; - - int var4; - int var5; - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 <= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[6][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 <= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[6][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - for (var5 = this.field326 - 1; var5 >= 0; --var5) { - if (var5 <= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[6][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = this.field326 - 1; var5 >= 0; --var5) { - if (var5 <= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[6][3] = var1; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2013517896" - ) - void method754() { - byte[] var1 = new byte[this.field326 * this.field326]; - boolean var2 = false; - var1 = new byte[this.field326 * this.field326]; - int var3 = 0; - - int var4; - int var5; - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 >= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[7][0] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - for (var5 = 0; var5 < this.field326; ++var5) { - if (var5 >= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[7][1] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = this.field326 - 1; var4 >= 0; --var4) { - for (var5 = this.field326 - 1; var5 >= 0; --var5) { - if (var5 >= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[7][2] = var1; - var1 = new byte[this.field326 * this.field326]; - var3 = 0; - - for (var4 = 0; var4 < this.field326; ++var4) { - for (var5 = this.field326 - 1; var5 >= 0; --var5) { - if (var5 >= var4 - this.field326 / 2) { - var1[var3] = -1; - } - - ++var3; - } - } - - this.field329[7][3] = var1; - } - - @ObfuscatedName("gf") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1557475479" - ) - @Export("drawEntities") - static final void drawEntities(int var0, int var1, int var2, int var3) { - ++Client.viewportDrawCount; - class229.method4514(); - WorldMapDecoration.addLocalPlayerToScene(); - TriBool.addTargetPlayerToScene(); - BufferedSource.method3423(true); - int var4 = Players.Players_count; - int[] var5 = Players.Players_indices; - - int var6; - for (var6 = 0; var6 < var4; ++var6) { - if (var5[var6] != Client.combatTargetPlayerIndex && var5[var6] != Client.localPlayerIndex) { - WorldMapCacheName.addPlayerToScene(Client.players[var5[var6]], true); - } - } - - BufferedSource.method3423(false); - - for (Projectile var7 = (Projectile)Client.projectiles.last(); var7 != null; var7 = (Projectile)Client.projectiles.previous()) { - if (var7.plane == SoundSystem.plane && Client.cycle <= var7.cycleEnd) { - if (Client.cycle >= var7.cycleStart) { - if (var7.targetIndex > 0) { - NPC var8 = Client.npcs[var7.targetIndex - 1]; - if (var8 != null && var8.x >= 0 && var8.x < 13312 && var8.y >= 0 && var8.y < 13312) { - var7.setDestination(var8.x, var8.y, class32.getTileHeight(var8.x, var8.y, var7.plane) - var7.endHeight, Client.cycle); - } - } - - if (var7.targetIndex < 0) { - var6 = -var7.targetIndex - 1; - Player var23; - if (var6 == Client.localPlayerIndex) { - var23 = Canvas.localPlayer; - } else { - var23 = Client.players[var6]; - } - - if (var23 != null && var23.x >= 0 && var23.x < 13312 && var23.y >= 0 && var23.y < 13312) { - var7.setDestination(var23.x, var23.y, class32.getTileHeight(var23.x, var23.y, var7.plane) - var7.endHeight, Client.cycle); - } - } - - var7.advance(Client.field183); - class65.scene.method285(SoundSystem.plane, (int)var7.x, (int)var7.y, (int)var7.z, 60, var7, var7.yaw, -1L, false); - } - } else { - var7.remove(); - } - } - - for (GraphicsObject var21 = (GraphicsObject)Client.graphicsObjects.last(); var21 != null; var21 = (GraphicsObject)Client.graphicsObjects.previous()) { - if (var21.plane == SoundSystem.plane && !var21.isFinished) { - if (Client.cycle >= var21.cycleStart) { - var21.advance(Client.field183); - if (var21.isFinished) { - var21.remove(); - } else { - class65.scene.method285(var21.plane, var21.x, var21.y, var21.height, 60, var21, 0, -1L, false); - } - } - } else { - var21.remove(); - } - } - - FontName.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 var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var22; - int var24; - if (!Client.isCameraLocked) { - var4 = Client.camAngleX; - if (Client.field202 / 256 > var4) { - var4 = Client.field202 / 256; - } - - if (Client.field139[4] && Client.field142[4] + 128 > var4) { - var4 = Client.field142[4] + 128; - } - - var13 = Client.camAngleY & 2047; - var6 = MouseHandler.oculusOrbFocalPointX; - var14 = MouseRecorder.field566; - var15 = ScriptEvent.oculusOrbFocalPointY; - var22 = var4 * 3 + 600; - var24 = ScriptEvent.method1176(var22, var3); - var9 = 2048 - var4 & 2047; - var10 = 2048 - var13 & 2047; - var11 = 0; - var12 = 0; - int var16 = var24; - int var17; - int var18; - int var19; - if (var9 != 0) { - var17 = Rasterizer3D.Rasterizer3D_sine[var9]; - var18 = Rasterizer3D.Rasterizer3D_cosine[var9]; - var19 = var12 * var18 - var17 * var24 >> 16; - var16 = var18 * var24 + var17 * var12 >> 16; - var12 = var19; - } - - if (var10 != 0) { - var17 = Rasterizer3D.Rasterizer3D_sine[var10]; - var18 = Rasterizer3D.Rasterizer3D_cosine[var10]; - var19 = var16 * var17 + var18 * var11 >> 16; - var16 = var16 * var18 - var17 * var11 >> 16; - var11 = var19; - } - - WorldMapSection2.cameraX = var6 - var11; - GrandExchangeEvents.cameraY = var14 - var12; - GrandExchangeOfferNameComparator.cameraZ = var15 - var16; - WorldMapIcon1.cameraPitch = var4; - MusicPatchNode.cameraYaw = var13; - if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (MouseHandler.oculusOrbFocalPointX >> 7 != Canvas.localPlayer.x >> 7 || ScriptEvent.oculusOrbFocalPointY >> 7 != Canvas.localPlayer.y >> 7)) { - var17 = Canvas.localPlayer.plane; - var18 = (MouseHandler.oculusOrbFocalPointX >> 7) + class50.baseX; - var19 = (ScriptEvent.oculusOrbFocalPointY >> 7) + GraphicsObject.baseY; - PacketBufferNode var20 = Interpreter.method1915(ClientPacket.field283, Client.packetWriter.isaacCipher); - var20.packetBuffer.writeIntME(Client.field198); - var20.packetBuffer.writeShortLE(var19); - var20.packetBuffer.method56(var17); - var20.packetBuffer.writeShort(var18); - Client.packetWriter.method241(var20); - } - } - - if (!Client.isCameraLocked) { - var4 = GrandExchangeOfferUnitPriceComparator.method131(); - } else { - var4 = Login.method2061(); - } - - var13 = WorldMapSection2.cameraX; - var6 = GrandExchangeEvents.cameraY; - var14 = GrandExchangeOfferNameComparator.cameraZ; - var15 = WorldMapIcon1.cameraPitch; - var22 = MusicPatchNode.cameraYaw; - - for (var24 = 0; var24 < 5; ++var24) { - if (Client.field139[var24]) { - var9 = (int)(Math.random() * (double)(Client.field141[var24] * 2 + 1) - (double)Client.field141[var24] + Math.sin((double)Client.field144[var24] * ((double)Client.field143[var24] / 100.0D)) * (double)Client.field142[var24]); - if (var24 == 0) { - WorldMapSection2.cameraX += var9; - } - - if (var24 == 1) { - GrandExchangeEvents.cameraY += var9; - } - - if (var24 == 2) { - GrandExchangeOfferNameComparator.cameraZ += var9; - } - - if (var24 == 3) { - MusicPatchNode.cameraYaw = var9 + MusicPatchNode.cameraYaw & 2047; - } - - if (var24 == 4) { - WorldMapIcon1.cameraPitch += var9; - if (WorldMapIcon1.cameraPitch < 128) { - WorldMapIcon1.cameraPitch = 128; - } - - if (WorldMapIcon1.cameraPitch > 383) { - WorldMapIcon1.cameraPitch = 383; - } - } - } - } - - var24 = MouseHandler.MouseHandler_x; - var9 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var24 = MouseHandler.MouseHandler_lastPressedX; - var9 = MouseHandler.MouseHandler_lastPressedY; - } - - if (var24 >= var0 && var24 < var0 + var2 && var9 >= var1 && var9 < var3 + var1) { - var10 = var24 - var0; - var11 = var9 - var1; - ViewportMouse.ViewportMouse_x = var10; - ViewportMouse.ViewportMouse_y = var11; - ViewportMouse.ViewportMouse_isInViewport = true; - ViewportMouse.ViewportMouse_entityCount = 0; - ViewportMouse.ViewportMouse_false0 = false; - } else { - ViewportMouse.ViewportMouse_isInViewport = false; - ViewportMouse.ViewportMouse_entityCount = 0; - } - - class13.playPcmPlayers(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - class13.playPcmPlayers(); - var10 = Rasterizer3D.Rasterizer3D_zoom; - Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; - class65.scene.draw(WorldMapSection2.cameraX, GrandExchangeEvents.cameraY, GrandExchangeOfferNameComparator.cameraZ, WorldMapIcon1.cameraPitch, MusicPatchNode.cameraYaw, var4); - Rasterizer3D.Rasterizer3D_zoom = var10; - class13.playPcmPlayers(); - class65.scene.clearTempGameObjects(); - UrlRequester.method3258(var0, var1, var2, var3); - GrandExchangeOfferUnitPriceComparator.method136(var0, var1); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field183); - Client.field208 = 0; - var11 = (Canvas.localPlayer.x >> 7) + class50.baseX; - var12 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; - if (var11 >= 3053 && var11 <= 3156 && var12 >= 3056 && var12 <= 3136) { - Client.field208 = 1; - } - - if (var11 >= 3072 && var11 <= 3118 && var12 >= 9492 && var12 <= 9535) { - Client.field208 = 1; - } - - if (Client.field208 == 1 && var11 >= 3139 && var11 <= 3199 && var12 >= 3008 && var12 <= 3062) { - Client.field208 = 0; - } - - WorldMapSection2.cameraX = var13; - GrandExchangeEvents.cameraY = var6; - GrandExchangeOfferNameComparator.cameraZ = var14; - WorldMapIcon1.cameraPitch = var15; - MusicPatchNode.cameraYaw = var22; - if (Client.isLoading) { - byte var25 = 0; - var12 = var25 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; - if (var12 == 0) { - Client.isLoading = false; - } - } - - if (Client.isLoading) { - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - PendingSpawn.drawLoadingMessage("Loading - please wait.", false); - } - - } + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 813115417 + ) + @Export("idxCount") + public static int idxCount; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Lmu;" + ) + @Export("loginType") + static LoginType loginType; + @ObfuscatedName("ch") + @ObfuscatedSignature( + signature = "Lbs;" + ) + @Export("mouseRecorder") + static MouseRecorder mouseRecorder; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1740646861 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("w") + @Export("tileTemplates") + byte[][][] tileTemplates; + + class40(int var1) { + this.pixelsPerTile = var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIIIIIII)V", + garbageValue = "1804465340" + ) + void method698(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.method699(var8, var7); + var7 = this.method712(var7); + Rasterizer2D.raster2d7(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-500571874" + ) + int method699(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("e") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-128" + ) + int method712(int var1) { + if (var1 != 9 && var1 != 10) { + return var1 == 11 ? 8 : var1; + } else { + return 1; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "4" + ) + @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("k") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-21" + ) + @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("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-566933569" + ) + @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("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1948794690" + ) + @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("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "501834296" + ) + @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("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-413902072" + ) + @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("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "448498588" + ) + @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("x") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1961864087" + ) + @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("r") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "0" + ) + @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("l") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "14" + ) + public static void method729(int var0) { + class197.field2402 = 1; + GrandExchangeOfferNameComparator.musicTrackArchive = null; + class197.musicTrackGroupId = -1; + class197.musicTrackFileId = -1; + ScriptFrame.field529 = 0; + BuddyRankComparator.musicTrackBoolean = false; + class197.field2404 = var0; + } + + @ObfuscatedName("ew") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-68" + ) + static int method700(int var0) { + return var0 * 3 + 600; + } + + @ObfuscatedName("io") + @ObfuscatedSignature( + signature = "(Lhj;III)V", + garbageValue = "-641953545" + ) + static final void method703(Widget var0, int var1, int var2) { + if (var0.buttonType == 1) { + class188.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); + } + + String var3; + if (var0.buttonType == 2 && !Client.isSpellSelected) { + var3 = FontName.method5318(var0); + if (var3 != null) { + class188.insertMenuItemNoShift(var3, ClientPreferences.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + } + } + + if (var0.buttonType == 3) { + class188.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); + } + + if (var0.buttonType == 4) { + class188.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); + } + + if (var0.buttonType == 5) { + class188.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); + } + + if (var0.buttonType == 6 && Client.field850 == null) { + class188.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); + } + + int var4; + int var13; + if (var0.type == 2) { + var13 = 0; + + for (var4 = 0; var4 < var0.height; ++var4) { + for (int var5 = 0; var5 < var0.width; ++var5) { + int var6 = (var0.paddingX + 32) * var5; + int var7 = (var0.paddingY + 32) * var4; + if (var13 < 20) { + var6 += var0.inventoryXOffsets[var13]; + var7 += var0.inventoryYOffsets[var13]; + } + + if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { + Client.dragItemSlotDestination = var13; + class294.field3697 = var0; + if (var0.itemIds[var13] > 0) { + ItemDefinition var8 = WorldMapArea.getItemDefinition(var0.itemIds[var13] - 1); + if (Client.isItemSelected == 1 && Script.method2185(class268.getWidgetClickMask(var0))) { + if (var0.id != MouseRecorder.selectedItemWidget || var13 != WorldMapIcon_1.selectedItemSlot) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var8.name, 31, var8.id, var13, var0.id); + } + } else if (Client.isSpellSelected && Script.method2185(class268.getWidgetClickMask(var0))) { + if ((WorldMapCacheName.selectedSpellFlags & 16) == 16) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var8.name, 32, var8.id, var13, var0.id); + } + } else { + String[] var9 = var8.inventoryActions; + int var10 = -1; + if (Client.shiftClickDrop) { + boolean var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; + if (var11) { + var10 = var8.getShiftClickIndex(); + } + } + + int var16; + if (Script.method2185(class268.getWidgetClickMask(var0))) { + for (var16 = 4; var16 >= 3; --var16) { + if (var16 != var10) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); + } + } + } + + if (class195.method3685(class268.getWidgetClickMask(var0))) { + class188.insertMenuItemNoShift("Use", ClientPreferences.colorStartTag(16748608) + var8.name, 38, var8.id, var13, var0.id); + } + + if (Script.method2185(class268.getWidgetClickMask(var0))) { + for (var16 = 2; var16 >= 0; --var16) { + if (var10 != var16) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var16, false); + } + } + + if (var10 >= 0) { + WorldMapRectangle.addWidgetItemMenuItem(var0, var8, var13, var10, true); + } + } + + var9 = var0.itemActions; + if (var9 != null) { + for (var16 = 4; var16 >= 0; --var16) { + if (var9[var16] != null) { + byte var12 = 0; + if (var16 == 0) { + var12 = 39; + } + + if (var16 == 1) { + var12 = 40; + } + + if (var16 == 2) { + var12 = 41; + } + + if (var16 == 3) { + var12 = 42; + } + + if (var16 == 4) { + var12 = 43; + } + + class188.insertMenuItemNoShift(var9[var16], ClientPreferences.colorStartTag(16748608) + var8.name, var12, var8.id, var13, var0.id); + } + } + } + + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16748608) + var8.name, 1005, var8.id, var13, var0.id); + } + } + } + + ++var13; + } + } + } + + if (var0.isIf3) { + if (Client.isSpellSelected) { + if (class96.method2266(class268.getWidgetClickMask(var0)) && (WorldMapCacheName.selectedSpellFlags & 32) == 32) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + } + } else { + for (var13 = 9; var13 >= 5; --var13) { + String var14 = UserComparator10.method3407(var0, var13); + if (var14 != null) { + class188.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id); + } + } + + var3 = FontName.method5318(var0); + if (var3 != null) { + class188.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + } + + for (var4 = 4; var4 >= 0; --var4) { + String var15 = UserComparator10.method3407(var0, var4); + if (var15 != null) { + Entity.insertMenuItem(var15, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2691); + } + } + + if (InterfaceParent.method1119(class268.getWidgetClickMask(var0))) { + class188.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); + } + } + } + + } } diff --git a/runescape-client/src/main/java/class46.java b/runescape-client/src/main/java/class46.java deleted file mode 100644 index c5863c981e..0000000000 --- a/runescape-client/src/main/java/class46.java +++ /dev/null @@ -1,25 +0,0 @@ -import java.applet.Applet; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import netscape.javascript.JSObject; - -@ObfuscatedName("au") -public class class46 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/applet/Applet;Ljava/lang/String;B)V", - garbageValue = "0" - ) - public static void method850(Applet var0, String var1) throws Throwable { - JSObject.getWindow(var0).eval(var1); - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/applet/Applet;Ljava/lang/String;B)Ljava/lang/Object;", - garbageValue = "6" - ) - static Object method851(Applet var0, String var1) throws Throwable { - return JSObject.getWindow(var0).call(var1, (Object[])null); - } -} diff --git a/runescape-client/src/main/java/class48.java b/runescape-client/src/main/java/class48.java deleted file mode 100644 index d1231d55dd..0000000000 --- a/runescape-client/src/main/java/class48.java +++ /dev/null @@ -1,76 +0,0 @@ -import javax.imageio.ImageIO; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("aa") -public class class48 { - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)[Lij;", - garbageValue = "-818052349" - ) - @Export("PlayerType_values") - public static PlayerType[] PlayerType_values() { - return new PlayerType[]{PlayerType.PlayerType_normal, PlayerType.PlayerType_ironman, PlayerType.PlayerType_hardcoreIronman, PlayerType.PlayerType_ultimateIronman, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_jagexModerator}; - } - - @ObfuscatedName("fd") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "643714573" - ) - static final void method868() { - if (Client.field175 > 0) { - TextureProvider.method2773(); - } else { - Client.timer.method330(); - GameShell.updateGameState(40); - ClientParameter.field341 = Client.packetWriter.getSocket(); - Client.packetWriter.removeSocket(); - } - - } - - @ObfuscatedName("je") - @ObfuscatedSignature( - signature = "(Lho;I)Lho;", - garbageValue = "-1926681563" - ) - static Widget method869(Widget var0) { - Widget var1 = var0; - int var2 = WorldMapRegion.method568(class1.getWidgetClickMask(var0)); - Widget var3; - if (var2 == 0) { - var3 = null; - } else { - int var4 = 0; - - while (true) { - if (var4 >= var2) { - var3 = var1; - break; - } - - var1 = Huffman.getWidget(var1.parentId); - if (var1 == null) { - var3 = null; - break; - } - - ++var4; - } - } - - Widget var5 = var3; - if (var3 == null) { - var5 = var0.parent; - } - - return var5; - } - - static { - ImageIO.setUseCache(false); - } -} diff --git a/runescape-client/src/main/java/class50.java b/runescape-client/src/main/java/class50.java deleted file mode 100644 index 35d67cb954..0000000000 --- a/runescape-client/src/main/java/class50.java +++ /dev/null @@ -1,266 +0,0 @@ -import java.applet.Applet; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("af") -public class class50 { - @ObfuscatedName("m") - @Export("applet") - public static Applet applet; - @ObfuscatedName("f") - public static String field1160; - @ObfuscatedName("ei") - @Export("worldHost") - static String worldHost; - @ObfuscatedName("ff") - @ObfuscatedGetter( - intValue = -790717597 - ) - @Export("baseX") - static int baseX; - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IB)Lio;", - garbageValue = "20" - ) - @Export("getSpotAnimationDefinition") - public static SpotAnimationDefinition getSpotAnimationDefinition(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("f") - @ObfuscatedSignature( - signature = "(II)Ljr;", - garbageValue = "151801733" - ) - @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("gc") - @ObfuscatedSignature( - signature = "(ZLhx;B)V", - garbageValue = "83" - ) - @Export("loadRegions") - static final void loadRegions(boolean isInInstance, PacketBuffer packetBuffer) { - Client.isInInstance = isInInstance; - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - if (!Client.isInInstance) { - var2 = packetBuffer.method67(); - var3 = packetBuffer.method66(); - int var8 = packetBuffer.readUnsignedShort(); - class190.xteaKeys = new int[var8][4]; - - for (var4 = 0; var4 < var8; ++var4) { - for (var5 = 0; var5 < 4; ++var5) { - class190.xteaKeys[var4][var5] = packetBuffer.readInt(); - } - } - - class308.regions = new int[var8]; - ArchiveLoader.regionMapArchiveIds = new int[var8]; - MouseHandler.regionLandArchiveIds = new int[var8]; - class40.regionLandArchives = new byte[var8][]; - HealthBarUpdate.regionMapArchives = new byte[var8][]; - boolean var9 = false; - if ((var3 / 8 == 48 || var3 / 8 == 49) && var2 / 8 == 48) { - var9 = true; - } - - if (var3 / 8 == 48 && var2 / 8 == 148) { - var9 = true; - } - - var8 = 0; - - for (var5 = (var3 - 6) / 8; var5 <= (var3 + 6) / 8; ++var5) { - for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { - var7 = var6 + (var5 << 8); - if (!var9 || var6 != 49 && var6 != 149 && var6 != 147 && var5 != 50 && (var5 != 49 || var6 != 47)) { - class308.regions[var8] = var7; - ArchiveLoader.regionMapArchiveIds[var8] = SecureRandomFuture.archive5.getGroupId("m" + var5 + "_" + var6); - MouseHandler.regionLandArchiveIds[var8] = SecureRandomFuture.archive5.getGroupId("l" + var5 + "_" + var6); - ++var8; - } - } - } - - DynamicObject.method2224(var3, var2, true); - } else { - var2 = packetBuffer.method66(); - var3 = packetBuffer.method67(); - boolean var15 = packetBuffer.readUnsignedByte() == 1; - var4 = packetBuffer.readUnsignedShort(); - packetBuffer.importIndex(); - - int var16; - for (var5 = 0; var5 < 4; ++var5) { - for (var6 = 0; var6 < 13; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - var16 = packetBuffer.readBits(1); - if (var16 == 1) { - Client.instanceChunkTemplates[var5][var6][var7] = packetBuffer.readBits(26); - } else { - Client.instanceChunkTemplates[var5][var6][var7] = -1; - } - } - } - } - - packetBuffer.exportIndex(); - class190.xteaKeys = new int[var4][4]; - - for (var5 = 0; var5 < var4; ++var5) { - for (var6 = 0; var6 < 4; ++var6) { - class190.xteaKeys[var5][var6] = packetBuffer.readInt(); - } - } - - class308.regions = new int[var4]; - ArchiveLoader.regionMapArchiveIds = new int[var4]; - MouseHandler.regionLandArchiveIds = new int[var4]; - class40.regionLandArchives = new byte[var4][]; - HealthBarUpdate.regionMapArchives = new byte[var4][]; - var4 = 0; - - for (var5 = 0; var5 < 4; ++var5) { - for (var6 = 0; var6 < 13; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - var16 = Client.instanceChunkTemplates[var5][var6][var7]; - if (var16 != -1) { - int var10 = var16 >> 14 & 1023; - int var11 = var16 >> 3 & 2047; - int var12 = (var10 / 8 << 8) + var11 / 8; - - int var13; - for (var13 = 0; var13 < var4; ++var13) { - if (class308.regions[var13] == var12) { - var12 = -1; - break; - } - } - - if (var12 != -1) { - class308.regions[var4] = var12; - var13 = var12 >> 8 & 255; - int var14 = var12 & 255; - ArchiveLoader.regionMapArchiveIds[var4] = SecureRandomFuture.archive5.getGroupId("m" + var13 + "_" + var14); - MouseHandler.regionLandArchiveIds[var4] = SecureRandomFuture.archive5.getGroupId("l" + var13 + "_" + var14); - ++var4; - } - } - } - } - } - - DynamicObject.method2224(var3, var2, !var15); - } - - } - - @ObfuscatedName("kh") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)V", - garbageValue = "-2128641115" - ) - @Export("findItemDefinitions") - static void findItemDefinitions(String itemName, boolean tradableOnly) { - itemName = itemName.toLowerCase(); - short[] var2 = new short[16]; - int var3 = 0; - - for (int var4 = 0; var4 < class83.ItemDefinition_fileCount; ++var4) { - ItemDefinition var5 = Skills.getItemDefinition(var4); - if ((!tradableOnly || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(itemName) != -1) { - if (var3 >= 250) { - WorldMapSection3.foundItemIdCount = -1; - AttackOption.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; - } - } - - AttackOption.foundItemIds = var2; - WorldMapDecorationType.foundItemIndex = 0; - WorldMapSection3.foundItemIdCount = var3; - String[] var8 = new String[WorldMapSection3.foundItemIdCount]; - - for (int var9 = 0; var9 < WorldMapSection3.foundItemIdCount; ++var9) { - var8[var9] = Skills.getItemDefinition(var2[var9]).name; - } - - Huffman.startSortingItemsByName(var8, AttackOption.foundItemIds); - } - - @ObfuscatedName("kk") - @ObfuscatedSignature( - signature = "([BII)V", - garbageValue = "-522943529" - ) - static void method902(byte[] var0, int var1) { - if (Client.field172 == null) { - Client.field172 = new byte[24]; - } - - class212.method4109(var0, var1, Client.field172, 0, 24); - } - - static { - applet = null; - field1160 = ""; - } -} diff --git a/runescape-client/src/main/java/class54.java b/runescape-client/src/main/java/class54.java deleted file mode 100644 index a243c3ac2a..0000000000 --- a/runescape-client/src/main/java/class54.java +++ /dev/null @@ -1,1183 +0,0 @@ -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("bs") -public final class class54 { - @ObfuscatedName("nb") - @ObfuscatedGetter( - intValue = -1247107945 - ) - static int field1161; - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1587830917" - ) - static int method1086(int var0, int var1) { - long var2 = (long)((var0 << 16) + var1); - return ModelData0.NetCache_currentResponse != null && var2 == ModelData0.NetCache_currentResponse.key ? WorldMapRectangle.NetCache_responseArchiveBuffer.index * 99 / (WorldMapRectangle.NetCache_responseArchiveBuffer.array.length - ModelData0.NetCache_currentResponse.padding) + 1 : 0; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "1" - ) - public static boolean method1090(int var0) { - return (var0 >> 20 & 1) != 0; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lba;I)V", - garbageValue = "-603753561" - ) - static void method1092(GameShell var0) { - int var1; - int var2; - if (!Login.worldSelectOpen) { - if ((MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { - ReflectionCheck.clientPreferences.titleMusicDisabled = !ReflectionCheck.clientPreferences.titleMusicDisabled; - WorldMapSection3.savePreferences(); - if (!ReflectionCheck.clientPreferences.titleMusicDisabled) { - class204.method4011(UserComparator3.archive6, "scape main", "", 255, false); - } else { - class214.midiPcmStream.clear(); - class214.field1129 = 1; - class214.musicTrackArchive = null; - } - } - - if (Client.gameState != 5) { - if (-1L == Login.field471) { - Login.field471 = class203.currentTimeMs() + 1000L; - } - - long var15 = class203.currentTimeMs(); - if (AbstractArchive.method4585() && -1L == Login.field472) { - Login.field472 = var15; - if (Login.field472 > Login.field471) { - Login.field471 = Login.field472; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - if (Client.language == 0) { - if (MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { - var1 = Login.xPadding + 5; - short var16 = 463; - byte var6 = 100; - byte var7 = 35; - if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + var6 && MouseHandler.MouseHandler_lastPressedY >= var16 && MouseHandler.MouseHandler_lastPressedY <= var7 + var16) { - if (ClientParameter.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - - return; - } - } - - if (FriendLoginUpdate.field356 != null && ClientParameter.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - } - - var1 = MouseHandler.MouseHandler_lastButton; - var2 = MouseHandler.MouseHandler_lastPressedX; - int var17 = MouseHandler.MouseHandler_lastPressedY; - if (var1 == 0) { - var2 = MouseHandler.MouseHandler_x; - var17 = MouseHandler.MouseHandler_y; - } - - if (!AbstractRasterProvider.mouseCam && var1 == 4) { - var1 = 1; - } - - int var18; - short var19; - if (Login.loginIndex == 0) { - boolean var8 = false; - - while (Decimator.method2490()) { - if (ArchiveDiskAction.field411 == 84) { - var8 = true; - } - } - - var18 = Varps.loginBoxCenter - 80; - var19 = 291; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20) { - WorldMapCacheName.openURL(Message.method1227("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); - } - - var18 = Varps.loginBoxCenter + 80; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20 || var8) { - 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; - class196.method3740(); - } 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; - class196.method3740(); - } 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; - class196.method3740(); - } else { - MouseHandler.method1084(false); - } - } - } else { - int var9; - short var20; - if (Login.loginIndex != 1) { - boolean var10; - int var11; - short var12; - if (Login.loginIndex == 2) { - var12 = 201; - var9 = var12 + 52; - if (var1 == 1 && var17 >= var9 - 12 && var17 < var9 + 2) { - Login.currentLoginField = 0; - } - - var9 += 15; - if (var1 == 1 && var17 >= var9 - 12 && var17 < var9 + 2) { - Login.currentLoginField = 1; - } - - var9 += 15; - var12 = 361; - if (TilePaint.field907 != null) { - var18 = TilePaint.field907.field43 / 2; - if (var1 == 1 && var2 >= TilePaint.field907.field41 - var18 && var2 <= var18 + TilePaint.field907.field41 && var17 >= var12 - 15 && var17 < var12) { - switch(Login.field467) { - case 1: - 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: - WorldMapCacheName.openURL("https://support.runescape.com/hc/en-gb", true, false); - } - } - } - - var18 = Varps.loginBoxCenter - 80; - var19 = 321; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - setLoginResponseString("", "Please enter your password.", ""); - return; - } - - setLoginResponseString("", "Connecting to server...", ""); - class15.method184(false); - GameShell.updateGameState(20); - return; - } - - var18 = Login.loginBoxX + 180 + 80; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class13.otpInt = 0; - Login.otp = ""; - Login.field470 = true; - } - - var18 = Varps.loginBoxCenter + -117; - var19 = 277; - Login.field468 = var2 >= var18 && var2 < var18 + class168.optionButtonSpriteSubWidth && var17 >= var19 && var17 < var19 + GroundItemPile.optionButtonSpriteSubHeight; - if (var1 == 1 && Login.field468) { - Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; - if (!Client.Login_isUsernameRemembered && ReflectionCheck.clientPreferences.rememberedUsername != null) { - ReflectionCheck.clientPreferences.rememberedUsername = null; - WorldMapSection3.savePreferences(); - } - } - - var18 = Varps.loginBoxCenter + 24; - var19 = 277; - Login.field469 = var2 >= var18 && var2 < var18 + class168.optionButtonSpriteSubWidth && var17 >= var19 && var17 < var19 + GroundItemPile.optionButtonSpriteSubHeight; - if (var1 == 1 && Login.field469) { - ReflectionCheck.clientPreferences.hideUsername = !ReflectionCheck.clientPreferences.hideUsername; - if (!ReflectionCheck.clientPreferences.hideUsername) { - Login.Login_username = ""; - ReflectionCheck.clientPreferences.rememberedUsername = null; - class196.method3740(); - } - - WorldMapSection3.savePreferences(); - } - - while (true) { - while (Decimator.method2490()) { - var10 = false; - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { - if (GzipDecompressor.field378 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { - var10 = true; - break; - } - } - - if (ArchiveDiskAction.field411 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class13.otpInt = 0; - Login.otp = ""; - Login.field470 = true; - } else if (Login.currentLoginField == 0) { - if (ArchiveDiskAction.field411 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (ArchiveDiskAction.field411 == 84 || ArchiveDiskAction.field411 == 80) { - Login.currentLoginField = 1; - } - - if (var10 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + GzipDecompressor.field378; - } - } else if (Login.currentLoginField == 1) { - if (ArchiveDiskAction.field411 == 85 && Login.Login_password.length() > 0) { - Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); - } - - if (ArchiveDiskAction.field411 == 84 || ArchiveDiskAction.field411 == 80) { - Login.currentLoginField = 0; - } - - if (ArchiveDiskAction.field411 == 84) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - setLoginResponseString("", "Please enter your password.", ""); - return; - } - - setLoginResponseString("", "Connecting to server...", ""); - class15.method184(false); - GameShell.updateGameState(20); - return; - } - - if (var10 && Login.Login_password.length() < 20) { - Login.Login_password = Login.Login_password + GzipDecompressor.field378; - } - } - } - - return; - } - } - - if (Login.loginIndex == 3) { - var9 = Login.loginBoxX + 180; - var20 = 276; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - MouseHandler.method1084(false); - } - - var9 = Login.loginBoxX + 180; - var20 = 326; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - 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 var13; - if (Login.loginIndex == 4) { - var9 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - Login.otp.trim(); - if (Login.otp.length() != 6) { - setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class13.otpInt = Integer.parseInt(Login.otp); - Login.otp = ""; - class15.method184(true); - setLoginResponseString("", "Connecting to server...", ""); - GameShell.updateGameState(20); - return; - } - - if (var1 == 1 && var2 >= Login.loginBoxX + 180 - 9 && var2 <= Login.loginBoxX + 180 + 130 && var17 >= 263 && var17 <= 296) { - Login.field470 = !Login.field470; - } - - if (var1 == 1 && var2 >= Login.loginBoxX + 180 - 34 && var2 <= Login.loginBoxX + 34 + 180 && var17 >= 351 && var17 <= 363) { - WorldMapCacheName.openURL(Message.method1227("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); - } - - var9 = Login.loginBoxX + 180 + 80; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class13.otpInt = 0; - Login.otp = ""; - } - - while (Decimator.method2490()) { - boolean var14 = false; - - for (var13 = 0; var13 < "1234567890".length(); ++var13) { - if (GzipDecompressor.field378 == "1234567890".charAt(var13)) { - var14 = true; - break; - } - } - - if (ArchiveDiskAction.field411 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class13.otpInt = 0; - Login.otp = ""; - } else { - if (ArchiveDiskAction.field411 == 85 && Login.otp.length() > 0) { - Login.otp = Login.otp.substring(0, Login.otp.length() - 1); - } - - if (ArchiveDiskAction.field411 == 84) { - Login.otp.trim(); - if (Login.otp.length() != 6) { - setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class13.otpInt = Integer.parseInt(Login.otp); - Login.otp = ""; - class15.method184(true); - setLoginResponseString("", "Connecting to server...", ""); - GameShell.updateGameState(20); - return; - } - - if (var14 && Login.otp.length() < 6) { - Login.otp = Login.otp + GzipDecompressor.field378; - } - } - } - } else if (Login.loginIndex == 5) { - var9 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - NPCDefinition.method5162(); - return; - } - - var9 = Login.loginBoxX + 180 + 80; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - MouseHandler.method1084(true); - } - - var19 = 361; - if (UrlRequester.field930 != null) { - var13 = UrlRequester.field930.field43 / 2; - if (var1 == 1 && var2 >= UrlRequester.field930.field41 - var13 && var2 <= var13 + UrlRequester.field930.field41 && var17 >= var19 - 15 && var17 < var19) { - WorldMapCacheName.openURL(Message.method1227("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); - } - } - - while (Decimator.method2490()) { - var10 = false; - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { - if (GzipDecompressor.field378 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { - var10 = true; - break; - } - } - - if (ArchiveDiskAction.field411 == 13) { - MouseHandler.method1084(true); - } else { - if (ArchiveDiskAction.field411 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (ArchiveDiskAction.field411 == 84) { - NPCDefinition.method5162(); - return; - } - - if (var10 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + GzipDecompressor.field378; - } - } - } - } else { - if (Login.loginIndex == 6) { - while (true) { - do { - if (!Decimator.method2490()) { - var12 = 321; - if (var1 == 1 && var17 >= var12 - 20 && var17 <= var12 + 20) { - MouseHandler.method1084(true); - } - - return; - } - } while(ArchiveDiskAction.field411 != 84 && ArchiveDiskAction.field411 != 13); - - MouseHandler.method1084(true); - } - } - - if (Login.loginIndex == 7) { - var9 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - WorldMapCacheName.openURL(Message.method1227("secure", true) + "m=dob/set_dob.ws", true, false); - setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var9 = Login.loginBoxX + 180 + 80; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - MouseHandler.method1084(true); - } - } else if (Login.loginIndex == 8) { - var9 = Login.loginBoxX + 180 - 80; - var20 = 321; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - WorldMapCacheName.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); - setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var9 = Login.loginBoxX + 180 + 80; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - MouseHandler.method1084(true); - } - } else if (Login.loginIndex == 12) { - String var21 = ""; - switch(Login.field466) { - case 0: - var21 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; - break; - case 1: - var21 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; - break; - default: - MouseHandler.method1084(false); - } - - var18 = Login.loginBoxX + 180; - var19 = 276; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20) { - WorldMapCacheName.openURL(var21, true, false); - setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var18 = Login.loginBoxX + 180; - var19 = 326; - if (var1 == 1 && var2 >= var18 - 75 && var2 <= var18 + 75 && var17 >= var19 - 20 && var17 <= var19 + 20) { - MouseHandler.method1084(false); - } - } - } - } - } else { - while (Decimator.method2490()) { - if (ArchiveDiskAction.field411 == 84) { - MouseHandler.method1084(false); - } else if (ArchiveDiskAction.field411 == 13) { - Login.loginIndex = 0; - } - } - - var9 = Varps.loginBoxCenter - 80; - var20 = 321; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - MouseHandler.method1084(false); - } - - var9 = Varps.loginBoxCenter + 80; - if (var1 == 1 && var2 >= var9 - 75 && var2 <= var9 + 75 && var17 >= var20 - 20 && var17 <= var20 + 20) { - Login.loginIndex = 0; - } - } - } - } - } - } else { - while (true) { - if (!Decimator.method2490()) { - if (MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { - int var3 = Login.xPadding + 280; - if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(0, 0); - } else if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(0, 1); - } else { - int var4 = Login.xPadding + 390; - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(1, 0); - } else if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(1, 1); - } else { - var1 = Login.xPadding + 500; - if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(2, 0); - } else if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(2, 1); - } else { - var2 = Login.xPadding + 610; - if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(3, 0); - } else if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - Interpreter.changeWorldSelectSorting(3, 1); - } else if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { - FontName.closeWorldSelect(); - } else if (Login.hoveredWorldIndex != -1) { - World var5 = ItemContainer.worlds[Login.hoveredWorldIndex]; - class31.changeWorld(var5); - FontName.closeWorldSelect(); - } else { - if (Login.worldSelectPage > 0 && SecureRandomFuture.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= SecureRandomFuture.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= Huffman.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= Huffman.canvasHeight / 2 + 50) { - --Login.worldSelectPage; - } - - if (Login.worldSelectPage < Login.worldSelectPagesCount && NetSocket.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= SoundCache.canvasWidth - NetSocket.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= SoundCache.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= Huffman.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= Huffman.canvasHeight / 2 + 50) { - ++Login.worldSelectPage; - } - } - } - } - } - } - break; - } - - if (ArchiveDiskAction.field411 == 13) { - FontName.closeWorldSelect(); - break; - } - - if (ArchiveDiskAction.field411 == 96) { - if (Login.worldSelectPage > 0 && SecureRandomFuture.worldSelectLeftSprite != null) { - --Login.worldSelectPage; - } - } else if (ArchiveDiskAction.field411 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && NetSocket.worldSelectRightSprite != null) { - ++Login.worldSelectPage; - } - } - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", - garbageValue = "-14" - ) - @Export("setLoginResponseString") - static void setLoginResponseString(String var0, String var1, String var2) { - Login.Login_response1 = var0; - Login.Login_response2 = var1; - Login.Login_response3 = var2; - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(ILcg;ZI)I", - garbageValue = "571260142" - ) - static int method1093(int var0, Script var1, boolean var2) { - int var3; - if (var0 == 6600) { - var3 = SoundSystem.plane; - int var13 = (Canvas.localPlayer.x >> 7) + class50.baseX; - int var16 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; - BufferedFile.getWorldMap().method366(var3, var13, var16, true); - return 1; - } else { - WorldMapArea var4; - if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - String var14 = ""; - var4 = BufferedFile.getWorldMap().getMapArea(var3); - if (var4 != null) { - var14 = var4.getName(); - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - BufferedFile.getWorldMap().setCurrentMapAreaId(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getZoomLevel(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - BufferedFile.getWorldMap().setZoomLevel(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().isCacheLoaded() ? 1 : 0; - return 1; - } else { - Coord var5; - if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - BufferedFile.getWorldMap().setWorldMapPositionTarget(var5.x, var5.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - BufferedFile.getWorldMap().setWorldMapPositionTargetInstant(var5.x, var5.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - BufferedFile.getWorldMap().jumpToSourceCoord(var5.plane, var5.x, var5.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - BufferedFile.getWorldMap().jumpToSourceCoordInstant(var5.plane, var5.x, var5.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getDisplayX(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getDisplayY(); - return 1; - } else { - WorldMapArea var6; - if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = BufferedFile.getWorldMap().getMapArea(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.origin().packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = BufferedFile.getWorldMap().getMapArea(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (var6.maxX() - var6.minX() + 1) * 64; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = (var6.maxY() - var6.minY() + 1) * 64; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = BufferedFile.getWorldMap().getMapArea(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.minX() * 64; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.minY() * 64; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.maxX() * 64 + 64 - 1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.maxY() * 64 + 64 - 1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var6 = BufferedFile.getWorldMap().getMapArea(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.zoom(); - } - - return 1; - } else if (var0 == 6615) { - var5 = BufferedFile.getWorldMap().getDisplayCoord(); - if (var5 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var5.x; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var5.y; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().currentMapAreaId(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - var6 = BufferedFile.getWorldMap().getCurrentMapArea(); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - int[] var15 = var6.position(var5.plane, var5.x, var5.y); - if (var15 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var15[0]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var15[1]; - } - - return 1; - } - } else { - Coord var7; - if (var0 == 6618) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - var6 = BufferedFile.getWorldMap().getCurrentMapArea(); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - var7 = var6.coord(var5.x, var5.y); - if (var7 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var7.packed(); - } - - return 1; - } - } else { - Coord var8; - if (var0 == 6619) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = new Coord(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - GrandExchangeOfferTotalQuantityComparator.method96(var3, var8, false); - return 1; - } else if (var0 == 6620) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = new Coord(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - GrandExchangeOfferTotalQuantityComparator.method96(var3, var8, true); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = new Coord(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - var4 = BufferedFile.getWorldMap().getMapArea(var3); - if (var4 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var4.containsCoord(var8.plane, var8.x, var8.y) ? 1 : 0; - return 1; - } - } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getDisplayWith(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getDisplayHeight(); - return 1; - } else if (var0 == 6623) { - var5 = new Coord(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - var6 = BufferedFile.getWorldMap().mapAreaAtCoord(var5.plane, var5.x, var5.y); - if (var6 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.getId(); - } - - return 1; - } else if (var0 == 6624) { - BufferedFile.getWorldMap().method379(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6625) { - BufferedFile.getWorldMap().method380(); - return 1; - } else if (var0 == 6626) { - BufferedFile.getWorldMap().method381(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6627) { - BufferedFile.getWorldMap().method382(); - return 1; - } else { - boolean var9; - if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { - var9 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - BufferedFile.getWorldMap().setPerpetualFlash(var9); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - BufferedFile.getWorldMap().flashElement(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - BufferedFile.getWorldMap().flashCategory(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { - BufferedFile.getWorldMap().stopCurrentFlashes(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { - var9 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; - BufferedFile.getWorldMap().setElementsEnabled(var9); - return 1; - } else { - boolean var10; - if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var10 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1] == 1; - BufferedFile.getWorldMap().disableElement(var3, var10); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var10 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1] == 1; - BufferedFile.getWorldMap().disableCategory(var3, var10); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().getElementsEnabled() ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().isElementDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = BufferedFile.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == 6638) { - RouteStrategy.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]; - var8 = new Coord(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]); - var7 = BufferedFile.getWorldMap().method385(var3, var8); - if (var7 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var7.packed(); - } - - return 1; - } else { - AbstractWorldMapIcon var11; - if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { - var11 = BufferedFile.getWorldMap().iconStart(); - if (var11 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.getElement(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.coord2.packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { - var11 = BufferedFile.getWorldMap().iconNext(); - if (var11 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.getElement(); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.coord2.packed(); - } - - return 1; - } else { - WorldMapElement var12; - if (var0 == ScriptOpcodes.MEC_TEXT) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var12 = ViewportMouse.getWorldMapElement(var3); - if (var12.name == null) { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var12.name; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var12 = ViewportMouse.getWorldMapElement(var3); - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var12.textSize; - return 1; - } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var12 = ViewportMouse.getWorldMapElement(var3); - if (var12 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var12.category; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_SPRITE) { - var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; - var12 = ViewportMouse.getWorldMapElement(var3); - if (var12 == null) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var12.sprite1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.mapElement; - return 1; - } else if (var0 == 6698) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord1.packed(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { - Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord2.packed(); - return 1; - } else { - return 2; - } - } - } - } - } - } - } - } - } - } - } - - @ObfuscatedName("fy") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "-9841" - ) - static final void method1091() { - int var0; - int var1; - int var2; - int var3; - int var4; - int var5; - if (Client.oculusOrbState == 0) { - var0 = Canvas.localPlayer.x; - var1 = Canvas.localPlayer.y; - if (MouseHandler.oculusOrbFocalPointX - var0 < -500 || MouseHandler.oculusOrbFocalPointX - var0 > 500 || ScriptEvent.oculusOrbFocalPointY - var1 < -500 || ScriptEvent.oculusOrbFocalPointY - var1 > 500) { - MouseHandler.oculusOrbFocalPointX = var0; - ScriptEvent.oculusOrbFocalPointY = var1; - } - - if (var0 != MouseHandler.oculusOrbFocalPointX) { - MouseHandler.oculusOrbFocalPointX += (var0 - MouseHandler.oculusOrbFocalPointX) / 16; - } - - if (var1 != ScriptEvent.oculusOrbFocalPointY) { - ScriptEvent.oculusOrbFocalPointY += (var1 - ScriptEvent.oculusOrbFocalPointY) / 16; - } - - var2 = MouseHandler.oculusOrbFocalPointX >> 7; - var3 = ScriptEvent.oculusOrbFocalPointY >> 7; - var4 = class32.getTileHeight(MouseHandler.oculusOrbFocalPointX, ScriptEvent.oculusOrbFocalPointY, SoundSystem.plane); - var5 = 0; - int var6; - if (var2 > 3 && var3 > 3 && var2 < 100 && var3 < 100) { - for (var6 = var2 - 4; var6 <= var2 + 4; ++var6) { - for (int var7 = var3 - 4; var7 <= var3 + 4; ++var7) { - int var8 = SoundSystem.plane; - if (var8 < 3 && (Tiles.Tiles_renderFlags[1][var6][var7] & 2) == 2) { - ++var8; - } - - int var9 = var4 - Tiles.Tiles_heights[var8][var6][var7]; - if (var9 > var5) { - var5 = var9; - } - } - } - } - - var6 = var5 * 192; - if (var6 > 98048) { - var6 = 98048; - } - - if (var6 < 32768) { - var6 = 32768; - } - - if (var6 > Client.field202) { - Client.field202 += (var6 - Client.field202) / 24; - } else if (var6 < Client.field202) { - Client.field202 += (var6 - Client.field202) / 80; - } - - MouseRecorder.field566 = class32.getTileHeight(Canvas.localPlayer.x, Canvas.localPlayer.y, SoundSystem.plane) - Client.camFollowHeight; - } else if (Client.oculusOrbState == 1) { - if (Client.field199 && Canvas.localPlayer != null) { - var0 = Canvas.localPlayer.pathX[0]; - var1 = Canvas.localPlayer.pathY[0]; - if (var0 >= 0 && var1 >= 0 && var0 < 104 && var1 < 104) { - MouseHandler.oculusOrbFocalPointX = Canvas.localPlayer.x; - var2 = class32.getTileHeight(Canvas.localPlayer.x, Canvas.localPlayer.y, SoundSystem.plane) - Client.camFollowHeight; - if (var2 < MouseRecorder.field566) { - MouseRecorder.field566 = var2; - } - - ScriptEvent.oculusOrbFocalPointY = Canvas.localPlayer.y; - Client.field199 = false; - } - } - - short var11 = -1; - if (KeyHandler.KeyHandler_pressedKeys[33]) { - var11 = 0; - } else if (KeyHandler.KeyHandler_pressedKeys[49]) { - var11 = 1024; - } - - if (KeyHandler.KeyHandler_pressedKeys[48]) { - if (var11 == 0) { - var11 = 1792; - } else if (var11 == 1024) { - var11 = 1280; - } else { - var11 = 1536; - } - } else if (KeyHandler.KeyHandler_pressedKeys[50]) { - if (var11 == 0) { - var11 = 256; - } else if (var11 == 1024) { - var11 = 768; - } else { - var11 = 512; - } - } - - byte var10 = 0; - if (KeyHandler.KeyHandler_pressedKeys[35]) { - var10 = -1; - } else if (KeyHandler.KeyHandler_pressedKeys[51]) { - var10 = 1; - } - - var2 = 0; - if (var11 >= 0 || var10 != 0) { - var2 = KeyHandler.KeyHandler_pressedKeys[81] ? Client.oculusOrbSlowedSpeed : Client.oculusOrbNormalSpeed; - var2 *= 16; - Client.field195 = var11; - Client.field196 = var10; - } - - if (Client.field194 < var2) { - Client.field194 += var2 / 8; - if (Client.field194 > var2) { - Client.field194 = var2; - } - } else if (Client.field194 > var2) { - Client.field194 = Client.field194 * 9 / 10; - } - - if (Client.field194 > 0) { - var3 = Client.field194 / 16; - if (Client.field195 >= 0) { - var0 = Client.field195 - MusicPatchNode.cameraYaw & 2047; - var4 = Rasterizer3D.Rasterizer3D_sine[var0]; - var5 = Rasterizer3D.Rasterizer3D_cosine[var0]; - MouseHandler.oculusOrbFocalPointX += var3 * var4 / 65536; - ScriptEvent.oculusOrbFocalPointY += var3 * var5 / 65536; - } - - if (Client.field196 != 0) { - MouseRecorder.field566 += var3 * Client.field196; - if (MouseRecorder.field566 > 0) { - MouseRecorder.field566 = 0; - } - } - } else { - Client.field195 = -1; - Client.field196 = -1; - } - - if (KeyHandler.KeyHandler_pressedKeys[13]) { - Client.packetWriter.method241(Interpreter.method1915(ClientPacket.field259, Client.packetWriter.isaacCipher)); - Client.oculusOrbState = 0; - } - } - - if (MouseHandler.MouseHandler_currentButton == 4 && AbstractRasterProvider.mouseCam) { - var0 = MouseHandler.MouseHandler_y - Client.field193; - Client.field191 = var0 * 2; - Client.field193 = var0 != -1 && var0 != 1 ? (MouseHandler.MouseHandler_y + Client.field193) / 2 : MouseHandler.MouseHandler_y; - var1 = Client.field192 - MouseHandler.MouseHandler_x; - Client.field190 = var1 * 2; - Client.field192 = var1 != -1 && var1 != 1 ? (Client.field192 + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x; - } else { - if (KeyHandler.KeyHandler_pressedKeys[96]) { - Client.field190 += (-24 - Client.field190) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[97]) { - Client.field190 += (24 - Client.field190) / 2; - } else { - Client.field190 /= 2; - } - - if (KeyHandler.KeyHandler_pressedKeys[98]) { - Client.field191 += (12 - Client.field191) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[99]) { - Client.field191 += (-12 - Client.field191) / 2; - } else { - Client.field191 /= 2; - } - - Client.field193 = MouseHandler.MouseHandler_y; - Client.field192 = MouseHandler.MouseHandler_x; - } - - Client.camAngleY = Client.field190 / 2 + Client.camAngleY & 2047; - Client.camAngleX += Client.field191 / 2; - if (Client.camAngleX < 128) { - Client.camAngleX = 128; - } - - if (Client.camAngleX > 383) { - Client.camAngleX = 383; - } - - } -} diff --git a/runescape-client/src/main/java/class60.java b/runescape-client/src/main/java/class60.java index c1a7eef705..e58f2ae408 100644 --- a/runescape-client/src/main/java/class60.java +++ b/runescape-client/src/main/java/class60.java @@ -1,28 +1,34 @@ -import java.awt.FontMetrics; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bo") +@ObfuscatedName("bx") public class class60 { - @ObfuscatedName("sz") - @ObfuscatedSignature( - signature = "Llz;" - ) - @Export("worldMap") - static WorldMap worldMap; - @ObfuscatedName("ar") - static FontMetrics field1162; + @ObfuscatedName("ac") + @Export("null_string") + protected static String null_string; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Lir;Lir;Lir;I)V", - garbageValue = "1583108922" - ) - @Export("setHitSplatDefinitionArchives") - public static void setHitSplatDefinitionArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - HitSplatDefinition.HitSplatDefinition_archive = var0; - HitSplatDefinition.HitSplatDefinition_spritesArchive = var1; - HitSplatDefinition.HitSplatDefinition_fontsArchive = var2; - } + @ObfuscatedName("ju") + @ObfuscatedSignature( + signature = "(Lhj;III)V", + garbageValue = "1446112965" + ) + @Export("clickWidget") + static final void clickWidget(Widget var0, int var1, int var2) { + if (Client.clickedWidget == null && !Client.isMenuOpen) { + if (var0 != null && ArchiveLoader.method1099(var0) != null) { + Client.clickedWidget = var0; + Client.clickedWidgetParent = ArchiveLoader.method1099(var0); + Client.widgetClickX = var1; + Client.widgetClickY = var2; + class80.widgetDragDuration = 0; + Client.isDraggingWidget = false; + int var3 = class13.method151(); + if (var3 != -1) { + Decimator.method2510(var3); + } + + } + } + } } diff --git a/runescape-client/src/main/java/class65.java b/runescape-client/src/main/java/class65.java index ae0ceac3db..3a103e802a 100644 --- a/runescape-client/src/main/java/class65.java +++ b/runescape-client/src/main/java/class65.java @@ -1,238 +1,445 @@ +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("bl") public class class65 extends RouteStrategy { - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lcz;" - ) - @Export("pcmPlayerProvider") - public static PcmPlayerProvider pcmPlayerProvider; - @ObfuscatedName("gf") - @ObfuscatedSignature( - signature = "Lem;" - ) - @Export("scene") - static Scene scene; + class65() { + } - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIILfy;I)Z", - garbageValue = "-519225044" - ) - protected boolean vmethod3644(int var1, int var2, int var3, CollisionMap var4) { - return var2 == super.approxDestinationX && var3 == super.approxDestinationY; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIILfv;I)Z", + garbageValue = "-1217489379" + ) + public boolean vmethod3594(int var1, int var2, int var3, CollisionMap var4) { + return var2 == super.approxDestinationX && var3 == super.approxDestinationY; + } - @ObfuscatedName("fi") - @ObfuscatedSignature( - signature = "(Lbz;II)V", - garbageValue = "406386718" - ) - static final void method1232(Actor var0, int var1) { - if (var0.field19 > Client.cycle) { - GraphicsDefaults.method5828(var0); - } else { - int var2; - int var3; - int var4; - int var5; - int var6; - if (var0.field20 >= Client.cycle) { - if (var0.field20 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > WorldMapAreaData.getSequenceDefinition(var0.sequence).frameLengths[var0.sequenceFrame]) { - var2 = var0.field20 - var0.field19; - var3 = Client.cycle - var0.field19; - var4 = var0.field15 * 128 + var0.size * 64; - var5 = var0.field17 * 128 + var0.size * 64; - int var7 = var0.field16 * 128 + var0.size * 64; - var6 = var0.field18 * 128 + var0.size * 64; - var0.x = (var3 * var7 + var4 * (var2 - var3)) / var2; - var0.y = (var3 * var6 + var5 * (var2 - var3)) / var2; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/io/File;", + garbageValue = "-46052492" + ) + static File method1177(String var0) { + if (!class169.field2055) { + throw new RuntimeException(""); + } else { + File var1 = (File)class169.field2052.get(var0); + if (var1 != null) { + return var1; + } else { + File var2 = new File(class169.field2050, var0); + RandomAccessFile var3 = null; - var0.field24 = 0; - var0.orientation = var0.field21; - var0.field9 = var0.orientation; - } else { - var0.movementSequence = var0.readySequence; - if (var0.pathLength == 0) { - var0.field24 = 0; - } else { - label225: { - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - SequenceDefinition var11 = WorldMapAreaData.getSequenceDefinition(var0.sequence); - if (var0.field25 > 0 && var11.field781 == 0) { - ++var0.field24; - break label225; - } + 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(); + class169.field2052.put(var0, var2); + return var2; + } + } catch (Exception var8) { + try { + if (var3 != null) { + var3.close(); + var3 = null; + } + } catch (Exception var7) { + } - if (var0.field25 <= 0 && var11.field782 == 0) { - ++var0.field24; - break label225; - } - } + throw new RuntimeException(); + } + } + } + } - var2 = var0.x; - var3 = var0.y; - var4 = var0.pathX[var0.pathLength - 1] * 128 + var0.size * 64; - var5 = var0.pathY[var0.pathLength - 1] * 128 + var0.size * 64; - if (var2 < var4) { - if (var3 < var5) { - var0.orientation = 1280; - } else if (var3 > var5) { - var0.orientation = 1792; - } else { - var0.orientation = 1536; - } - } else if (var2 > 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; - } + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lhp;III)Lly;", + garbageValue = "300652258" + ) + @Export("SpriteBuffer_tryCreateSprite") + public static Sprite SpriteBuffer_tryCreateSprite(AbstractArchive var0, int var1, int var2) { + if (!Friend.SpriteBuffer_loadSprite(var0, var1, var2)) { + return null; + } else { + Sprite var4 = new Sprite(); + var4.width = class326.SpriteBuffer_spriteWidth; + var4.height = class326.SpriteBuffer_spriteHeight; + var4.yOffset = Varps.SpriteBuffer_xOffsets[0]; + var4.xOffset = class326.SpriteBuffer_yOffsets[0]; + var4.subWidth = class326.SpriteBuffer_spriteWidths[0]; + var4.subHeight = class216.SpriteBuffer_spriteHeights[0]; + int var5 = var4.subHeight * var4.subWidth; + byte[] var6 = class326.SpriteBuffer_pixels[0]; + var4.pixels = new int[var5]; - byte var12 = var0.pathTraversed[var0.pathLength - 1]; - if (var4 - var2 <= 256 && var4 - var2 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { - var6 = var0.orientation - var0.field9 & 2047; - if (var6 > 1024) { - var6 -= 2048; - } + for (int var7 = 0; var7 < var5; ++var7) { + var4.pixels[var7] = Frames.SpriteBuffer_spritePalette[var6[var7] & 255]; + } - int var8 = var0.walkBackSequence; - if (var6 >= -256 && var6 <= 256) { - var8 = var0.walkSequence; - } else if (var6 >= 256 && var6 < 768) { - var8 = var0.walkRightSequence; - } else if (var6 >= -768 && var6 <= -256) { - var8 = var0.walkLeftSequence; - } + class16.method174(); + return var4; + } + } - if (var8 == -1) { - var8 = var0.walkSequence; - } + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-953201371" + ) + static int method1175(int var0, Script var1, boolean var2) { + int var3; + int var4; + int var6; + if (var0 == ScriptOpcodes.ENUM_STRING) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + EnumDefinition var5 = BoundaryObject.getEnum(var3); + if (var5.outputType != 's') { + } - var0.movementSequence = var8; - int var9 = 4; - boolean var10 = true; - if (var0 instanceof NPC) { - var10 = ((NPC)var0).definition.isClickable; - } + for (var6 = 0; var6 < var5.outputCount; ++var6) { + if (var4 == var5.keys[var6]) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.strVals[var6]; + var5 = null; + break; + } + } - if (var10) { - if (var0.field9 != var0.orientation && var0.targetIndex == -1 && var0.field23 != 0) { - var9 = 2; - } + if (var5 != null) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.defaultStr; + } - if (var0.pathLength > 2) { - var9 = 6; - } + return 1; + } else if (var0 != ScriptOpcodes.ENUM) { + if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { + var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + EnumDefinition var10 = BoundaryObject.getEnum(var3); + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var10.size(); + return 1; + } else { + return 2; + } + } else { + HealthBarUpdate.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + EnumDefinition var7 = BoundaryObject.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[++Skills.Interpreter_stringStackSize - 1] = var7.strVals[var8]; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.intVals[var8]; + } - if (var0.pathLength > 3) { - var9 = 8; - } + var7 = null; + break; + } + } - if (var0.field24 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field24; - } - } else { - if (var0.pathLength > 1) { - var9 = 6; - } + if (var7 != null) { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var7.defaultStr; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var7.defaultInt; + } + } - if (var0.pathLength > 2) { - var9 = 8; - } + return 1; + } else { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = "null"; + } else { + Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = 0; + } - if (var0.field24 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field24; - } - } + return 1; + } + } + } - if (var12 == 2) { - var9 <<= 1; - } + @ObfuscatedName("ee") + @ObfuscatedSignature( + signature = "(IZZZB)Liu;", + garbageValue = "6" + ) + @Export("newArchive") + static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { + ArchiveDisk var4 = null; + if (class167.dat2File != null) { + var4 = new ArchiveDisk(var0, class167.dat2File, class167.idxFiles[var0], 1000000); + } - if (var9 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) { - var0.movementSequence = var0.runSequence; - } + return new Archive(var4, ScriptEvent.masterDisk, var0, var1, var2, var3); + } - if (var2 != var4 || var5 != var3) { - if (var2 < var4) { - var0.x += var9; - if (var0.x > var4) { - var0.x = var4; - } - } else if (var2 > var4) { - var0.x -= var9; - if (var0.x < var4) { - var0.x = var4; - } - } + @ObfuscatedName("hq") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-1548212436" + ) + @Export("addSceneMenuOptions") + static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { + if (Client.isItemSelected == 0 && !Client.isSpellSelected) { + class188.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); + } - 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; - } - } - } + long var4 = -1L; + long var6 = -1L; + int var8 = 0; - if (var4 == var0.x && var5 == var0.y) { - --var0.pathLength; - if (var0.field25 > 0) { - --var0.field25; - } - } - } else { - var0.x = var4; - var0.y = var5; - --var0.pathLength; - if (var0.field25 > 0) { - --var0.field25; - } - } - } - } - } - } + while (true) { + int var10 = ViewportMouse.ViewportMouse_entityCount; + if (var8 >= var10) { + if (-1L != var4) { + var8 = (int)(var4 >>> 0 & 127L); + var10 = (int)(var4 >>> 7 & 127L); + Player var12 = Client.players[Client.combatTargetPlayerIndex]; + WorldMapManager.addPlayerToMenu(var12, Client.combatTargetPlayerIndex, var8, var10); + } - if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field19 = 0; - var0.field20 = 0; - var0.x = var0.pathX[0] * 128 + var0.size * 64; - var0.y = var0.pathY[0] * 128 + var0.size * 64; - var0.method23(); - } + return; + } - if (Canvas.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field19 = 0; - var0.field20 = 0; - var0.x = var0.pathX[0] * 128 + var0.size * 64; - var0.y = var0.pathY[0] * 128 + var0.size * 64; - var0.method23(); - } + long var25 = ViewportMouse.ViewportMouse_entityTags[var8]; + if (var6 != var25) { + label334: { + var6 = var25; + int var15 = Buddy.method5170(var8); + int var16 = Messages.method2176(var8); + int var17 = class3.method33(var8); + int var18 = FriendSystem.method1784(var8); + if (var17 == 2 && GrandExchangeOfferWorldComparator.scene.getObjectFlags(class42.plane, var15, var16, var25) >= 0) { + ObjectDefinition var19 = ViewportMouse.getObjectDefinition(var18); + if (var19.transforms != null) { + var19 = var19.transform(); + } - ArchiveDiskAction.method4553(var0); - ChatChannel.method2225(var0); - } + if (var19 == null) { + break label334; + } + + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(65535) + var19.name, 1, var18, var15, var16); + } else if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 4) == 4) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(65535) + var19.name, 2, var18, var15, var16); + } + } else { + String[] var27 = var19.actions; + if (var27 != null) { + for (int var30 = 4; var30 >= 0; --var30) { + if (var27[var30] != null) { + short var22 = 0; + if (var30 == 0) { + var22 = 3; + } + + if (var30 == 1) { + var22 = 4; + } + + if (var30 == 2) { + var22 = 5; + } + + if (var30 == 3) { + var22 = 6; + } + + if (var30 == 4) { + var22 = 1001; + } + + class188.insertMenuItemNoShift(var27[var30], ClientPreferences.colorStartTag(65535) + var19.name, var22, var18, var15, var16); + } + } + } + + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(65535) + var19.name, 1002, var19.id, var15, var16); + } + } + + int var20; + NPC var21; + Player var23; + int[] var34; + int var36; + if (var17 == 1) { + NPC var31 = Client.npcs[var18]; + if (var31 == null) { + break label334; + } + + if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { + for (var20 = 0; var20 < Client.npcCount; ++var20) { + var21 = Client.npcs[Client.npcIndices[var20]]; + if (var21 != null && var21 != var31 && var21.definition.size == 1 && var31.x == var21.x && var31.y == var21.y) { + AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); + } + } + + var20 = Players.Players_count; + var34 = Players.Players_indices; + + for (var36 = 0; var36 < var20; ++var36) { + var23 = Client.players[var34[var36]]; + if (var23 != null && var31.x == var23.x && var23.y == var31.y) { + WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); + } + } + } + + AbstractWorldMapData.addNpcToMenu(var31.definition, var18, var15, var16); + } + + if (var17 == 0) { + Player var32 = Client.players[var18]; + if (var32 == null) { + break label334; + } + + if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { + for (var20 = 0; var20 < Client.npcCount; ++var20) { + var21 = Client.npcs[Client.npcIndices[var20]]; + if (var21 != null && var21.definition.size == 1 && var32.x == var21.x && var21.y == var32.y) { + AbstractWorldMapData.addNpcToMenu(var21.definition, Client.npcIndices[var20], var15, var16); + } + } + + var20 = Players.Players_count; + var34 = Players.Players_indices; + + for (var36 = 0; var36 < var20; ++var36) { + var23 = Client.players[var34[var36]]; + if (var23 != null && var32 != var23 && var23.x == var32.x && var32.y == var23.y) { + WorldMapManager.addPlayerToMenu(var23, var34[var36], var15, var16); + } + } + } + + if (var18 != Client.combatTargetPlayerIndex) { + WorldMapManager.addPlayerToMenu(var32, var18, var15, var16); + } else { + var4 = var25; + } + } + + if (var17 == 3) { + NodeDeque var33 = Client.groundItems[class42.plane][var15][var16]; + if (var33 != null) { + for (GroundItem var37 = (GroundItem)var33.first(); var37 != null; var37 = (GroundItem)var33.next()) { + ItemDefinition var35 = WorldMapArea.getItemDefinition(var37.id); + if (Client.isItemSelected == 1) { + class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var35.name, 16, var37.id, var15, var16); + } else if (Client.isSpellSelected) { + if ((WorldMapCacheName.selectedSpellFlags & 1) == 1) { + class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(16748608) + var35.name, 17, var37.id, var15, var16); + } + } else { + String[] var28 = var35.groundActions; + + for (int var29 = 4; var29 >= 0; --var29) { + if (var28 != null && var28[var29] != null) { + byte var24 = 0; + if (var29 == 0) { + var24 = 18; + } + + if (var29 == 1) { + var24 = 19; + } + + if (var29 == 2) { + var24 = 20; + } + + if (var29 == 3) { + var24 = 21; + } + + if (var29 == 4) { + var24 = 22; + } + + class188.insertMenuItemNoShift(var28[var29], ClientPreferences.colorStartTag(16748608) + var35.name, var24, var37.id, var15, var16); + } else if (var29 == 2) { + class188.insertMenuItemNoShift("Take", ClientPreferences.colorStartTag(16748608) + var35.name, 20, var37.id, var15, var16); + } + } + + class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(16748608) + var35.name, 1004, var37.id, var15, var16); + } + } + } + } + } + } + + ++var8; + } + } + + @ObfuscatedName("jq") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "65" + ) + static void method1176() { + for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { + int var1 = var0.group; + if (class162.loadInterface(var1)) { + boolean var2 = true; + Widget[] var3 = Widget.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 = class80.getWidget(var4); + if (var5 != null) { + Strings.method4120(var5); + } + } + } + } + + } + + @ObfuscatedName("jv") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1765839836" + ) + static final void method1170(String var0) { + if (!var0.equals("")) { + PacketBufferNode var1 = Archive.method4265(ClientPacket.field2286, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.method2219(var1); + } + } } diff --git a/runescape-client/src/main/java/class80.java b/runescape-client/src/main/java/class80.java index 360e9b06c2..2774ea4d56 100644 --- a/runescape-client/src/main/java/class80.java +++ b/runescape-client/src/main/java/class80.java @@ -1,45 +1,260 @@ 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("ce") +@ObfuscatedName("cj") public class class80 { - @ObfuscatedName("o") - static final BigInteger field1163; - @ObfuscatedName("u") - static final BigInteger field1164; + @ObfuscatedName("nd") + @ObfuscatedGetter( + intValue = -1004570869 + ) + @Export("widgetDragDuration") + static int widgetDragDuration; + @ObfuscatedName("ql") + @ObfuscatedSignature( + signature = "Ldn;" + ) + @Export("pcmPlayer0") + static PcmPlayer pcmPlayer0; + @ObfuscatedName("k") + static final BigInteger field1140; + @ObfuscatedName("l") + static final BigInteger field1141; + @ObfuscatedName("ge") + @Export("regionMapArchives") + static byte[][] regionMapArchives; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1844169387" - ) - static void method2015() { - if (Login.field465) { - Login.titleboxSprite = null; - ArchiveLoader.titlebuttonSprite = null; - WorldMapEvent.runesSprite = null; - Login.leftTitleSprite = null; - Fonts.rightTitleSprite = null; - WorldMapSectionType.logoSprite = null; - KeyHandler.title_muteSprite = null; - Login.options_buttons_0Sprite = null; - class308.options_buttons_2Sprite = null; - class30.worldSelectBackSprites = null; - Frames.worldSelectFlagSprites = null; - AttackOption.worldSelectArrows = null; - UrlRequest.worldSelectStars = null; - class277.field1144 = null; - class16.loginScreenRunesAnimation.method1762(); - AbstractSocket.method3488(2); - UserComparator9.method3343(true); - Login.field465 = false; - } + static { + field1140 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); + field1141 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); + } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BILjava/lang/CharSequence;B)I", + garbageValue = "0" + ) + public static int method1979(byte[] var0, int var1, CharSequence var2) { + int var3 = var2.length(); + int var4 = var1; - static { - field1163 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); - field1164 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); - } + 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("w") + @ObfuscatedSignature( + signature = "(II)Lhj;", + garbageValue = "-1951654524" + ) + @Export("getWidget") + public static Widget getWidget(int var0) { + int var1 = var0 >> 16; + int var2 = var0 & 65535; + if (Widget.Widget_interfaceComponents[var1] == null || Widget.Widget_interfaceComponents[var1][var2] == null) { + boolean var3 = class162.loadInterface(var1); + if (!var3) { + return null; + } + } + + return Widget.Widget_interfaceComponents[var1][var2]; + } + + @ObfuscatedName("fy") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-817904551" + ) + static final void method1982() { + int var0; + int var1; + int var2; + int var3; + int var4; + int var5; + if (Client.oculusOrbState == 0) { + var0 = Client.localPlayer.x; + var1 = Client.localPlayer.y; + if (MouseHandler.oculusOrbFocalPointX - var0 < -500 || MouseHandler.oculusOrbFocalPointX - var0 > 500 || WorldMapArea.oculusOrbFocalPointY - var1 < -500 || WorldMapArea.oculusOrbFocalPointY - var1 > 500) { + MouseHandler.oculusOrbFocalPointX = var0; + WorldMapArea.oculusOrbFocalPointY = var1; + } + + if (var0 != MouseHandler.oculusOrbFocalPointX) { + MouseHandler.oculusOrbFocalPointX += (var0 - MouseHandler.oculusOrbFocalPointX) / 16; + } + + if (var1 != WorldMapArea.oculusOrbFocalPointY) { + WorldMapArea.oculusOrbFocalPointY += (var1 - WorldMapArea.oculusOrbFocalPointY) / 16; + } + + var2 = MouseHandler.oculusOrbFocalPointX >> 7; + var3 = WorldMapArea.oculusOrbFocalPointY >> 7; + var4 = ScriptEvent.getTileHeight(MouseHandler.oculusOrbFocalPointX, WorldMapArea.oculusOrbFocalPointY, class42.plane); + var5 = 0; + int var6; + if (var2 > 3 && var3 > 3 && var2 < 100 && var3 < 100) { + for (var6 = var2 - 4; var6 <= var2 + 4; ++var6) { + for (int var7 = var3 - 4; var7 <= var3 + 4; ++var7) { + int var8 = class42.plane; + if (var8 < 3 && (Tiles.Tiles_renderFlags[1][var6][var7] & 2) == 2) { + ++var8; + } + + int var9 = var4 - Tiles.Tiles_heights[var8][var6][var7]; + if (var9 > var5) { + var5 = var9; + } + } + } + } + + var6 = var5 * 192; + if (var6 > 98048) { + var6 = 98048; + } + + if (var6 < 32768) { + var6 = 32768; + } + + if (var6 > Client.field739) { + Client.field739 += (var6 - Client.field739) / 24; + } else if (var6 < Client.field739) { + Client.field739 += (var6 - Client.field739) / 80; + } + + Client.field729 = ScriptEvent.getTileHeight(Client.localPlayer.x, Client.localPlayer.y, class42.plane) - Client.camFollowHeight; + } else if (Client.oculusOrbState == 1) { + Widget.method4090(); + short var10 = -1; + if (KeyHandler.KeyHandler_pressedKeys[33]) { + var10 = 0; + } else if (KeyHandler.KeyHandler_pressedKeys[49]) { + var10 = 1024; + } + + if (KeyHandler.KeyHandler_pressedKeys[48]) { + if (var10 == 0) { + var10 = 1792; + } else if (var10 == 1024) { + var10 = 1280; + } else { + var10 = 1536; + } + } else if (KeyHandler.KeyHandler_pressedKeys[50]) { + if (var10 == 0) { + var10 = 256; + } else if (var10 == 1024) { + var10 = 768; + } else { + var10 = 512; + } + } + + byte var11 = 0; + if (KeyHandler.KeyHandler_pressedKeys[35]) { + var11 = -1; + } else if (KeyHandler.KeyHandler_pressedKeys[51]) { + var11 = 1; + } + + var2 = 0; + if (var10 >= 0 || var11 != 0) { + var2 = KeyHandler.KeyHandler_pressedKeys[81] ? Client.oculusOrbSlowedSpeed : Client.oculusOrbNormalSpeed; + var2 *= 16; + Client.field731 = var10; + Client.field871 = var11; + } + + if (Client.field928 < var2) { + Client.field928 += var2 / 8; + if (Client.field928 > var2) { + Client.field928 = var2; + } + } else if (Client.field928 > var2) { + Client.field928 = Client.field928 * 9 / 10; + } + + if (Client.field928 > 0) { + var3 = Client.field928 / 16; + if (Client.field731 >= 0) { + var0 = Client.field731 - Interpreter.cameraYaw & 2047; + var4 = Rasterizer3D.Rasterizer3D_sine[var0]; + var5 = Rasterizer3D.Rasterizer3D_cosine[var0]; + MouseHandler.oculusOrbFocalPointX += var3 * var4 / 65536; + WorldMapArea.oculusOrbFocalPointY += var5 * var3 / 65536; + } + + if (Client.field871 != 0) { + Client.field729 += var3 * Client.field871; + if (Client.field729 > 0) { + Client.field729 = 0; + } + } + } else { + Client.field731 = -1; + Client.field871 = -1; + } + + if (KeyHandler.KeyHandler_pressedKeys[13]) { + DevicePcmPlayerProvider.method805(); + } + } + + if (MouseHandler.MouseHandler_currentButton == 4 && DevicePcmPlayerProvider.mouseCam) { + var0 = MouseHandler.MouseHandler_y - Client.mouseCamClickedY; + Client.camAngleDX = var0 * 2; + Client.mouseCamClickedY = var0 != -1 && var0 != 1 ? (MouseHandler.MouseHandler_y + Client.mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y; + var1 = Client.mouseCamClickedX - MouseHandler.MouseHandler_x; + Client.camAngleDY = var1 * 2; + Client.mouseCamClickedX = var1 != -1 && var1 != 1 ? (Client.mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x; + } else { + if (KeyHandler.KeyHandler_pressedKeys[96]) { + Client.camAngleDY += (-24 - Client.camAngleDY) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[97]) { + Client.camAngleDY += (24 - Client.camAngleDY) / 2; + } else { + Client.camAngleDY /= 2; + } + + if (KeyHandler.KeyHandler_pressedKeys[98]) { + Client.camAngleDX += (12 - Client.camAngleDX) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[99]) { + Client.camAngleDX += (-12 - Client.camAngleDX) / 2; + } else { + Client.camAngleDX /= 2; + } + + Client.mouseCamClickedY = MouseHandler.MouseHandler_y; + Client.mouseCamClickedX = MouseHandler.MouseHandler_x; + } + + Client.camAngleY = Client.camAngleDY / 2 + Client.camAngleY & 2047; + Client.camAngleX += Client.camAngleDX / 2; + if (Client.camAngleX < 128) { + Client.camAngleX = 128; + } + + if (Client.camAngleX > 383) { + Client.camAngleX = 383; + } + + } } diff --git a/runescape-client/src/main/java/class83.java b/runescape-client/src/main/java/class83.java index 3cadc3e827..e5dc473264 100644 --- a/runescape-client/src/main/java/class83.java +++ b/runescape-client/src/main/java/class83.java @@ -1,63 +1,262 @@ import java.math.BigInteger; -import java.net.MalformedURLException; -import java.net.URL; -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("cm") +@ObfuscatedName("cy") public class class83 { - @ObfuscatedName("m") - static final BigInteger field1165; - @ObfuscatedName("f") - static final BigInteger field1166; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 533653621 - ) - @Export("ItemDefinition_fileCount") - public static int ItemDefinition_fileCount; + @ObfuscatedName("qj") + @ObfuscatedGetter( + intValue = -297282221 + ) + static int field1166; + @ObfuscatedName("q") + static final BigInteger field1165; + @ObfuscatedName("w") + static final BigInteger field1162; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1211070559" - ) - static int method2027(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - return var2 == null ? -1 : (var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1); - } + static { + field1165 = new BigInteger("10001", 16); + field1162 = new BigInteger("83ff79a3e258b99ead1a70e1049883e78e513c4cdec538d8da9483879a9f81689c0c7d146d7b82b52d05cf26132b1cda5930eeef894e4ccf3d41eebc3aabe54598c4ca48eb5a31d736bfeea17875a35558b9e3fcd4aebe2a9cc970312a477771b36e173dc2ece6001ab895c553e2770de40073ea278026f36961c94428d8d7db", 16); + } - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Z", - garbageValue = "-1468699107" - ) - static boolean method2026(String var0) { - if (var0 == null) { - return false; - } else { - try { - new URL(var0); - return true; - } catch (MalformedURLException var2) { - return false; - } - } - } + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "(IIILiy;II)V", + garbageValue = "1789870821" + ) + static void method1996(int var0, int var1, int var2, ObjectDefinition var3, int var4) { + ObjectSound var5 = new ObjectSound(); + var5.field1078 = var0; + var5.field1083 = var1 * 128; + var5.field1090 = var2 * 16384; + int var6 = var3.sizeX; + int var7 = var3.sizeY; + if (var4 == 1 || var4 == 3) { + var6 = var3.sizeY; + var7 = var3.sizeX; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Lir;II)Llq;", - garbageValue = "1413048059" - ) - public static IndexedSprite method2028(AbstractArchive var0, int var1) { - return !RouteStrategy.loadSpriteFlat(var0, var1) ? null : ServerPacket.createIndexedSprite(); - } + var5.field1077 = (var6 + var1) * 16384; + var5.field1082 = (var7 + var2) * 16384; + var5.soundEffectId = var3.ambientSoundId; + var5.field1091 = var3.int4 * 128; + var5.field1086 = var3.int5; + var5.field1081 = var3.int6; + var5.soundEffectIds = var3.field3367; + if (var3.transforms != null) { + var5.obj = var3; + var5.set(); + } - static { - field1165 = new BigInteger("10001", 16); - field1166 = new BigInteger("83ff79a3e258b99ead1a70e1049883e78e513c4cdec538d8da9483879a9f81689c0c7d146d7b82b52d05cf26132b1cda5930eeef894e4ccf3d41eebc3aabe54598c4ca48eb5a31d736bfeea17875a35558b9e3fcd4aebe2a9cc970312a477771b36e173dc2ece6001ab895c553e2770de40073ea278026f36961c94428d8d7db", 16); - } + ObjectSound.objectSounds.addFirst(var5); + if (var5.soundEffectIds != null) { + var5.field1089 = var5.field1086 + (int)(Math.random() * (double)(var5.field1081 - var5.field1086)); + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(ILcx;ZI)I", + garbageValue = "-9434950" + ) + static int method1994(int var0, Script var1, boolean var2) { + int var4 = -1; + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var4 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + var3 = class80.getWidget(var4); + } else { + var3 = var2 ? Interpreter.field1111 : Calendar.field2507; + } + + if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3.scrollX = Interpreter.Interpreter_intStack[HealthBarUpdate.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[HealthBarUpdate.Interpreter_intStackSize + 1]; + if (var3.scrollY > var3.scrollHeight - var3.height) { + var3.scrollY = var3.scrollHeight - var3.height; + } + + if (var3.scrollY < 0) { + var3.scrollY = 0; + } + + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { + var3.color = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILL) { + var3.fill = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTRANS) { + var3.transparencyTop = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { + var3.lineWid = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { + var3.spriteId2 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { + var3.spriteAngle = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTILING) { + var3.spriteTiling = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODEL) { + var3.modelType = 1; + var3.modelId = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { + HealthBarUpdate.Interpreter_intStackSize -= 6; + var3.modelOffsetX = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var3.modelOffsetY = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var3.modelAngleX = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + var3.modelAngleY = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 3]; + var3.modelAngleZ = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 4]; + var3.modelZoom = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 5]; + Strings.method4120(var3); + return 1; + } else { + int var8; + if (var0 == ScriptOpcodes.CC_SETMODELANIM) { + var8 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + if (var8 != var3.sequenceId) { + var3.sequenceId = var8; + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + Strings.method4120(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { + var3.modelOrthog = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXT) { + String var7 = Interpreter.Interpreter_stringStack[--Skills.Interpreter_stringStackSize]; + if (!var7.equals(var3.text)) { + var3.text = var7; + Strings.method4120(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { + var3.fontId = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { + HealthBarUpdate.Interpreter_intStackSize -= 3; + var3.textXAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var3.textYAlignment = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + var3.textLineHeight = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { + var3.textShadowed = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { + var3.outline = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { + var3.spriteShadow = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { + var3.spriteFlipV = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { + var3.spriteFlipH = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { + HealthBarUpdate.Interpreter_intStackSize -= 2; + var3.scrollWidth = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize]; + var3.scrollHeight = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]; + Strings.method4120(var3); + if (var4 != -1 && var3.type == 0) { + WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var4 >> 16], var3, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { + ScriptFrame.method1086(var3.id, var3.childIndex); + Client.field850 = var3; + Strings.method4120(var3); + return 1; + } else if (var0 == 1122) { + var3.spriteId = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { + var3.color2 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == 1124) { + var3.transparencyBot = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + Strings.method4120(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLMODE) { + var8 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]; + class323 var6 = (class323)SoundSystem.findEnumerated(PcmPlayer.method2405(), var8); + if (var6 != null) { + var3.fillMode = var6; + Strings.method4120(var3); + } + + return 1; + } else { + boolean var5; + if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { + var5 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + var3.field2598 = var5; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { + var5 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize] == 1; + var3.modelTransparency = var5; + return 1; + } else { + return 2; + } + } + } + } + + @ObfuscatedName("gp") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1224050195" + ) + static final int method1995() { + if (WorldMapLabelSize.clientPreferences.roofsHidden) { + return class42.plane; + } else { + int var0 = ScriptEvent.getTileHeight(PacketBuffer.cameraX, class1.cameraZ, class42.plane); + return var0 - class43.cameraY < 800 && (Tiles.Tiles_renderFlags[class42.plane][PacketBuffer.cameraX >> 7][class1.cameraZ >> 7] & 4) != 0 ? class42.plane : 3; + } + } } diff --git a/runescape-client/src/main/java/class98.java b/runescape-client/src/main/java/class98.java deleted file mode 100644 index f770d715d3..0000000000 --- a/runescape-client/src/main/java/class98.java +++ /dev/null @@ -1,226 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("cc") -public class class98 { - @ObfuscatedName("m") - int field1306; - @ObfuscatedName("f") - int field1303; - @ObfuscatedName("q") - int[] field1304; - @ObfuscatedName("w") - int[] field1305; - @ObfuscatedName("o") - float[][] field1302; - @ObfuscatedName("u") - int[] field1307; - - class98() { - MusicSample.method2352(24); - this.field1306 = MusicSample.method2352(16); - this.field1303 = MusicSample.method2352(24); - this.field1304 = new int[this.field1303]; - boolean var1 = MusicSample.method2338() != 0; - int var2; - int var3; - int var4; - if (var1) { - var2 = 0; - - for (var3 = MusicSample.method2352(5) + 1; var2 < this.field1303; ++var3) { - int var5 = MusicSample.method2352(WorldMapCacheName.method634(this.field1303 - var2)); - - for (var4 = 0; var4 < var5; ++var4) { - this.field1304[var2++] = var3; - } - } - } else { - boolean var15 = MusicSample.method2338() != 0; - - for (var3 = 0; var3 < this.field1303; ++var3) { - if (var15 && MusicSample.method2338() == 0) { - this.field1304[var3] = 0; - } else { - this.field1304[var3] = MusicSample.method2352(5) + 1; - } - } - } - - this.method2311(); - var2 = MusicSample.method2352(4); - if (var2 > 0) { - float var16 = MusicSample.method2357(MusicSample.method2352(32)); - float var6 = MusicSample.method2357(MusicSample.method2352(32)); - var4 = MusicSample.method2352(4) + 1; - boolean var7 = MusicSample.method2338() != 0; - int var8; - if (var2 == 1) { - var8 = method2310(this.field1303, this.field1306); - } else { - var8 = this.field1303 * this.field1306; - } - - this.field1305 = new int[var8]; - - int var9; - for (var9 = 0; var9 < var8; ++var9) { - this.field1305[var9] = MusicSample.method2352(var4); - } - - this.field1302 = new float[this.field1303][this.field1306]; - float var10; - int var11; - int var12; - if (var2 == 1) { - for (var9 = 0; var9 < this.field1303; ++var9) { - var10 = 0.0F; - var11 = 1; - - for (var12 = 0; var12 < this.field1306; ++var12) { - int var13 = var9 / var11 % var8; - float var14 = (float)this.field1305[var13] * var6 + var16 + var10; - this.field1302[var9][var12] = var14; - if (var7) { - var10 = var14; - } - - var11 *= var8; - } - } - } else { - for (var9 = 0; var9 < this.field1303; ++var9) { - var10 = 0.0F; - var11 = var9 * this.field1306; - - for (var12 = 0; var12 < this.field1306; ++var12) { - float var17 = (float)this.field1305[var11] * var6 + var16 + var10; - this.field1302[var9][var12] = var17; - if (var7) { - var10 = var17; - } - - ++var11; - } - } - } - } - - } - - @ObfuscatedName("f") - void method2311() { - int[] var1 = new int[this.field1303]; - int[] var2 = new int[33]; - - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - for (var3 = 0; var3 < this.field1303; ++var3) { - var4 = this.field1304[var3]; - if (var4 != 0) { - var5 = 1 << 32 - var4; - var6 = var2[var4]; - var1[var3] = var6; - if ((var6 & var5) != 0) { - var7 = var2[var4 - 1]; - } else { - var7 = var6 | var5; - - for (var8 = var4 - 1; var8 >= 1; --var8) { - var10 = var2[var8]; - if (var10 != var6) { - break; - } - - var9 = 1 << 32 - var8; - if ((var10 & var9) != 0) { - var2[var8] = var2[var8 - 1]; - break; - } - - var2[var8] = var10 | var9; - } - } - - var2[var4] = var7; - - for (var8 = var4 + 1; var8 <= 32; ++var8) { - var10 = var2[var8]; - if (var10 == var6) { - var2[var8] = var7; - } - } - } - } - - this.field1307 = new int[8]; - var10 = 0; - - for (var3 = 0; var3 < this.field1303; ++var3) { - var4 = this.field1304[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.field1307[var6] == 0) { - this.field1307[var6] = var10; - } - - var6 = this.field1307[var6]; - } else { - ++var6; - } - - if (var6 >= this.field1307.length) { - int[] var11 = new int[this.field1307.length * 2]; - - for (var9 = 0; var9 < this.field1307.length; ++var9) { - var11[var9] = this.field1307[var9]; - } - - this.field1307 = var11; - } - - var8 >>>= 1; - } - - this.field1307[var6] = ~var3; - if (var6 >= var10) { - var10 = var6 + 1; - } - } - } - - } - - @ObfuscatedName("q") - int method2306() { - int var1; - for (var1 = 0; this.field1307[var1] >= 0; var1 = MusicSample.method2338() != 0 ? this.field1307[var1] : var1 + 1) { - } - - return ~this.field1307[var1]; - } - - @ObfuscatedName("w") - float[] method2307() { - return this.field1302[this.method2306()]; - } - - @ObfuscatedName("m") - static int method2310(int var0, int var1) { - int var2; - for (var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; RouteStrategy.method3642(var2, var1) > var0; --var2) { - } - - return var2; - } -} 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 35272728a0..739bbbb533 100644 --- a/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java +++ b/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java @@ -1,494 +1,502 @@ package net.runelite.rs; public class ScriptOpcodes { - public static final int ICONST = 0; - public static final int GET_VARP = 1; - public static final int SET_VARP = 2; - public static final int SCONST = 3; - public static final int JUMP = 6; - public static final int IF_ICMPNE = 7; - public static final int IF_ICMPEQ = 8; - public static final int IF_ICMPLT = 9; - public static final int IF_ICMPGT = 10; - public static final int RETURN = 21; - public static final int GET_VARBIT = 25; - public static final int SET_VARBIT = 27; - public static final int IF_ICMPLE = 31; - public static final int IF_ICMPGE = 32; - public static final int ILOAD = 33; - public static final int ISTORE = 34; - public static final int SLOAD = 35; - public static final int SSTORE = 36; - public static final int JOIN_STRING = 37; - public static final int POP_INT = 38; - public static final int POP_STRING = 39; - public static final int INVOKE = 40; - public static final int GET_VARC_INT = 42; - public static final int SET_VARC_INT = 43; - public static final int DEFINE_ARRAY = 44; - public static final int GET_ARRAY_INT = 45; - public static final int SET_ARRAY_INT = 46; - public static final int GET_VARC_STRING_OLD = 47; - public static final int SET_VARC_STRING_OLD = 48; - public static final int GET_VARC_STRING = 49; - public static final int SET_VARC_STRING = 50; - public static final int SWITCH = 60; - public static final int CC_CREATE = 100; - public static final int CC_DELETE = 101; - public static final int CC_DELETEALL = 102; - public static final int CC_FIND = 200; - public static final int IF_FIND = 201; - public static final int CC_SETPOSITION = 1000; - public static final int CC_SETSIZE = 1001; - public static final int CC_SETHIDE = 1003; - public static final int CC_SETNOCLICKTHROUGH = 1005; - public static final int CC_SETNOSCROLLTHROUGH = 1006; - public static final int CC_SETSCROLLPOS = 1100; - public static final int CC_SETCOLOUR = 1101; - public static final int CC_SETFILL = 1102; - public static final int CC_SETTRANS = 1103; - public static final int CC_SETLINEWID = 1104; - public static final int CC_SETGRAPHIC = 1105; - public static final int CC_SET2DANGLE = 1106; - public static final int CC_SETTILING = 1107; - public static final int CC_SETMODEL = 1108; - public static final int CC_SETMODELANGLE = 1109; - public static final int CC_SETMODELANIM = 1110; - public static final int CC_SETMODELORTHOG = 1111; - public static final int CC_SETTEXT = 1112; - public static final int CC_SETTEXTFONT = 1113; - public static final int CC_SETTEXTALIGN = 1114; - public static final int CC_SETTEXTSHADOW = 1115; - public static final int CC_SETOUTLINE = 1116; - public static final int CC_SETGRAPHICSHADOW = 1117; - public static final int CC_SETVFLIP = 1118; - public static final int CC_SETHFLIP = 1119; - public static final int CC_SETSCROLLSIZE = 1120; - public static final int CC_RESUME_PAUSEBUTTON = 1121; - public static final int CC_SETFILLCOLOUR = 1123; - public static final int CC_SETLINEDIRECTION = 1126; - public static final int CC_SETMODELTRANSPARENT = 1127; - public static final int CC_SETOBJECT = 1200; - public static final int CC_SETNPCHEAD = 1201; - public static final int CC_SETPLAYERHEAD_SELF = 1202; - public static final int CC_SETOBJECT_NONUM = 1205; - public static final int CC_SETOBJECT_ALWAYS_NUM = 1212; - public static final int CC_SETOP = 1300; - public static final int CC_SETDRAGGABLE = 1301; - public static final int CC_SETDRAGGABLEBEHAVIOR = 1302; - public static final int CC_SETDRAGDEADZONE = 1303; - public static final int CC_SETDRAGDEADTIME = 1304; - public static final int CC_SETOPBASE = 1305; - public static final int CC_SETTARGETVERB = 1306; - public static final int CC_CLEAROPS = 1307; - public static final int CC_SETOPKEY = 1350; - public static final int CC_SETOPTKEY = 1351; - public static final int CC_SETOPKEYRATE = 1352; - public static final int CC_SETOPTKEYRATE = 1353; - public static final int CC_SETOPKEYIGNOREHELD = 1354; - public static final int CC_SETOPTKEYIGNOREHELD = 1355; - public static final int CC_SETONCLICK = 1400; - public static final int CC_SETONHOLD = 1401; - public static final int CC_SETONRELEASE = 1402; - public static final int CC_SETONMOUSEOVER = 1403; - public static final int CC_SETONMOUSELEAVE = 1404; - public static final int CC_SETONDRAG = 1405; - public static final int CC_SETONTARGETLEAVE = 1406; - public static final int CC_SETONVARTRANSMIT = 1407; - public static final int CC_SETONTIMER = 1408; - public static final int CC_SETONOP = 1409; - public static final int CC_SETONDRAGCOMPLETE = 1410; - public static final int CC_SETONCLICKREPEAT = 1411; - public static final int CC_SETONMOUSEREPEAT = 1412; - public static final int CC_SETONINVTRANSMIT = 1414; - public static final int CC_SETONSTATTRANSMIT = 1415; - public static final int CC_SETONTARGETENTER = 1416; - public static final int CC_SETONSCROLLWHEEL = 1417; - public static final int CC_SETONCHATTRANSMIT = 1418; - public static final int CC_SETONKEY = 1419; - public static final int CC_SETONFRIENDTRANSMIT = 1420; - public static final int CC_SETONCLANTRANSMIT = 1421; - public static final int CC_SETONMISCTRANSMIT = 1422; - public static final int CC_SETONDIALOGABORT = 1423; - public static final int CC_SETONSUBCHANGE = 1424; - public static final int CC_SETONSTOCKTRANSMIT = 1425; - public static final int CC_SETONRESIZE = 1427; - public static final int CC_GETX = 1500; - public static final int CC_GETY = 1501; - public static final int CC_GETWIDTH = 1502; - public static final int CC_GETHEIGHT = 1503; - public static final int CC_GETHIDE = 1504; - public static final int CC_GETLAYER = 1505; - public static final int CC_GETSCROLLX = 1600; - public static final int CC_GETSCROLLY = 1601; - public static final int CC_GETTEXT = 1602; - public static final int CC_GETSCROLLWIDTH = 1603; - public static final int CC_GETSCROLLHEIGHT = 1604; - public static final int CC_GETMODELZOOM = 1605; - public static final int CC_GETMODELANGLE_X = 1606; - public static final int CC_GETMODELANGLE_Z = 1607; - public static final int CC_GETMODELANGLE_Y = 1608; - public static final int CC_GETTRANS = 1609; - public static final int CC_GETCOLOUR = 1611; - public static final int CC_GETFILLCOLOUR = 1612; - public static final int CC_GETMODELTRANSPARENT = 1614; - public static final int CC_GETINVOBJECT = 1700; - public static final int CC_GETINVCOUNT = 1701; - public static final int CC_GETID = 1702; - public static final int CC_GETTARGETMASK = 1800; - public static final int CC_GETOP = 1801; - public static final int CC_GETOPBASE = 1802; - public static final int CC_CALLONRESIZE = 1927; - public static final int IF_SETPOSITION = 2000; - public static final int IF_SETSIZE = 2001; - public static final int IF_SETHIDE = 2003; - public static final int IF_SETNOCLICKTHROUGH = 2005; - public static final int IF_SETSCROLLPOS = 2100; - public static final int IF_SETCOLOUR = 2101; - public static final int IF_SETFILL = 2102; - public static final int IF_SETTRANS = 2103; - public static final int IF_SETLINEWID = 2104; - public static final int IF_SETGRAPHIC = 2105; - public static final int IF_SET2DANGLE = 2106; - public static final int IF_SETTILING = 2107; - public static final int IF_SETMODEL = 2108; - public static final int IF_SETMODELANGLE = 2109; - public static final int IF_SETMODELANIM = 2110; - public static final int IF_SETMODELORTHOG = 2111; - public static final int IF_SETTEXT = 2112; - public static final int IF_SETTEXTFONT = 2113; - public static final int IF_SETTEXTALIGN = 2114; - public static final int IF_SETTEXTSHADOW = 2115; - public static final int IF_SETOUTLINE = 2116; - public static final int IF_SETGRAPHICSHADOW = 2117; - public static final int IF_SETVFLIP = 2118; - public static final int IF_SETHFLIP = 2119; - public static final int IF_SETSCROLLSIZE = 2120; - public static final int IF_RESUME_PAUSEBUTTON = 2121; - public static final int IF_SETFILLCOLOUR = 2123; - public static final int IF_SETLINEDIRECTION = 2126; - public static final int IF_SETMODELTRANSPARENT = 2127; - public static final int IF_SETOBJECT = 2200; - public static final int IF_SETNPCHEAD = 2201; - public static final int IF_SETPLAYERHEAD_SELF = 2202; - public static final int IF_SETOBJECT_NONUM = 2205; - public static final int IF_SETOBJECT_ALWAYS_NUM = 2212; - public static final int IF_SETOP = 2300; - public static final int IF_SETDRAGGABLE = 2301; - public static final int IF_SETDRAGGABLEBEHAVIOR = 2302; - public static final int IF_SETDRAGDEADZONE = 2303; - public static final int IF_SETDRAGDEADTIME = 2304; - public static final int IF_SETOPBASE = 2305; - public static final int IF_SETTARGETVERB = 2306; - public static final int IF_CLEAROPS = 2307; - public static final int IF_SETOPKEY = 2350; - public static final int IF_SETOPTKEY = 2351; - public static final int IF_SETOPKEYRATE = 2352; - public static final int IF_SETOPTKEYRATE = 2353; - public static final int IF_SETOPKEYIGNOREHELD = 2354; - public static final int IF_SETOPTKEYIGNOREHELD = 2355; - public static final int IF_SETONCLICK = 2400; - public static final int IF_SETONHOLD = 2401; - public static final int IF_SETONRELEASE = 2402; - public static final int IF_SETONMOUSEOVER = 2403; - public static final int IF_SETONMOUSELEAVE = 2404; - public static final int IF_SETONDRAG = 2405; - public static final int IF_SETONTARGETLEAVE = 2406; - public static final int IF_SETONVARTRANSMIT = 2407; - public static final int IF_SETONTIMER = 2408; - public static final int IF_SETONOP = 2409; - public static final int IF_SETONDRAGCOMPLETE = 2410; - public static final int IF_SETONCLICKREPEAT = 2411; - public static final int IF_SETONMOUSEREPEAT = 2412; - public static final int IF_SETONINVTRANSMIT = 2414; - public static final int IF_SETONSTATTRANSMIT = 2415; - public static final int IF_SETONTARGETENTER = 2416; - public static final int IF_SETONSCROLLWHEEL = 2417; - public static final int IF_SETONCHATTRANSMIT = 2418; - public static final int IF_SETONKEY = 2419; - public static final int IF_SETONFRIENDTRANSMIT = 2420; - public static final int IF_SETONCLANTRANSMIT = 2421; - public static final int IF_SETONMISCTRANSMIT = 2422; - public static final int IF_SETONDIALOGABORT = 2423; - public static final int IF_SETONSUBCHANGE = 2424; - public static final int IF_SETONSTOCKTRANSMIT = 2425; - public static final int IF_SETONRESIZE = 2427; - public static final int IF_GETX = 2500; - public static final int IF_GETY = 2501; - public static final int IF_GETWIDTH = 2502; - public static final int IF_GETHEIGHT = 2503; - public static final int IF_GETHIDE = 2504; - public static final int IF_GETLAYER = 2505; - public static final int IF_GETSCROLLX = 2600; - public static final int IF_GETSCROLLY = 2601; - public static final int IF_GETTEXT = 2602; - public static final int IF_GETSCROLLWIDTH = 2603; - public static final int IF_GETSCROLLHEIGHT = 2604; - public static final int IF_GETMODELZOOM = 2605; - public static final int IF_GETMODELANGLE_X = 2606; - public static final int IF_GETMODELANGLE_Z = 2607; - public static final int IF_GETMODELANGLE_Y = 2608; - public static final int IF_GETTRANS = 2609; - public static final int IF_GETCOLOUR = 2611; - public static final int IF_GETFILLCOLOUR = 2612; - public static final int IF_GETMODELTRANSPARENT = 2614; - public static final int IF_GETINVOBJECT = 2700; - public static final int IF_GETINVCOUNT = 2701; - public static final int IF_HASSUB = 2702; - public static final int IF_GETTOP = 2706; - public static final int IF_GETTARGETMASK = 2800; - public static final int IF_GETOP = 2801; - public static final int IF_GETOPBASE = 2802; - public static final int IF_CALLONRESIZE = 2927; - public static final int MES = 3100; - public static final int ANIM = 3101; - public static final int IF_CLOSE = 3103; - public static final int RESUME_COUNTDIALOG = 3104; - public static final int RESUME_NAMEDIALOG = 3105; - public static final int RESUME_STRINGDIALOG = 3106; - public static final int OPPLAYER = 3107; - public static final int IF_DRAGPICKUP = 3108; - public static final int CC_DRAGPICKUP = 3109; - public static final int MOUSECAM = 3110; - public static final int GETREMOVEROOFS = 3111; - public static final int SETREMOVEROOFS = 3112; - public static final int OPENURL = 3113; - public static final int RESUME_OBJDIALOG = 3115; - public static final int BUG_REPORT = 3116; - public static final int SETSHIFTCLICKDROP = 3117; - public static final int SETSHOWMOUSEOVERTEXT = 3118; - public static final int RENDERSELF = 3119; - public static final int SETSHOWMOUSECROSS = 3125; - public static final int SETSHOWLOADINGMESSAGES = 3126; - public static final int SETTAPTODROP = 3127; - public static final int GETTAPTODROP = 3128; - public static final int SETOCULUSORBSPEED = 3129; - public static final int GETCANVASSIZE = 3132; - public static final int MOBILE_SETFPS = 3133; - public static final int MOBILE_OPENSTORE = 3134; - public static final int MOBILE_OPENSTORECATEGORY = 3135; - public static final int SETHIDEUSERNAME = 3141; - public static final int GETHIDEUSERNAME = 3142; - public static final int SETREMEMBERUSERNAME = 3143; - public static final int GETREMEMBERUSERNAME = 3144; - public static final int SETTITLEMUSICENABLED = 3146; - public static final int GETTITLEMUSICENABLED = 3147; - public static final int SOUND_SYNTH = 3200; - public static final int SOUND_SONG = 3201; - public static final int SOUND_JINGLE = 3202; - public static final int CLIENTCLOCK = 3300; - public static final int INV_GETOBJ = 3301; - public static final int INV_GETNUM = 3302; - public static final int INV_TOTAL = 3303; - public static final int INV_SIZE = 3304; - public static final int STAT = 3305; - public static final int STAT_BASE = 3306; - public static final int STAT_XP = 3307; - public static final int COORD = 3308; - public static final int COORDX = 3309; - public static final int COORDZ = 3310; - public static final int COORDY = 3311; - public static final int MAP_MEMBERS = 3312; - public static final int INVOTHER_GETOBJ = 3313; - public static final int INVOTHER_GETNUM = 3314; - public static final int INVOTHER_TOTAL = 3315; - public static final int STAFFMODLEVEL = 3316; - public static final int REBOOTTIMER = 3317; - public static final int MAP_WORLD = 3318; - public static final int RUNENERGY_VISIBLE = 3321; - public static final int RUNWEIGHT_VISIBLE = 3322; - public static final int PLAYERMOD = 3323; - public static final int WORLDFLAGS = 3324; - public static final int MOVECOORD = 3325; - public static final int ENUM_STRING = 3400; - public static final int ENUM = 3408; - public static final int ENUM_GETOUTPUTCOUNT = 3411; - public static final int FRIEND_COUNT = 3600; - public static final int FRIEND_GETNAME = 3601; - public static final int FRIEND_GETWORLD = 3602; - public static final int FRIEND_GETRANK = 3603; - public static final int FRIEND_SETRANK = 3604; - public static final int FRIEND_ADD = 3605; - public static final int FRIEND_DEL = 3606; - public static final int IGNORE_ADD = 3607; - public static final int IGNORE_DEL = 3608; - public static final int FRIEND_TEST = 3609; - public static final int CLAN_GETCHATDISPLAYNAME = 3611; - public static final int CLAN_GETCHATCOUNT = 3612; - public static final int CLAN_GETCHATUSERNAME = 3613; - public static final int CLAN_GETCHATUSERWORLD = 3614; - public static final int CLAN_GETCHATUSERRANK = 3615; - public static final int CLAN_GETCHATMINKICK = 3616; - public static final int CLAN_KICKUSER = 3617; - public static final int CLAN_GETCHATRANK = 3618; - public static final int CLAN_JOINCHAT = 3619; - public static final int CLAN_LEAVECHAT = 3620; - public static final int IGNORE_COUNT = 3621; - public static final int IGNORE_GETNAME = 3622; - public static final int IGNORE_TEST = 3623; - public static final int CLAN_ISSELF = 3624; - public static final int CLAN_GETCHATOWNERNAME = 3625; - public static final int CLAN_ISFRIEND = 3626; - public static final int CLAN_ISIGNORE = 3627; - public static final int STOCKMARKET_GETOFFERTYPE = 3903; - public static final int STOCKMARKET_GETOFFERITEM = 3904; - public static final int STOCKMARKET_GETOFFERPRICE = 3905; - public static final int STOCKMARKET_GETOFFERCOUNT = 3906; - public static final int STOCKMARKET_GETOFFERCOMPLETEDCOUNT = 3907; - public static final int STOCKMARKET_GETOFFERCOMPLETEDGOLD = 3908; - public static final int STOCKMARKET_ISOFFEREMPTY = 3910; - public static final int STOCKMARKET_ISOFFERSTABLE = 3911; - public static final int STOCKMARKET_ISOFFERFINISHED = 3912; - public static final int STOCKMARKET_ISOFFERADDING = 3913; - public static final int TRADINGPOST_SORTBY_NAME = 3914; - public static final int TRADINGPOST_SORTBY_PRICE = 3915; - public static final int TRADINGPOST_SORTFILTERBY_WORLD = 3916; - public static final int TRADINGPOST_SORTBY_AGE = 3917; - public static final int TRADINGPOST_SORTBY_COUNT = 3918; - public static final int TRADINGPOST_GETTOTALOFFERS = 3919; - public static final int TRADINGPOST_GETOFFERWORLD = 3920; - public static final int TRADINGPOST_GETOFFERNAME = 3921; - public static final int TRADINGPOST_GETOFFERPREVIOUSNAME = 3922; - public static final int TRADINGPOST_GETOFFERAGE = 3923; - public static final int TRADINGPOST_GETOFFERCOUNT = 3924; - public static final int TRADINGPOST_GETOFFERPRICE = 3925; - public static final int TRADINGPOST_GETOFFERITEM = 3926; - public static final int ADD = 4000; - public static final int SUB = 4001; - public static final int MULTIPLY = 4002; - public static final int DIV = 4003; - public static final int RANDOM = 4004; - public static final int RANDOMINC = 4005; - public static final int INTERPOLATE = 4006; - public static final int ADDPERCENT = 4007; - public static final int SETBIT = 4008; - public static final int CLEARBIT = 4009; - public static final int TESTBIT = 4010; - public static final int MOD = 4011; - public static final int POW = 4012; - public static final int INVPOW = 4013; - public static final int AND = 4014; - public static final int OR = 4015; - public static final int SCALE = 4018; - public static final int APPEND_NUM = 4100; - public static final int APPEND = 4101; - public static final int APPEND_SIGNNUM = 4102; - public static final int LOWERCASE = 4103; - public static final int FROMDATE = 4104; - public static final int TEXT_GENDER = 4105; - public static final int TOSTRING = 4106; - public static final int COMPARE = 4107; - public static final int PARAHEIGHT = 4108; - public static final int PARAWIDTH = 4109; - public static final int TEXT_SWITCH = 4110; - public static final int ESCAPE = 4111; - public static final int APPEND_CHAR = 4112; - public static final int CHAR_ISPRINTABLE = 4113; - public static final int CHAR_ISALPHANUMERIC = 4114; - public static final int CHAR_ISALPHA = 4115; - public static final int CHAR_ISNUMERIC = 4116; - public static final int STRING_LENGTH = 4117; - public static final int SUBSTRING = 4118; - public static final int REMOVETAGS = 4119; - public static final int STRING_INDEXOF_CHAR = 4120; - public static final int STRING_INDEXOF_STRING = 4121; - public static final int UPPERCASE = 4122; - public static final int OC_NAME = 4200; - public static final int OC_OP = 4201; - public static final int OC_IOP = 4202; - public static final int OC_COST = 4203; - public static final int OC_STACKABLE = 4204; - public static final int OC_CERT = 4205; - public static final int OC_UNCERT = 4206; - public static final int OC_MEMBERS = 4207; - public static final int OC_PLACEHOLDER = 4208; - public static final int OC_UNPLACEHOLDER = 4209; - public static final int OC_FIND = 4210; - public static final int OC_FINDNEXT = 4211; - public static final int OC_FINDRESET = 4212; - public static final int CHAT_GETFILTER_PUBLIC = 5000; - public static final int CHAT_SETFILTER = 5001; - public static final int CHAT_SENDABUSEREPORT = 5002; - public static final int CHAT_GETHISTORY_BYTYPEANDLINE = 5003; - public static final int CHAT_GETHISTORY_BYUID = 5004; - public static final int CHAT_GETFILTER_PRIVATE = 5005; - public static final int CHAT_SENDPUBLIC = 5008; - public static final int CHAT_SENDPRIVATE = 5009; - public static final int CHAT_PLAYERNAME = 5015; - public static final int CHAT_GETFILTER_TRADE = 5016; - public static final int CHAT_GETHISTORYLENGTH = 5017; - public static final int CHAT_GETNEXTUID = 5018; - public static final int CHAT_GETPREVUID = 5019; - public static final int DOCHEAT = 5020; - public static final int CHAT_SETMESSAGEFILTER = 5021; - public static final int CHAT_GETMESSAGEFILTER = 5022; - public static final int GETWINDOWMODE = 5306; - public static final int SETWINDOWMODE = 5307; - public static final int GETDEFAULTWINDOWMODE = 5308; - public static final int SETDEFAULTWINDOWMODE = 5309; - public static final int CAM_FORCEANGLE = 5504; - public static final int CAM_GETANGLE_XA = 5505; - public static final int CAM_GETANGLE_YA = 5506; - public static final int CAM_SETFOLLOWHEIGHT = 5530; - public static final int CAM_GETFOLLOWHEIGHT = 5531; - public static final int LOGOUT = 5630; - public static final int VIEWPORT_SETFOV = 6200; - public static final int VIEWPORT_SETZOOM = 6201; - public static final int VIEWPORT_CLAMPFOV = 6202; - public static final int VIEWPORT_GETEFFECTIVESIZE = 6203; - public static final int VIEWPORT_GETZOOM = 6204; - public static final int VIEWPORT_GETFOV = 6205; - public static final int WORLDLIST_FETCH = 6500; - public static final int WORLDLIST_START = 6501; - public static final int WORLDLIST_NEXT = 6502; - public static final int WORLDLIST_SPECIFIC = 6506; - public static final int WORLDLIST_SORT = 6507; - public static final int GETWORLDINFO = 6511; - public static final int SETFOLLOWEROPSLOWPRIORITY = 6512; - public static final int NC_PARAM = 6513; - public static final int LC_PARAM = 6514; - public static final int OC_PARAM = 6515; - public static final int STRUCT_PARAM = 6516; - public static final int ON_MOBILE = 6518; - public static final int CLIENTTYPE = 6519; - public static final int MOBILE_KEYBOARDHIDE = 6521; - public static final int BATTERYLEVEL = 6524; - public static final int BATTERYCHARGING = 6525; - public static final int WIFIAVAILABLE = 6526; - public static final int WORLDMAP_GETMAPNAME = 6601; - public static final int WORLDMAP_SETMAP = 6602; - public static final int WORLDMAP_GETZOOM = 6603; - public static final int WORLDMAP_SETZOOM = 6604; - public static final int WORLDMAP_ISLOADED = 6605; - public static final int WORLDMAP_JUMPTODISPLAYCOORD = 6606; - public static final int WORLDMAP_JUMPTODISPLAYCOORD_INSTANT = 6607; - public static final int WORLDMAP_JUMPTOSOURCECOORD = 6608; - public static final int WORLDMAP_JUMPTOSOURCECOORD_INSTANT = 6609; - public static final int WORLDMAP_GETDISPLAYPOSITION = 6610; - public static final int WORLDMAP_GETCONFIGORIGIN = 6611; - public static final int WORLDMAP_GETCONFIGSIZE = 6612; - public static final int WORLDMAP_GETCONFIGBOUNDS = 6613; - public static final int WORLDMAP_GETCONFIGZOOM = 6614; - public static final int WORLDMAP_GETCURRENTMAP = 6616; - public static final int WORLDMAP_GETDISPLAYCOORD = 6617; - public static final int WORLDMAP_COORDINMAP = 6621; - public static final int WORLDMAP_GETSIZE = 6622; - public static final int WORLDMAP_PERPETUALFLASH = 6628; - public static final int WORLDMAP_FLASHELEMENT = 6629; - public static final int WORLDMAP_FLASHELEMENTCATEGORY = 6630; - public static final int WORLDMAP_STOPCURRENTFLASHES = 6631; - public static final int WORLDMAP_DISABLEELEMENTS = 6632; - public static final int WORLDMAP_DISABLEELEMENT = 6633; - public static final int WORLDMAP_DISABLEELEMENTCATEGORY = 6634; - public static final int WORLDMAP_GETDISABLEELEMENTS = 6635; - public static final int WORLDMAP_GETDISABLEELEMENT = 6636; - public static final int WORLDMAP_GETDISABLEELEMENTCATEGORY = 6637; - public static final int WORLDMAP_LISTELEMENT_START = 6639; - public static final int WORLDMAP_LISTELEMENT_NEXT = 6640; - public static final int MEC_TEXT = 6693; - public static final int MEC_TEXTSIZE = 6694; - public static final int MEC_CATEGORY = 6695; - public static final int MEC_SPRITE = 6696; - public static final int WORLDMAP_ELEMENT = 6697; - public static final int WORLDMAP_ELEMENTCOORD = 6699; + public static final int ICONST = 0; + public static final int GET_VARP = 1; + public static final int SET_VARP = 2; + public static final int SCONST = 3; + public static final int JUMP = 6; + public static final int IF_ICMPNE = 7; + public static final int IF_ICMPEQ = 8; + public static final int IF_ICMPLT = 9; + public static final int IF_ICMPGT = 10; + public static final int RETURN = 21; + public static final int GET_VARBIT = 25; + public static final int SET_VARBIT = 27; + public static final int IF_ICMPLE = 31; + public static final int IF_ICMPGE = 32; + public static final int ILOAD = 33; + public static final int ISTORE = 34; + public static final int SLOAD = 35; + public static final int SSTORE = 36; + public static final int JOIN_STRING = 37; + public static final int POP_INT = 38; + public static final int POP_STRING = 39; + public static final int INVOKE = 40; + public static final int GET_VARC_INT = 42; + public static final int SET_VARC_INT = 43; + public static final int DEFINE_ARRAY = 44; + public static final int GET_ARRAY_INT = 45; + public static final int SET_ARRAY_INT = 46; + public static final int GET_VARC_STRING_OLD = 47; + public static final int SET_VARC_STRING_OLD = 48; + public static final int GET_VARC_STRING = 49; + public static final int SET_VARC_STRING = 50; + public static final int SWITCH = 60; + public static final int CC_CREATE = 100; + public static final int CC_DELETE = 101; + public static final int CC_DELETEALL = 102; + public static final int CC_FIND = 200; + public static final int IF_FIND = 201; + public static final int CC_SETPOSITION = 1000; + public static final int CC_SETSIZE = 1001; + public static final int CC_SETHIDE = 1003; + public static final int CC_SETNOCLICKTHROUGH = 1005; + public static final int CC_SETNOSCROLLTHROUGH = 1006; + public static final int CC_SETSCROLLPOS = 1100; + public static final int CC_SETCOLOUR = 1101; + public static final int CC_SETFILL = 1102; + public static final int CC_SETTRANS = 1103; + public static final int CC_SETLINEWID = 1104; + public static final int CC_SETGRAPHIC = 1105; + public static final int CC_SET2DANGLE = 1106; + public static final int CC_SETTILING = 1107; + public static final int CC_SETMODEL = 1108; + public static final int CC_SETMODELANGLE = 1109; + public static final int CC_SETMODELANIM = 1110; + public static final int CC_SETMODELORTHOG = 1111; + public static final int CC_SETTEXT = 1112; + public static final int CC_SETTEXTFONT = 1113; + public static final int CC_SETTEXTALIGN = 1114; + public static final int CC_SETTEXTSHADOW = 1115; + public static final int CC_SETOUTLINE = 1116; + public static final int CC_SETGRAPHICSHADOW = 1117; + public static final int CC_SETVFLIP = 1118; + public static final int CC_SETHFLIP = 1119; + public static final int CC_SETSCROLLSIZE = 1120; + public static final int CC_RESUME_PAUSEBUTTON = 1121; + public static final int CC_SETFILLCOLOUR = 1123; + public static final int CC_SETTRANSBOT = 1124; + public static final int CC_SETFILLMODE = 1125; + public static final int CC_SETLINEDIRECTION = 1126; + public static final int CC_SETMODELTRANSPARENT = 1127; + public static final int CC_SETOBJECT = 1200; + public static final int CC_SETNPCHEAD = 1201; + public static final int CC_SETPLAYERHEAD_SELF = 1202; + public static final int CC_SETOBJECT_NONUM = 1205; + public static final int CC_SETOBJECT_ALWAYS_NUM = 1212; + public static final int CC_SETOP = 1300; + public static final int CC_SETDRAGGABLE = 1301; + public static final int CC_SETDRAGGABLEBEHAVIOR = 1302; + public static final int CC_SETDRAGDEADZONE = 1303; + public static final int CC_SETDRAGDEADTIME = 1304; + public static final int CC_SETOPBASE = 1305; + public static final int CC_SETTARGETVERB = 1306; + public static final int CC_CLEAROPS = 1307; + public static final int CC_SETOPKEY = 1350; + public static final int CC_SETOPTKEY = 1351; + public static final int CC_SETOPKEYRATE = 1352; + public static final int CC_SETOPTKEYRATE = 1353; + public static final int CC_SETOPKEYIGNOREHELD = 1354; + public static final int CC_SETOPTKEYIGNOREHELD = 1355; + public static final int CC_SETONCLICK = 1400; + public static final int CC_SETONHOLD = 1401; + public static final int CC_SETONRELEASE = 1402; + public static final int CC_SETONMOUSEOVER = 1403; + public static final int CC_SETONMOUSELEAVE = 1404; + public static final int CC_SETONDRAG = 1405; + public static final int CC_SETONTARGETLEAVE = 1406; + public static final int CC_SETONVARTRANSMIT = 1407; + public static final int CC_SETONTIMER = 1408; + public static final int CC_SETONOP = 1409; + public static final int CC_SETONDRAGCOMPLETE = 1410; + public static final int CC_SETONCLICKREPEAT = 1411; + public static final int CC_SETONMOUSEREPEAT = 1412; + public static final int CC_SETONINVTRANSMIT = 1414; + public static final int CC_SETONSTATTRANSMIT = 1415; + public static final int CC_SETONTARGETENTER = 1416; + public static final int CC_SETONSCROLLWHEEL = 1417; + public static final int CC_SETONCHATTRANSMIT = 1418; + public static final int CC_SETONKEY = 1419; + public static final int CC_SETONFRIENDTRANSMIT = 1420; + public static final int CC_SETONCLANTRANSMIT = 1421; + public static final int CC_SETONMISCTRANSMIT = 1422; + public static final int CC_SETONDIALOGABORT = 1423; + public static final int CC_SETONSUBCHANGE = 1424; + public static final int CC_SETONSTOCKTRANSMIT = 1425; + public static final int CC_SETONRESIZE = 1427; + public static final int CC_GETX = 1500; + public static final int CC_GETY = 1501; + public static final int CC_GETWIDTH = 1502; + public static final int CC_GETHEIGHT = 1503; + public static final int CC_GETHIDE = 1504; + public static final int CC_GETLAYER = 1505; + public static final int CC_GETSCROLLX = 1600; + public static final int CC_GETSCROLLY = 1601; + public static final int CC_GETTEXT = 1602; + public static final int CC_GETSCROLLWIDTH = 1603; + public static final int CC_GETSCROLLHEIGHT = 1604; + public static final int CC_GETMODELZOOM = 1605; + public static final int CC_GETMODELANGLE_X = 1606; + public static final int CC_GETMODELANGLE_Z = 1607; + public static final int CC_GETMODELANGLE_Y = 1608; + public static final int CC_GETTRANSTOP = 1609; + public static final int CC_GETTRANSBOT = 1610; + public static final int CC_GETCOLOUR = 1611; + public static final int CC_GETFILLCOLOUR = 1612; + public static final int CC_GETFILLMODE = 1613; + public static final int CC_GETMODELTRANSPARENT = 1614; + public static final int CC_GETINVOBJECT = 1700; + public static final int CC_GETINVCOUNT = 1701; + public static final int CC_GETID = 1702; + public static final int CC_GETTARGETMASK = 1800; + public static final int CC_GETOP = 1801; + public static final int CC_GETOPBASE = 1802; + public static final int CC_CALLONRESIZE = 1927; + public static final int IF_SETPOSITION = 2000; + public static final int IF_SETSIZE = 2001; + public static final int IF_SETHIDE = 2003; + public static final int IF_SETNOCLICKTHROUGH = 2005; + public static final int IF_SETSCROLLPOS = 2100; + public static final int IF_SETCOLOUR = 2101; + public static final int IF_SETFILL = 2102; + public static final int IF_SETTRANS = 2103; + public static final int IF_SETLINEWID = 2104; + public static final int IF_SETGRAPHIC = 2105; + public static final int IF_SET2DANGLE = 2106; + public static final int IF_SETTILING = 2107; + public static final int IF_SETMODEL = 2108; + public static final int IF_SETMODELANGLE = 2109; + public static final int IF_SETMODELANIM = 2110; + public static final int IF_SETMODELORTHOG = 2111; + public static final int IF_SETTEXT = 2112; + public static final int IF_SETTEXTFONT = 2113; + public static final int IF_SETTEXTALIGN = 2114; + public static final int IF_SETTEXTSHADOW = 2115; + public static final int IF_SETOUTLINE = 2116; + public static final int IF_SETGRAPHICSHADOW = 2117; + public static final int IF_SETVFLIP = 2118; + public static final int IF_SETHFLIP = 2119; + public static final int IF_SETSCROLLSIZE = 2120; + public static final int IF_RESUME_PAUSEBUTTON = 2121; + public static final int IF_SETFILLCOLOUR = 2123; + public static final int IF_SETTRANSBOT = 2124; + public static final int IF_SETFILLMODE = 2125; + public static final int IF_SETLINEDIRECTION = 2126; + public static final int IF_SETMODELTRANSPARENT = 2127; + public static final int IF_SETOBJECT = 2200; + public static final int IF_SETNPCHEAD = 2201; + public static final int IF_SETPLAYERHEAD_SELF = 2202; + public static final int IF_SETOBJECT_NONUM = 2205; + public static final int IF_SETOBJECT_ALWAYS_NUM = 2212; + public static final int IF_SETOP = 2300; + public static final int IF_SETDRAGGABLE = 2301; + public static final int IF_SETDRAGGABLEBEHAVIOR = 2302; + public static final int IF_SETDRAGDEADZONE = 2303; + public static final int IF_SETDRAGDEADTIME = 2304; + public static final int IF_SETOPBASE = 2305; + public static final int IF_SETTARGETVERB = 2306; + public static final int IF_CLEAROPS = 2307; + public static final int IF_SETOPKEY = 2350; + public static final int IF_SETOPTKEY = 2351; + public static final int IF_SETOPKEYRATE = 2352; + public static final int IF_SETOPTKEYRATE = 2353; + public static final int IF_SETOPKEYIGNOREHELD = 2354; + public static final int IF_SETOPTKEYIGNOREHELD = 2355; + public static final int IF_SETONCLICK = 2400; + public static final int IF_SETONHOLD = 2401; + public static final int IF_SETONRELEASE = 2402; + public static final int IF_SETONMOUSEOVER = 2403; + public static final int IF_SETONMOUSELEAVE = 2404; + public static final int IF_SETONDRAG = 2405; + public static final int IF_SETONTARGETLEAVE = 2406; + public static final int IF_SETONVARTRANSMIT = 2407; + public static final int IF_SETONTIMER = 2408; + public static final int IF_SETONOP = 2409; + public static final int IF_SETONDRAGCOMPLETE = 2410; + public static final int IF_SETONCLICKREPEAT = 2411; + public static final int IF_SETONMOUSEREPEAT = 2412; + public static final int IF_SETONINVTRANSMIT = 2414; + public static final int IF_SETONSTATTRANSMIT = 2415; + public static final int IF_SETONTARGETENTER = 2416; + public static final int IF_SETONSCROLLWHEEL = 2417; + public static final int IF_SETONCHATTRANSMIT = 2418; + public static final int IF_SETONKEY = 2419; + public static final int IF_SETONFRIENDTRANSMIT = 2420; + public static final int IF_SETONCLANTRANSMIT = 2421; + public static final int IF_SETONMISCTRANSMIT = 2422; + public static final int IF_SETONDIALOGABORT = 2423; + public static final int IF_SETONSUBCHANGE = 2424; + public static final int IF_SETONSTOCKTRANSMIT = 2425; + public static final int IF_SETONRESIZE = 2427; + public static final int IF_GETX = 2500; + public static final int IF_GETY = 2501; + public static final int IF_GETWIDTH = 2502; + public static final int IF_GETHEIGHT = 2503; + public static final int IF_GETHIDE = 2504; + public static final int IF_GETLAYER = 2505; + public static final int IF_GETSCROLLX = 2600; + public static final int IF_GETSCROLLY = 2601; + public static final int IF_GETTEXT = 2602; + public static final int IF_GETSCROLLWIDTH = 2603; + public static final int IF_GETSCROLLHEIGHT = 2604; + public static final int IF_GETMODELZOOM = 2605; + public static final int IF_GETMODELANGLE_X = 2606; + public static final int IF_GETMODELANGLE_Z = 2607; + public static final int IF_GETMODELANGLE_Y = 2608; + public static final int IF_GETTRANSTOP = 2609; + public static final int IF_GETTRANSBOT = 2610; + public static final int IF_GETCOLOUR = 2611; + public static final int IF_GETFILLCOLOUR = 2612; + public static final int IF_GETFILLMODE = 2613; + public static final int IF_GETMODELTRANSPARENT = 2614; + public static final int IF_GETINVOBJECT = 2700; + public static final int IF_GETINVCOUNT = 2701; + public static final int IF_HASSUB = 2702; + public static final int IF_GETTOP = 2706; + public static final int IF_GETTARGETMASK = 2800; + public static final int IF_GETOP = 2801; + public static final int IF_GETOPBASE = 2802; + public static final int IF_CALLONRESIZE = 2927; + public static final int MES = 3100; + public static final int ANIM = 3101; + public static final int IF_CLOSE = 3103; + public static final int RESUME_COUNTDIALOG = 3104; + public static final int RESUME_NAMEDIALOG = 3105; + public static final int RESUME_STRINGDIALOG = 3106; + public static final int OPPLAYER = 3107; + public static final int IF_DRAGPICKUP = 3108; + public static final int CC_DRAGPICKUP = 3109; + public static final int MOUSECAM = 3110; + public static final int GETREMOVEROOFS = 3111; + public static final int SETREMOVEROOFS = 3112; + public static final int OPENURL = 3113; + public static final int RESUME_OBJDIALOG = 3115; + public static final int BUG_REPORT = 3116; + public static final int SETSHIFTCLICKDROP = 3117; + public static final int SETSHOWMOUSEOVERTEXT = 3118; + public static final int RENDERSELF = 3119; + public static final int SETSHOWMOUSECROSS = 3125; + public static final int SETSHOWLOADINGMESSAGES = 3126; + public static final int SETTAPTODROP = 3127; + public static final int GETTAPTODROP = 3128; + public static final int SETOCULUSORBSPEED = 3129; + public static final int GETCANVASSIZE = 3132; + public static final int MOBILE_SETFPS = 3133; + public static final int MOBILE_OPENSTORE = 3134; + public static final int MOBILE_OPENSTORECATEGORY = 3135; + public static final int SETHIDEUSERNAME = 3141; + public static final int GETHIDEUSERNAME = 3142; + public static final int SETREMEMBERUSERNAME = 3143; + public static final int GETREMEMBERUSERNAME = 3144; + public static final int SETTITLEMUSICENABLED = 3146; + public static final int GETTITLEMUSICENABLED = 3147; + public static final int SOUND_SYNTH = 3200; + public static final int SOUND_SONG = 3201; + public static final int SOUND_JINGLE = 3202; + public static final int CLIENTCLOCK = 3300; + public static final int INV_GETOBJ = 3301; + public static final int INV_GETNUM = 3302; + public static final int INV_TOTAL = 3303; + public static final int INV_SIZE = 3304; + public static final int STAT = 3305; + public static final int STAT_BASE = 3306; + public static final int STAT_XP = 3307; + public static final int COORD = 3308; + public static final int COORDX = 3309; + public static final int COORDZ = 3310; + public static final int COORDY = 3311; + public static final int MAP_MEMBERS = 3312; + public static final int INVOTHER_GETOBJ = 3313; + public static final int INVOTHER_GETNUM = 3314; + public static final int INVOTHER_TOTAL = 3315; + public static final int STAFFMODLEVEL = 3316; + public static final int REBOOTTIMER = 3317; + public static final int MAP_WORLD = 3318; + public static final int RUNENERGY_VISIBLE = 3321; + public static final int RUNWEIGHT_VISIBLE = 3322; + public static final int PLAYERMOD = 3323; + public static final int WORLDFLAGS = 3324; + public static final int MOVECOORD = 3325; + public static final int ENUM_STRING = 3400; + public static final int ENUM = 3408; + public static final int ENUM_GETOUTPUTCOUNT = 3411; + public static final int FRIEND_COUNT = 3600; + public static final int FRIEND_GETNAME = 3601; + public static final int FRIEND_GETWORLD = 3602; + public static final int FRIEND_GETRANK = 3603; + public static final int FRIEND_SETRANK = 3604; + public static final int FRIEND_ADD = 3605; + public static final int FRIEND_DEL = 3606; + public static final int IGNORE_ADD = 3607; + public static final int IGNORE_DEL = 3608; + public static final int FRIEND_TEST = 3609; + public static final int CLAN_GETCHATDISPLAYNAME = 3611; + public static final int CLAN_GETCHATCOUNT = 3612; + public static final int CLAN_GETCHATUSERNAME = 3613; + public static final int CLAN_GETCHATUSERWORLD = 3614; + public static final int CLAN_GETCHATUSERRANK = 3615; + public static final int CLAN_GETCHATMINKICK = 3616; + public static final int CLAN_KICKUSER = 3617; + public static final int CLAN_GETCHATRANK = 3618; + public static final int CLAN_JOINCHAT = 3619; + public static final int CLAN_LEAVECHAT = 3620; + public static final int IGNORE_COUNT = 3621; + public static final int IGNORE_GETNAME = 3622; + public static final int IGNORE_TEST = 3623; + public static final int CLAN_ISSELF = 3624; + public static final int CLAN_GETCHATOWNERNAME = 3625; + public static final int CLAN_ISFRIEND = 3626; + public static final int CLAN_ISIGNORE = 3627; + public static final int STOCKMARKET_GETOFFERTYPE = 3903; + public static final int STOCKMARKET_GETOFFERITEM = 3904; + public static final int STOCKMARKET_GETOFFERPRICE = 3905; + public static final int STOCKMARKET_GETOFFERCOUNT = 3906; + public static final int STOCKMARKET_GETOFFERCOMPLETEDCOUNT = 3907; + public static final int STOCKMARKET_GETOFFERCOMPLETEDGOLD = 3908; + public static final int STOCKMARKET_ISOFFEREMPTY = 3910; + public static final int STOCKMARKET_ISOFFERSTABLE = 3911; + public static final int STOCKMARKET_ISOFFERFINISHED = 3912; + public static final int STOCKMARKET_ISOFFERADDING = 3913; + public static final int TRADINGPOST_SORTBY_NAME = 3914; + public static final int TRADINGPOST_SORTBY_PRICE = 3915; + public static final int TRADINGPOST_SORTFILTERBY_WORLD = 3916; + public static final int TRADINGPOST_SORTBY_AGE = 3917; + public static final int TRADINGPOST_SORTBY_COUNT = 3918; + public static final int TRADINGPOST_GETTOTALOFFERS = 3919; + public static final int TRADINGPOST_GETOFFERWORLD = 3920; + public static final int TRADINGPOST_GETOFFERNAME = 3921; + public static final int TRADINGPOST_GETOFFERPREVIOUSNAME = 3922; + public static final int TRADINGPOST_GETOFFERAGE = 3923; + public static final int TRADINGPOST_GETOFFERCOUNT = 3924; + public static final int TRADINGPOST_GETOFFERPRICE = 3925; + public static final int TRADINGPOST_GETOFFERITEM = 3926; + public static final int ADD = 4000; + public static final int SUB = 4001; + public static final int MULTIPLY = 4002; + public static final int DIV = 4003; + public static final int RANDOM = 4004; + public static final int RANDOMINC = 4005; + public static final int INTERPOLATE = 4006; + public static final int ADDPERCENT = 4007; + public static final int SETBIT = 4008; + public static final int CLEARBIT = 4009; + public static final int TESTBIT = 4010; + public static final int MOD = 4011; + public static final int POW = 4012; + public static final int INVPOW = 4013; + public static final int AND = 4014; + public static final int OR = 4015; + public static final int SCALE = 4018; + public static final int APPEND_NUM = 4100; + public static final int APPEND = 4101; + public static final int APPEND_SIGNNUM = 4102; + public static final int LOWERCASE = 4103; + public static final int FROMDATE = 4104; + public static final int TEXT_GENDER = 4105; + public static final int TOSTRING = 4106; + public static final int COMPARE = 4107; + public static final int PARAHEIGHT = 4108; + public static final int PARAWIDTH = 4109; + public static final int TEXT_SWITCH = 4110; + public static final int ESCAPE = 4111; + public static final int APPEND_CHAR = 4112; + public static final int CHAR_ISPRINTABLE = 4113; + public static final int CHAR_ISALPHANUMERIC = 4114; + public static final int CHAR_ISALPHA = 4115; + public static final int CHAR_ISNUMERIC = 4116; + public static final int STRING_LENGTH = 4117; + public static final int SUBSTRING = 4118; + public static final int REMOVETAGS = 4119; + public static final int STRING_INDEXOF_CHAR = 4120; + public static final int STRING_INDEXOF_STRING = 4121; + public static final int UPPERCASE = 4122; + public static final int OC_NAME = 4200; + public static final int OC_OP = 4201; + public static final int OC_IOP = 4202; + public static final int OC_COST = 4203; + public static final int OC_STACKABLE = 4204; + public static final int OC_CERT = 4205; + public static final int OC_UNCERT = 4206; + public static final int OC_MEMBERS = 4207; + public static final int OC_PLACEHOLDER = 4208; + public static final int OC_UNPLACEHOLDER = 4209; + public static final int OC_FIND = 4210; + public static final int OC_FINDNEXT = 4211; + public static final int OC_FINDRESET = 4212; + public static final int CHAT_GETFILTER_PUBLIC = 5000; + public static final int CHAT_SETFILTER = 5001; + public static final int CHAT_SENDABUSEREPORT = 5002; + public static final int CHAT_GETHISTORY_BYTYPEANDLINE = 5003; + public static final int CHAT_GETHISTORY_BYUID = 5004; + public static final int CHAT_GETFILTER_PRIVATE = 5005; + public static final int CHAT_SENDPUBLIC = 5008; + public static final int CHAT_SENDPRIVATE = 5009; + public static final int CHAT_PLAYERNAME = 5015; + public static final int CHAT_GETFILTER_TRADE = 5016; + public static final int CHAT_GETHISTORYLENGTH = 5017; + public static final int CHAT_GETNEXTUID = 5018; + public static final int CHAT_GETPREVUID = 5019; + public static final int DOCHEAT = 5020; + public static final int CHAT_SETMESSAGEFILTER = 5021; + public static final int CHAT_GETMESSAGEFILTER = 5022; + public static final int GETWINDOWMODE = 5306; + public static final int SETWINDOWMODE = 5307; + public static final int GETDEFAULTWINDOWMODE = 5308; + public static final int SETDEFAULTWINDOWMODE = 5309; + public static final int CAM_FORCEANGLE = 5504; + public static final int CAM_GETANGLE_XA = 5505; + public static final int CAM_GETANGLE_YA = 5506; + public static final int CAM_SETFOLLOWHEIGHT = 5530; + public static final int CAM_GETFOLLOWHEIGHT = 5531; + public static final int LOGOUT = 5630; + public static final int VIEWPORT_SETFOV = 6200; + public static final int VIEWPORT_SETZOOM = 6201; + public static final int VIEWPORT_CLAMPFOV = 6202; + public static final int VIEWPORT_GETEFFECTIVESIZE = 6203; + public static final int VIEWPORT_GETZOOM = 6204; + public static final int VIEWPORT_GETFOV = 6205; + public static final int WORLDLIST_FETCH = 6500; + public static final int WORLDLIST_START = 6501; + public static final int WORLDLIST_NEXT = 6502; + public static final int WORLDLIST_SPECIFIC = 6506; + public static final int WORLDLIST_SORT = 6507; + public static final int GETWORLDINFO = 6511; + public static final int SETFOLLOWEROPSLOWPRIORITY = 6512; + public static final int NC_PARAM = 6513; + public static final int LC_PARAM = 6514; + public static final int OC_PARAM = 6515; + public static final int STRUCT_PARAM = 6516; + public static final int ON_MOBILE = 6518; + public static final int CLIENTTYPE = 6519; + public static final int MOBILE_KEYBOARDHIDE = 6521; + public static final int BATTERYLEVEL = 6524; + public static final int BATTERYCHARGING = 6525; + public static final int WIFIAVAILABLE = 6526; + public static final int WORLDMAP_GETMAPNAME = 6601; + public static final int WORLDMAP_SETMAP = 6602; + public static final int WORLDMAP_GETZOOM = 6603; + public static final int WORLDMAP_SETZOOM = 6604; + public static final int WORLDMAP_ISLOADED = 6605; + public static final int WORLDMAP_JUMPTODISPLAYCOORD = 6606; + public static final int WORLDMAP_JUMPTODISPLAYCOORD_INSTANT = 6607; + public static final int WORLDMAP_JUMPTOSOURCECOORD = 6608; + public static final int WORLDMAP_JUMPTOSOURCECOORD_INSTANT = 6609; + public static final int WORLDMAP_GETDISPLAYPOSITION = 6610; + public static final int WORLDMAP_GETCONFIGORIGIN = 6611; + public static final int WORLDMAP_GETCONFIGSIZE = 6612; + public static final int WORLDMAP_GETCONFIGBOUNDS = 6613; + public static final int WORLDMAP_GETCONFIGZOOM = 6614; + public static final int WORLDMAP_GETCURRENTMAP = 6616; + public static final int WORLDMAP_GETDISPLAYCOORD = 6617; + public static final int WORLDMAP_COORDINMAP = 6621; + public static final int WORLDMAP_GETSIZE = 6622; + public static final int WORLDMAP_PERPETUALFLASH = 6628; + public static final int WORLDMAP_FLASHELEMENT = 6629; + public static final int WORLDMAP_FLASHELEMENTCATEGORY = 6630; + public static final int WORLDMAP_STOPCURRENTFLASHES = 6631; + public static final int WORLDMAP_DISABLEELEMENTS = 6632; + public static final int WORLDMAP_DISABLEELEMENT = 6633; + public static final int WORLDMAP_DISABLEELEMENTCATEGORY = 6634; + public static final int WORLDMAP_GETDISABLEELEMENTS = 6635; + public static final int WORLDMAP_GETDISABLEELEMENT = 6636; + public static final int WORLDMAP_GETDISABLEELEMENTCATEGORY = 6637; + public static final int WORLDMAP_LISTELEMENT_START = 6639; + public static final int WORLDMAP_LISTELEMENT_NEXT = 6640; + public static final int MEC_TEXT = 6693; + public static final int MEC_TEXTSIZE = 6694; + public static final int MEC_CATEGORY = 6695; + public static final int MEC_SPRITE = 6696; + public static final int WORLDMAP_ELEMENT = 6697; + public static final int WORLDMAP_ELEMENTCOORD = 6699; }