Files
runelite/runescape-client/src/main/java/Client.java
2019-07-24 08:44:49 +02:00

5444 lines
149 KiB
Java

import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@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
)
@Export("tradeChatMode")
static int tradeChatMode;
@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;
tradeChatMode = 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;
}
Language.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
Skeleton.port2 = gameBuild == 0 ? 443 : worldId + 50000;
Varcs.port3 = Language.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." + "<br>" + " (" + var4 + "%" + ")", false);
} else if (field709 == 2) {
if (field707 > field896) {
field896 = field707;
}
var4 = (field896 * 50 - field707 * 50) / field896 + 50;
TriBool.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else {
TriBool.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
TriBool.drawLoadingMessage("Connection lost" + "<br>" + "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 (Language.pcmPlayer1 != null) {
Language.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);
Language var11;
if (var6 >= 0 && var6 < Language.Language_valuesOrdered.length) {
var11 = Language.Language_valuesOrdered[var6];
} else {
var11 = null;
}
ScriptFrame.clientLanguage = var11;
break;
case 7:
PacketBufferNode.serverBuild = 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.oldscape, StudioGame.runescape, StudioGame.game5, StudioGame.stellardawn, StudioGame.game4, StudioGame.game3};
WorldMapRegion.studioGame = (StudioGame)SoundSystem.findEnumerated(var5, Integer.parseInt(var4));
if (WorldMapRegion.studioGame == StudioGame.oldscape) {
class40.loginType = LoginType.oldscape;
} 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.setLowDetailOff();
ClientPreferences.worldHost = this.getCodeBase().getHost();
String var9 = PacketBufferNode.serverBuild.name;
byte var10 = 0;
try {
UserComparator6.method3440("oldschool", var9, var10, 21);
} catch (Exception var7) {
HitSplatDefinition.sendStackTrace((String)null, var7);
}
WorldMapSprite.client = this;
RunException.RunException_clientType = 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 (Language.port1 == Varcs.port3) {
Varcs.port3 = Skeleton.port2;
} else {
Varcs.port3 = Language.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 (Language.pcmPlayer1 != null) {
Language.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 (Language.pcmPlayer1 != null) {
Language.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) {
FillMode.field3884 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= FillMode.field3884) {
((AbstractSocket)var1).read(var2.array, 0, FillMode.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 (Language.port1 == Varcs.port3) {
Varcs.port3 = Skeleton.port2;
} else {
Varcs.port3 = Language.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 == Language.port1) {
Varcs.port3 = Skeleton.port2;
} else {
Varcs.port3 = Language.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) - Language.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;
}
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.privateChatMode = 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;
Language.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) - Language.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) {
tradeChatMode = 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;
}
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);
}
}