import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@ObfuscatedName("nc")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("oq")
@ObfuscatedGetter(
intValue = -1534976767
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("oo")
@ObfuscatedGetter(
intValue = -1032308699
)
static int field884;
@ObfuscatedName("od")
@ObfuscatedGetter(
longValue = 7541257458804320211L
)
static long field893;
@ObfuscatedName("oa")
static boolean[] field679;
@ObfuscatedName("ok")
static boolean[] field813;
@ObfuscatedName("ou")
static boolean[] field886;
@ObfuscatedName("na")
static boolean field861;
@ObfuscatedName("ov")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("nv")
@ObfuscatedGetter(
intValue = 777988173
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("su")
@ObfuscatedGetter(
intValue = 2073816179
)
public static int field891;
@ObfuscatedName("oe")
@ObfuscatedGetter(
intValue = -2140267163
)
static int field873;
@ObfuscatedName("ns")
static boolean field732;
@ObfuscatedName("qn")
static boolean field915;
@ObfuscatedName("np")
@ObfuscatedGetter(
intValue = 1891755493
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = -1161612029
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("nx")
@ObfuscatedGetter(
intValue = 1561528451
)
static int field859;
@ObfuscatedName("og")
@ObfuscatedSignature(
signature = "Llv;"
)
@Export("widgetClickMasks")
static NodeHashTable widgetClickMasks;
@ObfuscatedName("ng")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("oz")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("op")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("nk")
@ObfuscatedGetter(
intValue = -2134546849
)
static int field881;
@ObfuscatedName("ne")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("oy")
@ObfuscatedGetter(
intValue = 881881039
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("oc")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("mt")
@ObfuscatedGetter(
intValue = 1604597695
)
@Export("staffModLevel")
static int staffModLevel;
@ObfuscatedName("ob")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("tp")
@ObfuscatedSignature(
signature = "Lbj;"
)
static final ApproximateRouteStrategy field954;
@ObfuscatedName("ow")
@ObfuscatedSignature(
signature = "Ljh;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("nt")
@ObfuscatedGetter(
intValue = 1322546357
)
static int field834;
@ObfuscatedName("ri")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("rq")
static boolean[] field926;
@ObfuscatedName("nu")
@ObfuscatedGetter(
intValue = -206540409
)
static int field863;
@ObfuscatedName("ru")
static int[] field788;
@ObfuscatedName("pu")
@ObfuscatedGetter(
intValue = 636733525
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("rp")
static int[] field730;
@ObfuscatedName("rs")
static int[] field929;
@ObfuscatedName("pr")
@ObfuscatedGetter(
intValue = 336519687
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("rz")
static int[] field930;
@ObfuscatedName("nr")
static int[] field866;
@ObfuscatedName("nj")
@ObfuscatedGetter(
intValue = -1815085637
)
static int field772;
@ObfuscatedName("tj")
static int[] field955;
@ObfuscatedName("tk")
static int[] field956;
@ObfuscatedName("nf")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("qc")
@ObfuscatedGetter(
intValue = 1328358885
)
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("mo")
@ObfuscatedGetter(
intValue = 1227039409
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("mz")
@ObfuscatedGetter(
intValue = 1509251187
)
@Export("weight")
static int weight;
@ObfuscatedName("qa")
@ObfuscatedGetter(
intValue = -1279257455
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("qk")
@ObfuscatedGetter(
intValue = 1618575593
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("sv")
@ObfuscatedGetter(
intValue = 1159687403
)
static int field945;
@ObfuscatedName("so")
@ObfuscatedSignature(
signature = "Lhk;"
)
@Export("playerAppearance")
static PlayerAppearance playerAppearance;
@ObfuscatedName("qy")
@ObfuscatedGetter(
intValue = 1461372687
)
@Export("areaSoundEffectVolume")
static int areaSoundEffectVolume;
@ObfuscatedName("se")
@ObfuscatedGetter(
intValue = -276070485
)
static int field946;
@ObfuscatedName("on")
@ObfuscatedGetter(
intValue = -929260201
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("ni")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("om")
@ObfuscatedGetter(
intValue = -649542909
)
static int field877;
@ObfuscatedName("qv")
@ObfuscatedGetter(
intValue = 702335711
)
@Export("musicVolume")
static int musicVolume;
@ObfuscatedName("qr")
@ObfuscatedGetter(
intValue = 2086274421
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("qw")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("qf")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("qx")
@ObfuscatedGetter(
intValue = -1155655175
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("qm")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("qz")
@ObfuscatedGetter(
intValue = 1919940513
)
@Export("soundEffectVolume")
static int soundEffectVolume;
@ObfuscatedName("qu")
@ObfuscatedSignature(
signature = "[Ldj;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("qp")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("sf")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("oh")
@ObfuscatedGetter(
intValue = 1453786377
)
static int field726;
@ObfuscatedName("sz")
@ObfuscatedGetter(
intValue = 1144280751
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("nm")
@Export("changedItemContainers")
static int[] changedItemContainers;
@ObfuscatedName("ny")
@ObfuscatedGetter(
intValue = 387310397
)
static int field869;
@ObfuscatedName("pe")
@ObfuscatedGetter(
longValue = 1482293430841042491L
)
static long field904;
@ObfuscatedName("mu")
@ObfuscatedGetter(
intValue = -1182225561
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("md")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("me")
@ObfuscatedGetter(
intValue = -1652911979
)
static int field845;
@ObfuscatedName("pz")
@ObfuscatedGetter(
intValue = -720502757
)
static int field695;
@ObfuscatedName("or")
@ObfuscatedGetter(
intValue = -29948065
)
static int field874;
@ObfuscatedName("sp")
@ObfuscatedSignature(
signature = "Lmm;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("rg")
static short field931;
@ObfuscatedName("ma")
@ObfuscatedGetter(
intValue = 1416910623
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("rk")
static short field932;
@ObfuscatedName("rm")
static short field937;
@ObfuscatedName("ra")
static short field938;
@ObfuscatedName("pm")
@ObfuscatedGetter(
intValue = 2023934429
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("pp")
static long[] field846;
@ObfuscatedName("rw")
static short field748;
@ObfuscatedName("px")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("st")
@ObfuscatedGetter(
intValue = 1508238603
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("rr")
static short field935;
@ObfuscatedName("sc")
@ObfuscatedGetter(
intValue = 1112173289
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("nb")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("nh")
@ObfuscatedGetter(
intValue = 19610687
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("pg")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("ps")
@ObfuscatedSignature(
signature = "[Lla;"
)
@Export("mapIcons")
static Sprite[] mapIcons;
@ObfuscatedName("ph")
@ObfuscatedGetter(
intValue = 180652911
)
static int field900;
@ObfuscatedName("si")
@ObfuscatedGetter(
intValue = 2055926497
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("ro")
@ObfuscatedGetter(
intValue = -367442815
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("sh")
@ObfuscatedGetter(
intValue = -1701342831
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("rj")
@ObfuscatedGetter(
intValue = -527659011
)
static int field925;
@ObfuscatedName("pa")
@ObfuscatedGetter(
intValue = -2121206743
)
static int field901;
@ObfuscatedName("os")
@ObfuscatedGetter(
intValue = -1525951485
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("sn")
@ObfuscatedGetter(
intValue = -453519891
)
static int field898;
@ObfuscatedName("pw")
static int[] field872;
@ObfuscatedName("of")
@ObfuscatedSignature(
signature = "Ljh;"
)
static NodeDeque field727;
@ObfuscatedName("pk")
static int[] field902;
@ObfuscatedName("mh")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("ox")
@ObfuscatedSignature(
signature = "Ljh;"
)
static NodeDeque field919;
@ObfuscatedName("rn")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("rd")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("mv")
@ObfuscatedGetter(
intValue = -651344111
)
static int field842;
@ObfuscatedName("mk")
@ObfuscatedGetter(
intValue = -1472818425
)
static int field843;
@ObfuscatedName("sd")
@ObfuscatedSignature(
signature = "[Lb;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("oi")
@ObfuscatedGetter(
intValue = -681527765
)
static int field774;
@ObfuscatedName("pi")
static int[] field895;
@ObfuscatedName("pt")
static String field814;
@ObfuscatedName("sk")
@ObfuscatedSignature(
signature = "Lbl;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Lfm;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("aw")
static boolean field749;
@ObfuscatedName("bf")
@ObfuscatedGetter(
intValue = 67970213
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("bc")
@ObfuscatedGetter(
intValue = -454237971
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("bd")
@ObfuscatedGetter(
intValue = 50872335
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("be")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bg")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("ba")
@ObfuscatedGetter(
intValue = -1948298563
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bv")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("bx")
@ObfuscatedGetter(
intValue = -734659311
)
@Export("gameState")
static int gameState;
@ObfuscatedName("cg")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("cd")
@ObfuscatedGetter(
intValue = -2024138363
)
@Export("cycle")
static int cycle;
@ObfuscatedName("cx")
@ObfuscatedGetter(
longValue = -2067581052141850097L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("ci")
@ObfuscatedGetter(
intValue = -1167045491
)
static int field691;
@ObfuscatedName("cz")
@ObfuscatedGetter(
intValue = 736381377
)
static int field692;
@ObfuscatedName("cb")
@ObfuscatedGetter(
longValue = -9018780370059554257L
)
static long field875;
@ObfuscatedName("cy")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("ct")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("cf")
@ObfuscatedGetter(
intValue = -475175391
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("ca")
@ObfuscatedGetter(
intValue = -1953007669
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("cj")
@ObfuscatedGetter(
intValue = 538709907
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("cp")
@ObfuscatedGetter(
intValue = 1820154893
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("ck")
@ObfuscatedGetter(
intValue = -528461793
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("ce")
@ObfuscatedGetter(
intValue = -89638729
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("cv")
@ObfuscatedGetter(
intValue = 806134121
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("cl")
@ObfuscatedGetter(
intValue = 1105349969
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("dv")
@ObfuscatedGetter(
intValue = 634022549
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("du")
@ObfuscatedSignature(
signature = "Lcb;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("dz")
@ObfuscatedSignature(
signature = "Lcb;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("dq")
@ObfuscatedGetter(
intValue = 1329734549
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dm")
@ObfuscatedGetter(
intValue = 887284589
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("db")
@ObfuscatedGetter(
intValue = -1245813257
)
static int field709;
@ObfuscatedName("eq")
@ObfuscatedGetter(
intValue = -303941171
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("ei")
@ObfuscatedGetter(
intValue = 1964000781
)
@Export("loginState")
static int loginState;
@ObfuscatedName("en")
@ObfuscatedGetter(
intValue = -1937308451
)
static int field712;
@ObfuscatedName("ec")
@ObfuscatedGetter(
intValue = -1595212999
)
static int field713;
@ObfuscatedName("ev")
@ObfuscatedGetter(
intValue = -1280111513
)
static int field714;
@ObfuscatedName("eb")
@ObfuscatedSignature(
signature = "Lfu;"
)
static class169 field715;
@ObfuscatedName("ez")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("ek")
@ObfuscatedSignature(
signature = "Lca;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("fk")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("ff")
@ObfuscatedSignature(
signature = "[Lcd;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("fd")
@ObfuscatedGetter(
intValue = -13803859
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("fo")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("fi")
@ObfuscatedGetter(
intValue = 1186510191
)
static int field851;
@ObfuscatedName("fv")
static int[] field725;
@ObfuscatedName("fg")
@ObfuscatedSignature(
signature = "Ldv;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("fu")
@ObfuscatedGetter(
intValue = -842980155
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("ft")
static boolean field728;
@ObfuscatedName("fj")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("fn")
@ObfuscatedSignature(
signature = "Ljr;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("fe")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("gw")
@ObfuscatedGetter(
intValue = 1736766239
)
static int field818;
@ObfuscatedName("gu")
@ObfuscatedGetter(
intValue = 237208089
)
static int field921;
@ObfuscatedName("gt")
@ObfuscatedGetter(
intValue = -1880791937
)
static int field734;
@ObfuscatedName("gz")
@ObfuscatedGetter(
intValue = 313478257
)
static int field735;
@ObfuscatedName("ga")
@ObfuscatedGetter(
intValue = -965509961
)
static int field899;
@ObfuscatedName("gs")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("gk")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("gl")
static final int[] field699;
@ObfuscatedName("gj")
@ObfuscatedGetter(
intValue = -352208827
)
static int field741;
@ObfuscatedName("hi")
@ObfuscatedGetter(
intValue = 952516679
)
static int field742;
@ObfuscatedName("hl")
@ObfuscatedGetter(
intValue = -499490457
)
static int field747;
@ObfuscatedName("hq")
@ObfuscatedGetter(
intValue = 1112772085
)
static int field744;
@ObfuscatedName("hw")
@ObfuscatedGetter(
intValue = 59309843
)
static int field745;
@ObfuscatedName("hb")
static boolean field746;
@ObfuscatedName("hd")
@ObfuscatedGetter(
intValue = -71090641
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("hn")
@ObfuscatedGetter(
intValue = -1566395531
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("hu")
@ObfuscatedGetter(
intValue = 442725255
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("ha")
@ObfuscatedGetter(
intValue = 139375317
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("ho")
@ObfuscatedGetter(
intValue = -2038484537
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("hr")
@ObfuscatedGetter(
intValue = 702140089
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("hv")
@ObfuscatedGetter(
intValue = 1980402249
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("hx")
@ObfuscatedGetter(
intValue = -167717143
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("im")
@ObfuscatedGetter(
intValue = 1280381451
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("ig")
@ObfuscatedGetter(
intValue = -586245253
)
static int field756;
@ObfuscatedName("ii")
@ObfuscatedGetter(
intValue = 1464169135
)
static int field757;
@ObfuscatedName("iv")
@ObfuscatedGetter(
intValue = -660367395
)
static int field724;
@ObfuscatedName("ir")
@ObfuscatedGetter(
intValue = -949088515
)
static int field759;
@ObfuscatedName("ip")
@ObfuscatedGetter(
intValue = -412319227
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("ih")
@ObfuscatedGetter(
intValue = -493333163
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("ia")
@ObfuscatedGetter(
intValue = 1356416223
)
static int field762;
@ObfuscatedName("in")
static boolean field770;
@ObfuscatedName("ie")
@ObfuscatedGetter(
intValue = -472895563
)
static int field764;
@ObfuscatedName("iq")
static boolean field765;
@ObfuscatedName("ik")
@ObfuscatedGetter(
intValue = 575633547
)
static int field941;
@ObfuscatedName("io")
@ObfuscatedGetter(
intValue = -39115273
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("iw")
@ObfuscatedGetter(
intValue = 975397305
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("if")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("ib")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("id")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("il")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("iu")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("is")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("jq")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("ji")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("jv")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("jw")
@ObfuscatedGetter(
intValue = -2121599307
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("jx")
@ObfuscatedGetter(
intValue = 367239901
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("je")
@ObfuscatedGetter(
intValue = 315568117
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("jj")
@ObfuscatedGetter(
intValue = 1079427097
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("jn")
@ObfuscatedGetter(
intValue = 2092751039
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = -518761301
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("jl")
@ObfuscatedGetter(
intValue = -806793857
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("jm")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("jk")
@ObfuscatedGetter(
intValue = 2013290137
)
static int field786;
@ObfuscatedName("jg")
@ObfuscatedGetter(
intValue = -1764977003
)
static int field880;
@ObfuscatedName("jo")
@ObfuscatedGetter(
intValue = -540153301
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("ja")
@ObfuscatedGetter(
intValue = -1956792499
)
@Export("draggedWidgetX")
static int draggedWidgetX;
@ObfuscatedName("jp")
@ObfuscatedGetter(
intValue = -1891050173
)
@Export("draggedWidgetY")
static int draggedWidgetY;
@ObfuscatedName("jy")
@ObfuscatedGetter(
intValue = -1965076329
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("jf")
static boolean field887;
@ObfuscatedName("jr")
@ObfuscatedGetter(
intValue = -1524629153
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("jt")
@ObfuscatedGetter(
intValue = -1322333605
)
static int field794;
@ObfuscatedName("js")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("kw")
@ObfuscatedSignature(
signature = "[Lbi;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("ke")
@ObfuscatedGetter(
intValue = -767774261
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("kt")
@ObfuscatedGetter(
intValue = -1853665647
)
static int field798;
@ObfuscatedName("kr")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("kk")
@ObfuscatedGetter(
intValue = -931711387
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("kn")
@ObfuscatedGetter(
intValue = 2084987415
)
static int field801;
@ObfuscatedName("kq")
static int[] field918;
@ObfuscatedName("kc")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("ka")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("kf")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("kg")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("kx")
@ObfuscatedGetter(
intValue = -246802771
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("kh")
@ObfuscatedSignature(
signature = "[[[Ljh;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("kp")
@ObfuscatedSignature(
signature = "Ljh;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("kz")
@ObfuscatedSignature(
signature = "Ljh;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("kj")
@ObfuscatedSignature(
signature = "Ljh;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("kb")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("kd")
@Export("levels")
static int[] levels;
@ObfuscatedName("kl")
@Export("experience")
static int[] experience;
@ObfuscatedName("lk")
@ObfuscatedGetter(
intValue = 1453030713
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("lb")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("lg")
@ObfuscatedGetter(
intValue = -637671939
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("lf")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("lx")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("ly")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("ll")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("lh")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("ln")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("lw")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("lv")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("lz")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("li")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("lj")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("lu")
@ObfuscatedGetter(
intValue = -79678249
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("le")
@ObfuscatedGetter(
intValue = 521048769
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("lp")
@ObfuscatedGetter(
intValue = -1517512791
)
static int field871;
@ObfuscatedName("mp")
@ObfuscatedGetter(
intValue = 668929195
)
static int field832;
@ObfuscatedName("mm")
@ObfuscatedGetter(
intValue = -19686459
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("mq")
@ObfuscatedGetter(
intValue = 630410191
)
@Export("selectedItemSlot")
static int selectedItemSlot;
@ObfuscatedName("mi")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("mw")
@ObfuscatedGetter(
intValue = -335979293
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("mj")
@ObfuscatedGetter(
intValue = -167301685
)
static int field837;
@ObfuscatedName("mc")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("mx")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("mr")
@ObfuscatedGetter(
intValue = -1504817189
)
@Export("rootInterface")
static int rootInterface;
@ObfuscatedName("mn")
@ObfuscatedSignature(
signature = "Llv;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("eg")
@ObfuscatedSignature(
signature = "Lkb;"
)
Buffer field718;
@ObfuscatedName("es")
@ObfuscatedSignature(
signature = "Le;"
)
class9 field719;
static {
field749 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
clientType = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = -1L;
field691 = -1;
field692 = -1;
field875 = -1L;
hadFocus = true;
displayFps = false;
rebootTimer = 0;
hintArrowType = 0;
hintArrowNpcIndex = 0;
hintArrowPlayerIndex = 0;
hintArrowX = 0;
hintArrowY = 0;
hintArrowHeight = 0;
hintArrowSubX = 0;
hintArrowSubY = 0;
playerAttackOption = AttackOption.AttackOption_hidden;
npcAttackOption = AttackOption.AttackOption_hidden;
titleLoadingStage = 0;
js5ConnectState = 0;
field709 = 0;
js5Errors = 0;
loginState = 0;
field712 = 0;
field713 = 0;
field714 = 0;
field715 = class169.field2008;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field851 = 0;
field725 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
field728 = false;
useBufferedSocket = true;
timer = new Timer();
fontsMap = new HashMap();
field818 = 0;
field921 = 1;
field734 = 0;
field735 = 1;
field899 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field699 = 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};
field741 = 0;
field742 = 2301979;
field747 = 5063219;
field744 = 3353893;
field745 = 7759444;
field746 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field757 = 0;
field724 = 0;
field759 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field762 = 0;
field770 = false;
field764 = 0;
field765 = false;
field941 = 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;
field786 = 0;
field880 = 0;
dragItemSlotSource = 0;
draggedWidgetX = 0;
draggedWidgetY = 0;
dragItemSlotDestination = 0;
field887 = false;
itemDragDuration = 0;
field794 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field798 = 0;
renderSelf = true;
drawPlayerNames = 0;
field801 = 0;
field918 = new int[1000];
playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51};
playerMenuActions = new String[8];
playerOptionsPriorities = new boolean[8];
defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792};
combatTargetPlayerIndex = -1;
groundItems = new NodeDeque[4][104][104];
pendingSpawns = new NodeDeque();
projectiles = new NodeDeque();
graphicsObjects = new NodeDeque();
currentLevels = new int[25];
levels = new int[25];
experience = new int[25];
leftClickOpensMenu = 0;
isMenuOpen = false;
menuOptionsCount = 0;
menuArguments1 = new int[500];
menuArguments2 = new int[500];
menuOpcodes = new int[500];
menuIdentifiers = new int[500];
menuActions = new String[500];
menuTargets = new String[500];
menuShiftClick = new boolean[500];
followerOpsLowPriority = false;
shiftClickDrop = false;
tapToDrop = false;
showMouseOverText = true;
viewportX = -1;
viewportY = -1;
field871 = 0;
field832 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field837 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field842 = 0;
field843 = -1;
chatEffects = 0;
field845 = 0;
meslayerContinueWidget = null;
runEnergy = 0;
weight = 0;
staffModLevel = 0;
followerIndex = -1;
playerMod = false;
viewportWidget = null;
clickedWidget = null;
clickedWidgetParent = null;
widgetClickX = 0;
widgetClickY = 0;
draggedOnWidget = null;
field732 = false;
field859 = -1;
field881 = -1;
field861 = false;
field834 = -1;
field863 = -1;
isDraggingWidget = false;
cycleCntr = 1;
field866 = new int[32];
field772 = 0;
changedItemContainers = new int[32];
field869 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
chatCycle = 0;
field873 = 0;
field874 = 0;
field774 = 0;
field726 = 0;
field877 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field727 = new NodeDeque();
field919 = new NodeDeque();
widgetClickMasks = new NodeHashTable(512);
rootWidgetCount = 0;
field884 = -2;
field679 = new boolean[100];
field886 = new boolean[100];
field813 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field893 = 0L;
isResizable = true;
field895 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field814 = "";
field846 = new long[100];
field900 = 0;
field901 = 0;
field902 = new int[128];
field872 = new int[128];
field904 = -1L;
field695 = -1;
mapIconCount = 0;
mapIconXs = new int[1000];
mapIconYs = new int[1000];
mapIcons = new Sprite[1000];
destinationX = 0;
destinationY = 0;
minimapState = 0;
musicVolume = 255;
currentTrackGroupId = -1;
field915 = false;
soundEffectVolume = 127;
areaSoundEffectVolume = 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;
field926 = new boolean[5];
field788 = new int[5];
field730 = new int[5];
field929 = new int[5];
field930 = new int[5];
field931 = 256;
field932 = 205;
zoomHeight = 256;
zoomWidth = 320;
field935 = 1;
field748 = 32767;
field937 = 1;
field938 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerAppearance();
field945 = -1;
field946 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field891 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field898 = 0;
field954 = new ApproximateRouteStrategy();
field955 = new int[50];
field956 = new int[50];
}
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "108"
)
@Export("resizeGame")
protected final void resizeGame() {
field893 = class217.currentTimeMillis() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("am")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-678556074"
)
@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) {
RunException.ByteArrayPool_alternativeSizes = var1;
ByteArrayPool.ByteArrayPool_altSizeArrayCounts = new int[var1.length];
ByteArrayPool.ByteArrayPool_arrays = new byte[var1.length][][];
for (int var5 = 0; var5 < RunException.ByteArrayPool_alternativeSizes.length; ++var5) {
ByteArrayPool.ByteArrayPool_arrays[var5] = new byte[var2[var5]][];
}
} else {
RunException.ByteArrayPool_alternativeSizes = null;
ByteArrayPool.ByteArrayPool_altSizeArrayCounts = null;
ByteArrayPool.ByteArrayPool_arrays = null;
}
WorldMapLabelSize.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
GrandExchangeOfferAgeComparator.port2 = gameBuild == 0 ? 443 : worldId + 50000;
class280.port3 = WorldMapLabelSize.port1;
WorldMapLabel.field278 = class224.field2544;
VertexNormal.field1764 = class224.field2547;
PlayerAppearance.field2539 = class224.field2546;
PlayerAppearance.field2535 = class224.field2545;
WorldMapLabel.urlRequester = new UrlRequester();
this.setUpKeyboard();
this.setUpMouse();
SecureRandomFuture.mouseWheel = this.mouseWheel();
WorldMapRegion.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
GrandExchangeOfferOwnWorldComparator.clientPreferences = WorldMapData_1.method813();
this.setUpClipboard();
String var4 = WorldMapCacheName.null_string;
class60.applet = this;
if (var4 != null) {
class60.field462 = var4;
}
if (gameBuild != 0) {
displayFps = true;
}
WorldMapIcon_1.setWindowedMode(GrandExchangeOfferOwnWorldComparator.clientPreferences.windowMode);
Projectile.friendSystem = new FriendSystem(WorldMapIcon_0.loginType);
}
@ObfuscatedName("au")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-113"
)
@Export("doCycle")
protected final void doCycle() {
++cycle;
this.doCycleJs5();
while (true) {
ArchiveDiskAction var1;
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast();
}
if (var1 == null) {
int var5;
try {
if (class206.field2406 == 1) {
var5 = class206.midiPcmStream.method3793();
if (var5 > 0 && class206.midiPcmStream.isReady()) {
var5 -= AttackOption.field1187;
if (var5 < 0) {
var5 = 0;
}
class206.midiPcmStream.setPcmStreamVolume(var5);
} else {
class206.midiPcmStream.clear();
class206.midiPcmStream.removeAll();
if (class206.musicTrackArchive != null) {
class206.field2406 = 2;
} else {
class206.field2406 = 0;
}
class206.musicTrack = null;
UrlRequest.soundCache = null;
}
}
} catch (Exception var9) {
var9.printStackTrace();
class206.midiPcmStream.clear();
class206.field2406 = 0;
class206.musicTrack = null;
UrlRequest.soundCache = null;
class206.musicTrackArchive = null;
}
ChatChannel.playPcmPlayers();
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field434 = KeyHandler.field436;
KeyHandler.field417 = 0;
int var6;
if (KeyHandler.field429 >= 0) {
while (KeyHandler.field439 != KeyHandler.field429) {
var6 = KeyHandler.field427[KeyHandler.field439];
KeyHandler.field439 = KeyHandler.field439 + 1 & 127;
if (var6 < 0) {
KeyHandler.KeyHandler_pressedKeys[~var6] = false;
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field417 < KeyHandler.field432.length - 1) {
KeyHandler.field432[++KeyHandler.field417 - 1] = var6;
}
KeyHandler.KeyHandler_pressedKeys[var6] = true;
}
}
} else {
for (var6 = 0; var6 < 112; ++var6) {
KeyHandler.KeyHandler_pressedKeys[var6] = false;
}
KeyHandler.field429 = KeyHandler.field439;
}
if (KeyHandler.field417 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field436 = KeyHandler.field433;
}
class52.method900();
if (SecureRandomFuture.mouseWheel != null) {
var5 = SecureRandomFuture.mouseWheel.useRotation();
mouseWheelRotation = var5;
}
if (gameState == 0) {
class237.load();
GameShell.clock.mark();
for (var5 = 0; var5 < 32; ++var5) {
GameShell.graphicsTickTimes[var5] = 0L;
}
for (var5 = 0; var5 < 32; ++var5) {
GameShell.clientTickTimes[var5] = 0L;
}
ModelData0.gameCyclesToDo = 0;
} else if (gameState == 5) {
GrandExchangeOfferAgeComparator.doCycleTitle(this);
class237.load();
GameShell.clock.mark();
for (var5 = 0; var5 < 32; ++var5) {
GameShell.graphicsTickTimes[var5] = 0L;
}
for (var5 = 0; var5 < 32; ++var5) {
GameShell.clientTickTimes[var5] = 0L;
}
ModelData0.gameCyclesToDo = 0;
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
GrandExchangeOfferAgeComparator.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
GrandExchangeEvent.method161();
}
} else {
GrandExchangeOfferAgeComparator.doCycleTitle(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("ao")
@ObfuscatedSignature(
signature = "(ZB)V",
garbageValue = "1"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2;
label173: {
try {
if (class206.field2406 == 2) {
if (class206.musicTrack == null) {
class206.musicTrack = MusicTrack.readTrack(class206.musicTrackArchive, class206.musicTrackGroupId, class206.musicTrackFileId);
if (class206.musicTrack == null) {
var2 = false;
break label173;
}
}
if (UrlRequest.soundCache == null) {
UrlRequest.soundCache = new SoundCache(class206.soundEffectsArchive, class206.musicSamplesArchive);
}
if (class206.midiPcmStream.loadMusicTrack(class206.musicTrack, class58.musicPatchesArchive, UrlRequest.soundCache, 22050)) {
class206.midiPcmStream.clearAll();
class206.midiPcmStream.setPcmStreamVolume(class219.musicTrackVolume);
class206.midiPcmStream.setMusicTrack(class206.musicTrack, GrandExchangeOfferUnitPriceComparator.musicTrackBoolean);
class206.field2406 = 0;
class206.musicTrack = null;
UrlRequest.soundCache = null;
class206.musicTrackArchive = null;
var2 = true;
break label173;
}
}
} catch (Exception var6) {
var6.printStackTrace();
class206.midiPcmStream.clear();
class206.field2406 = 0;
class206.musicTrack = null;
UrlRequest.soundCache = null;
class206.musicTrackArchive = null;
}
var2 = false;
}
if (var2 && field915 && WorldMapManager.pcmPlayer0 != null) {
WorldMapManager.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field893 && class217.currentTimeMillis() > field893) {
WorldMapIcon_1.setWindowedMode(ApproximateRouteStrategy.getWindowedMode());
}
int var4;
if (var1) {
for (var4 = 0; var4 < 100; ++var4) {
field679[var4] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
MouseRecorder.drawTitle(TaskHandler.fontBold12, Script.fontPlain11, WorldMapData_0.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
MouseRecorder.drawTitle(TaskHandler.fontBold12, Script.fontPlain11, WorldMapData_0.fontPlain12);
} else if (gameState == 25) {
if (field899 == 1) {
if (field818 > field921) {
field921 = field818;
}
var4 = (field921 * 50 - field818 * 50) / field921;
AbstractByteArrayCopier.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
} else if (field899 == 2) {
if (field734 > field735) {
field735 = field734;
}
var4 = (field735 * 50 - field734 * 50) / field735 + 50;
AbstractByteArrayCopier.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
} else {
AbstractByteArrayCopier.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
AbstractByteArrayCopier.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
AbstractByteArrayCopier.drawLoadingMessage("Please wait...", false);
}
} else {
MouseRecorder.drawTitle(TaskHandler.fontBold12, Script.fontPlain11, WorldMapData_0.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
if (field886[var4]) {
class206.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]);
field886[var4] = false;
}
}
} else if (gameState > 0) {
class206.rasterProvider.drawFull(0, 0);
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
field886[var4] = false;
}
}
}
@ObfuscatedName("aq")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "8226"
)
@Export("kill0")
protected final void kill0() {
if (UserComparator4.varcs.hasUnwrittenChanges()) {
UserComparator4.varcs.write();
}
if (MidiPcmStream.mouseRecorder != null) {
MidiPcmStream.mouseRecorder.isRunning = false;
}
MidiPcmStream.mouseRecorder = null;
packetWriter.close();
if (KeyHandler.KeyHandler_instance != null) {
synchronized(KeyHandler.KeyHandler_instance) {
KeyHandler.KeyHandler_instance = null;
}
}
GraphicsObject.method2121();
SecureRandomFuture.mouseWheel = null;
if (WorldMapManager.pcmPlayer0 != null) {
WorldMapManager.pcmPlayer0.shutdown();
}
if (AbstractWorldMapData.pcmPlayer1 != null) {
AbstractWorldMapData.pcmPlayer1.shutdown();
}
class7.method104();
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) {
if (ArchiveDiskActionHandler.field3151 != 0) {
ArchiveDiskActionHandler.field3151 = 1;
try {
ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait();
} catch (InterruptedException var5) {
}
}
}
if (WorldMapLabel.urlRequester != null) {
WorldMapLabel.urlRequester.close();
WorldMapLabel.urlRequester = null;
}
try {
JagexCache.JagexCache_dat2File.close();
for (int var4 = 0; var4 < InterfaceParent.idxCount; ++var4) {
PacketBufferNode.JagexCache_idxFiles[var4].close();
}
JagexCache.JagexCache_idx255File.close();
JagexCache.JagexCache_randomDat.close();
} catch (Exception var7) {
}
}
@ObfuscatedName("ad")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-277226112"
)
protected final void vmethod1400() {
}
public final void init() {
try {
if (this.checkHost()) {
for (int var1 = 0; var1 <= 19; ++var1) {
String var2 = this.getParameter(Integer.toString(var1));
if (var2 != null) {
switch(var1) {
case 1:
useBufferedSocket = Integer.parseInt(var2) != 0;
case 2:
case 11:
case 13:
case 16:
default:
break;
case 3:
if (var2.equalsIgnoreCase("true")) {
isMembersWorld = true;
} else {
isMembersWorld = false;
}
break;
case 4:
if (clientType == -1) {
clientType = Integer.parseInt(var2);
}
break;
case 5:
worldProperties = Integer.parseInt(var2);
break;
case 6:
IgnoreList.clientLanguage = Language.Language_get(Integer.parseInt(var2));
break;
case 7:
class198.field2353 = Strings.ServerBuild_get(Integer.parseInt(var2));
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
WorldMapData_0.field137 = var2;
break;
case 10:
StudioGame[] var3 = new StudioGame[]{StudioGame.runescape, StudioGame.stellardawn, StudioGame.oldscape, StudioGame.game5, StudioGame.game3, StudioGame.game4};
WorldMapArchiveLoader.field3965 = (StudioGame)GrandExchangeEvent.findEnumerated(var3, Integer.parseInt(var2));
if (WorldMapArchiveLoader.field3965 == StudioGame.oldscape) {
WorldMapIcon_0.loginType = LoginType.oldscape;
} else {
WorldMapIcon_0.loginType = LoginType.field4054;
}
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
KitDefinition.field3271 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
ModeWhere.worldListURL = var2;
}
}
}
Scene.Scene_isLowDetail = false;
isLowDetail = false;
Script.worldHost = this.getCodeBase().getHost();
String var17 = class198.field2353.name;
byte var18 = 0;
try {
InterfaceParent.idxCount = 21;
class8.cacheGamebuild = var18;
try {
SequenceDefinition.field3527 = System.getProperty("os.name");
} catch (Exception var34) {
SequenceDefinition.field3527 = "Unknown";
}
class171.field2016 = SequenceDefinition.field3527.toLowerCase();
try {
AbstractWorldMapData.userHomeDirectory = System.getProperty("user.home");
if (AbstractWorldMapData.userHomeDirectory != null) {
AbstractWorldMapData.userHomeDirectory = AbstractWorldMapData.userHomeDirectory + "/";
}
} catch (Exception var33) {
}
try {
if (class171.field2016.startsWith("win")) {
if (AbstractWorldMapData.userHomeDirectory == null) {
AbstractWorldMapData.userHomeDirectory = System.getenv("USERPROFILE");
}
} else if (AbstractWorldMapData.userHomeDirectory == null) {
AbstractWorldMapData.userHomeDirectory = System.getenv("HOME");
}
if (AbstractWorldMapData.userHomeDirectory != null) {
AbstractWorldMapData.userHomeDirectory = AbstractWorldMapData.userHomeDirectory + "/";
}
} catch (Exception var32) {
}
if (AbstractWorldMapData.userHomeDirectory == null) {
AbstractWorldMapData.userHomeDirectory = "~/";
}
Varps.field2522 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", AbstractWorldMapData.userHomeDirectory, "/tmp/", ""};
AbstractRasterProvider.field3871 = new String[]{".jagex_cache_" + class8.cacheGamebuild, ".file_store_" + class8.cacheGamebuild};
int var19 = 0;
label276:
while (var19 < 4) {
String var5 = var19 == 0 ? "" : "" + var19;
JagexCache.JagexCache_locationFile = new File(AbstractWorldMapData.userHomeDirectory, "jagex_cl_oldschool_" + var17 + var5 + ".dat");
String var6 = null;
String var7 = null;
boolean var8 = false;
int var11;
int var13;
File var42;
if (JagexCache.JagexCache_locationFile.exists()) {
try {
AccessFile var9 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L);
Buffer var10;
for (var10 = new Buffer((int)var9.length()); var10.offset < var10.array.length; var10.offset += var11) {
var11 = var9.read(var10.array, var10.offset, var10.array.length - var10.offset);
if (var11 == -1) {
throw new IOException();
}
}
var10.offset = 0;
var11 = var10.readUnsignedByte();
if (var11 < 1 || var11 > 3) {
throw new IOException("" + var11);
}
int var12 = 0;
if (var11 > 1) {
var12 = var10.readUnsignedByte();
}
if (var11 <= 2) {
var6 = var10.readStringCp1252NullCircumfixed();
if (var12 == 1) {
var7 = var10.readStringCp1252NullCircumfixed();
}
} else {
var6 = var10.readCESU8();
if (var12 == 1) {
var7 = var10.readCESU8();
}
}
var9.close();
} catch (IOException var36) {
var36.printStackTrace();
}
if (var6 != null) {
var42 = new File(var6);
if (!var42.exists()) {
var6 = null;
}
}
if (var6 != null) {
var42 = new File(var6, "test.dat");
boolean var45;
try {
RandomAccessFile var20 = new RandomAccessFile(var42, "rw");
var13 = var20.read();
var20.seek(0L);
var20.write(var13);
var20.seek(0L);
var20.close();
var42.delete();
var45 = true;
} catch (Exception var31) {
var45 = false;
}
if (!var45) {
var6 = null;
}
}
}
if (var6 == null && var19 == 0) {
label252:
for (int var21 = 0; var21 < AbstractRasterProvider.field3871.length; ++var21) {
for (int var22 = 0; var22 < Varps.field2522.length; ++var22) {
File var23 = new File(Varps.field2522[var22] + AbstractRasterProvider.field3871[var21] + File.separatorChar + "oldschool" + File.separatorChar);
if (var23.exists()) {
File var24 = new File(var23, "test.dat");
boolean var46;
try {
RandomAccessFile var14 = new RandomAccessFile(var24, "rw");
int var15 = var14.read();
var14.seek(0L);
var14.write(var15);
var14.seek(0L);
var14.close();
var24.delete();
var46 = true;
} catch (Exception var30) {
var46 = false;
}
if (var46) {
var6 = var23.toString();
var8 = true;
break label252;
}
}
}
}
}
if (var6 == null) {
var6 = AbstractWorldMapData.userHomeDirectory + File.separatorChar + "jagexcache" + var5 + File.separatorChar + "oldschool" + File.separatorChar + var17 + File.separatorChar;
var8 = true;
}
if (var7 != null) {
File var41 = new File(var7);
var42 = new File(var6);
try {
File[] var50 = var41.listFiles();
File[] var48 = var50;
for (var13 = 0; var13 < var48.length; ++var13) {
File var47 = var48[var13];
File var25 = new File(var42, var47.getName());
boolean var16 = var47.renameTo(var25);
if (!var16) {
throw new IOException();
}
}
} catch (Exception var35) {
var35.printStackTrace();
}
var8 = true;
}
if (var8) {
GameObject.method3408(new File(var6), (File)null);
}
File var4 = new File(var6);
class92.cacheDir = var4;
if (!class92.cacheDir.exists()) {
class92.cacheDir.mkdirs();
}
File[] var40 = class92.cacheDir.listFiles();
if (var40 == null) {
break;
}
File[] var43 = var40;
int var26 = 0;
while (true) {
if (var26 >= var43.length) {
break label276;
}
File var27 = var43[var26];
boolean var49;
try {
RandomAccessFile var44 = new RandomAccessFile(var27, "rw");
var11 = var44.read();
var44.seek(0L);
var44.write(var11);
var44.seek(0L);
var44.close();
var49 = true;
} catch (Exception var29) {
var49 = false;
}
if (!var49) {
++var19;
break;
}
++var26;
}
}
File var39 = class92.cacheDir;
FileSystem.FileSystem_cacheDir = var39;
if (!FileSystem.FileSystem_cacheDir.exists()) {
throw new RuntimeException("");
}
FileSystem.FileSystem_hasPermissions = true;
Huffman.method4045();
JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(ViewportMouse.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(ViewportMouse.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
PacketBufferNode.JagexCache_idxFiles = new BufferedFile[InterfaceParent.idxCount];
for (int var28 = 0; var28 < InterfaceParent.idxCount; ++var28) {
PacketBufferNode.JagexCache_idxFiles[var28] = new BufferedFile(new AccessFile(ViewportMouse.getFile("main_file_cache.idx" + var28), "rw", 1048576L), 6000, 0);
}
} catch (Exception var37) {
WorldMapDecorationType.RunException_sendStackTrace((String)null, var37);
}
WorldMapSection1.client = this;
RunException.clientType = clientType;
this.startThread(765, 503, 189);
}
} catch (RuntimeException var38) {
throw WorldMapSection3.newRunException(var38, "client.init(" + ')');
}
}
@ObfuscatedName("eg")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "0"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
long var2 = class217.currentTimeMillis();
int var4 = (int)(var2 - NetCache.field3165);
NetCache.field3165 = var2;
if (var4 > 200) {
var4 = 200;
}
NetCache.NetCache_loadTime += var4;
boolean var1;
if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) {
var1 = true;
} else if (NetCache.NetCache_socket == null) {
var1 = false;
} else {
try {
label243: {
if (NetCache.NetCache_loadTime > 30000) {
throw new IOException();
}
NetFileRequest var5;
Buffer var6;
while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) {
var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first();
var6 = new Buffer(4);
var6.writeByte(1);
var6.writeMedium((int)var5.key);
NetCache.NetCache_socket.write(var6.array, 0, 4);
NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key);
--NetCache.NetCache_pendingPriorityWritesCount;
++NetCache.NetCache_pendingPriorityResponsesCount;
}
while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) {
var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast();
var6 = new Buffer(4);
var6.writeByte(0);
var6.writeMedium((int)var5.key);
NetCache.NetCache_socket.write(var6.array, 0, 4);
var5.removeDual();
NetCache.NetCache_pendingResponses.put(var5, var5.key);
--NetCache.NetCache_pendingWritesCount;
++NetCache.NetCache_pendingResponsesCount;
}
for (int var17 = 0; var17 < 100; ++var17) {
int var18 = NetCache.NetCache_socket.available();
if (var18 < 0) {
throw new IOException();
}
if (var18 == 0) {
break;
}
NetCache.NetCache_loadTime = 0;
byte var7 = 0;
if (NetCache.NetCache_currentResponse == null) {
var7 = 8;
} else if (NetCache.field3178 == 0) {
var7 = 1;
}
int var8;
int var9;
int var10;
int var12;
byte[] var10000;
int var10001;
Buffer var25;
if (var7 > 0) {
var8 = var7 - NetCache.NetCache_responseHeaderBuffer.offset;
if (var8 > var18) {
var8 = var18;
}
NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var8);
if (NetCache.field3163 != 0) {
for (var9 = 0; var9 < var8; ++var9) {
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
var10001 = NetCache.NetCache_responseHeaderBuffer.offset + var9;
var10000[var10001] ^= NetCache.field3163;
}
}
var25 = NetCache.NetCache_responseHeaderBuffer;
var25.offset += var8;
if (NetCache.NetCache_responseHeaderBuffer.offset < var7) {
break;
}
if (NetCache.NetCache_currentResponse == null) {
NetCache.NetCache_responseHeaderBuffer.offset = 0;
var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
var10 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort();
int var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
var12 = NetCache.NetCache_responseHeaderBuffer.readInt();
long var13 = (long)(var10 + (var9 << 16));
NetFileRequest var15 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var13);
GrandExchangeOfferOwnWorldComparator.field677 = true;
if (var15 == null) {
var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13);
GrandExchangeOfferOwnWorldComparator.field677 = false;
}
if (var15 == null) {
throw new IOException();
}
int var16 = var11 == 0 ? 5 : 9;
NetCache.NetCache_currentResponse = var15;
NetCache.NetCache_responseArchiveBuffer = new Buffer(var12 + var16 + NetCache.NetCache_currentResponse.padding);
NetCache.NetCache_responseArchiveBuffer.writeByte(var11);
NetCache.NetCache_responseArchiveBuffer.writeInt(var12);
NetCache.field3178 = 8;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else if (NetCache.field3178 == 0) {
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
NetCache.field3178 = 1;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else {
NetCache.NetCache_currentResponse = null;
}
}
} else {
var8 = NetCache.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding;
var9 = 512 - NetCache.field3178;
if (var9 > var8 - NetCache.NetCache_responseArchiveBuffer.offset) {
var9 = var8 - NetCache.NetCache_responseArchiveBuffer.offset;
}
if (var9 > var18) {
var9 = var18;
}
NetCache.NetCache_socket.read(NetCache.NetCache_responseArchiveBuffer.array, NetCache.NetCache_responseArchiveBuffer.offset, var9);
if (NetCache.field3163 != 0) {
for (var10 = 0; var10 < var9; ++var10) {
var10000 = NetCache.NetCache_responseArchiveBuffer.array;
var10001 = var10 + NetCache.NetCache_responseArchiveBuffer.offset;
var10000[var10001] ^= NetCache.field3163;
}
}
var25 = NetCache.NetCache_responseArchiveBuffer;
var25.offset += var9;
NetCache.field3178 += var9;
if (var8 == NetCache.NetCache_responseArchiveBuffer.offset) {
if (NetCache.NetCache_currentResponse.key == 16711935L) {
class13.NetCache_reference = NetCache.NetCache_responseArchiveBuffer;
for (var10 = 0; var10 < 256; ++var10) {
Archive var19 = NetCache.NetCache_archives[var10];
if (var19 != null) {
class13.NetCache_reference.offset = var10 * 8 + 5;
var12 = class13.NetCache_reference.readInt();
int var20 = class13.NetCache_reference.readInt();
var19.loadIndex(var12, var20);
}
}
} else {
NetCache.NetCache_crc.reset();
NetCache.NetCache_crc.update(NetCache.NetCache_responseArchiveBuffer.array, 0, var8);
var10 = (int)NetCache.NetCache_crc.getValue();
if (var10 != NetCache.NetCache_currentResponse.crc) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var23) {
}
++NetCache.NetCache_crcMismatches;
NetCache.NetCache_socket = null;
NetCache.field3163 = (byte)((int)(Math.random() * 255.0D + 1.0D));
var1 = false;
break label243;
}
NetCache.NetCache_crcMismatches = 0;
NetCache.NetCache_ioExceptions = 0;
NetCache.NetCache_currentResponse.archive.write((int)(NetCache.NetCache_currentResponse.key & 65535L), NetCache.NetCache_responseArchiveBuffer.array, (NetCache.NetCache_currentResponse.key & 16711680L) == 16711680L, GrandExchangeOfferOwnWorldComparator.field677);
}
NetCache.NetCache_currentResponse.remove();
if (GrandExchangeOfferOwnWorldComparator.field677) {
--NetCache.NetCache_pendingPriorityResponsesCount;
} else {
--NetCache.NetCache_pendingResponsesCount;
}
NetCache.field3178 = 0;
NetCache.NetCache_currentResponse = null;
NetCache.NetCache_responseArchiveBuffer = null;
} else {
if (NetCache.field3178 != 512) {
break;
}
NetCache.field3178 = 0;
}
}
}
var1 = true;
}
} catch (IOException var24) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var22) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
var1 = false;
}
}
if (!var1) {
this.doCycleJs5Connect();
}
}
}
@ObfuscatedName("es")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1183665566"
)
@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;
}
field709 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field709 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
WorldMapManager.js5SocketTask = class227.taskHandler.newSocketTask(Script.worldHost, class280.port3);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (WorldMapManager.js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (WorldMapManager.js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
MusicPatchNode.js5Socket = Buffer.method5794((Socket)WorldMapManager.js5SocketTask.result, 40000, 5000);
} else {
MusicPatchNode.js5Socket = new NetSocket((Socket)WorldMapManager.js5SocketTask.result, class227.taskHandler, 5000);
}
Buffer var1 = new Buffer(5);
var1.writeByte(15);
var1.writeInt(189);
MusicPatchNode.js5Socket.write(var1.array, 0, 5);
++js5ConnectState;
class58.field455 = class217.currentTimeMillis();
}
if (js5ConnectState == 3) {
if (MusicPatchNode.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var2 = MusicPatchNode.js5Socket.readUnsignedByte();
if (var2 != 0) {
this.js5Error(var2);
return;
}
++js5ConnectState;
} else if (class217.currentTimeMillis() - class58.field455 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
GrandExchangeOfferUnitPriceComparator.method222(MusicPatchNode.js5Socket, gameState > 20);
WorldMapManager.js5SocketTask = null;
MusicPatchNode.js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
}
} catch (IOException var3) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("fk")
@ObfuscatedSignature(
signature = "(II)V",
garbageValue = "-2003740384"
)
@Export("js5Error")
void js5Error(int var1) {
WorldMapManager.js5SocketTask = null;
MusicPatchNode.js5Socket = null;
js5ConnectState = 0;
if (WorldMapLabelSize.port1 == class280.port3) {
class280.port3 = GrandExchangeOfferAgeComparator.port2;
} else {
class280.port3 = WorldMapLabelSize.port1;
}
++js5Errors;
if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) {
if (gameState <= 5) {
this.error("js5connect_full");
gameState = 1000;
} else {
field709 = 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 {
field709 = 3000;
}
}
}
@ObfuscatedName("fi")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "931463513"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (MouseHandler.secureRandom == null && (secureRandomFuture.isDone() || field712 > 250)) {
MouseHandler.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (MouseHandler.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
AbstractWorldMapIcon.socketTask = null;
field728 = false;
field712 = 0;
loginState = 1;
}
}
if (loginState == 1) {
if (AbstractWorldMapIcon.socketTask == null) {
AbstractWorldMapIcon.socketTask = class227.taskHandler.newSocketTask(Script.worldHost, class280.port3);
}
if (AbstractWorldMapIcon.socketTask.status == 2) {
throw new IOException();
}
if (AbstractWorldMapIcon.socketTask.status == 1) {
if (useBufferedSocket) {
var1 = Buffer.method5794((Socket)AbstractWorldMapIcon.socketTask.result, 40000, 5000);
} else {
var1 = new NetSocket((Socket)AbstractWorldMapIcon.socketTask.result, class227.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
AbstractWorldMapIcon.socketTask = null;
loginState = 2;
}
}
PacketBufferNode var4;
if (loginState == 2) {
packetWriter.clearBuffer();
var4 = UserComparator9.method3496();
var4.clientPacket = null;
var4.clientPacketLength = 0;
var4.packetBuffer = new PacketBuffer(5000);
var4.packetBuffer.writeByte(LoginPacket.field2315.id);
packetWriter.addNode(var4);
packetWriter.flush();
var2.offset = 0;
loginState = 3;
}
boolean var13;
int var14;
if (loginState == 3) {
if (WorldMapManager.pcmPlayer0 != null) {
WorldMapManager.pcmPlayer0.method2537();
}
if (AbstractWorldMapData.pcmPlayer1 != null) {
AbstractWorldMapData.pcmPlayer1.method2537();
}
var13 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var13 = false;
}
if (var13) {
var14 = ((AbstractSocket)var1).readUnsignedByte();
if (WorldMapManager.pcmPlayer0 != null) {
WorldMapManager.pcmPlayer0.method2537();
}
if (AbstractWorldMapData.pcmPlayer1 != null) {
AbstractWorldMapData.pcmPlayer1.method2537();
}
if (var14 != 0) {
PlayerAppearance.getLoginError(var14);
return;
}
var2.offset = 0;
loginState = 4;
}
}
int var36;
if (loginState == 4) {
if (var2.offset < 8) {
var36 = ((AbstractSocket)var1).available();
if (var36 > 8 - var2.offset) {
var36 = 8 - var2.offset;
}
if (var36 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var36);
var2.offset += var36;
}
}
if (var2.offset == 8) {
var2.offset = 0;
ChatChannel.field1319 = var2.readLong();
loginState = 5;
}
}
int var7;
int var9;
int var15;
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var3 = new PacketBuffer(500);
int[] var27 = new int[]{MouseHandler.secureRandom.nextInt(), MouseHandler.secureRandom.nextInt(), MouseHandler.secureRandom.nextInt(), MouseHandler.secureRandom.nextInt()};
var3.offset = 0;
var3.writeByte(1);
var3.writeInt(var27[0]);
var3.writeInt(var27[1]);
var3.writeInt(var27[2]);
var3.writeInt(var27[3]);
var3.writeLong(ChatChannel.field1319);
if (gameState == 40) {
var3.writeInt(class105.field1345[0]);
var3.writeInt(class105.field1345[1]);
var3.writeInt(class105.field1345[2]);
var3.writeInt(class105.field1345[3]);
} else {
var3.writeByte(field715.rsOrdinal());
switch(field715.field2014) {
case 0:
LinkedHashMap var6 = GrandExchangeOfferOwnWorldComparator.clientPreferences.parameters;
String var8 = Login.Login_username;
var9 = var8.length();
int var10 = 0;
for (int var11 = 0; var11 < var9; ++var11) {
var10 = (var10 << 5) - var10 + var8.charAt(var11);
}
var3.writeInt((Integer)var6.get(var10));
break;
case 1:
case 2:
var3.writeMedium(GraphicsObject.field1141);
++var3.offset;
break;
case 3:
var3.offset += 4;
}
var3.writeByte(class322.field3825.rsOrdinal());
var3.writeStringCp1252NullTerminated(Login.Login_password);
}
var3.encryptRsa(class92.field1181, class92.field1178);
class105.field1345 = var27;
PacketBufferNode var33 = UserComparator9.method3496();
var33.clientPacket = null;
var33.clientPacketLength = 0;
var33.packetBuffer = new PacketBuffer(5000);
var33.packetBuffer.offset = 0;
if (gameState == 40) {
var33.packetBuffer.writeByte(LoginPacket.field2313.id);
} else {
var33.packetBuffer.writeByte(LoginPacket.field2317.id);
}
var33.packetBuffer.writeShort(0);
var7 = var33.packetBuffer.offset;
var33.packetBuffer.writeInt(189);
var33.packetBuffer.writeInt(1);
var33.packetBuffer.writeByte(clientType);
var33.packetBuffer.writeBytes(var3.array, 0, var3.offset);
var15 = var33.packetBuffer.offset;
var33.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var33.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var33.packetBuffer.writeShort(WorldMapLabel.canvasWidth);
var33.packetBuffer.writeShort(Varps.canvasHeight);
PacketBuffer var16 = var33.packetBuffer;
if (randomDatData != null) {
var16.writeBytes(randomDatData, 0, randomDatData.length);
} else {
byte[] var17 = GraphicsObject.method2120();
var16.writeBytes(var17, 0, var17.length);
}
var33.packetBuffer.writeStringCp1252NullTerminated(WorldMapData_0.field137);
var33.packetBuffer.writeInt(KitDefinition.field3271);
Buffer var38 = new Buffer(Varcs.platformInfo.size());
Varcs.platformInfo.write(var38);
var33.packetBuffer.writeBytes(var38.array, 0, var38.array.length);
var33.packetBuffer.writeByte(clientType);
var33.packetBuffer.writeInt(0);
var33.packetBuffer.writeInt(ArchiveDiskAction.archive0.hash);
var33.packetBuffer.writeInt(DirectByteArrayCopier.archive1.hash);
var33.packetBuffer.writeInt(GrandExchangeOffer.archive2.hash);
var33.packetBuffer.writeInt(WorldMapSprite.archive3.hash);
var33.packetBuffer.writeInt(FontName.archive4.hash);
var33.packetBuffer.writeInt(WorldMapIcon_0.archive5.hash);
var33.packetBuffer.writeInt(AbstractWorldMapIcon.archive6.hash);
var33.packetBuffer.writeInt(AbstractWorldMapIcon.archive7.hash);
var33.packetBuffer.writeInt(class228.archive8.hash);
var33.packetBuffer.writeInt(SecureRandomFuture.archive9.hash);
var33.packetBuffer.writeInt(PlayerAppearance.archive10.hash);
var33.packetBuffer.writeInt(WorldMapRegion.archive11.hash);
var33.packetBuffer.writeInt(class41.archive12.hash);
var33.packetBuffer.writeInt(NPC.archive13.hash);
var33.packetBuffer.writeInt(class224.archive14.hash);
var33.packetBuffer.writeInt(GrandExchangeOfferNameComparator.archive15.hash);
var33.packetBuffer.writeInt(0);
var33.packetBuffer.writeInt(MenuAction.archive17.hash);
var33.packetBuffer.writeInt(UserComparator9.archive18.hash);
var33.packetBuffer.writeInt(class278.archive19.hash);
var33.packetBuffer.writeInt(class25.archive20.hash);
var33.packetBuffer.xteaEncrypt(var27, var15, var33.packetBuffer.offset);
var33.packetBuffer.writeLengthShort(var33.packetBuffer.offset - var7);
packetWriter.addNode(var33);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var27);
int[] var18 = new int[4];
for (int var12 = 0; var12 < 4; ++var12) {
var18[var12] = var27[var12] + 50;
}
var2.newIsaacCipher(var18);
loginState = 6;
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var36 = ((AbstractSocket)var1).readUnsignedByte();
if (var36 == 21 && gameState == 20) {
loginState = 12;
} else if (var36 == 2) {
loginState = 14;
} else if (var36 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
loginState = 19;
} else if (var36 == 64) {
loginState = 10;
} else if (var36 == 23 && field713 < 1) {
++field713;
loginState = 0;
} else if (var36 == 29) {
loginState = 17;
} else {
if (var36 != 69) {
PlayerAppearance.getLoginError(var36);
return;
}
loginState = 7;
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) {
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
MilliClock.field2026 = var2.readUnsignedShort();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= MilliClock.field2026) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, var2.offset, MilliClock.field2026);
class7[] var25 = new class7[]{class7.field34};
class7 var28 = var25[var2.readUnsignedByte()];
try {
switch(var28.field30) {
case 0:
class5 var5 = new class5();
this.field719 = new class9(var2, var5);
loginState = 9;
break;
default:
throw new IllegalArgumentException();
}
} catch (Exception var23) {
PlayerAppearance.getLoginError(22);
return;
}
}
if (loginState == 9 && this.field719.method111()) {
this.field718 = this.field719.method113();
this.field719.method110();
this.field719 = null;
if (this.field718 == null) {
PlayerAppearance.getLoginError(22);
return;
}
packetWriter.clearBuffer();
var4 = UserComparator9.method3496();
var4.clientPacket = null;
var4.clientPacketLength = 0;
var4.packetBuffer = new PacketBuffer(5000);
var4.packetBuffer.writeByte(LoginPacket.field2314.id);
var4.packetBuffer.writeShort(this.field718.offset);
var4.packetBuffer.method5789(this.field718);
packetWriter.addNode(var4);
packetWriter.flush();
this.field718 = null;
loginState = 6;
}
if (loginState == 10 && ((AbstractSocket)var1).available() > 0) {
class52.field407 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 11;
}
if (loginState == 11 && ((AbstractSocket)var1).available() >= class52.field407) {
((AbstractSocket)var1).read(var2.array, 0, class52.field407);
var2.offset = 0;
loginState = 6;
}
if (loginState == 12 && ((AbstractSocket)var1).available() > 0) {
field714 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
loginState = 13;
}
if (loginState == 13) {
field712 = 0;
HealthBarUpdate.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field714 / 60 + " seconds.");
if (--field714 <= 0) {
loginState = 0;
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) {
GrandExchangeEvents.field71 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 15;
}
if (loginState == 15 && ((AbstractSocket)var1).available() >= GrandExchangeEvents.field71) {
var13 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var37 = false;
if (var13) {
var14 = var2.readByteIsaac() << 24;
var14 |= var2.readByteIsaac() << 16;
var14 |= var2.readByteIsaac() << 8;
var14 |= var2.readByteIsaac();
String var34 = Login.Login_username;
var7 = var34.length();
var15 = 0;
var9 = 0;
while (true) {
if (var9 >= var7) {
if (GrandExchangeOfferOwnWorldComparator.clientPreferences.parameters.size() >= 10 && !GrandExchangeOfferOwnWorldComparator.clientPreferences.parameters.containsKey(var15)) {
Iterator var35 = GrandExchangeOfferOwnWorldComparator.clientPreferences.parameters.entrySet().iterator();
var35.next();
var35.remove();
}
GrandExchangeOfferOwnWorldComparator.clientPreferences.parameters.put(var15, var14);
break;
}
var15 = (var15 << 5) - var15 + var34.charAt(var9);
++var9;
}
}
if (Login_isUsernameRemembered) {
GrandExchangeOfferOwnWorldComparator.clientPreferences.rememberedUsername = Login.Login_username;
} else {
GrandExchangeOfferOwnWorldComparator.clientPreferences.rememberedUsername = null;
}
WorldMapArea.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field798 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var29 = KeyHandler.ServerPacket_values();
int var20 = var2.readSmartByteShortIsaac();
if (var20 < 0 || var20 >= var29.length) {
throw new IOException(var20 + " " + var2.offset);
}
packetWriter.serverPacket = var29[var20];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
class56.method950(WorldMapSection1.client, "zap");
} catch (Throwable var22) {
}
loginState = 16;
}
if (loginState == 16) {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method5045();
MusicPatchPcmStream.method4004();
TriBool.updatePlayer(var2);
class69.field585 = -1;
GameObject.loadRegions(false, var2);
packetWriter.serverPacket = null;
}
} else {
if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
class7.field33 = var2.readUnsignedShort();
loginState = 18;
}
if (loginState == 18 && ((AbstractSocket)var1).available() >= class7.field33) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, class7.field33);
var2.offset = 0;
String var26 = var2.readStringCp1252NullTerminated();
String var30 = var2.readStringCp1252NullTerminated();
String var31 = var2.readStringCp1252NullTerminated();
HealthBarUpdate.setLoginResponseString(var26, var30, var31);
MouseRecorder.updateGameState(10);
}
if (loginState != 19) {
++field712;
if (field712 > 2000) {
if (field713 < 1) {
if (class280.port3 == WorldMapLabelSize.port1) {
class280.port3 = GrandExchangeOfferAgeComparator.port2;
} else {
class280.port3 = WorldMapLabelSize.port1;
}
++field713;
loginState = 0;
} else {
PlayerAppearance.getLoginError(-3);
}
}
} else {
if (packetWriter.serverPacketLength == -1) {
if (((AbstractSocket)var1).available() < 2) {
return;
}
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
}
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
var2.offset = 0;
var36 = packetWriter.serverPacketLength;
timer.method5047();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1334 = null;
packetWriter.field1329 = null;
packetWriter.field1339 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1338 = 0;
rebootTimer = 0;
AbstractByteArrayCopier.method4023();
minimapState = 0;
destinationX = 0;
for (var14 = 0; var14 < 2048; ++var14) {
players[var14] = null;
}
ByteArrayPool.localPlayer = null;
for (var14 = 0; var14 < npcs.length; ++var14) {
NPC var32 = npcs[var14];
if (var32 != null) {
var32.targetIndex = -1;
var32.false0 = false;
}
}
ItemContainer.itemContainers = new NodeHashTable(32);
MouseRecorder.updateGameState(30);
for (var14 = 0; var14 < 100; ++var14) {
field679[var14] = true;
}
var4 = FaceNormal.getPacketBufferNode(ClientPacket.field2257, packetWriter.isaacCipher);
var4.packetBuffer.writeByte(ApproximateRouteStrategy.getWindowedMode());
var4.packetBuffer.writeShort(WorldMapLabel.canvasWidth);
var4.packetBuffer.writeShort(Varps.canvasHeight);
packetWriter.addNode(var4);
TriBool.updatePlayer(var2);
if (var36 != var2.offset) {
throw new RuntimeException();
}
}
}
}
}
} catch (IOException var24) {
if (field713 < 1) {
if (class280.port3 == WorldMapLabelSize.port1) {
class280.port3 = GrandExchangeOfferAgeComparator.port2;
} else {
class280.port3 = WorldMapLabelSize.port1;
}
++field713;
loginState = 0;
} else {
PlayerAppearance.getLoginError(-2);
}
}
}
@ObfuscatedName("fj")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1428106045"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (field728) {
field728 = false;
VertexNormal.method3093();
} else {
if (!isMenuOpen) {
Tile.addCancelMenuEntry();
}
int var1;
for (var1 = 0; var1 < 100 && this.method1524(packetWriter); ++var1) {
}
if (gameState == 30) {
while (true) {
ReflectionCheck var2 = (ReflectionCheck)class105.reflectionChecks.last();
boolean var31;
if (var2 == null) {
var31 = false;
} else {
var31 = true;
}
int var3;
PacketBufferNode var32;
if (!var31) {
PacketBufferNode var15;
int var16;
if (timer.field3581) {
var15 = FaceNormal.getPacketBufferNode(ClientPacket.field2270, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
var16 = var15.packetBuffer.offset;
timer.write(var15.packetBuffer);
var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var16);
packetWriter.addNode(var15);
timer.method5046();
}
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
synchronized(MidiPcmStream.mouseRecorder.lock) {
if (!field749) {
MidiPcmStream.mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || MidiPcmStream.mouseRecorder.index >= 40) {
var32 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < MidiPcmStream.mouseRecorder.index && (var32 == null || var32.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = MidiPcmStream.mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = MidiPcmStream.mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field691 || var8 != field692) {
if (var32 == null) {
var32 = FaceNormal.getPacketBufferNode(ClientPacket.field2281, packetWriter.isaacCipher);
var32.packetBuffer.writeByte(0);
var3 = var32.packetBuffer.offset;
PacketBuffer var10000 = var32.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (field875 != -1L) {
var10 = var9 - field691;
var11 = var8 - field692;
var12 = (int)((MidiPcmStream.mouseRecorder.millis[var7] - field875) / 20L);
var5 = (int)((long)var5 + (MidiPcmStream.mouseRecorder.millis[var7] - field875) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field691 = var9;
field692 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var32.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var32.packetBuffer.writeByte(var12 + 128);
var32.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var32.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var32.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var32.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var32.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var32.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var32.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field875 = MidiPcmStream.mouseRecorder.millis[var7];
}
}
if (var32 != null) {
var32.packetBuffer.writeLengthByte(var32.packetBuffer.offset - var3);
var7 = var32.packetBuffer.offset;
var32.packetBuffer.offset = var3;
var32.packetBuffer.writeByte(var5 / var6);
var32.packetBuffer.writeByte(var5 % var6);
var32.packetBuffer.offset = var7;
packetWriter.addNode(var32);
}
if (var4 >= MidiPcmStream.mouseRecorder.index) {
MidiPcmStream.mouseRecorder.index = 0;
} else {
MouseRecorder var46 = MidiPcmStream.mouseRecorder;
var46.index -= var4;
System.arraycopy(MidiPcmStream.mouseRecorder.xs, var4, MidiPcmStream.mouseRecorder.xs, 0, MidiPcmStream.mouseRecorder.index);
System.arraycopy(MidiPcmStream.mouseRecorder.ys, var4, MidiPcmStream.mouseRecorder.ys, 0, MidiPcmStream.mouseRecorder.index);
System.arraycopy(MidiPcmStream.mouseRecorder.millis, var4, MidiPcmStream.mouseRecorder.millis, 0, MidiPcmStream.mouseRecorder.index);
}
}
}
PacketBufferNode var19;
if (MouseHandler.MouseHandler_lastButton == 1 || !class217.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var17 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis;
if (var17 > 32767L) {
var17 = 32767L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > Varps.canvasHeight) {
var3 = Varps.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > WorldMapLabel.canvasWidth) {
var4 = WorldMapLabel.canvasWidth;
}
var5 = (int)var17;
var19 = FaceNormal.getPacketBufferNode(ClientPacket.field2209, packetWriter.isaacCipher);
var19.packetBuffer.writeShort((var5 << 1) + (MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0));
var19.packetBuffer.writeShort(var4);
var19.packetBuffer.writeShort(var3);
packetWriter.addNode(var19);
}
if (KeyHandler.field417 > 0) {
var15 = FaceNormal.getPacketBufferNode(ClientPacket.field2210, packetWriter.isaacCipher);
var15.packetBuffer.writeShort(0);
var16 = var15.packetBuffer.offset;
long var20 = class217.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field417; ++var5) {
long var22 = var20 - field904;
if (var22 > 16777215L) {
var22 = 16777215L;
}
field904 = var20;
var15.packetBuffer.method5616((int)var22);
var15.packetBuffer.writeByte(KeyHandler.field432[var5]);
}
var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var16);
packetWriter.addNode(var15);
}
if (field764 > 0) {
--field764;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field765 = true;
}
if (field765 && field764 <= 0) {
field764 = 20;
field765 = false;
var15 = FaceNormal.getPacketBufferNode(ClientPacket.field2220, packetWriter.isaacCipher);
var15.packetBuffer.writeIntME(camAngleY);
var15.packetBuffer.writeIntME(camAngleX);
packetWriter.addNode(var15);
}
if (GameShell.hasFocus && !hadFocus) {
hadFocus = true;
var15 = FaceNormal.getPacketBufferNode(ClientPacket.field2261, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(1);
packetWriter.addNode(var15);
}
if (!GameShell.hasFocus && hadFocus) {
hadFocus = false;
var15 = FaceNormal.getPacketBufferNode(ClientPacket.field2261, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
packetWriter.addNode(var15);
}
if (GrandExchangeOfferAgeComparator.worldMap != null) {
GrandExchangeOfferAgeComparator.worldMap.method6509();
}
if (Timer.ClanChat_inClanChat) {
if (InterfaceParent.clanChat != null) {
InterfaceParent.clanChat.sort();
}
WorldMapRegion.method537();
Timer.ClanChat_inClanChat = false;
}
InvDefinition.method4443();
if (gameState != 30) {
return;
}
for (PendingSpawn var37 = (PendingSpawn)pendingSpawns.last(); var37 != null; var37 = (PendingSpawn)pendingSpawns.previous()) {
if (var37.hitpoints > 0) {
--var37.hitpoints;
}
if (var37.hitpoints == 0) {
if (var37.objectId < 0 || FileSystem.method3588(var37.objectId, var37.field963)) {
SoundCache.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.objectId, var37.field968, var37.field963);
var37.remove();
}
} else {
if (var37.delay > 0) {
--var37.delay;
}
if (var37.delay == 0 && var37.x >= 1 && var37.y >= 1 && var37.x <= 102 && var37.y <= 102 && (var37.id < 0 || FileSystem.method3588(var37.id, var37.field967))) {
SoundCache.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.id, var37.orientation, var37.field967);
var37.delay = -1;
if (var37.id == var37.objectId && var37.objectId == -1) {
var37.remove();
} else if (var37.objectId == var37.id && var37.field968 == var37.orientation && var37.field967 == var37.field963) {
var37.remove();
}
}
}
}
class22.method252();
++packetWriter.field1338;
if (packetWriter.field1338 > 750) {
VertexNormal.method3093();
return;
}
var1 = Players.Players_count;
int[] var33 = Players.Players_indices;
for (var3 = 0; var3 < var1; ++var3) {
Player var24 = players[var33[var3]];
if (var24 != null) {
class41.updateActorSequence(var24, 1);
}
}
for (var1 = 0; var1 < npcCount; ++var1) {
var16 = npcIndices[var1];
NPC var25 = npcs[var16];
if (var25 != null) {
class41.updateActorSequence(var25, var25.definition.size);
}
}
WorldMapRegion.method630();
++field741;
if (mouseCrossColor != 0) {
mouseCrossState += 20;
if (mouseCrossState >= 400) {
mouseCrossColor = 0;
}
}
if (WorldMapID.field307 != null) {
++field786;
if (field786 >= 15) {
ItemContainer.invalidateWidget(WorldMapID.field307);
WorldMapID.field307 = null;
}
}
Widget var38 = class9.mousedOverWidgetIf1;
Widget var34 = Language.field2368;
class9.mousedOverWidgetIf1 = null;
Language.field2368 = null;
draggedOnWidget = null;
field861 = false;
field732 = false;
field901 = 0;
while (class22.isKeyDown() && field901 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && class3.field16 == 66) {
String var42 = "";
Message var39;
for (Iterator var26 = Messages.Messages_hashTable.iterator(); var26.hasNext(); var42 = var42 + var39.sender + ':' + var39.text + '\n') {
var39 = (Message)var26.next();
}
WorldMapSection1.client.clipboardSetString(var42);
} else if (oculusOrbState != 1 || Coord.field2531 <= 0) {
field872[field901] = class3.field16;
field902[field901] = Coord.field2531;
++field901;
}
}
boolean var35 = staffModLevel >= 2;
if (var35 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var4 = ByteArrayPool.localPlayer.plane - mouseWheelRotation;
if (var4 < 0) {
var4 = 0;
} else if (var4 > 3) {
var4 = 3;
}
if (var4 != ByteArrayPool.localPlayer.plane) {
GrandExchangeOfferWorldComparator.method148(ByteArrayPool.localPlayer.pathX[0] + class69.baseX, ByteArrayPool.localPlayer.pathY[0] + class89.baseY, var4, false);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
class2.updateRootInterface(rootInterface, 0, 0, WorldMapLabel.canvasWidth, Varps.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var40;
ScriptEvent var43;
Widget var45;
do {
var43 = (ScriptEvent)field727.removeLast();
if (var43 == null) {
while (true) {
do {
var43 = (ScriptEvent)field919.removeLast();
if (var43 == null) {
while (true) {
do {
var43 = (ScriptEvent)scriptEvents.removeLast();
if (var43 == null) {
this.menu();
WorldMapArea.method508();
if (clickedWidget != null) {
this.method1420();
}
if (class236.dragInventoryWidget != null) {
ItemContainer.invalidateWidget(class236.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field887) {
if (class236.dragInventoryWidget == RouteStrategy.field2106 && dragItemSlotSource != dragItemSlotDestination) {
Widget var44 = class236.dragInventoryWidget;
byte var36 = 0;
if (field845 == 1 && var44.contentType == 206) {
var36 = 1;
}
if (var44.itemIds[dragItemSlotDestination] <= 0) {
var36 = 0;
}
if (MilliClock.method3560(ScriptEvent.getWidgetClickMask(var44))) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
var44.itemIds[var7] = var44.itemIds[var6];
var44.itemQuantities[var7] = var44.itemQuantities[var6];
var44.itemIds[var6] = -1;
var44.itemQuantities[var6] = 0;
} else if (var36 == 1) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
while (var6 != var7) {
if (var6 > var7) {
var44.swapItems(var6 - 1, var6);
--var6;
} else if (var6 < var7) {
var44.swapItems(var6 + 1, var6);
++var6;
}
}
} else {
var44.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
var19 = FaceNormal.getPacketBufferNode(ClientPacket.field2298, packetWriter.isaacCipher);
var19.packetBuffer.writeIntME(dragItemSlotDestination);
var19.packetBuffer.method5610(dragItemSlotSource);
var19.packetBuffer.writeByte(var36);
var19.packetBuffer.writeShortLE(class236.dragInventoryWidget.id);
packetWriter.addNode(var19);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(draggedWidgetX, draggedWidgetY);
} else if (menuOptionsCount > 0) {
var4 = draggedWidgetX;
var5 = draggedWidgetY;
MenuAction var41 = AbstractWorldMapIcon.tempMenuAction;
AbstractByteArrayCopier.menuAction(var41.param0, var41.param1, var41.opcode, var41.identifier, var41.action, var41.action, var4, var5);
AbstractWorldMapIcon.tempMenuAction = null;
}
field786 = 10;
MouseHandler.MouseHandler_lastButton = 0;
class236.dragInventoryWidget = null;
} else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) {
field887 = true;
}
}
if (Scene.method3215()) {
var4 = Scene.Scene_selectedX;
var5 = Scene.Scene_selectedY;
var19 = FaceNormal.getPacketBufferNode(ClientPacket.field2248, packetWriter.isaacCipher);
var19.packetBuffer.writeByte(5);
var19.packetBuffer.writeShort(var4 + class69.baseX);
var19.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
var19.packetBuffer.writeShort(var5 + class89.baseY);
packetWriter.addNode(var19);
Scene.method3347();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var4;
destinationY = var5;
}
if (var38 != class9.mousedOverWidgetIf1) {
if (var38 != null) {
ItemContainer.invalidateWidget(var38);
}
if (class9.mousedOverWidgetIf1 != null) {
ItemContainer.invalidateWidget(class9.mousedOverWidgetIf1);
}
}
if (var34 != Language.field2368 && field871 == field832) {
if (var34 != null) {
ItemContainer.invalidateWidget(var34);
}
if (Language.field2368 != null) {
ItemContainer.invalidateWidget(Language.field2368);
}
}
if (Language.field2368 != null) {
if (field871 < field832) {
++field871;
if (field832 == field871) {
ItemContainer.invalidateWidget(Language.field2368);
}
}
} else if (field871 > 0) {
--field871;
}
Tile.method2961();
if (isCameraLocked) {
var4 = HealthBar.field1145 * 128 + 64;
var5 = WorldMapRectangle.field217 * 128 + 64;
var6 = class277.getTileHeight(var4, var5, ScriptEvent.Client_plane) - class4.field20;
if (WorldMapRectangle.cameraX < var4) {
WorldMapRectangle.cameraX = (var4 - WorldMapRectangle.cameraX) * NetFileRequest.field3126 / 1000 + WorldMapRectangle.cameraX + GrandExchangeOfferWorldComparator.field64;
if (WorldMapRectangle.cameraX > var4) {
WorldMapRectangle.cameraX = var4;
}
}
if (WorldMapRectangle.cameraX > var4) {
WorldMapRectangle.cameraX -= NetFileRequest.field3126 * (WorldMapRectangle.cameraX - var4) / 1000 + GrandExchangeOfferWorldComparator.field64;
if (WorldMapRectangle.cameraX < var4) {
WorldMapRectangle.cameraX = var4;
}
}
if (GrandExchangeOfferWorldComparator.cameraY < var6) {
GrandExchangeOfferWorldComparator.cameraY = (var6 - GrandExchangeOfferWorldComparator.cameraY) * NetFileRequest.field3126 / 1000 + GrandExchangeOfferWorldComparator.cameraY + GrandExchangeOfferWorldComparator.field64;
if (GrandExchangeOfferWorldComparator.cameraY > var6) {
GrandExchangeOfferWorldComparator.cameraY = var6;
}
}
if (GrandExchangeOfferWorldComparator.cameraY > var6) {
GrandExchangeOfferWorldComparator.cameraY -= NetFileRequest.field3126 * (GrandExchangeOfferWorldComparator.cameraY - var6) / 1000 + GrandExchangeOfferWorldComparator.field64;
if (GrandExchangeOfferWorldComparator.cameraY < var6) {
GrandExchangeOfferWorldComparator.cameraY = var6;
}
}
if (class200.cameraZ < var5) {
class200.cameraZ = (var5 - class200.cameraZ) * NetFileRequest.field3126 / 1000 + class200.cameraZ + GrandExchangeOfferWorldComparator.field64;
if (class200.cameraZ > var5) {
class200.cameraZ = var5;
}
}
if (class200.cameraZ > var5) {
class200.cameraZ -= NetFileRequest.field3126 * (class200.cameraZ - var5) / 1000 + GrandExchangeOfferWorldComparator.field64;
if (class200.cameraZ < var5) {
class200.cameraZ = var5;
}
}
var4 = field925 * 128 + 64;
var5 = Strings.field2759 * 128 + 64;
var6 = class277.getTileHeight(var4, var5, ScriptEvent.Client_plane) - TextureProvider.field1549;
var7 = var4 - WorldMapRectangle.cameraX;
var8 = var6 - GrandExchangeOfferWorldComparator.cameraY;
var9 = var5 - class200.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 (ApproximateRouteStrategy.cameraPitch < var11) {
ApproximateRouteStrategy.cameraPitch = (var11 - ApproximateRouteStrategy.cameraPitch) * Players.field1280 / 1000 + ApproximateRouteStrategy.cameraPitch + Friend.field3626;
if (ApproximateRouteStrategy.cameraPitch > var11) {
ApproximateRouteStrategy.cameraPitch = var11;
}
}
if (ApproximateRouteStrategy.cameraPitch > var11) {
ApproximateRouteStrategy.cameraPitch -= Players.field1280 * (
ApproximateRouteStrategy.cameraPitch - var11) / 1000 + Friend.field3626;
if (ApproximateRouteStrategy.cameraPitch < var11) {
ApproximateRouteStrategy.cameraPitch = var11;
}
}
int var27 = var12 - WorldMapIcon_1.cameraYaw;
if (var27 > 1024) {
var27 -= 2048;
}
if (var27 < -1024) {
var27 += 2048;
}
if (var27 > 0) {
WorldMapIcon_1.cameraYaw = var27 * Players.field1280 / 1000 + WorldMapIcon_1.cameraYaw + Friend.field3626;
WorldMapIcon_1.cameraYaw &= 2047;
}
if (var27 < 0) {
WorldMapIcon_1.cameraYaw -= Friend.field3626 + -var27 * Players.field1280 / 1000;
WorldMapIcon_1.cameraYaw &= 2047;
}
int var14 = var12 - WorldMapIcon_1.cameraYaw;
if (var14 > 1024) {
var14 -= 2048;
}
if (var14 < -1024) {
var14 += 2048;
}
if (var14 < 0 && var27 > 0 || var14 > 0 && var27 < 0) {
WorldMapIcon_1.cameraYaw = var12;
}
}
for (var4 = 0; var4 < 5; ++var4) {
int var10002 = field930[var4]++;
}
UserComparator4.varcs.tryWrite();
var4 = ++MouseHandler.MouseHandler_idleCycles - 1;
var6 = KeyHandler.KeyHandler_idleCycles;
PacketBufferNode var28;
if (var4 > 15000 && var6 > 15000) {
logoutTimer = 250;
ServerPacket.method3684(14500);
var28 = FaceNormal.getPacketBufferNode(ClientPacket.field2251, packetWriter.isaacCipher);
packetWriter.addNode(var28);
}
Projectile.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var28 = FaceNormal.getPacketBufferNode(ClientPacket.field2295, packetWriter.isaacCipher);
packetWriter.addNode(var28);
}
try {
packetWriter.flush();
} catch (IOException var29) {
VertexNormal.method3093();
}
return;
}
var45 = var43.widget;
if (var45.childIndex < 0) {
break;
}
var40 = MusicPatchNode.getWidget(var45.parentId);
} while(var40 == null || var40.children == null || var45.childIndex >= var40.children.length || var45 != var40.children[var45.childIndex]);
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var43);
}
}
var45 = var43.widget;
if (var45.childIndex < 0) {
break;
}
var40 = MusicPatchNode.getWidget(var45.parentId);
} while(var40 == null || var40.children == null || var45.childIndex >= var40.children.length || var45 != var40.children[var45.childIndex]);
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var43);
}
}
var45 = var43.widget;
if (var45.childIndex < 0) {
break;
}
var40 = MusicPatchNode.getWidget(var45.parentId);
} while(var40 == null || var40.children == null || var45.childIndex >= var40.children.length || var45 != var40.children[var45.childIndex]);
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var43);
}
}
var32 = FaceNormal.getPacketBufferNode(ClientPacket.field2304, packetWriter.isaacCipher);
var32.packetBuffer.writeByte(0);
var3 = var32.packetBuffer.offset;
GameObject.performReflectionCheck(var32.packetBuffer);
var32.packetBuffer.writeLengthByte(var32.packetBuffer.offset - var3);
packetWriter.addNode(var32);
}
}
}
}
@ObfuscatedName("ga")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-61779781"
)
@Export("resizeJS")
void resizeJS() {
int var1 = WorldMapLabel.canvasWidth;
int var2 = Varps.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (GrandExchangeOfferOwnWorldComparator.clientPreferences != null) {
try {
Client var3 = WorldMapSection1.client;
Object[] var4 = new Object[]{ApproximateRouteStrategy.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("gc")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "38"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
int var1;
if (rootInterface != -1) {
var1 = rootInterface;
if (LoginScreenAnimation.loadInterface(var1)) {
MilliClock.drawModelComponents(Widget.Widget_interfaceComponents[var1], -1);
}
}
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field679[var1]) {
field886[var1] = true;
}
field813[var1] = field679[var1];
field679[var1] = false;
}
field884 = cycle;
viewportX = -1;
viewportY = -1;
RouteStrategy.field2106 = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
MusicPatch.drawWidgets(rootInterface, 0, 0, WorldMapLabel.canvasWidth, Varps.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
class299.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
class299.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
int var2;
int var3;
if (!isMenuOpen) {
if (viewportX != -1) {
var1 = viewportX;
var2 = viewportY;
if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) {
var3 = AbstractWorldMapData.method381();
String var4;
if (isItemSelected == 1 && menuOptionsCount < 2) {
var4 = "Use" + " " + selectedItemName + " " + "->";
} else if (isSpellSelected && menuOptionsCount < 2) {
var4 = selectedSpellActionName + " " + selectedSpellName + " " + "->";
} else {
String var5;
if (var3 < 0) {
var5 = "";
} else if (menuTargets[var3].length() > 0) {
var5 = menuActions[var3] + " " + menuTargets[var3];
} else {
var5 = menuActions[var3];
}
var4 = var5;
}
if (menuOptionsCount > 2) {
var4 = var4 + class297.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options";
}
TaskHandler.fontBold12.drawRandomAlphaAndSpacing(var4, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000);
}
}
} else {
var1 = WorldMapDecoration.menuX;
var2 = PacketBufferNode.menuY;
var3 = WorldMapScaleHandler.menuWidth;
int var13 = WorldMapData_1.menuHeight;
int var14 = 6116423;
Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var13, var14);
Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0);
Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var13 - 19, 0);
TaskHandler.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var14, -1);
int var6 = MouseHandler.MouseHandler_x;
int var7 = MouseHandler.MouseHandler_y;
for (int var8 = 0; var8 < menuOptionsCount; ++var8) {
int var9 = var2 + (menuOptionsCount - 1 - var8) * 15 + 31;
int var10 = 16777215;
if (var6 > var1 && var6 < var3 + var1 && var7 > var9 - 13 && var7 < var9 + 3) {
var10 = 16776960;
}
Font var11 = TaskHandler.fontBold12;
String var12;
if (var8 < 0) {
var12 = "";
} else if (menuTargets[var8].length() > 0) {
var12 = menuActions[var8] + " " + menuTargets[var8];
} else {
var12 = menuActions[var8];
}
var11.draw(var12, var1 + 3, var9, var10, 0);
}
WorldMapScaleHandler.method848(WorldMapDecoration.menuX, PacketBufferNode.menuY, WorldMapScaleHandler.menuWidth, WorldMapData_1.menuHeight);
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field813[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field886[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
Message.method1300(ScriptEvent.Client_plane, ByteArrayPool.localPlayer.x, ByteArrayPool.localPlayer.y, field741);
field741 = 0;
}
@ObfuscatedName("hl")
@ObfuscatedSignature(
signature = "(Ldv;I)Z",
garbageValue = "-124055306"
)
final boolean method1524(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
int var6;
String var27;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1335) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1338 = 0;
var1.field1335 = false;
}
var3.offset = 0;
if (var3.method5524()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1338 = 0;
}
var1.field1335 = true;
ServerPacket[] var4 = KeyHandler.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.field1338 = 0;
timer.method5051();
var1.field1339 = var1.field1329;
var1.field1329 = var1.field1334;
var1.field1334 = var1.serverPacket;
int var16;
if (ServerPacket.field2204 == var1.serverPacket) {
var16 = var3.method5614();
var5 = var3.method5638();
Varps.Varps_temp[var16] = var5;
if (Varps.Varps_main[var16] != var5) {
Varps.Varps_main[var16] = var5;
}
class22.changeGameOptions(var16);
field866[++field772 - 1 & 31] = var16;
var1.serverPacket = null;
return true;
}
int var42;
if (ServerPacket.field2129 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedByte();
var42 = var3.readUnsignedByte();
field926[var16] = true;
field788[var16] = var5;
field730[var16] = var6;
field929[var16] = var42;
field930[var16] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2160 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2325);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2187 == var1.serverPacket) {
isCameraLocked = true;
HealthBar.field1145 = var3.readUnsignedByte();
WorldMapRectangle.field217 = var3.readUnsignedByte();
class4.field20 = var3.readUnsignedShort();
GrandExchangeOfferWorldComparator.field64 = var3.readUnsignedByte();
NetFileRequest.field3126 = var3.readUnsignedByte();
if (NetFileRequest.field3126 >= 100) {
WorldMapRectangle.cameraX = HealthBar.field1145 * 128 + 64;
class200.cameraZ = WorldMapRectangle.field217 * 128 + 64;
GrandExchangeOfferWorldComparator.cameraY = class277.getTileHeight(WorldMapRectangle.cameraX, class200.cameraZ, ScriptEvent.Client_plane) - class4.field20;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2199 == var1.serverPacket) {
tradeChatMode = var3.method5604();
publicChatMode = var3.method5604();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2144 == var1.serverPacket) {
Projectile.friendSystem.readUpdate(var3, var1.serverPacketLength);
field873 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var47;
if (ServerPacket.field2186 == var1.serverPacket) {
var16 = var3.method5564();
var5 = var3.method5564();
var6 = var3.method5621();
var47 = MusicPatchNode.getWidget(var6);
var47.field2623 = var5 + (var16 << 16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2145 == var1.serverPacket) {
hintArrowType = var3.readUnsignedByte();
if (hintArrowType == 1) {
hintArrowNpcIndex = var3.readUnsignedShort();
}
if (hintArrowType >= 2 && hintArrowType <= 6) {
if (hintArrowType == 2) {
hintArrowSubX = 64;
hintArrowSubY = 64;
}
if (hintArrowType == 3) {
hintArrowSubX = 0;
hintArrowSubY = 64;
}
if (hintArrowType == 4) {
hintArrowSubX = 128;
hintArrowSubY = 64;
}
if (hintArrowType == 5) {
hintArrowSubX = 64;
hintArrowSubY = 0;
}
if (hintArrowType == 6) {
hintArrowSubX = 64;
hintArrowSubY = 128;
}
hintArrowType = 2;
hintArrowX = var3.readUnsignedShort();
hintArrowY = var3.readUnsignedShort();
hintArrowHeight = var3.readUnsignedByte();
}
if (hintArrowType == 10) {
hintArrowPlayerIndex = var3.readUnsignedShort();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2119 == var1.serverPacket) {
var16 = var3.method5564();
byte var45 = var3.method5608();
Varps.Varps_temp[var16] = var45;
if (Varps.Varps_main[var16] != var45) {
Varps.Varps_main[var16] = var45;
}
class22.changeGameOptions(var16);
field866[++field772 - 1 & 31] = var16;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2125 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2328);
var1.serverPacket = null;
return true;
}
boolean var60;
if (ServerPacket.field2164 == var1.serverPacket) {
var60 = var3.readBoolean();
if (var60) {
if (WorldMapRectangle.field222 == null) {
WorldMapRectangle.field222 = new class247();
}
} else {
WorldMapRectangle.field222 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2146 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
rootInterface = var16;
this.resizeRoot(false);
class4.Widget_resetModelFrames(var16);
WorldMapSectionType.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field679[var5] = true;
}
var1.serverPacket = null;
return true;
}
Widget var50;
if (ServerPacket.field2179 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5613();
var50 = MusicPatchNode.getWidget(var16);
if (var50.modelType != 1 || var5 != var50.modelId) {
var50.modelType = 1;
var50.modelId = var5;
ItemContainer.invalidateWidget(var50);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2121 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
Player.forceDisconnect(var16);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2197 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2331);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2200 == var1.serverPacket) {
Huffman.logOut();
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2202 == var1.serverPacket) {
rebootTimer = var3.readUnsignedShort() * 30;
field877 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2161 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2329);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2195 == var1.serverPacket) {
class58.method966();
weight = var3.readShort();
field877 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2183 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2323);
var1.serverPacket = null;
return true;
}
int var8;
int var9;
int var10;
if (ServerPacket.field2177 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var50 = MusicPatchNode.getWidget(var16);
} else {
var50 = null;
}
if (var50 != null) {
for (var42 = 0; var42 < var50.itemIds.length; ++var42) {
var50.itemIds[var42] = 0;
var50.itemQuantities[var42] = 0;
}
}
GrandExchangeOfferOwnWorldComparator.clearItemContainer(var5);
var42 = var3.readUnsignedShort();
for (var8 = 0; var8 < var42; ++var8) {
var9 = var3.method5614();
var10 = var3.method5604();
if (var10 == 255) {
var10 = var3.method5621();
}
if (var50 != null && var8 < var50.itemIds.length) {
var50.itemIds[var8] = var9;
var50.itemQuantities[var8] = var10;
}
Messages.itemContainerSetItem(var5, var8, var9 - 1, var10);
}
if (var50 != null) {
ItemContainer.invalidateWidget(var50);
}
class58.method966();
changedItemContainers[++field869 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2147 == var1.serverPacket) {
Projectile.friendSystem.method1953();
field873 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2185 == var1.serverPacket) {
var16 = var3.method5619();
var5 = var3.method5743();
var6 = var3.method5743();
var47 = MusicPatchNode.getWidget(var16);
if (var5 != var47.rawX || var6 != var47.rawY || var47.xAlignment != 0 || var47.yAlignment != 0) {
var47.rawX = var5;
var47.rawY = var6;
var47.xAlignment = 0;
var47.yAlignment = 0;
ItemContainer.invalidateWidget(var47);
this.alignWidget(var47);
if (var47.type == 0) {
MouseHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var16 >> 16], var47, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2162 == var1.serverPacket) {
var60 = var3.readUnsignedByte() == 1;
if (var60) {
TilePaint.field1802 = class217.currentTimeMillis() - var3.readLong();
GrandExchangeEvent.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
GrandExchangeEvent.grandExchangeEvents = null;
}
field726 = cycleCntr;
var1.serverPacket = null;
return true;
}
long var12;
long var19;
long var21;
long var23;
String var37;
if (ServerPacket.field2193 == var1.serverPacket) {
var37 = var3.readStringCp1252NullTerminated();
var19 = var3.readLong();
var21 = (long)var3.readUnsignedShort();
var23 = (long)var3.readMedium();
PlayerType var43 = (PlayerType)GrandExchangeEvent.findEnumerated(InterfaceParent.PlayerType_values(), var3.readUnsignedByte());
var12 = var23 + (var21 << 32);
boolean var44 = false;
for (int var15 = 0; var15 < 100; ++var15) {
if (var12 == field846[var15]) {
var44 = true;
break;
}
}
if (var43.isUser && Projectile.friendSystem.isIgnored(new Username(var37, WorldMapIcon_0.loginType))) {
var44 = true;
}
if (!var44 && field794 == 0) {
field846[field900] = var12;
field900 = (field900 + 1) % 100;
String var25 = AbstractFont.escapeBrackets(Decimator.method2636(JagexCache.method3577(var3)));
if (var43.modIcon != -1) {
ChatChannel.addChatMessage(9, class1.method21(var43.modIcon) + var37, var25, Buffer.base37DecodeLong(var19));
} else {
ChatChannel.addChatMessage(9, var37, var25, Buffer.base37DecodeLong(var19));
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2176 == var1.serverPacket) {
var16 = var3.method5564();
var5 = var3.readInt();
var6 = var16 >> 10 & 31;
var42 = var16 >> 5 & 31;
var8 = var16 & 31;
var9 = (var42 << 11) + (var6 << 19) + (var8 << 3);
Widget var51 = MusicPatchNode.getWidget(var5);
if (var9 != var51.color) {
var51.color = var9;
ItemContainer.invalidateWidget(var51);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2137 == var1.serverPacket) {
var16 = var3.readInt();
if (var16 != field762) {
field762 = var16;
class3.method48();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2184 == var1.serverPacket) {
isCameraLocked = false;
for (var16 = 0; var16 < 5; ++var16) {
field926[var16] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2143 == 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.field2153 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var50 = MusicPatchNode.getWidget(var16);
} else {
var50 = null;
}
for (; var3.offset < var1.serverPacketLength; Messages.itemContainerSetItem(var5, var42, var8 - 1, var9)) {
var42 = var3.readUShortSmart();
var8 = var3.readUnsignedShort();
var9 = 0;
if (var8 != 0) {
var9 = var3.readUnsignedByte();
if (var9 == 255) {
var9 = var3.readInt();
}
}
if (var50 != null && var42 >= 0 && var42 < var50.itemIds.length) {
var50.itemIds[var42] = var8;
var50.itemQuantities[var42] = var9;
}
}
if (var50 != null) {
ItemContainer.invalidateWidget(var50);
}
class58.method966();
changedItemContainers[++field869 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2133 == var1.serverPacket) {
var16 = var3.readInt();
var27 = var3.readStringCp1252NullTerminated();
var50 = MusicPatchNode.getWidget(var16);
if (!var27.equals(var50.text)) {
var50.text = var27;
ItemContainer.invalidateWidget(var50);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2171 == var1.serverPacket) {
var16 = var3.method5614();
if (var16 == 65535) {
var16 = -1;
}
StudioGame.playSong(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2173 == var1.serverPacket) {
var16 = var3.readMedium();
var5 = var3.readUnsignedShort();
if (var5 == 65535) {
var5 = -1;
}
VerticalAlignment.playSoundJingle(var5, var16);
var1.serverPacket = null;
return true;
}
Widget var28;
if (ServerPacket.field2168 == var1.serverPacket) {
var16 = var3.method5613();
var5 = var3.method5619();
var6 = var3.method5614();
var42 = var3.readUnsignedShort();
var28 = MusicPatchNode.getWidget(var5);
if (var42 != var28.modelAngleX || var16 != var28.modelAngleY || var6 != var28.modelZoom) {
var28.modelAngleX = var42;
var28.modelAngleY = var16;
var28.modelZoom = var6;
ItemContainer.invalidateWidget(var28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2203 == var1.serverPacket) {
if (InterfaceParent.clanChat != null) {
InterfaceParent.clanChat.method5301(var3);
}
WorldMapData_0.method263();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2155 == var1.serverPacket) {
class58.method966();
var16 = var3.method5604();
var5 = var3.method5603();
var6 = var3.method5619();
experience[var5] = var6;
currentLevels[var5] = var16;
levels[var5] = 1;
for (var42 = 0; var42 < 98; ++var42) {
if (var6 >= Skills.Skills_experienceTable[var42]) {
levels[var5] = var42 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
InterfaceParent var17;
if (ServerPacket.field2182 == var1.serverPacket) {
var16 = var3.method5604();
var5 = var3.method5613();
var6 = var3.method5638();
var17 = (InterfaceParent)interfaceParents.get((long)var6);
if (var17 != null) {
class41.closeInterface(var17, var5 != var17.group);
}
AbstractWorldMapData.method382(var6, var5, var16);
var1.serverPacket = null;
return true;
}
String var48;
if (ServerPacket.field2175 == var1.serverPacket) {
byte[] var41 = new byte[var1.serverPacketLength];
var3.method5516(var41, 0, var41.length);
Buffer var59 = new Buffer(var41);
var48 = var59.readStringCp1252NullTerminated();
Script.openURL(var48, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2150 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2330);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2154 == var1.serverPacket) {
if (rootInterface != -1) {
class198.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2172 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
ModelData0.method3362(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2152 == var1.serverPacket) {
ApproximateRouteStrategy.method1328(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2141 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2324);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2198 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2326);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2159 == var1.serverPacket) {
World var40 = new World();
var40.host = var3.readStringCp1252NullTerminated();
var40.id = var3.readUnsignedShort();
var5 = var3.readInt();
var40.properties = var5;
MouseRecorder.updateGameState(45);
var2.close();
var2 = null;
UserComparator3.changeWorld(var40);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2126 == var1.serverPacket) {
var16 = var3.method5743();
var5 = var3.method5621();
var50 = MusicPatchNode.getWidget(var5);
if (var16 != var50.sequenceId || var16 == -1) {
var50.sequenceId = var16;
var50.modelFrame = 0;
var50.modelFrameCycle = 0;
ItemContainer.invalidateWidget(var50);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2132 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedShort();
ModelData0.queueSoundEffect(var16, var5, var6);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2158 == var1.serverPacket) {
PlatformInfo.field3959 = var3.method5605();
GrandExchangeOfferTotalQuantityComparator.field91 = var3.method5605();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2166 == var1.serverPacket) {
isCameraLocked = true;
field925 = var3.readUnsignedByte();
Strings.field2759 = var3.readUnsignedByte();
TextureProvider.field1549 = var3.readUnsignedShort();
Friend.field3626 = var3.readUnsignedByte();
Players.field1280 = var3.readUnsignedByte();
if (Players.field1280 >= 100) {
var16 = field925 * 128 + 64;
var5 = Strings.field2759 * 128 + 64;
var6 = class277.getTileHeight(var16, var5, ScriptEvent.Client_plane) - TextureProvider.field1549;
var42 = var16 - WorldMapRectangle.cameraX;
var8 = var6 - GrandExchangeOfferWorldComparator.cameraY;
var9 = var5 - class200.cameraZ;
var10 = (int)Math.sqrt((double)(var42 * var42 + var9 * var9));
ApproximateRouteStrategy.cameraPitch = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047;
WorldMapIcon_1.cameraYaw = (int)(Math.atan2((double)var42, (double)var9) * -325.949D) & 2047;
if (ApproximateRouteStrategy.cameraPitch < 128) {
ApproximateRouteStrategy.cameraPitch = 128;
}
if (ApproximateRouteStrategy.cameraPitch > 383) {
ApproximateRouteStrategy.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2139 == var1.serverPacket) {
GameObject.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2140 == var1.serverPacket) {
var16 = var3.method5638();
var5 = var3.method5613();
var50 = MusicPatchNode.getWidget(var16);
if (var50.modelType != 2 || var5 != var50.modelId) {
var50.modelType = 2;
var50.modelId = var5;
ItemContainer.invalidateWidget(var50);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2128 == 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];
class22.changeGameOptions(var16);
field866[++field772 - 1 & 31] = var16;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2130 == var1.serverPacket) {
GameObject.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
boolean var39;
if (ServerPacket.field2196 == var1.serverPacket) {
var16 = var3.method5638();
var39 = var3.readUnsignedByte() == 1;
var50 = MusicPatchNode.getWidget(var16);
if (var39 != var50.isHidden) {
var50.isHidden = var39;
ItemContainer.invalidateWidget(var50);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2142 == var1.serverPacket) {
var37 = var3.readStringCp1252NullTerminated();
var27 = AbstractFont.escapeBrackets(Decimator.method2636(JagexCache.method3577(var3)));
Skeleton.addGameMessage(6, var37, var27);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2194 == var1.serverPacket) {
PlatformInfo.field3959 = var3.method5605();
GrandExchangeOfferTotalQuantityComparator.field91 = var3.readUnsignedByte();
while (var3.offset < var1.serverPacketLength) {
var16 = var3.readUnsignedByte();
class194 var58 = WorldMapSection2.method434()[var16];
WorldMapData_1.method816(var58);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2131 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
InterfaceParent.clanChat = null;
} else {
if (InterfaceParent.clanChat == null) {
InterfaceParent.clanChat = new ClanChat(WorldMapIcon_0.loginType, WorldMapSection1.client);
}
InterfaceParent.clanChat.readUpdate(var3);
}
WorldMapData_0.method263();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2148 == var1.serverPacket) {
var37 = var3.readStringCp1252NullTerminated();
var19 = (long)var3.readUnsignedShort();
var21 = (long)var3.readMedium();
PlayerType var29 = (PlayerType)GrandExchangeEvent.findEnumerated(InterfaceParent.PlayerType_values(), var3.readUnsignedByte());
long var30 = (var19 << 32) + var21;
boolean var32 = false;
for (int var13 = 0; var13 < 100; ++var13) {
if (field846[var13] == var30) {
var32 = true;
break;
}
}
if (Projectile.friendSystem.isIgnored(new Username(var37, WorldMapIcon_0.loginType))) {
var32 = true;
}
if (!var32 && field794 == 0) {
field846[field900] = var30;
field900 = (field900 + 1) % 100;
String var33 = AbstractFont.escapeBrackets(Decimator.method2636(JagexCache.method3577(var3)));
byte var14;
if (var29.isPrivileged) {
var14 = 7;
} else {
var14 = 3;
}
if (var29.modIcon != -1) {
Skeleton.addGameMessage(var14, class1.method21(var29.modIcon) + var37, var33);
} else {
Skeleton.addGameMessage(var14, var37, var33);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2189 == var1.serverPacket) {
var16 = var3.method5614();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5619();
var6 = var3.method5621();
var47 = MusicPatchNode.getWidget(var6);
ItemDefinition var56;
if (!var47.isIf3) {
if (var16 == -1) {
var47.modelType = 0;
var1.serverPacket = null;
return true;
}
var56 = AbstractWorldMapData.ItemDefinition_get(var16);
var47.modelType = 4;
var47.modelId = var16;
var47.modelAngleX = var56.xan2d;
var47.modelAngleY = var56.yan2d;
var47.modelZoom = var56.zoom2d * 100 / var5;
ItemContainer.invalidateWidget(var47);
} else {
var47.itemId = var16;
var47.itemQuantity = var5;
var56 = AbstractWorldMapData.ItemDefinition_get(var16);
var47.modelAngleX = var56.xan2d;
var47.modelAngleY = var56.yan2d;
var47.modelAngleZ = var56.zan2d;
var47.modelOffsetX = var56.offsetX2d;
var47.modelOffsetY = var56.offsetY2d;
var47.modelZoom = var56.zoom2d;
if (var56.isStackable == 1) {
var47.itemQuantityMode = 1;
} else {
var47.itemQuantityMode = 2;
}
if (var47.field2622 > 0) {
var47.modelZoom = var47.modelZoom * 32 / var47.field2622;
} else if (var47.rawWidth > 0) {
var47.modelZoom = var47.modelZoom * 32 / var47.rawWidth;
}
ItemContainer.invalidateWidget(var47);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2180 == var1.serverPacket) {
GrandExchangeOffer.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2165 == var1.serverPacket) {
class58.method966();
runEnergy = var3.readUnsignedByte();
field877 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2192 == var1.serverPacket) {
var37 = var3.readStringCp1252NullTerminated();
var5 = var3.method5604();
var6 = var3.method5603();
if (var6 >= 1 && var6 <= 8) {
if (var37.equalsIgnoreCase("null")) {
var37 = null;
}
playerMenuActions[var6 - 1] = var37;
playerOptionsPriorities[var6 - 1] = var5 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2163 == var1.serverPacket) {
UserComparator3.privateChatMode = class219.method4052(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2149 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2332);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2156 == var1.serverPacket) {
WorldMapData_1.method816(class194.field2327);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2127 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2191 == var1.serverPacket) {
var16 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var6 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
class4.Widget_resetModelFrames(rootInterface);
WorldMapSectionType.runWidgetOnLoadListener(rootInterface);
for (var42 = 0; var42 < 100; ++var42) {
field679[var42] = true;
}
}
InterfaceParent var26;
for (; var6-- > 0; var26.field594 = true) {
var42 = var3.readInt();
var8 = var3.readUnsignedShort();
var9 = var3.readUnsignedByte();
var26 = (InterfaceParent)interfaceParents.get((long)var42);
if (var26 != null && var8 != var26.group) {
class41.closeInterface(var26, true);
var26 = null;
}
if (var26 == null) {
var26 = AbstractWorldMapData.method382(var42, var8, var9);
}
}
for (var17 = (InterfaceParent)interfaceParents.first(); var17 != null; var17 = (InterfaceParent)interfaceParents.next()) {
if (var17.field594) {
var17.field594 = false;
} else {
class41.closeInterface(var17, true);
}
}
widgetClickMasks = new NodeHashTable(512);
while (var3.offset < var16) {
var42 = var3.readInt();
var8 = var3.readUnsignedShort();
var9 = var3.readUnsignedShort();
var10 = var3.readInt();
for (int var34 = var8; var34 <= var9; ++var34) {
var12 = (long)var34 + ((long)var42 << 32);
widgetClickMasks.put(new IntegerNode(var10), var12);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2188 == var1.serverPacket) {
var16 = var3.readInt();
InterfaceParent var57 = (InterfaceParent)interfaceParents.get((long)var16);
if (var57 != null) {
class41.closeInterface(var57, true);
}
if (meslayerContinueWidget != null) {
ItemContainer.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2134 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.field91 = var3.readUnsignedByte();
PlatformInfo.field3959 = var3.method5605();
for (var16 = GrandExchangeOfferTotalQuantityComparator.field91; var16 < GrandExchangeOfferTotalQuantityComparator.field91 + 8; ++var16) {
for (var5 = PlatformInfo.field3959; var5 < PlatformInfo.field3959 + 8; ++var5) {
if (groundItems[ScriptEvent.Client_plane][var16][var5] != null) {
groundItems[ScriptEvent.Client_plane][var16][var5] = null;
World.updateItemPile(var16, var5);
}
}
}
for (PendingSpawn var38 = (PendingSpawn)pendingSpawns.last(); var38 != null; var38 = (PendingSpawn)pendingSpawns.previous()) {
if (var38.x >= GrandExchangeOfferTotalQuantityComparator.field91 && var38.x < GrandExchangeOfferTotalQuantityComparator.field91 + 8 && var38.y >= PlatformInfo.field3959 && var38.y < PlatformInfo.field3959 + 8 && var38.plane == ScriptEvent.Client_plane) {
var38.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2169 == var1.serverPacket) {
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
VarpDefinition var54 = class228.VarpDefinition_get(var16);
if (var54 != null) {
Varps.Varps_temp[var16] = 0;
Varps.Varps_main[var16] = 0;
}
}
class58.method966();
field772 += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2136 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
class22.method256(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2178 == var1.serverPacket) {
var16 = var3.method5564();
var5 = var3.method5619();
var50 = MusicPatchNode.getWidget(var5);
if (var50 != null && var50.type == 0) {
if (var16 > var50.scrollHeight - var50.height) {
var16 = var50.scrollHeight - var50.height;
}
if (var16 < 0) {
var16 = 0;
}
if (var16 != var50.scrollY) {
var50.scrollY = var16;
ItemContainer.invalidateWidget(var50);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2190 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2118 == var1.serverPacket) {
var16 = var3.method5564();
ScriptFrame.method1242(var16);
changedItemContainers[++field869 - 1 & 31] = var16 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2120 == var1.serverPacket) {
GrandExchangeOffer.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2122 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readInt();
var6 = RouteStrategy.getGcDuration();
PacketBufferNode var46 = FaceNormal.getPacketBufferNode(ClientPacket.field2218, packetWriter.isaacCipher);
var46.packetBuffer.writeShortLE(var16);
var46.packetBuffer.method5617(var5);
var46.packetBuffer.method5727(GameShell.fps);
var46.packetBuffer.method5727(var6);
packetWriter.addNode(var46);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2138 == var1.serverPacket) {
Projectile.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
FontName.FriendSystem_invalidateIgnoreds();
field873 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2174 == var1.serverPacket) {
class4.updatePlayers(var3, var1.serverPacketLength);
Login.method2177();
var1.serverPacket = null;
return true;
}
Widget var53;
if (ServerPacket.field2181 == var1.serverPacket) {
var16 = var3.method5619();
var53 = MusicPatchNode.getWidget(var16);
for (var6 = 0; var6 < var53.itemIds.length; ++var6) {
var53.itemIds[var6] = -1;
var53.itemIds[var6] = 0;
}
ItemContainer.invalidateWidget(var53);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2201 == var1.serverPacket) {
var16 = var3.method5564();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5638();
var6 = var3.readInt();
var42 = var3.method5614();
if (var42 == 65535) {
var42 = -1;
}
for (var8 = var16; var8 <= var42; ++var8) {
var23 = (long)var8 + ((long)var5 << 32);
Node var11 = widgetClickMasks.get(var23);
if (var11 != null) {
var11.remove();
}
widgetClickMasks.put(new IntegerNode(var6), var23);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2123 == var1.serverPacket) {
var16 = var3.method5621();
var53 = MusicPatchNode.getWidget(var16);
var53.modelType = 3;
var53.modelId = ByteArrayPool.localPlayer.appearance.getChatHeadId();
ItemContainer.invalidateWidget(var53);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2167 == var1.serverPacket) {
var37 = var3.readStringCp1252NullTerminated();
Object[] var52 = new Object[var37.length() + 1];
for (var6 = var37.length() - 1; var6 >= 0; --var6) {
if (var37.charAt(var6) == 's') {
var52[var6 + 1] = var3.readStringCp1252NullTerminated();
} else {
var52[var6 + 1] = new Integer(var3.readInt());
}
}
var52[0] = new Integer(var3.readInt());
ScriptEvent var49 = new ScriptEvent();
var49.args = var52;
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var49);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2157 == var1.serverPacket) {
var16 = var3.readUShortSmart();
var39 = var3.readUnsignedByte() == 1;
var48 = "";
boolean var7 = false;
if (var39) {
var48 = var3.readStringCp1252NullTerminated();
if (Projectile.friendSystem.isIgnored(new Username(var48, WorldMapIcon_0.loginType))) {
var7 = true;
}
}
String var55 = var3.readStringCp1252NullTerminated();
if (!var7) {
Skeleton.addGameMessage(var16, var48, var55);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2151 == 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.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);
}
field774 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2124 == var1.serverPacket) {
var16 = var3.method5638();
var5 = var3.readInt();
InterfaceParent var18 = (InterfaceParent)interfaceParents.get((long)var5);
var17 = (InterfaceParent)interfaceParents.get((long)var16);
if (var17 != null) {
class41.closeInterface(var17, var18 == null || var18.group != var17.group);
}
if (var18 != null) {
var18.remove();
interfaceParents.put(var18, (long)var16);
}
var28 = MusicPatchNode.getWidget(var5);
if (var28 != null) {
ItemContainer.invalidateWidget(var28);
}
var28 = MusicPatchNode.getWidget(var16);
if (var28 != null) {
ItemContainer.invalidateWidget(var28);
MouseHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var28.id >>> 16], var28, true);
}
if (rootInterface != -1) {
class198.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
WorldMapDecorationType.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * -1540694469 * 706104051 : -1) + "," + (var1.field1329 != null ? var1.field1329.id * -1540694469 * 706104051 : -1) + "," + (var1.field1339 != null ? var1.field1339.id * -1540694469 * 706104051 : -1) + "," + var1.serverPacketLength, (Throwable)null);
Huffman.logOut();
} catch (IOException var35) {
VertexNormal.method3093();
} catch (Exception var36) {
var27 = "" + (var1.serverPacket != null ? var1.serverPacket.id * -1540694469 * 706104051 : -1) + "," + (var1.field1329 != null ? var1.field1329.id * -1540694469 * 706104051 : -1) + "," + (var1.field1339 != null ? var1.field1339.id * -1540694469 * 706104051 : -1) + "," + var1.serverPacketLength + "," + (ByteArrayPool.localPlayer.pathX[0] + class69.baseX) + "," + (ByteArrayPool.localPlayer.pathY[0] + class89.baseY) + ",";
for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) {
var27 = var27 + var3.array[var6] + ",";
}
WorldMapDecorationType.RunException_sendStackTrace(var27, var36);
Huffman.logOut();
}
return true;
}
}
@ObfuscatedName("ho")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "93"
)
@Export("menu")
final void menu() {
class69.method1275();
if (class236.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var2;
int var4;
int var5;
int var9;
int var10;
label303: {
int var1 = MouseHandler.MouseHandler_lastButton;
int var3;
int var6;
int var8;
if (isMenuOpen) {
int var19;
if (var1 != 1 && (class217.mouseCam || var1 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var3 = MouseHandler.MouseHandler_y;
if (var2 < WorldMapDecoration.menuX - 10 || var2 > WorldMapScaleHandler.menuWidth + WorldMapDecoration.menuX + 10 || var3 < PacketBufferNode.menuY - 10 || var3 > WorldMapData_1.menuHeight + PacketBufferNode.menuY + 10) {
isMenuOpen = false;
var4 = WorldMapDecoration.menuX;
var5 = PacketBufferNode.menuY;
var6 = WorldMapScaleHandler.menuWidth;
var19 = WorldMapData_1.menuHeight;
for (var8 = 0; var8 < rootWidgetCount; ++var8) {
if (rootWidgetWidths[var8] + rootWidgetXs[var8] > var4 && rootWidgetXs[var8] < var6 + var4 && rootWidgetHeights[var8] + rootWidgetYs[var8] > var5 && rootWidgetYs[var8] < var19 + var5) {
field679[var8] = true;
}
}
}
}
if (var1 == 1 || !class217.mouseCam && var1 == 4) {
var2 = WorldMapDecoration.menuX;
var3 = PacketBufferNode.menuY;
var4 = WorldMapScaleHandler.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
var6 = MouseHandler.MouseHandler_lastPressedY;
var19 = -1;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
var9 = var3 + (menuOptionsCount - 1 - var8) * 15 + 31;
if (var5 > var2 && var5 < var4 + var2 && var6 > var9 - 13 && var6 < var9 + 3) {
var19 = var8;
}
}
int var11;
if (var19 != -1 && var19 >= 0) {
var8 = menuArguments1[var19];
var9 = menuArguments2[var19];
var10 = menuOpcodes[var19];
var11 = menuIdentifiers[var19];
String var18 = menuActions[var19];
String var13 = menuTargets[var19];
AbstractByteArrayCopier.menuAction(var8, var9, var10, var11, var18, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
isMenuOpen = false;
var8 = WorldMapDecoration.menuX;
var9 = PacketBufferNode.menuY;
var10 = WorldMapScaleHandler.menuWidth;
var11 = WorldMapData_1.menuHeight;
for (int var12 = 0; var12 < rootWidgetCount; ++var12) {
if (rootWidgetWidths[var12] + rootWidgetXs[var12] > var8 && rootWidgetXs[var12] < var8 + var10 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var9 && rootWidgetYs[var12] < var11 + var9) {
field679[var12] = true;
}
}
}
} else {
var2 = AbstractWorldMapData.method381();
if ((var1 == 1 || !class217.mouseCam && var1 == 4) && var2 >= 0) {
var3 = menuOpcodes[var2];
if (var3 == 39 || var3 == 40 || var3 == 41 || var3 == 42 || var3 == 43 || var3 == 33 || var3 == 34 || var3 == 35 || var3 == 36 || var3 == 37 || var3 == 38 || var3 == 1005) {
var4 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var14 = MusicPatchNode.getWidget(var5);
var8 = ScriptEvent.getWidgetClickMask(var14);
boolean var7 = (var8 >> 28 & 1) != 0;
if (var7) {
break label303;
}
Object var10000 = null;
if (MilliClock.method3560(ScriptEvent.getWidgetClickMask(var14))) {
break label303;
}
}
}
if ((var1 == 1 || !class217.mouseCam && var1 == 4) && this.shouldLeftClickOpenMenu()) {
var1 = 2;
}
if ((var1 == 1 || !class217.mouseCam && var1 == 4) && menuOptionsCount > 0 && var2 >= 0) {
var3 = menuArguments1[var2];
var4 = menuArguments2[var2];
var5 = menuOpcodes[var2];
var6 = menuIdentifiers[var2];
String var16 = menuActions[var2];
String var17 = menuTargets[var2];
AbstractByteArrayCopier.menuAction(var3, var4, var5, var6, var16, var17, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
if (var1 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
}
return;
}
if (class236.dragInventoryWidget != null && !field887 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
var9 = draggedWidgetX;
var10 = draggedWidgetY;
MenuAction var15 = AbstractWorldMapIcon.tempMenuAction;
AbstractByteArrayCopier.menuAction(var15.param0, var15.param1, var15.opcode, var15.identifier, var15.action, var15.action, var9, var10);
AbstractWorldMapIcon.tempMenuAction = null;
}
field887 = false;
itemDragDuration = 0;
if (class236.dragInventoryWidget != null) {
ItemContainer.invalidateWidget(class236.dragInventoryWidget);
}
class236.dragInventoryWidget = MusicPatchNode.getWidget(var5);
dragItemSlotSource = var4;
draggedWidgetX = MouseHandler.MouseHandler_lastPressedX;
draggedWidgetY = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
AbstractWorldMapIcon.tempMenuAction = new MenuAction();
AbstractWorldMapIcon.tempMenuAction.param0 = menuArguments1[var2];
AbstractWorldMapIcon.tempMenuAction.param1 = menuArguments2[var2];
AbstractWorldMapIcon.tempMenuAction.opcode = menuOpcodes[var2];
AbstractWorldMapIcon.tempMenuAction.identifier = menuIdentifiers[var2];
AbstractWorldMapIcon.tempMenuAction.action = menuActions[var2];
}
ItemContainer.invalidateWidget(class236.dragInventoryWidget);
}
}
}
@ObfuscatedName("hr")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "1329547181"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = AbstractWorldMapData.method381();
return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || class9.method121(var1)) && !menuShiftClick[var1];
}
@ObfuscatedName("hv")
@ObfuscatedSignature(
signature = "(III)V",
garbageValue = "1654431956"
)
@Export("openMenu")
final void openMenu(int var1, int var2) {
MusicPatchNode.method3922(var1, var2);
GrandExchangeOfferWorldComparator.scene.menuOpen(ScriptEvent.Client_plane, var1, var2, false);
isMenuOpen = true;
}
@ObfuscatedName("ib")
@ObfuscatedSignature(
signature = "(ZB)V",
garbageValue = "0"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
int var2 = rootInterface;
int var3 = WorldMapLabel.canvasWidth;
int var4 = Varps.canvasHeight;
if (LoginScreenAnimation.loadInterface(var2)) {
InterfaceParent.resizeInterface(Widget.Widget_interfaceComponents[var2], -1, var3, var4, var1);
}
}
@ObfuscatedName("id")
@ObfuscatedSignature(
signature = "(Lhe;I)V",
garbageValue = "-159825150"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : MusicPatchNode.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = WorldMapLabel.canvasWidth;
var4 = Varps.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
WorldMapAreaData.alignWidgetSize(var1, var3, var4, false);
WorldMapLabelSize.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("jz")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "22074"
)
final void method1420() {
ItemContainer.invalidateWidget(clickedWidget);
++MilliClock.widgetDragDuration;
if (field861 && field732) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field859) {
var1 = field859;
}
if (var1 + clickedWidget.width > field859 + clickedWidgetParent.width) {
var1 = field859 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field881) {
var2 = field881;
}
if (var2 + clickedWidget.height > field881 + clickedWidgetParent.height) {
var2 = field881 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field834;
int var4 = var2 - field863;
int var5 = clickedWidget.dragZoneSize;
if (MilliClock.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field859 + clickedWidgetParent.scrollX;
int var7 = var2 - field881 + 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;
GrandExchangeOfferOwnWorldComparator.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;
GrandExchangeOfferOwnWorldComparator.runScriptEvent(var8);
}
if (draggedOnWidget != null && GrandExchangeOfferTotalQuantityComparator.method181(clickedWidget) != null) {
PacketBufferNode var12 = FaceNormal.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher);
var12.packetBuffer.method5617(draggedOnWidget.id);
var12.packetBuffer.method5610(draggedOnWidget.childIndex);
var12.packetBuffer.writeShortLE(clickedWidget.id);
var12.packetBuffer.method5609(draggedOnWidget.itemId);
var12.packetBuffer.method5609(clickedWidget.childIndex);
var12.packetBuffer.method5609(clickedWidget.itemId);
packetWriter.addNode(var12);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field834 + widgetClickX, widgetClickY + field863);
} else if (menuOptionsCount > 0) {
int var11 = field834 + widgetClickX;
int var9 = widgetClickY + field863;
MenuAction var10 = AbstractWorldMapIcon.tempMenuAction;
AbstractByteArrayCopier.menuAction(var10.param0, var10.param1, var10.opcode, var10.identifier, var10.action, var10.action, var11, var9);
AbstractWorldMapIcon.tempMenuAction = null;
}
clickedWidget = null;
}
} else {
if (MilliClock.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("kd")
@ObfuscatedSignature(
signature = "(I)Lku;",
garbageValue = "-1860083598"
)
@Export("username")
public Username username() {
return ByteArrayPool.localPlayer != null ? ByteArrayPool.localPlayer.username : null;
}
@ObfuscatedName("d")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "11"
)
public static void method1496() {
class206.midiPcmStream.clear();
class206.field2406 = 1;
class206.musicTrackArchive = null;
}
}