Files
runelite/runescape-client/src/main/java/Client.java
2020-07-22 03:23:52 +01:00

5776 lines
164 KiB
Java

import java.io.File;
import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@ObfuscatedName("na")
@ObfuscatedSignature(
signature = "Lhd;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("oe")
@ObfuscatedGetter(
intValue = -729224767
)
static int field877;
@ObfuscatedName("ob")
@ObfuscatedGetter(
intValue = 1674098753
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("og")
@ObfuscatedGetter(
longValue = -5166210462225322257L
)
static long field886;
@ObfuscatedName("oo")
static boolean[] field813;
@ObfuscatedName("oa")
static boolean[] field880;
@ObfuscatedName("od")
static boolean[] field879;
@ObfuscatedName("no")
static boolean field854;
@ObfuscatedName("ne")
static boolean field692;
@ObfuscatedName("on")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("nm")
@ObfuscatedGetter(
intValue = -1861718839
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("su")
@ObfuscatedGetter(
intValue = -1473502491
)
public static int field942;
@ObfuscatedName("op")
@ObfuscatedGetter(
intValue = 1884992439
)
static int field866;
@ObfuscatedName("nn")
@ObfuscatedGetter(
intValue = 1534043965
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("qi")
static boolean field743;
@ObfuscatedName("nb")
@ObfuscatedGetter(
intValue = 1952446261
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("nl")
@ObfuscatedGetter(
intValue = 2126591519
)
static int field852;
@ObfuscatedName("ng")
@ObfuscatedSignature(
signature = "Lhd;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("oi")
@ObfuscatedSignature(
signature = "Lle;"
)
@Export("widgetFlags")
static NodeHashTable widgetFlags;
@ObfuscatedName("np")
@ObfuscatedGetter(
intValue = 152745331
)
static int field853;
@ObfuscatedName("nk")
@ObfuscatedSignature(
signature = "Lhd;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("oz")
@ObfuscatedGetter(
intValue = 1013553507
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("om")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("oc")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("mv")
@ObfuscatedGetter(
intValue = -1442407177
)
@Export("staffModLevel")
public static int staffModLevel;
@ObfuscatedName("rg")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("rp")
static boolean[] field918;
@ObfuscatedName("nw")
@ObfuscatedGetter(
intValue = 1213638029
)
static int field855;
@ObfuscatedName("tt")
@ObfuscatedSignature(
signature = "Lbs;"
)
static final ApproximateRouteStrategy field905;
@ObfuscatedName("nv")
@ObfuscatedGetter(
intValue = 924656773
)
static int field856;
@ObfuscatedName("os")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("ow")
@ObfuscatedSignature(
signature = "Ljp;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("ok")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("nz")
@ObfuscatedGetter(
intValue = 1791790939
)
static int field950;
@ObfuscatedName("nu")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("ta")
static int[] field947;
@ObfuscatedName("tr")
static int[] field948;
@ObfuscatedName("oy")
@ObfuscatedGetter(
intValue = 652578349
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("mg")
@ObfuscatedGetter(
intValue = -1228693343
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("mz")
@ObfuscatedGetter(
intValue = -1173095783
)
@Export("weight")
static int weight;
@ObfuscatedName("nh")
static int[] field859;
@ObfuscatedName("nc")
@ObfuscatedGetter(
intValue = -912002373
)
static int field860;
@ObfuscatedName("qx")
@ObfuscatedGetter(
intValue = 858415781
)
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("qw")
@ObfuscatedGetter(
intValue = -1223703005
)
@Export("musicVolume")
static int musicVolume;
@ObfuscatedName("qg")
@ObfuscatedGetter(
intValue = 1354700181
)
@Export("areaSoundEffectVolume")
static int areaSoundEffectVolume;
@ObfuscatedName("oq")
@ObfuscatedGetter(
intValue = -600377077
)
static int field870;
@ObfuscatedName("ni")
@ObfuscatedSignature(
signature = "Lhd;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("ph")
static long[] field892;
@ObfuscatedName("sr")
@ObfuscatedGetter(
intValue = -662177847
)
static int field868;
@ObfuscatedName("sl")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("sk")
@ObfuscatedSignature(
signature = "Lhv;"
)
@Export("playerAppearance")
static PlayerAppearance playerAppearance;
@ObfuscatedName("sc")
@ObfuscatedGetter(
intValue = -1024127287
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("sv")
@ObfuscatedGetter(
intValue = 898610375
)
static int field938;
@ObfuscatedName("nr")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("nx")
@ObfuscatedGetter(
intValue = -842750463
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("pz")
@ObfuscatedGetter(
intValue = -1471739451
)
static int field730;
@ObfuscatedName("ou")
@ObfuscatedGetter(
intValue = -1073959107
)
static int field943;
@ObfuscatedName("qu")
@ObfuscatedGetter(
intValue = -683211221
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("qb")
@ObfuscatedGetter(
intValue = -624260701
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("sd")
@ObfuscatedSignature(
signature = "[Ld;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("qe")
@ObfuscatedGetter(
intValue = -57175271
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("qp")
@ObfuscatedGetter(
intValue = 1814530167
)
@Export("soundEffectVolume")
static int soundEffectVolume;
@ObfuscatedName("ov")
@ObfuscatedGetter(
intValue = 1920180329
)
static int field818;
@ObfuscatedName("nj")
@Export("changedItemContainers")
static int[] changedItemContainers;
@ObfuscatedName("sf")
@ObfuscatedSignature(
signature = "Lmk;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = -392982617
)
static int field878;
@ObfuscatedName("mq")
@ObfuscatedSignature(
signature = "Lhd;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("qk")
@ObfuscatedGetter(
intValue = -1126917969
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("qf")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("ru")
static int[] field919;
@ObfuscatedName("mf")
@ObfuscatedGetter(
intValue = 1696970787
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("ql")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("rb")
static int[] field775;
@ObfuscatedName("mt")
@ObfuscatedGetter(
intValue = -1292017341
)
static int field838;
@ObfuscatedName("ry")
static int[] field778;
@ObfuscatedName("qz")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("rv")
static short field727;
@ObfuscatedName("pd")
@ObfuscatedGetter(
intValue = 1435648883
)
static int field937;
@ObfuscatedName("rf")
static int[] field922;
@ObfuscatedName("rw")
static short field924;
@ObfuscatedName("pu")
@ObfuscatedGetter(
longValue = 5234729741765487197L
)
static long field897;
@ObfuscatedName("rt")
static short field685;
@ObfuscatedName("qm")
@ObfuscatedSignature(
signature = "[Ldr;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("rj")
static short field861;
@ObfuscatedName("qv")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("rx")
static short field928;
@ObfuscatedName("sj")
@ObfuscatedGetter(
intValue = 1878607171
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("rh")
static short field927;
@ObfuscatedName("so")
@ObfuscatedGetter(
intValue = -1349755447
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("ss")
@ObfuscatedGetter(
intValue = -1045549837
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("pt")
@ObfuscatedGetter(
intValue = 262227823
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("pj")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("mp")
@ObfuscatedGetter(
intValue = -700106021
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("pi")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("ro")
@ObfuscatedGetter(
intValue = 1721264053
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("pw")
@ObfuscatedSignature(
signature = "[Llz;"
)
@Export("mapIcons")
static Sprite[] mapIcons;
@ObfuscatedName("sp")
@ObfuscatedGetter(
intValue = -2094601857
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("rl")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("rm")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("sn")
@ObfuscatedGetter(
intValue = 1224473793
)
static int field945;
@ObfuscatedName("oh")
@ObfuscatedGetter(
intValue = 1755181415
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("pr")
@ObfuscatedGetter(
intValue = 1773187299
)
static int field894;
@ObfuscatedName("pq")
static int[] field896;
@ObfuscatedName("pf")
static int[] field920;
@ObfuscatedName("pa")
@ObfuscatedGetter(
intValue = 793298193
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("pm")
@ObfuscatedGetter(
intValue = -394353337
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("mx")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("oj")
@ObfuscatedSignature(
signature = "Ljp;"
)
static NodeDeque field891;
@ObfuscatedName("ot")
@ObfuscatedSignature(
signature = "Ljp;"
)
static NodeDeque field691;
@ObfuscatedName("or")
@ObfuscatedGetter(
intValue = -1554074511
)
static int field869;
@ObfuscatedName("mw")
@ObfuscatedGetter(
intValue = -947743503
)
static int field835;
@ObfuscatedName("mm")
@ObfuscatedGetter(
intValue = 378113837
)
static int field671;
@ObfuscatedName("pn")
static int[] field888;
@ObfuscatedName("pg")
static String field755;
@ObfuscatedName("sx")
@ObfuscatedSignature(
signature = "Lbj;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Lfz;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("aj")
static boolean field669;
@ObfuscatedName("bk")
@ObfuscatedGetter(
intValue = 2001872587
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("bh")
@ObfuscatedGetter(
intValue = 807704553
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("be")
@ObfuscatedGetter(
intValue = -341861453
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("bd")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bb")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("bn")
static String field871;
@ObfuscatedName("bo")
@ObfuscatedGetter(
intValue = -419209615
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bp")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("bm")
@ObfuscatedGetter(
intValue = -176982947
)
@Export("gameState")
static int gameState;
@ObfuscatedName("ck")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("cv")
@ObfuscatedGetter(
intValue = 1130810935
)
@Export("cycle")
static int cycle;
@ObfuscatedName("cp")
@ObfuscatedGetter(
longValue = -4780591351762996103L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("cu")
@ObfuscatedGetter(
intValue = 1372131715
)
static int field683;
@ObfuscatedName("cq")
@ObfuscatedGetter(
intValue = 330959641
)
static int field684;
@ObfuscatedName("co")
@ObfuscatedGetter(
longValue = 6700383244029833147L
)
static long field738;
@ObfuscatedName("ca")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("cm")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("cf")
@ObfuscatedGetter(
intValue = -883512619
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("ct")
@ObfuscatedGetter(
intValue = -1769866173
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("cd")
@ObfuscatedGetter(
intValue = -1512277987
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("cy")
@ObfuscatedGetter(
intValue = -1664926141
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("cx")
@ObfuscatedGetter(
intValue = -1602606573
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("cs")
@ObfuscatedGetter(
intValue = -738703837
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("cr")
@ObfuscatedGetter(
intValue = 378352399
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("cl")
@ObfuscatedGetter(
intValue = -867258703
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("dx")
@ObfuscatedGetter(
intValue = -954844719
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("dm")
@ObfuscatedSignature(
signature = "Lco;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("dd")
@ObfuscatedSignature(
signature = "Lco;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("dl")
@ObfuscatedGetter(
intValue = 1526205263
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dr")
@ObfuscatedSignature(
signature = "Lfa;"
)
@Export("js5SocketTask")
static Task js5SocketTask;
@ObfuscatedName("dp")
@ObfuscatedGetter(
intValue = -1037086785
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("dc")
@ObfuscatedGetter(
intValue = 174147835
)
static int field815;
@ObfuscatedName("ea")
@ObfuscatedGetter(
intValue = -331323577
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("ei")
@ObfuscatedGetter(
intValue = -972927187
)
@Export("loginState")
static int loginState;
@ObfuscatedName("et")
@ObfuscatedGetter(
intValue = -1222807213
)
static int field705;
@ObfuscatedName("eq")
@ObfuscatedGetter(
intValue = -1645904359
)
static int field706;
@ObfuscatedName("ex")
@ObfuscatedGetter(
intValue = -92180293
)
static int field675;
@ObfuscatedName("er")
@ObfuscatedSignature(
signature = "Lfg;"
)
static class169 field708;
@ObfuscatedName("el")
@ObfuscatedGetter(
intValue = 1015918785
)
@Export("port2")
static int port2;
@ObfuscatedName("ep")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("ev")
@ObfuscatedSignature(
signature = "Lct;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("fe")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("fc")
@ObfuscatedSignature(
signature = "[Lcv;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("ft")
@ObfuscatedGetter(
intValue = 2041291171
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("fp")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("fq")
@ObfuscatedGetter(
intValue = -1459583387
)
static int field718;
@ObfuscatedName("fk")
static int[] field719;
@ObfuscatedName("fn")
@ObfuscatedSignature(
signature = "Ldx;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("fg")
@ObfuscatedGetter(
intValue = 2002648973
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("fu")
static boolean field722;
@ObfuscatedName("ff")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("fs")
@ObfuscatedSignature(
signature = "Ljy;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("fl")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("gq")
@ObfuscatedGetter(
intValue = 416832453
)
static int field822;
@ObfuscatedName("gb")
@ObfuscatedGetter(
intValue = -1691657031
)
static int field759;
@ObfuscatedName("gd")
@ObfuscatedGetter(
intValue = -386652489
)
static int field690;
@ObfuscatedName("gc")
@ObfuscatedGetter(
intValue = -498328781
)
static int field729;
@ObfuscatedName("gr")
@ObfuscatedGetter(
intValue = -1249993183
)
static int field809;
@ObfuscatedName("gg")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("gh")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("gz")
static final int[] field734;
@ObfuscatedName("gy")
@ObfuscatedGetter(
intValue = -103852435
)
static int field747;
@ObfuscatedName("hq")
@ObfuscatedGetter(
intValue = 26866095
)
static int field736;
@ObfuscatedName("hk")
@ObfuscatedGetter(
intValue = 683906157
)
static int field737;
@ObfuscatedName("hy")
@ObfuscatedGetter(
intValue = 1193836409
)
static int field694;
@ObfuscatedName("hn")
@ObfuscatedGetter(
intValue = -678810071
)
static int field739;
@ObfuscatedName("he")
static boolean field740;
@ObfuscatedName("hr")
@ObfuscatedGetter(
intValue = -708523843
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("hu")
@ObfuscatedGetter(
intValue = -1899320339
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("ho")
@ObfuscatedGetter(
intValue = 1115448517
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("hp")
@ObfuscatedGetter(
intValue = 217664287
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("hf")
@ObfuscatedGetter(
intValue = -1231248307
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("hb")
@ObfuscatedGetter(
intValue = 1991000361
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("hs")
@ObfuscatedGetter(
intValue = -56491575
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("hc")
@ObfuscatedGetter(
intValue = 952453857
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("ia")
@ObfuscatedGetter(
intValue = 899099377
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("is")
@ObfuscatedGetter(
intValue = 1234153475
)
static int field717;
@ObfuscatedName("ij")
@ObfuscatedGetter(
intValue = 2036163559
)
static int field751;
@ObfuscatedName("ib")
@ObfuscatedGetter(
intValue = 1474588135
)
static int field752;
@ObfuscatedName("iq")
@ObfuscatedGetter(
intValue = -968086637
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("ic")
@ObfuscatedGetter(
intValue = 312783465
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("ip")
@ObfuscatedGetter(
intValue = -1503339861
)
static int field836;
@ObfuscatedName("ig")
static boolean field756;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("if")
@ObfuscatedGetter(
intValue = -855755453
)
static int field757;
@ObfuscatedName("il")
static boolean field758;
@ObfuscatedName("iy")
@ObfuscatedGetter(
intValue = 457429091
)
static int field881;
@ObfuscatedName("ih")
@ObfuscatedGetter(
intValue = 1649830223
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("iu")
@ObfuscatedGetter(
intValue = -1008916691
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("ie")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("iw")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("ir")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("ik")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("iv")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("ii")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("je")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("jr")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("js")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("jg")
@ObfuscatedGetter(
intValue = 113367579
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("jo")
@ObfuscatedGetter(
intValue = -1896450279
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = 1282867815
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("jz")
@ObfuscatedGetter(
intValue = 601900271
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("jt")
@ObfuscatedGetter(
intValue = 1179562767
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("jm")
@ObfuscatedGetter(
intValue = 125020733
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("jd")
@ObfuscatedGetter(
intValue = -1956058299
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("jx")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("jn")
@ObfuscatedGetter(
intValue = 1621281143
)
static int field808;
@ObfuscatedName("jl")
@ObfuscatedGetter(
intValue = -886925517
)
static int field668;
@ObfuscatedName("ja")
@ObfuscatedGetter(
intValue = -668604129
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("jv")
@ObfuscatedGetter(
intValue = -793315667
)
@Export("draggedWidgetX")
static int draggedWidgetX;
@ObfuscatedName("jj")
@ObfuscatedGetter(
intValue = 1962512569
)
@Export("draggedWidgetY")
static int draggedWidgetY;
@ObfuscatedName("jh")
@ObfuscatedGetter(
intValue = -952269611
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("jb")
static boolean field785;
@ObfuscatedName("jy")
@ObfuscatedGetter(
intValue = 1160990691
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("ji")
@ObfuscatedGetter(
intValue = -713831637
)
static int field787;
@ObfuscatedName("jk")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("ku")
@ObfuscatedSignature(
signature = "[Lby;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("kx")
@ObfuscatedGetter(
intValue = -2104761709
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("kp")
@ObfuscatedGetter(
intValue = 1712399345
)
static int field791;
@ObfuscatedName("ki")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("ks")
@ObfuscatedGetter(
intValue = 1574229217
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("km")
@ObfuscatedGetter(
intValue = 1638972327
)
static int field687;
@ObfuscatedName("kt")
static int[] field907;
@ObfuscatedName("kj")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("ke")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("kv")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("kw")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("ko")
@ObfuscatedGetter(
intValue = -1537500949
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("ka")
@ObfuscatedSignature(
signature = "[[[Ljp;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("kg")
@ObfuscatedSignature(
signature = "Ljp;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("ky")
@ObfuscatedSignature(
signature = "Ljp;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("kb")
@ObfuscatedSignature(
signature = "Ljp;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("kn")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("kz")
@Export("levels")
static int[] levels;
@ObfuscatedName("kh")
@Export("experience")
static int[] experience;
@ObfuscatedName("lk")
@ObfuscatedGetter(
intValue = 1733687711
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("ly")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("ls")
@ObfuscatedGetter(
intValue = 1259358681
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("lm")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("lq")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("lx")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("la")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("lt")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("lf")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("ln")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("le")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("lr")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("ld")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("lo")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("lw")
@ObfuscatedGetter(
intValue = -1495458891
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("lh")
@ObfuscatedGetter(
intValue = -1150774747
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("lb")
@ObfuscatedGetter(
intValue = 1221803191
)
static int field824;
@ObfuscatedName("ms")
@ObfuscatedGetter(
intValue = -173401255
)
static int field825;
@ObfuscatedName("mk")
@ObfuscatedGetter(
intValue = 698992553
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("ml")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("mu")
@ObfuscatedGetter(
intValue = 1315575895
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("mh")
@ObfuscatedGetter(
intValue = 1111856905
)
static int field830;
@ObfuscatedName("mi")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("mo")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("mj")
@ObfuscatedGetter(
intValue = -1547224129
)
@Export("rootInterface")
static int rootInterface;
@ObfuscatedName("md")
@ObfuscatedSignature(
signature = "Lle;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("ec")
@ObfuscatedSignature(
signature = "Lkn;"
)
Buffer field929;
@ObfuscatedName("ee")
@ObfuscatedSignature(
signature = "Lz;"
)
class9 field851;
static {
field669 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
clientType = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = -1L;
field683 = -1;
field684 = -1;
field738 = -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;
field815 = 0;
js5Errors = 0;
loginState = 0;
field705 = 0;
field706 = 0;
field675 = 0;
field708 = class169.field2024;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field718 = 0;
field719 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
field722 = false;
useBufferedSocket = true;
timer = new Timer();
fontsMap = new HashMap();
field822 = 0;
field759 = 1;
field690 = 0;
field729 = 1;
field809 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field734 = 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};
field747 = 0;
field736 = 2301979;
field737 = 5063219;
field694 = 3353893;
field739 = 7759444;
field740 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field717 = 0;
field751 = 0;
field752 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field836 = 0;
field756 = false;
field757 = 0;
field758 = false;
field881 = 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;
field808 = 0;
field668 = 0;
dragItemSlotSource = 0;
draggedWidgetX = 0;
draggedWidgetY = 0;
dragItemSlotDestination = 0;
field785 = false;
itemDragDuration = 0;
field787 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field791 = 0;
renderSelf = true;
drawPlayerNames = 0;
field687 = 0;
field907 = 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;
field824 = 0;
field825 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field830 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field835 = 0;
field671 = -1;
chatEffects = 0;
field838 = 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;
field692 = false;
field852 = -1;
field853 = -1;
field854 = false;
field855 = -1;
field856 = -1;
isDraggingWidget = false;
cycleCntr = 1;
field859 = new int[32];
field860 = 0;
changedItemContainers = new int[32];
field878 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
chatCycle = 0;
field866 = 0;
field943 = 0;
field818 = 0;
field869 = 0;
field870 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field891 = new NodeDeque();
field691 = new NodeDeque();
widgetFlags = new NodeHashTable(512);
rootWidgetCount = 0;
field877 = -2;
field813 = new boolean[100];
field879 = new boolean[100];
field880 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field886 = 0L;
isResizable = true;
field888 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field755 = "";
field892 = new long[100];
field730 = 0;
field894 = 0;
field920 = new int[128];
field896 = new int[128];
field897 = -1L;
field937 = -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;
field743 = 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;
field918 = new boolean[5];
field919 = new int[5];
field775 = new int[5];
field778 = new int[5];
field922 = new int[5];
field727 = 256;
field924 = 205;
zoomHeight = 256;
zoomWidth = 320;
field927 = 1;
field928 = 32767;
field685 = 1;
field861 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerAppearance();
field868 = -1;
field938 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field942 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field945 = 0;
field905 = new ApproximateRouteStrategy();
field947 = new int[50];
field948 = new int[50];
}
@ObfuscatedName("y")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1805213007"
)
@Export("resizeGame")
protected final void resizeGame() {
field886 = MilliClock.currentTimeMillis() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("ag")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "108465933"
)
@Export("setUp")
protected final void setUp() {
class277.method5157(new int[]{20, 260, 10000}, new int[]{1000, 100, 500});
class90.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
port2 = gameBuild == 0 ? 443 : worldId + 50000;
WorldMapLabel.port3 = class90.port1;
PlayerAppearance.field2574 = class224.field2579;
PlayerAppearance.field2575 = class224.field2580;
PlayerAppearance.field2569 = class224.field2584;
Messages.field1308 = class224.field2582;
WorldMapLabelSize.urlRequester = new UrlRequester();
this.setUpKeyboard();
this.setUpMouse();
class7.mouseWheel = this.mouseWheel();
FloorUnderlayDefinition.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
AccessFile var2 = null;
ClientPreferences var3 = new ClientPreferences();
try {
var2 = GameShell.getPreferencesFile("", GrandExchangeOfferWorldComparator.field54.name, false);
byte[] var4 = new byte[(int)var2.length()];
int var6;
for (int var5 = 0; var5 < var4.length; var5 += var6) {
var6 = var2.read(var4, var5, var4.length - var5);
if (var6 == -1) {
throw new IOException();
}
}
var3 = new ClientPreferences(new Buffer(var4));
} catch (Exception var8) {
}
try {
if (var2 != null) {
var2.close();
}
} catch (Exception var7) {
}
NetSocket.clientPreferences = var3;
this.setUpClipboard();
TaskHandler.method3606(this, TileItemPile.null_string);
if (gameBuild != 0) {
displayFps = true;
}
ScriptEvent.setWindowedMode(NetSocket.clientPreferences.windowMode);
ModeWhere.friendSystem = new FriendSystem(class195.loginType);
}
@ObfuscatedName("ab")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "202919973"
)
@Export("doCycle")
protected final void doCycle() {
++cycle;
this.doCycleJs5();
class195.method3749();
int var1;
try {
if (class206.field2439 == 1) {
var1 = WorldMapSprite.midiPcmStream.method3837();
if (var1 > 0 && WorldMapSprite.midiPcmStream.isReady()) {
var1 -= class206.field2442;
if (var1 < 0) {
var1 = 0;
}
WorldMapSprite.midiPcmStream.setPcmStreamVolume(var1);
} else {
WorldMapSprite.midiPcmStream.clear();
WorldMapSprite.midiPcmStream.removeAll();
if (Huffman.musicTrackArchive != null) {
class206.field2439 = 2;
} else {
class206.field2439 = 0;
}
DevicePcmPlayerProvider.musicTrack = null;
Clock.soundCache = null;
}
}
} catch (Exception var5) {
var5.printStackTrace();
WorldMapSprite.midiPcmStream.clear();
class206.field2439 = 0;
DevicePcmPlayerProvider.musicTrack = null;
Clock.soundCache = null;
Huffman.musicTrackArchive = null;
}
Timer.playPcmPlayers();
MidiPcmStream.method3918();
synchronized(MouseHandler.MouseHandler_instance) {
MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile;
MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile;
MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile;
MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile;
MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile;
MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile;
MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile;
MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile;
MouseHandler.MouseHandler_lastButtonVolatile = 0;
}
if (class7.mouseWheel != null) {
var1 = class7.mouseWheel.useRotation();
mouseWheelRotation = var1;
}
if (gameState == 0) {
HealthBar.load();
MidiPcmStream.method3905();
} else if (gameState == 5) {
GrandExchangeEvent.doCycleTitle(this);
HealthBar.load();
FriendLoginUpdate.clock.mark();
for (var1 = 0; var1 < 32; ++var1) {
GameShell.graphicsTickTimes[var1] = 0L;
}
for (var1 = 0; var1 < 32; ++var1) {
GameShell.clientTickTimes[var1] = 0L;
}
GameShell.gameCyclesToDo = 0;
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
GrandExchangeEvent.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
class23.method229();
}
} else {
GrandExchangeEvent.doCycleTitle(this);
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
}
@ObfuscatedName("am")
@ObfuscatedSignature(
signature = "(ZS)V",
garbageValue = "255"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2;
label165: {
try {
if (class206.field2439 == 2) {
if (DevicePcmPlayerProvider.musicTrack == null) {
DevicePcmPlayerProvider.musicTrack = MusicTrack.readTrack(Huffman.musicTrackArchive, class206.musicTrackGroupId, MilliClock.musicTrackFileId);
if (DevicePcmPlayerProvider.musicTrack == null) {
var2 = false;
break label165;
}
}
if (Clock.soundCache == null) {
Clock.soundCache = new SoundCache(class206.soundEffectsArchive, class206.musicSamplesArchive);
}
if (WorldMapSprite.midiPcmStream.loadMusicTrack(DevicePcmPlayerProvider.musicTrack, class206.musicPatchesArchive, Clock.soundCache, 22050)) {
WorldMapSprite.midiPcmStream.clearAll();
WorldMapSprite.midiPcmStream.setPcmStreamVolume(class206.musicTrackVolume);
WorldMapSprite.midiPcmStream.setMusicTrack(DevicePcmPlayerProvider.musicTrack, class336.musicTrackBoolean);
class206.field2439 = 0;
DevicePcmPlayerProvider.musicTrack = null;
Clock.soundCache = null;
Huffman.musicTrackArchive = null;
var2 = true;
break label165;
}
}
} catch (Exception var6) {
var6.printStackTrace();
WorldMapSprite.midiPcmStream.clear();
class206.field2439 = 0;
DevicePcmPlayerProvider.musicTrack = null;
Clock.soundCache = null;
Huffman.musicTrackArchive = null;
}
var2 = false;
}
if (var2 && field743 && class2.pcmPlayer0 != null) {
class2.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field886 && MilliClock.currentTimeMillis() > field886) {
ScriptEvent.setWindowedMode(class58.getWindowedMode());
}
int var4;
if (var1) {
for (var4 = 0; var4 < 100; ++var4) {
field813[var4] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
World.drawTitle(GrandExchangeOfferNameComparator.fontBold12, WorldMapLabel.fontPlain11, MusicPatchNode2.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
World.drawTitle(GrandExchangeOfferNameComparator.fontBold12, WorldMapLabel.fontPlain11, MusicPatchNode2.fontPlain12);
} else if (gameState == 25) {
if (field809 == 1) {
if (field822 > field759) {
field759 = field822;
}
var4 = (field759 * 50 - field822 * 50) / field759;
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else if (field809 == 2) {
if (field690 > field729) {
field729 = field690;
}
var4 = (field729 * 50 - field690 * 50) / field729 + 50;
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else {
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
ArchiveDiskActionHandler.drawLoadingMessage("Connection lost" + "<br>" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
ArchiveDiskActionHandler.drawLoadingMessage("Please wait...", false);
}
} else {
World.drawTitle(GrandExchangeOfferNameComparator.fontBold12, WorldMapLabel.fontPlain11, MusicPatchNode2.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
if (field879[var4]) {
ArchiveLoader.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]);
field879[var4] = false;
}
}
} else if (gameState > 0) {
ArchiveLoader.rasterProvider.drawFull(0, 0);
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
field879[var4] = false;
}
}
}
@ObfuscatedName("ak")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1432958229"
)
@Export("kill0")
protected final void kill0() {
if (AttackOption.varcs.hasUnwrittenChanges()) {
AttackOption.varcs.write();
}
if (class219.mouseRecorder != null) {
class219.mouseRecorder.isRunning = false;
}
class219.mouseRecorder = null;
packetWriter.close();
TilePaint.method3186();
UserComparator9.method3509();
class7.mouseWheel = null;
if (class2.pcmPlayer0 != null) {
class2.pcmPlayer0.shutdown();
}
if (class58.pcmPlayer1 != null) {
class58.pcmPlayer1.shutdown();
}
WorldMapSectionType.method312();
AbstractWorldMapIcon.method687();
if (WorldMapLabelSize.urlRequester != null) {
WorldMapLabelSize.urlRequester.close();
WorldMapLabelSize.urlRequester = null;
}
SoundSystem.method2629();
}
@ObfuscatedName("av")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-453140820"
)
protected final void vmethod1570() {
}
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:
UserComparator9.clientLanguage = Language.Language_get(Integer.parseInt(var2));
break;
case 7:
int var4 = Integer.parseInt(var2);
GameBuild[] var5 = new GameBuild[]{GameBuild.LIVE, GameBuild.WIP, GameBuild.BUILDLIVE, GameBuild.RC};
GameBuild[] var6 = var5;
int var7 = 0;
GameBuild var3;
while (true) {
if (var7 >= var6.length) {
var3 = null;
break;
}
GameBuild var8 = var6[var7];
if (var4 == var8.buildId) {
var3 = var8;
break;
}
++var7;
}
PlayerType.field3130 = var3;
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
field871 = var2;
break;
case 10:
GrandExchangeOfferWorldComparator.field54 = (StudioGame)FaceNormal.findEnumerated(Skills.method4272(), Integer.parseInt(var2));
if (StudioGame.oldscape == GrandExchangeOfferWorldComparator.field54) {
class195.loginType = LoginType.oldscape;
} else {
class195.loginType = LoginType.field4059;
}
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
class228.field2754 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
HorizontalAlignment.worldListURL = var2;
}
}
}
Scene.Scene_isLowDetail = false;
isLowDetail = false;
class169.worldHost = this.getCodeBase().getHost();
String var9 = PlayerType.field3130.name;
byte var10 = 0;
try {
HealthBar.method2137("oldschool", var9, var10, 21);
} catch (Exception var11) {
class197.RunException_sendStackTrace((String)null, var11);
}
WorldMapSectionType.client = this;
RunException.clientType = clientType;
this.startThread(765, 503, 190);
}
} catch (RuntimeException var12) {
throw class1.newRunException(var12, "client.init(" + ')');
}
}
@ObfuscatedName("eg")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-61"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
long var2 = MilliClock.currentTimeMillis();
int var4 = (int)(var2 - FriendSystem.field1093);
FriendSystem.field1093 = 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 {
label240: {
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 (PlayerType.NetCache_currentResponse == null) {
var7 = 8;
} else if (NetCache.field3214 == 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.field3213 != 0) {
for (var9 = 0; var9 < var8; ++var9) {
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
var10001 = var9 + NetCache.NetCache_responseHeaderBuffer.offset;
var10000[var10001] ^= NetCache.field3213;
}
}
var25 = NetCache.NetCache_responseHeaderBuffer;
var25.offset += var8;
if (NetCache.NetCache_responseHeaderBuffer.offset < var7) {
break;
}
if (PlayerType.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);
NetCache.field3208 = true;
if (var15 == null) {
var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13);
NetCache.field3208 = false;
}
if (var15 == null) {
throw new IOException();
}
int var16 = var11 == 0 ? 5 : 9;
PlayerType.NetCache_currentResponse = var15;
CollisionMap.NetCache_responseArchiveBuffer = new Buffer(var12 + var16 + PlayerType.NetCache_currentResponse.padding);
CollisionMap.NetCache_responseArchiveBuffer.writeByte(var11);
CollisionMap.NetCache_responseArchiveBuffer.writeInt(var12);
NetCache.field3214 = 8;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else if (NetCache.field3214 == 0) {
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
NetCache.field3214 = 1;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else {
PlayerType.NetCache_currentResponse = null;
}
}
} else {
var8 = CollisionMap.NetCache_responseArchiveBuffer.array.length - PlayerType.NetCache_currentResponse.padding;
var9 = 512 - NetCache.field3214;
if (var9 > var8 - CollisionMap.NetCache_responseArchiveBuffer.offset) {
var9 = var8 - CollisionMap.NetCache_responseArchiveBuffer.offset;
}
if (var9 > var18) {
var9 = var18;
}
NetCache.NetCache_socket.read(CollisionMap.NetCache_responseArchiveBuffer.array, CollisionMap.NetCache_responseArchiveBuffer.offset, var9);
if (NetCache.field3213 != 0) {
for (var10 = 0; var10 < var9; ++var10) {
var10000 = CollisionMap.NetCache_responseArchiveBuffer.array;
var10001 = CollisionMap.NetCache_responseArchiveBuffer.offset + var10;
var10000[var10001] ^= NetCache.field3213;
}
}
var25 = CollisionMap.NetCache_responseArchiveBuffer;
var25.offset += var9;
NetCache.field3214 += var9;
if (var8 == CollisionMap.NetCache_responseArchiveBuffer.offset) {
if (16711935L == PlayerType.NetCache_currentResponse.key) {
UserComparator9.NetCache_reference = CollisionMap.NetCache_responseArchiveBuffer;
for (var10 = 0; var10 < 256; ++var10) {
Archive var19 = NetCache.NetCache_archives[var10];
if (var19 != null) {
UserComparator9.NetCache_reference.offset = var10 * 8 + 5;
var12 = UserComparator9.NetCache_reference.readInt();
int var20 = UserComparator9.NetCache_reference.readInt();
var19.loadIndex(var12, var20);
}
}
} else {
NetCache.NetCache_crc.reset();
NetCache.NetCache_crc.update(CollisionMap.NetCache_responseArchiveBuffer.array, 0, var8);
var10 = (int)NetCache.NetCache_crc.getValue();
if (var10 != PlayerType.NetCache_currentResponse.crc) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var23) {
}
++NetCache.NetCache_crcMismatches;
NetCache.NetCache_socket = null;
NetCache.field3213 = (byte)((int)(Math.random() * 255.0D + 1.0D));
var1 = false;
break label240;
}
NetCache.NetCache_crcMismatches = 0;
NetCache.NetCache_ioExceptions = 0;
PlayerType.NetCache_currentResponse.archive.write((int)(PlayerType.NetCache_currentResponse.key & 65535L), CollisionMap.NetCache_responseArchiveBuffer.array, 16711680L == (PlayerType.NetCache_currentResponse.key & 16711680L), NetCache.field3208);
}
PlayerType.NetCache_currentResponse.remove();
if (NetCache.field3208) {
--NetCache.NetCache_pendingPriorityResponsesCount;
} else {
--NetCache.NetCache_pendingResponsesCount;
}
NetCache.field3214 = 0;
PlayerType.NetCache_currentResponse = null;
CollisionMap.NetCache_responseArchiveBuffer = null;
} else {
if (NetCache.field3214 != 512) {
break;
}
NetCache.field3214 = 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("ey")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "20"
)
@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;
}
field815 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field815 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
js5SocketTask = GrandExchangeOfferAgeComparator.taskHandler.newSocketTask(class169.worldHost, WorldMapLabel.port3);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
GameObject.js5Socket = ClanChat.method5441((Socket)js5SocketTask.result, 40000, 5000);
} else {
GameObject.js5Socket = new NetSocket((Socket)js5SocketTask.result, GrandExchangeOfferAgeComparator.taskHandler, 5000);
}
Buffer var1 = new Buffer(5);
var1.writeByte(15);
var1.writeInt(190);
GameObject.js5Socket.write(var1.array, 0, 5);
++js5ConnectState;
WorldMapSprite.field261 = MilliClock.currentTimeMillis();
}
if (js5ConnectState == 3) {
if (GameObject.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var5 = GameObject.js5Socket.readUnsignedByte();
if (var5 != 0) {
this.js5Error(var5);
return;
}
++js5ConnectState;
} else if (MilliClock.currentTimeMillis() - WorldMapSprite.field261 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
AbstractSocket var10 = GameObject.js5Socket;
boolean var2 = gameState > 20;
if (NetCache.NetCache_socket != null) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var8) {
}
NetCache.NetCache_socket = null;
}
NetCache.NetCache_socket = var10;
class41.method624(var2);
NetCache.NetCache_responseHeaderBuffer.offset = 0;
PlayerType.NetCache_currentResponse = null;
CollisionMap.NetCache_responseArchiveBuffer = null;
NetCache.field3214 = 0;
while (true) {
NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first();
if (var3 == null) {
while (true) {
var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first();
if (var3 == null) {
if (NetCache.field3213 != 0) {
try {
Buffer var11 = new Buffer(4);
var11.writeByte(4);
var11.writeByte(NetCache.field3213);
var11.writeShort(0);
NetCache.NetCache_socket.write(var11.array, 0, 4);
} catch (IOException var7) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var6) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
NetCache.NetCache_loadTime = 0;
FriendSystem.field1093 = MilliClock.currentTimeMillis();
js5SocketTask = null;
GameObject.js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
return;
}
NetCache.NetCache_pendingWritesQueue.addLast(var3);
NetCache.NetCache_pendingWrites.put(var3, var3.key);
++NetCache.NetCache_pendingWritesCount;
--NetCache.NetCache_pendingResponsesCount;
}
}
NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key);
++NetCache.NetCache_pendingPriorityWritesCount;
--NetCache.NetCache_pendingPriorityResponsesCount;
}
}
} catch (IOException var9) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("ew")
@ObfuscatedSignature(
signature = "(IB)V",
garbageValue = "35"
)
@Export("js5Error")
void js5Error(int var1) {
js5SocketTask = null;
GameObject.js5Socket = null;
js5ConnectState = 0;
if (WorldMapLabel.port3 == class90.port1) {
WorldMapLabel.port3 = port2;
} else {
WorldMapLabel.port3 = class90.port1;
}
++js5Errors;
if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) {
if (gameState <= 5) {
this.error("js5connect_full");
gameState = 1000;
} else {
field815 = 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 {
field815 = 3000;
}
}
}
@ObfuscatedName("ee")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "599725078"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (ChatChannel.secureRandom == null && (secureRandomFuture.isDone() || field705 > 250)) {
ChatChannel.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (ChatChannel.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
ArchiveLoader.socketTask = null;
field722 = false;
field705 = 0;
loginState = 1;
}
}
if (loginState == 1) {
if (ArchiveLoader.socketTask == null) {
ArchiveLoader.socketTask = GrandExchangeOfferAgeComparator.taskHandler.newSocketTask(class169.worldHost, WorldMapLabel.port3);
}
if (ArchiveLoader.socketTask.status == 2) {
throw new IOException();
}
if (ArchiveLoader.socketTask.status == 1) {
if (useBufferedSocket) {
var1 = ClanChat.method5441((Socket)ArchiveLoader.socketTask.result, 40000, 5000);
} else {
var1 = new NetSocket((Socket)ArchiveLoader.socketTask.result, GrandExchangeOfferAgeComparator.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
ArchiveLoader.socketTask = null;
loginState = 2;
}
}
PacketBufferNode var3;
if (loginState == 2) {
packetWriter.clearBuffer();
var3 = Tile.method2990();
var3.packetBuffer.writeByte(LoginPacket.field2352.id);
packetWriter.addNode(var3);
packetWriter.flush();
var2.offset = 0;
loginState = 3;
}
int var4;
boolean var13;
if (loginState == 3) {
if (class2.pcmPlayer0 != null) {
class2.pcmPlayer0.method2560();
}
if (class58.pcmPlayer1 != null) {
class58.pcmPlayer1.method2560();
}
var13 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var13 = false;
}
if (var13) {
var4 = ((AbstractSocket)var1).readUnsignedByte();
if (class2.pcmPlayer0 != null) {
class2.pcmPlayer0.method2560();
}
if (class58.pcmPlayer1 != null) {
class58.pcmPlayer1.method2560();
}
if (var4 != 0) {
class22.getLoginError(var4);
return;
}
var2.offset = 0;
loginState = 4;
}
}
int var32;
if (loginState == 4) {
if (var2.offset < 8) {
var32 = ((AbstractSocket)var1).available();
if (var32 > 8 - var2.offset) {
var32 = 8 - var2.offset;
}
if (var32 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var32);
var2.offset += var32;
}
}
if (var2.offset == 8) {
var2.offset = 0;
MilliClock.field2046 = var2.readLong();
loginState = 5;
}
}
int var6;
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var23 = new PacketBuffer(500);
int[] var14 = new int[]{ChatChannel.secureRandom.nextInt(), ChatChannel.secureRandom.nextInt(), ChatChannel.secureRandom.nextInt(), ChatChannel.secureRandom.nextInt()};
var23.offset = 0;
var23.writeByte(1);
var23.writeInt(var14[0]);
var23.writeInt(var14[1]);
var23.writeInt(var14[2]);
var23.writeInt(var14[3]);
var23.writeLong(MilliClock.field2046);
if (gameState == 40) {
var23.writeInt(class7.field28[0]);
var23.writeInt(class7.field28[1]);
var23.writeInt(class7.field28[2]);
var23.writeInt(class7.field28[3]);
} else {
var23.writeByte(field708.rsOrdinal());
switch(field708.field2026) {
case 0:
var23.writeInt((Integer)NetSocket.clientPreferences.parameters.get(WorldMapAreaData.method759(Login.Login_username)));
break;
case 1:
case 3:
var23.writeMedium(WorldMapSprite.field264);
++var23.offset;
break;
case 2:
var23.offset += 4;
}
var23.writeByte(class322.field3841.rsOrdinal());
var23.writeStringCp1252NullTerminated(Login.Login_password);
}
var23.encryptRsa(class92.field1188, class92.field1189);
class7.field28 = var14;
PacketBufferNode var5 = Tile.method2990();
var5.packetBuffer.offset = 0;
if (gameState == 40) {
var5.packetBuffer.writeByte(LoginPacket.field2348.id);
} else {
var5.packetBuffer.writeByte(LoginPacket.field2347.id);
}
var5.packetBuffer.writeShort(0);
var6 = var5.packetBuffer.offset;
var5.packetBuffer.writeInt(190);
var5.packetBuffer.writeInt(1);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeBytes(var23.array, 0, var23.offset);
int var7 = var5.packetBuffer.offset;
var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var5.packetBuffer.writeShort(Varcs.canvasWidth);
var5.packetBuffer.writeShort(class52.canvasHeight);
PacketBuffer var8 = var5.packetBuffer;
int var11;
if (randomDatData != null) {
var8.writeBytes(randomDatData, 0, randomDatData.length);
} else {
byte[] var10 = new byte[24];
try {
JagexCache.JagexCache_randomDat.seek(0L);
JagexCache.JagexCache_randomDat.readFully(var10);
for (var11 = 0; var11 < 24 && var10[var11] == 0; ++var11) {
}
if (var11 >= 24) {
throw new IOException();
}
} catch (Exception var21) {
for (int var12 = 0; var12 < 24; ++var12) {
var10[var12] = -1;
}
}
var8.writeBytes(var10, 0, var10.length);
}
var5.packetBuffer.writeStringCp1252NullTerminated(field871);
var5.packetBuffer.writeInt(class228.field2754);
Buffer var9 = new Buffer(class13.platformInfo.size());
class13.platformInfo.write(var9);
var5.packetBuffer.writeBytes(var9.array, 0, var9.array.length);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.method5764(UserComparator7.archive6.hash);
var5.packetBuffer.method5762(Clock.archive2.hash);
var5.packetBuffer.writeShortLE(WorldMapData_0.archive11.hash);
var5.packetBuffer.method5764(Projectile.archive7.hash);
var5.packetBuffer.writeShortLE(GrandExchangeEvent.archive8.hash);
var5.packetBuffer.writeShortLE(Message.archive12.hash);
var5.packetBuffer.method5764(WorldMapData_0.archive19.hash);
var5.packetBuffer.method5762(GameBuild.archive13.hash);
var5.packetBuffer.writeShortLE(VarcInt.archive18.hash);
var5.packetBuffer.method5764(WorldMapIcon_1.archive14.hash);
var5.packetBuffer.method5762(AbstractWorldMapIcon.archive17.hash);
var5.packetBuffer.writeShortLE(Tile.archive9.hash);
var5.packetBuffer.method5762(WorldMapRectangle.archive5.hash);
var5.packetBuffer.writeShortLE(Message.archive1.hash);
var5.packetBuffer.method5762(ClientPacket.archive20.hash);
var5.packetBuffer.method5762(0);
var5.packetBuffer.writeInt(WorldMapLabel.archive15.hash);
var5.packetBuffer.method5762(GraphicsObject.archive10.hash);
var5.packetBuffer.method5762(class105.archive3.hash);
var5.packetBuffer.writeInt(GrandExchangeOffer.archive4.hash);
var5.packetBuffer.method5762(MilliClock.archive0.hash);
var5.packetBuffer.xteaEncrypt(var14, var7, var5.packetBuffer.offset);
var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6);
packetWriter.addNode(var5);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var14);
int[] var31 = new int[4];
for (var11 = 0; var11 < 4; ++var11) {
var31[var11] = var14[var11] + 50;
}
var2.newIsaacCipher(var31);
loginState = 6;
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var32 = ((AbstractSocket)var1).readUnsignedByte();
if (var32 == 21 && gameState == 20) {
loginState = 12;
} else if (var32 == 2) {
loginState = 14;
} else if (var32 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
loginState = 19;
} else if (var32 == 64) {
loginState = 10;
} else if (var32 == 23 && field706 < 1) {
++field706;
loginState = 0;
} else if (var32 == 29) {
loginState = 17;
} else {
if (var32 != 69) {
class22.getLoginError(var32);
return;
}
loginState = 7;
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) {
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
WorldMapSectionType.field174 = var2.readUnsignedShort();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapSectionType.field174) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, var2.offset, WorldMapSectionType.field174);
class7 var24 = class3.method41()[var2.readUnsignedByte()];
try {
switch(var24.field26) {
case 0:
class5 var33 = new class5();
this.field851 = new class9(var2, var33);
loginState = 9;
break;
default:
throw new IllegalArgumentException();
}
} catch (Exception var20) {
class22.getLoginError(22);
return;
}
}
if (loginState == 9 && this.field851.method106()) {
this.field929 = this.field851.method108();
this.field851.method107();
this.field851 = null;
if (this.field929 == null) {
class22.getLoginError(22);
return;
}
packetWriter.clearBuffer();
var3 = Tile.method2990();
var3.packetBuffer.writeByte(LoginPacket.field2345.id);
var3.packetBuffer.writeShort(this.field929.offset);
var3.packetBuffer.method5711(this.field929);
packetWriter.addNode(var3);
packetWriter.flush();
this.field929 = null;
loginState = 6;
}
if (loginState == 10 && ((AbstractSocket)var1).available() > 0) {
WorldMapDecoration.field238 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 11;
}
if (loginState == 11 && ((AbstractSocket)var1).available() >= WorldMapDecoration.field238) {
((AbstractSocket)var1).read(var2.array, 0, WorldMapDecoration.field238);
var2.offset = 0;
loginState = 6;
}
if (loginState == 12 && ((AbstractSocket)var1).available() > 0) {
field675 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
loginState = 13;
}
if (loginState == 13) {
field705 = 0;
MusicPatchPcmStream.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field675 / 60 + " seconds.");
if (--field675 <= 0) {
loginState = 0;
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) {
WorldMapSprite.field254 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 15;
}
int var16;
if (loginState == 15 && ((AbstractSocket)var1).available() >= WorldMapSprite.field254) {
var13 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var25 = false;
if (var13) {
var4 = var2.readByteIsaac() << 24;
var4 |= var2.readByteIsaac() << 16;
var4 |= var2.readByteIsaac() << 8;
var4 |= var2.readByteIsaac();
var16 = WorldMapAreaData.method759(Login.Login_username);
if (NetSocket.clientPreferences.parameters.size() >= 10 && !NetSocket.clientPreferences.parameters.containsKey(var16)) {
Iterator var17 = NetSocket.clientPreferences.parameters.entrySet().iterator();
var17.next();
var17.remove();
}
NetSocket.clientPreferences.parameters.put(var16, var4);
}
if (Login_isUsernameRemembered) {
NetSocket.clientPreferences.rememberedUsername = Login.Login_username;
} else {
NetSocket.clientPreferences.rememberedUsername = null;
}
SpriteMask.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field791 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var28 = StructDefinition.ServerPacket_values();
var6 = var2.readSmartByteShortIsaac();
if (var6 < 0 || var6 >= var28.length) {
throw new IOException(var6 + " " + var2.offset);
}
packetWriter.serverPacket = var28[var6];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
Client var18 = WorldMapSectionType.client;
JSObject.getWindow(var18).call("zap", (Object[])null);
} catch (Throwable var19) {
}
loginState = 16;
}
if (loginState == 16) {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method5178();
mouseLastLastPressedTimeMillis = -1L;
class219.mouseRecorder.index = 0;
WorldMapArea.hasFocus = true;
hadFocus = true;
field897 = -1L;
class90.method2164();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1350 = null;
packetWriter.field1351 = null;
packetWriter.field1342 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1348 = 0;
rebootTimer = 0;
logoutTimer = 0;
hintArrowType = 0;
menuOptionsCount = 0;
isMenuOpen = false;
MouseHandler.MouseHandler_idleCycles = 0;
LoginScreenAnimation.method1906();
isItemSelected = 0;
isSpellSelected = false;
soundEffectCount = 0;
camAngleY = 0;
oculusOrbState = 0;
class278.field3585 = null;
minimapState = 0;
field937 = -1;
destinationX = 0;
destinationY = 0;
playerAttackOption = AttackOption.AttackOption_hidden;
npcAttackOption = AttackOption.AttackOption_hidden;
npcCount = 0;
NPC.method2156();
for (var32 = 0; var32 < 2048; ++var32) {
players[var32] = null;
}
for (var32 = 0; var32 < 32768; ++var32) {
npcs[var32] = null;
}
combatTargetPlayerIndex = -1;
projectiles.clear();
graphicsObjects.clear();
for (var32 = 0; var32 < 4; ++var32) {
for (var4 = 0; var4 < 104; ++var4) {
for (var16 = 0; var16 < 104; ++var16) {
groundItems[var32][var4][var16] = null;
}
}
}
pendingSpawns = new NodeDeque();
ModeWhere.friendSystem.clear();
for (var32 = 0; var32 < VarpDefinition.VarpDefinition_fileCount; ++var32) {
VarpDefinition var36 = class219.VarpDefinition_get(var32);
if (var36 != null) {
Varps.Varps_temp[var32] = 0;
Varps.Varps_main[var32] = 0;
}
}
AttackOption.varcs.clearTransient();
followerIndex = -1;
if (rootInterface != -1) {
Tiles.method1200(rootInterface);
}
for (InterfaceParent var27 = (InterfaceParent)interfaceParents.first(); var27 != null; var27 = (InterfaceParent)interfaceParents.next()) {
class41.closeInterface(var27, true);
}
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
meslayerContinueWidget = null;
menuOptionsCount = 0;
isMenuOpen = false;
playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1);
for (var32 = 0; var32 < 8; ++var32) {
playerMenuActions[var32] = null;
playerOptionsPriorities[var32] = false;
}
ItemContainer.itemContainers = new NodeHashTable(32);
isLoading = true;
for (var32 = 0; var32 < 100; ++var32) {
field813[var32] = true;
}
var3 = UserComparator4.getPacketBufferNode(ClientPacket.field2279, packetWriter.isaacCipher);
var3.packetBuffer.writeByte(class58.getWindowedMode());
var3.packetBuffer.writeShort(Varcs.canvasWidth);
var3.packetBuffer.writeShort(class52.canvasHeight);
packetWriter.addNode(var3);
ClientPreferences.clanChat = null;
for (var32 = 0; var32 < 8; ++var32) {
grandExchangeOffers[var32] = new GrandExchangeOffer();
}
WorldMapIcon_0.grandExchangeEvents = null;
HitSplatDefinition.updatePlayer(var2);
WorldMapCacheName.field328 = -1;
class8.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;
WorldMapLabelSize.field134 = var2.readUnsignedShort();
loginState = 18;
}
if (loginState == 18 && ((AbstractSocket)var1).available() >= WorldMapLabelSize.field134) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, WorldMapLabelSize.field134);
var2.offset = 0;
String var26 = var2.readStringCp1252NullTerminated();
String var34 = var2.readStringCp1252NullTerminated();
String var29 = var2.readStringCp1252NullTerminated();
MusicPatchPcmStream.setLoginResponseString(var26, var34, var29);
ClientPreferences.updateGameState(10);
}
if (loginState != 19) {
++field705;
if (field705 > 2000) {
if (field706 < 1) {
if (WorldMapLabel.port3 == class90.port1) {
WorldMapLabel.port3 = port2;
} else {
WorldMapLabel.port3 = class90.port1;
}
++field706;
loginState = 0;
} else {
class22.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;
var32 = packetWriter.serverPacketLength;
timer.method5166();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1350 = null;
packetWriter.field1351 = null;
packetWriter.field1342 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1348 = 0;
rebootTimer = 0;
menuOptionsCount = 0;
isMenuOpen = false;
minimapState = 0;
destinationX = 0;
for (var4 = 0; var4 < 2048; ++var4) {
players[var4] = null;
}
class60.localPlayer = null;
for (var4 = 0; var4 < npcs.length; ++var4) {
NPC var30 = npcs[var4];
if (var30 != null) {
var30.targetIndex = -1;
var30.false0 = false;
}
}
ItemContainer.itemContainers = new NodeHashTable(32);
ClientPreferences.updateGameState(30);
for (var4 = 0; var4 < 100; ++var4) {
field813[var4] = true;
}
PacketBufferNode var35 = UserComparator4.getPacketBufferNode(ClientPacket.field2279, packetWriter.isaacCipher);
var35.packetBuffer.writeByte(class58.getWindowedMode());
var35.packetBuffer.writeShort(Varcs.canvasWidth);
var35.packetBuffer.writeShort(class52.canvasHeight);
packetWriter.addNode(var35);
HitSplatDefinition.updatePlayer(var2);
if (var32 != var2.offset) {
throw new RuntimeException();
}
}
}
}
}
} catch (IOException var22) {
if (field706 < 1) {
if (WorldMapLabel.port3 == class90.port1) {
WorldMapLabel.port3 = port2;
} else {
WorldMapLabel.port3 = class90.port1;
}
++field706;
loginState = 0;
} else {
class22.getLoginError(-2);
}
}
}
@ObfuscatedName("ft")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-873982601"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (field722) {
field722 = false;
CollisionMap.method3707();
} else {
if (!isMenuOpen) {
FontName.addCancelMenuEntry();
}
int var1;
for (var1 = 0; var1 < 100 && this.method1768(packetWriter); ++var1) {
}
if (gameState == 30) {
int var2;
PacketBufferNode var14;
while (MusicPatchNode.method3966()) {
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2286, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
var2 = var14.packetBuffer.offset;
TriBool.performReflectionCheck(var14.packetBuffer);
var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var2);
packetWriter.addNode(var14);
}
if (timer.field3618) {
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2310, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
var2 = var14.packetBuffer.offset;
timer.write(var14.packetBuffer);
var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var2);
packetWriter.addNode(var14);
timer.method5165();
}
int var3;
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
PacketBuffer var10000;
synchronized(class219.mouseRecorder.lock) {
if (!field669) {
class219.mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || class219.mouseRecorder.index >= 40) {
PacketBufferNode var15 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < class219.mouseRecorder.index && (var15 == null || var15.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = class219.mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = class219.mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field683 || var8 != field684) {
if (var15 == null) {
var15 = UserComparator4.getPacketBufferNode(ClientPacket.field2253, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
var3 = var15.packetBuffer.offset;
var10000 = var15.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (field738 != -1L) {
var10 = var9 - field683;
var11 = var8 - field684;
var12 = (int)((class219.mouseRecorder.millis[var7] - field738) / 20L);
var5 = (int)((long)var5 + (class219.mouseRecorder.millis[var7] - field738) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field683 = var9;
field684 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var15.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var15.packetBuffer.writeByte(var12 + 128);
var15.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var15.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var15.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var15.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var15.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var15.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var15.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field738 = class219.mouseRecorder.millis[var7];
}
}
if (var15 != null) {
var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var3);
var7 = var15.packetBuffer.offset;
var15.packetBuffer.offset = var3;
var15.packetBuffer.writeByte(var5 / var6);
var15.packetBuffer.writeByte(var5 % var6);
var15.packetBuffer.offset = var7;
packetWriter.addNode(var15);
}
if (var4 >= class219.mouseRecorder.index) {
class219.mouseRecorder.index = 0;
} else {
MouseRecorder var44 = class219.mouseRecorder;
var44.index -= var4;
System.arraycopy(class219.mouseRecorder.xs, var4, class219.mouseRecorder.xs, 0, class219.mouseRecorder.index);
System.arraycopy(class219.mouseRecorder.ys, var4, class219.mouseRecorder.ys, 0, class219.mouseRecorder.index);
System.arraycopy(class219.mouseRecorder.millis, var4, class219.mouseRecorder.millis, 0, class219.mouseRecorder.index);
}
}
}
PacketBufferNode var18;
if (MouseHandler.MouseHandler_lastButton == 1 || !ArchiveLoader.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var16 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis;
if (var16 > 32767L) {
var16 = 32767L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > class52.canvasHeight) {
var3 = class52.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > Varcs.canvasWidth) {
var4 = Varcs.canvasWidth;
}
var5 = (int)var16;
var18 = UserComparator4.getPacketBufferNode(ClientPacket.field2244, packetWriter.isaacCipher);
var18.packetBuffer.writeShort((var5 << 1) + (MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0));
var18.packetBuffer.writeShort(var4);
var18.packetBuffer.writeShort(var3);
packetWriter.addNode(var18);
}
if (KeyHandler.field425 > 0) {
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2330, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(0);
var2 = var14.packetBuffer.offset;
long var19 = MilliClock.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field425; ++var5) {
long var21 = var19 - field897;
if (var21 > 16777215L) {
var21 = 16777215L;
}
field897 = var19;
var14.packetBuffer.writeIntME(KeyHandler.field429[var5]);
var14.packetBuffer.method5798((int)var21);
}
var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var2);
packetWriter.addNode(var14);
}
if (field757 > 0) {
--field757;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field758 = true;
}
if (field758 && field757 <= 0) {
field757 = 20;
field758 = false;
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2258, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(camAngleY);
var14.packetBuffer.writeShort(camAngleX);
packetWriter.addNode(var14);
}
if (WorldMapArea.hasFocus && !hadFocus) {
hadFocus = true;
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2290, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(1);
packetWriter.addNode(var14);
}
if (!WorldMapArea.hasFocus && hadFocus) {
hadFocus = false;
var14 = UserComparator4.getPacketBufferNode(ClientPacket.field2290, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
packetWriter.addNode(var14);
}
if (class228.worldMap != null) {
class228.worldMap.method6696();
}
if (class4.ClanChat_inClanChat) {
if (ClientPreferences.clanChat != null) {
ClientPreferences.clanChat.sort();
}
class7.FriendSystem_invalidateFriends();
class4.ClanChat_inClanChat = false;
}
JagexCache.method3625();
if (gameState == 30) {
Frames.method3396();
int var10002;
for (var1 = 0; var1 < soundEffectCount; ++var1) {
var10002 = queuedSoundEffectDelays[var1]--;
if (queuedSoundEffectDelays[var1] >= -10) {
SoundEffect var35 = soundEffects[var1];
if (var35 == null) {
var10000 = null;
var35 = SoundEffect.readSoundEffect(GrandExchangeOffer.archive4, soundEffectIds[var1], 0);
if (var35 == null) {
continue;
}
int[] var45 = queuedSoundEffectDelays;
var45[var1] += var35.calculateDelay();
soundEffects[var1] = var35;
}
if (queuedSoundEffectDelays[var1] < 0) {
if (soundLocations[var1] != 0) {
var4 = (soundLocations[var1] & 255) * 128;
var5 = soundLocations[var1] >> 16 & 255;
var6 = var5 * 128 + 64 - class60.localPlayer.x;
if (var6 < 0) {
var6 = -var6;
}
var7 = soundLocations[var1] >> 8 & 255;
var8 = var7 * 128 + 64 - class60.localPlayer.y;
if (var8 < 0) {
var8 = -var8;
}
var9 = var6 + var8 - 128;
if (var9 > var4) {
queuedSoundEffectDelays[var1] = -100;
continue;
}
if (var9 < 0) {
var9 = 0;
}
var3 = (var4 - var9) * areaSoundEffectVolume / var4;
} else {
var3 = soundEffectVolume;
}
if (var3 > 0) {
RawSound var23 = var35.toRawSound().resample(class197.decimator);
RawPcmStream var24 = RawPcmStream.createRawPcmStream(var23, 100, var3);
var24.setNumLoops(queuedSoundEffectLoops[var1] - 1);
class60.pcmStreamMixer.addSubStream(var24);
}
queuedSoundEffectDelays[var1] = -100;
}
} else {
--soundEffectCount;
for (var2 = var1; var2 < soundEffectCount; ++var2) {
soundEffectIds[var2] = soundEffectIds[var2 + 1];
soundEffects[var2] = soundEffects[var2 + 1];
queuedSoundEffectLoops[var2] = queuedSoundEffectLoops[var2 + 1];
queuedSoundEffectDelays[var2] = queuedSoundEffectDelays[var2 + 1];
soundLocations[var2] = soundLocations[var2 + 1];
}
--var1;
}
}
if (field743 && !WorldMapLabelSize.method251()) {
if (musicVolume != 0 && currentTrackGroupId != -1) {
UserComparator9.method3513(UserComparator7.archive6, currentTrackGroupId, 0, musicVolume, false);
}
field743 = false;
}
++packetWriter.field1348;
if (packetWriter.field1348 > 750) {
CollisionMap.method3707();
} else {
TileItem.method2260();
class247.method4496();
class3.method33();
++field747;
if (mouseCrossColor != 0) {
mouseCrossState += 20;
if (mouseCrossState >= 400) {
mouseCrossColor = 0;
}
}
if (class194.field2356 != null) {
++field808;
if (field808 >= 15) {
class234.invalidateWidget(class194.field2356);
class194.field2356 = null;
}
}
Widget var34 = WorldMapSection1.mousedOverWidgetIf1;
Widget var36 = SecureRandomCallable.field542;
WorldMapSection1.mousedOverWidgetIf1 = null;
SecureRandomCallable.field542 = null;
draggedOnWidget = null;
field854 = false;
field692 = false;
field894 = 0;
while (WorldMapManager.isKeyDown() && field894 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && SecureRandomCallable.field546 == 66) {
String var39 = "";
Message var37;
for (Iterator var41 = Messages.Messages_hashTable.iterator(); var41.hasNext(); var39 = var39 + var37.sender + ':' + var37.text + '\n') {
var37 = (Message)var41.next();
}
WorldMapSectionType.client.clipboardSetString(var39);
} else if (oculusOrbState != 1 || class58.field442 <= 0) {
field896[field894] = SecureRandomCallable.field546;
field920[field894] = class58.field442;
++field894;
}
}
boolean var30 = staffModLevel >= 2;
if (var30 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var4 = class60.localPlayer.plane - mouseWheelRotation;
if (var4 < 0) {
var4 = 0;
} else if (var4 > 3) {
var4 = 3;
}
if (var4 != class60.localPlayer.plane) {
GrandExchangeOffer.method191(class60.localPlayer.pathX[0] + class182.baseX, class60.localPlayer.pathY[0] + SecureRandomFuture.baseY, var4, false);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
MusicPatchNode.updateRootInterface(rootInterface, 0, 0, Varcs.canvasWidth, class52.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var38;
ScriptEvent var40;
Widget var42;
do {
var40 = (ScriptEvent)field891.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)field691.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)scriptEvents.removeLast();
if (var40 == null) {
this.menu();
if (class228.worldMap != null) {
class228.worldMap.method6532(TileItemPile.Client_plane, (class60.localPlayer.x >> 7) + class182.baseX, (class60.localPlayer.y >> 7) + SecureRandomFuture.baseY, false);
class228.worldMap.loadCache();
}
if (clickedWidget != null) {
this.method1372();
}
if (KeyHandler.dragInventoryWidget != null) {
class234.invalidateWidget(KeyHandler.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field785) {
if (KeyHandler.dragInventoryWidget == TaskHandler.hoveredItemContainer && dragItemSlotSource != dragItemSlotDestination) {
Widget var43 = KeyHandler.dragInventoryWidget;
byte var31 = 0;
if (field838 == 1 && var43.contentType == 206) {
var31 = 1;
}
if (var43.itemIds[dragItemSlotDestination] <= 0) {
var31 = 0;
}
if (Projectile.method2249(KeyHandler.getWidgetFlags(var43))) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
var43.itemIds[var7] = var43.itemIds[var6];
var43.itemQuantities[var7] = var43.itemQuantities[var6];
var43.itemIds[var6] = -1;
var43.itemQuantities[var6] = 0;
} else if (var31 == 1) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
while (var7 != var6) {
if (var6 > var7) {
var43.swapItems(var6 - 1, var6);
--var6;
} else if (var6 < var7) {
var43.swapItems(var6 + 1, var6);
++var6;
}
}
} else {
var43.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
var18 = UserComparator4.getPacketBufferNode(ClientPacket.field2256, packetWriter.isaacCipher);
var18.packetBuffer.method5837(var31);
var18.packetBuffer.writeInt(KeyHandler.dragInventoryWidget.id);
var18.packetBuffer.method5898(dragItemSlotDestination);
var18.packetBuffer.method5898(dragItemSlotSource);
packetWriter.addNode(var18);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(draggedWidgetX, draggedWidgetY);
} else if (menuOptionsCount > 0) {
GrandExchangeOffer.method189(draggedWidgetX, draggedWidgetY);
}
field808 = 10;
MouseHandler.MouseHandler_lastButton = 0;
KeyHandler.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)) {
field785 = true;
}
}
if (Scene.shouldSendWalk()) {
var4 = Scene.Scene_selectedX;
var5 = Scene.Scene_selectedY;
var18 = UserComparator4.getPacketBufferNode(ClientPacket.field2311, packetWriter.isaacCipher);
var18.packetBuffer.writeByte(5);
var18.packetBuffer.writeShort(var5 + SecureRandomFuture.baseY);
var18.packetBuffer.writeShort(var4 + class182.baseX);
var18.packetBuffer.method5744(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
packetWriter.addNode(var18);
Scene.resetWalking();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var4;
destinationY = var5;
}
if (var34 != WorldMapSection1.mousedOverWidgetIf1) {
if (var34 != null) {
class234.invalidateWidget(var34);
}
if (WorldMapSection1.mousedOverWidgetIf1 != null) {
class234.invalidateWidget(WorldMapSection1.mousedOverWidgetIf1);
}
}
if (var36 != SecureRandomCallable.field542 && field825 == field824) {
if (var36 != null) {
class234.invalidateWidget(var36);
}
if (SecureRandomCallable.field542 != null) {
class234.invalidateWidget(SecureRandomCallable.field542);
}
}
if (SecureRandomCallable.field542 != null) {
if (field824 < field825) {
++field824;
if (field825 == field824) {
class234.invalidateWidget(SecureRandomCallable.field542);
}
}
} else if (field824 > 0) {
--field824;
}
if (oculusOrbState == 0) {
var4 = class60.localPlayer.x;
var5 = class60.localPlayer.y;
if (class225.oculusOrbFocalPointX - var4 < -500 || class225.oculusOrbFocalPointX - var4 > 500 || HealthBarDefinition.oculusOrbFocalPointY - var5 < -500 || HealthBarDefinition.oculusOrbFocalPointY - var5 > 500) {
class225.oculusOrbFocalPointX = var4;
HealthBarDefinition.oculusOrbFocalPointY = var5;
}
if (var4 != class225.oculusOrbFocalPointX) {
class225.oculusOrbFocalPointX += (var4 - class225.oculusOrbFocalPointX) / 16;
}
if (var5 != HealthBarDefinition.oculusOrbFocalPointY) {
HealthBarDefinition.oculusOrbFocalPointY += (var5 - HealthBarDefinition.oculusOrbFocalPointY) / 16;
}
var6 = class225.oculusOrbFocalPointX >> 7;
var7 = HealthBarDefinition.oculusOrbFocalPointY >> 7;
var8 = Language.getTileHeight(class225.oculusOrbFocalPointX, HealthBarDefinition.oculusOrbFocalPointY, TileItemPile.Client_plane);
var9 = 0;
if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) {
for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) {
for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) {
var12 = TileItemPile.Client_plane;
if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) {
++var12;
}
int var26 = var8 - Tiles.Tiles_heights[var12][var10][var11];
if (var26 > var9) {
var9 = var26;
}
}
}
}
var10 = var9 * 192;
if (var10 > 98048) {
var10 = 98048;
}
if (var10 < 32768) {
var10 = 32768;
}
if (var10 > field881) {
field881 += (var10 - field881) / 24;
} else if (var10 < field881) {
field881 += (var10 - field881) / 80;
}
WorldMapDecoration.field234 = Language.getTileHeight(class60.localPlayer.x, class60.localPlayer.y, TileItemPile.Client_plane) - camFollowHeight;
} else if (oculusOrbState == 1) {
NetSocket.method3674();
short var32 = -1;
if (KeyHandler.KeyHandler_pressedKeys[33]) {
var32 = 0;
} else if (KeyHandler.KeyHandler_pressedKeys[49]) {
var32 = 1024;
}
if (KeyHandler.KeyHandler_pressedKeys[48]) {
if (var32 == 0) {
var32 = 1792;
} else if (var32 == 1024) {
var32 = 1280;
} else {
var32 = 1536;
}
} else if (KeyHandler.KeyHandler_pressedKeys[50]) {
if (var32 == 0) {
var32 = 256;
} else if (var32 == 1024) {
var32 = 768;
} else {
var32 = 512;
}
}
byte var33 = 0;
if (KeyHandler.KeyHandler_pressedKeys[35]) {
var33 = -1;
} else if (KeyHandler.KeyHandler_pressedKeys[51]) {
var33 = 1;
}
var6 = 0;
if (var32 >= 0 || var33 != 0) {
var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed * 312783465 * 354155993 : oculusOrbNormalSpeed * -997807461 * -968086637;
var6 *= 16;
field751 = var32;
field752 = var33;
}
if (field717 < var6) {
field717 += var6 / 8;
if (field717 > var6) {
field717 = var6;
}
} else if (field717 > var6) {
field717 = field717 * 9 / 10;
}
if (field717 > 0) {
var7 = field717 / 16;
if (field751 >= 0) {
var4 = field751 - Canvas.cameraYaw & 2047;
var8 = Rasterizer3D.Rasterizer3D_sine[var4];
var9 = Rasterizer3D.Rasterizer3D_cosine[var4];
class225.oculusOrbFocalPointX += var7 * var8 / 65536;
HealthBarDefinition.oculusOrbFocalPointY += var7 * var9 / 65536;
}
if (field752 != 0) {
WorldMapDecoration.field234 += var7 * field752;
if (WorldMapDecoration.field234 > 0) {
WorldMapDecoration.field234 = 0;
}
}
} else {
field751 = -1;
field752 = -1;
}
if (KeyHandler.KeyHandler_pressedKeys[13]) {
GrandExchangeOfferNameComparator.method206();
}
}
if (MouseHandler.MouseHandler_currentButton == 4 && ArchiveLoader.mouseCam) {
var4 = MouseHandler.MouseHandler_y - mouseCamClickedY;
camAngleDX = var4 * 2;
mouseCamClickedY = var4 != -1 && var4 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y * -137685025 * -1383373793;
var5 = mouseCamClickedX - MouseHandler.MouseHandler_x;
camAngleDY = var5 * 2;
mouseCamClickedX = var5 != -1 && var5 != 1 ? (MouseHandler.MouseHandler_x + mouseCamClickedX) / 2 : MouseHandler.MouseHandler_x * -493092611 * -1040704427;
} else {
if (KeyHandler.KeyHandler_pressedKeys[96]) {
camAngleDY += (-24 - camAngleDY) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[97]) {
camAngleDY += (24 - camAngleDY) / 2;
} else {
camAngleDY /= 2;
}
if (KeyHandler.KeyHandler_pressedKeys[98]) {
camAngleDX += (12 - camAngleDX) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[99]) {
camAngleDX += (-12 - camAngleDX) / 2;
} else {
camAngleDX /= 2;
}
mouseCamClickedY = MouseHandler.MouseHandler_y;
mouseCamClickedX = MouseHandler.MouseHandler_x;
}
camAngleY = camAngleDY / 2 + camAngleY & 2047;
camAngleX += camAngleDX / 2;
if (camAngleX < 128) {
camAngleX = 128;
}
if (camAngleX > 383) {
camAngleX = 383;
}
if (isCameraLocked) {
WorldMapLabel.method488();
}
for (var4 = 0; var4 < 5; ++var4) {
var10002 = field922[var4]++;
}
AttackOption.varcs.tryWrite();
var4 = Skills.method4271();
var5 = KeyHandler.KeyHandler_idleCycles;
PacketBufferNode var27;
if (var4 > 15000 && var5 > 15000) {
logoutTimer = 250;
MouseHandler.MouseHandler_idleCycles = 14500;
var27 = UserComparator4.getPacketBufferNode(ClientPacket.field2243, packetWriter.isaacCipher);
packetWriter.addNode(var27);
}
ModeWhere.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var27 = UserComparator4.getPacketBufferNode(ClientPacket.field2285, packetWriter.isaacCipher);
packetWriter.addNode(var27);
}
try {
packetWriter.flush();
} catch (IOException var28) {
CollisionMap.method3707();
}
return;
}
var42 = var40.widget;
if (var42.childIndex < 0) {
break;
}
var38 = WorldMapSprite.getWidget(var42.parentId);
} while(var38 == null || var38.children == null || var42.childIndex >= var38.children.length || var42 != var38.children[var42.childIndex]);
InterfaceParent.runScriptEvent(var40);
}
}
var42 = var40.widget;
if (var42.childIndex < 0) {
break;
}
var38 = WorldMapSprite.getWidget(var42.parentId);
} while(var38 == null || var38.children == null || var42.childIndex >= var38.children.length || var42 != var38.children[var42.childIndex]);
InterfaceParent.runScriptEvent(var40);
}
}
var42 = var40.widget;
if (var42.childIndex < 0) {
break;
}
var38 = WorldMapSprite.getWidget(var42.parentId);
} while(var38 == null || var38.children == null || var42.childIndex >= var38.children.length || var42 != var38.children[var42.childIndex]);
InterfaceParent.runScriptEvent(var40);
}
}
}
}
}
}
@ObfuscatedName("fl")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1501968527"
)
@Export("resizeJS")
void resizeJS() {
int var1 = Varcs.canvasWidth;
int var2 = class52.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (NetSocket.clientPreferences != null) {
try {
Client var3 = WorldMapSectionType.client;
Object[] var4 = new Object[]{class58.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("fb")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1953660969"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
int var1;
if (rootInterface != -1) {
var1 = rootInterface;
if (UserComparator4.loadInterface(var1)) {
WorldMapDecoration.drawModelComponents(Widget.Widget_interfaceComponents[var1], -1);
}
}
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field813[var1]) {
field879[var1] = true;
}
field880[var1] = field813[var1];
field813[var1] = false;
}
field877 = cycle;
viewportX = -1;
viewportY = -1;
TaskHandler.hoveredItemContainer = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
NetFileRequest.drawWidgets(rootInterface, 0, 0, Varcs.canvasWidth, class52.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
Timer.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
Timer.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
if (!isMenuOpen) {
if (viewportX != -1) {
var1 = viewportX;
int var2 = viewportY;
if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) {
int var3 = UrlRequester.method3421();
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 + ItemContainer.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options";
}
GrandExchangeOfferNameComparator.fontBold12.drawRandomAlphaAndSpacing(var4, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000);
}
}
} else {
WorldMapSection3.method841();
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field880[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field879[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
class1.method16(TileItemPile.Client_plane, class60.localPlayer.x, class60.localPlayer.y, field747);
field747 = 0;
}
@ObfuscatedName("gt")
@ObfuscatedSignature(
signature = "(Ldx;B)Z",
garbageValue = "-15"
)
final boolean method1768(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
String var20;
int var21;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1347) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1348 = 0;
var1.field1347 = false;
}
var3.offset = 0;
if (var3.method5657()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1348 = 0;
}
var1.field1347 = true;
ServerPacket[] var4 = StructDefinition.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.field1348 = 0;
timer.method5162();
var1.field1342 = var1.field1351;
var1.field1351 = var1.field1350;
var1.field1350 = var1.serverPacket;
int var16;
if (ServerPacket.field2163 == var1.serverPacket) {
isCameraLocked = false;
for (var16 = 0; var16 < 5; ++var16) {
field918[var16] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2214 == var1.serverPacket) {
ModeWhere.friendSystem.readUpdate(var3, var1.serverPacketLength);
field866 = cycleCntr;
var1.serverPacket = null;
return true;
}
long var7;
long var17;
String var39;
if (ServerPacket.field2200 == var1.serverPacket) {
var39 = var3.readStringCp1252NullTerminated();
var17 = (long)var3.readUnsignedShort();
var7 = (long)var3.readMedium();
PlayerType var9 = (PlayerType)FaceNormal.findEnumerated(VarbitDefinition.PlayerType_values(), var3.readUnsignedByte());
long var10 = var7 + (var17 << 32);
boolean var12 = false;
for (int var13 = 0; var13 < 100; ++var13) {
if (field892[var13] == var10) {
var12 = true;
break;
}
}
if (ModeWhere.friendSystem.isIgnored(new Username(var39, class195.loginType))) {
var12 = true;
}
if (!var12 && field787 == 0) {
field892[field730] = var10;
field730 = (field730 + 1) % 100;
String var19 = AbstractFont.escapeBrackets(TileItemPile.method2903(NPC.method2157(var3)));
byte var46;
if (var9.isPrivileged) {
var46 = 7;
} else {
var46 = 3;
}
if (var9.modIcon != -1) {
ObjectSound.addGameMessage(var46, WorldMapRegion.method611(var9.modIcon) + var39, var19);
} else {
ObjectSound.addGameMessage(var46, var39, var19);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2153 == var1.serverPacket) {
World.privateChatMode = ItemContainer.method1232(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2206 == var1.serverPacket) {
for (var16 = 0; var16 < Varps.Varps_main.length; ++var16) {
if (Varps.Varps_main[var16] != Varps.Varps_temp[var16]) {
Varps.Varps_main[var16] = Varps.Varps_temp[var16];
WorldMapSection0.changeGameOptions(var16);
field859[++field860 - 1 & 31] = var16;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2160 == var1.serverPacket) {
class2.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2235 == var1.serverPacket) {
var39 = var3.readStringCp1252NullTerminated();
var20 = AbstractFont.escapeBrackets(TileItemPile.method2903(NPC.method2157(var3)));
ObjectSound.addGameMessage(6, var39, var20);
var1.serverPacket = null;
return true;
}
Widget var6;
if (ServerPacket.field2193 == var1.serverPacket) {
var16 = var3.method5766();
var5 = var3.method5867();
var6 = WorldMapSprite.getWidget(var16);
if (var6.modelType != 2 || var5 != var6.modelId) {
var6.modelType = 2;
var6.modelId = var5;
class234.invalidateWidget(var6);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2157 == var1.serverPacket) {
var39 = var3.readStringCp1252NullTerminated();
Object[] var55 = new Object[var39.length() + 1];
for (var21 = var39.length() - 1; var21 >= 0; --var21) {
if (var39.charAt(var21) == 's') {
var55[var21 + 1] = var3.readStringCp1252NullTerminated();
} else {
var55[var21 + 1] = new Integer(var3.readInt());
}
}
var55[0] = new Integer(var3.readInt());
ScriptEvent var45 = new ScriptEvent();
var45.args = var55;
InterfaceParent.runScriptEvent(var45);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2182 == var1.serverPacket) {
ModeWhere.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
WorldMapSprite.FriendSystem_invalidateIgnoreds();
field866 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2204 == var1.serverPacket) {
var16 = var3.method5755();
if (var16 == 65535) {
var16 = -1;
}
UserComparator9.playSong(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2171 == var1.serverPacket) {
var16 = var3.method5757();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5761();
MouseRecorder.playSoundJingle(var16, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2194 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
MidiPcmStream.forceDisconnect(var16);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2209 == var1.serverPacket) {
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
VarpDefinition var54 = class219.VarpDefinition_get(var16);
if (var54 != null) {
Varps.Varps_temp[var16] = 0;
Varps.Varps_main[var16] = 0;
}
}
Buffer.method5950();
field860 += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2180 == var1.serverPacket) {
rebootTimer = var3.readUnsignedShort() * 30;
field870 = cycleCntr;
var1.serverPacket = null;
return true;
}
int var22;
if (ServerPacket.field2155 == var1.serverPacket) {
Buffer.method5950();
var16 = var3.method5748();
var5 = var3.method5765();
var21 = var3.method5936();
experience[var21] = var5;
currentLevels[var21] = var16;
levels[var21] = 1;
for (var22 = 0; var22 < 98; ++var22) {
if (var5 >= Skills.Skills_experienceTable[var22]) {
levels[var21] = var22 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var21;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2178 == var1.serverPacket) {
MouseRecorder.logOut();
var1.serverPacket = null;
return false;
}
long var23;
long var25;
if (ServerPacket.field2217 == var1.serverPacket) {
var39 = var3.readStringCp1252NullTerminated();
var17 = var3.readLong();
var7 = (long)var3.readUnsignedShort();
var23 = (long)var3.readMedium();
PlayerType var44 = (PlayerType)FaceNormal.findEnumerated(VarbitDefinition.PlayerType_values(), var3.readUnsignedByte());
var25 = var23 + (var7 << 32);
boolean var14 = false;
for (int var15 = 0; var15 < 100; ++var15) {
if (field892[var15] == var25) {
var14 = true;
break;
}
}
if (var44.isUser && ModeWhere.friendSystem.isIgnored(new Username(var39, class195.loginType))) {
var14 = true;
}
if (!var14 && field787 == 0) {
field892[field730] = var25;
field730 = (field730 + 1) % 100;
String var27 = AbstractFont.escapeBrackets(TileItemPile.method2903(NPC.method2157(var3)));
if (var44.modIcon != -1) {
WorldMapID.addChatMessage(9, WorldMapRegion.method611(var44.modIcon) + var39, var27, WorldMapData_0.base37DecodeLong(var17));
} else {
WorldMapID.addChatMessage(9, var39, var27, WorldMapData_0.base37DecodeLong(var17));
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2205 == var1.serverPacket) {
class39.method616(class194.field2362);
var1.serverPacket = null;
return true;
}
Widget var58;
if (ServerPacket.field2203 == var1.serverPacket) {
var16 = var3.method5867();
var5 = var3.method5766();
var21 = var3.readUnsignedShort();
var58 = WorldMapSprite.getWidget(var5);
var58.field2658 = var16 + (var21 << 16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2198 == var1.serverPacket) {
World var38 = new World();
var38.host = var3.readStringCp1252NullTerminated();
var38.id = var3.readUnsignedShort();
var5 = var3.readInt();
var38.properties = var5;
ClientPreferences.updateGameState(45);
var2.close();
var2 = null;
Friend.changeWorld(var38);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2201 == var1.serverPacket) {
var16 = var3.method5767();
var5 = var3.readUnsignedShort();
var6 = WorldMapSprite.getWidget(var16);
if (var6 != null && var6.type == 0) {
if (var5 > var6.scrollHeight - var6.height) {
var5 = var6.scrollHeight - var6.height;
}
if (var5 < 0) {
var5 = 0;
}
if (var5 != var6.scrollY) {
var6.scrollY = var5;
class234.invalidateWidget(var6);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2238 == var1.serverPacket) {
if (ClientPreferences.clanChat != null) {
ClientPreferences.clanChat.method5421(var3);
}
Frames.method3399();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2175 == var1.serverPacket) {
Buffer.method5950();
runEnergy = var3.readUnsignedByte();
field870 = cycleCntr;
var1.serverPacket = null;
return true;
}
InterfaceParent var28;
if (ServerPacket.field2167 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.method5867();
var21 = var3.method5767();
var28 = (InterfaceParent)interfaceParents.get((long)var21);
if (var28 != null) {
class41.closeInterface(var28, var5 != var28.group);
}
WorldMapLabel.method486(var21, var5, var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2161 == 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);
}
field818 = cycleCntr;
var1.serverPacket = null;
return true;
}
String var41;
if (ServerPacket.field2237 == var1.serverPacket) {
var16 = var3.readUShortSmart();
boolean var47 = var3.readUnsignedByte() == 1;
var41 = "";
boolean var56 = false;
if (var47) {
var41 = var3.readStringCp1252NullTerminated();
if (ModeWhere.friendSystem.isIgnored(new Username(var41, class195.loginType))) {
var56 = true;
}
}
String var43 = var3.readStringCp1252NullTerminated();
if (!var56) {
ObjectSound.addGameMessage(var16, var41, var43);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2196 == var1.serverPacket) {
var16 = var3.method5767();
var5 = var3.method5757();
Varps.Varps_temp[var5] = var16;
if (Varps.Varps_main[var5] != var16) {
Varps.Varps_main[var5] = var16;
}
WorldMapSection0.changeGameOptions(var5);
field859[++field860 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2166 == var1.serverPacket) {
var16 = var3.method5867();
LoginScreenAnimation.method1908(var16);
changedItemContainers[++field878 - 1 & 31] = var16 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2154 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var21 = var3.readUnsignedShort();
AbstractWorldMapIcon.queueSoundEffect(var16, var5, var21);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2234 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var21 = var3.readUnsignedByte();
var22 = var3.readUnsignedByte();
field918[var16] = true;
field919[var16] = var5;
field775[var16] = var21;
field778[var16] = var22;
field922[var16] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2228 == var1.serverPacket) {
var16 = var3.method5767();
var5 = var3.method5755();
var6 = WorldMapSprite.getWidget(var16);
if (var6.modelType != 1 || var5 != var6.modelId) {
var6.modelType = 1;
var6.modelId = var5;
class234.invalidateWidget(var6);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2223 == var1.serverPacket) {
class8.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
int var29;
if (ServerPacket.field2232 == var1.serverPacket) {
var16 = var3.method5766();
var5 = var3.readUnsignedShort();
if (var5 == 65535) {
var5 = -1;
}
var21 = var3.method5755();
if (var21 == 65535) {
var21 = -1;
}
var22 = var3.method5765();
for (var29 = var5; var29 <= var21; ++var29) {
var23 = (long)var29 + ((long)var16 << 32);
Node var11 = widgetFlags.get(var23);
if (var11 != null) {
var11.remove();
}
widgetFlags.put(new IntegerNode(var22), var23);
}
var1.serverPacket = null;
return true;
}
int var30;
int var31;
if (ServerPacket.field2224 == var1.serverPacket) {
isCameraLocked = true;
DevicePcmPlayerProvider.field435 = var3.readUnsignedByte();
class9.field42 = var3.readUnsignedByte();
class206.field2446 = var3.readUnsignedShort();
class329.field3867 = var3.readUnsignedByte();
WorldMapCacheName.field329 = var3.readUnsignedByte();
if (WorldMapCacheName.field329 >= 100) {
var16 = DevicePcmPlayerProvider.field435 * 128 + 64;
var5 = class9.field42 * 128 + 64;
var21 = Language.getTileHeight(var16, var5, TileItemPile.Client_plane) - class206.field2446;
var22 = var16 - MouseHandler.cameraX;
var29 = var21 - WorldMapSection3.cameraY;
var30 = var5 - ObjectSound.cameraZ;
var31 = (int)Math.sqrt((double)(var22 * var22 + var30 * var30));
TilePaint.cameraPitch = (int)(Math.atan2((double)var29, (double)var31) * 325.949D) & 2047;
Canvas.cameraYaw = (int)(Math.atan2((double)var22, (double)var30) * -325.949D) & 2047;
if (TilePaint.cameraPitch < 128) {
TilePaint.cameraPitch = 128;
}
if (TilePaint.cameraPitch > 383) {
TilePaint.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
boolean var48;
if (ServerPacket.field2174 == var1.serverPacket) {
var48 = var3.readBoolean();
if (var48) {
if (class278.field3585 == null) {
class278.field3585 = new class247();
}
} else {
class278.field3585 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2218 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5867();
if (var5 == 65535) {
var5 = -1;
}
var21 = var3.method5766();
var58 = WorldMapSprite.getWidget(var16);
ItemDefinition var42;
if (!var58.isIf3) {
if (var5 == -1) {
var58.modelType = 0;
var1.serverPacket = null;
return true;
}
var42 = KitDefinition.ItemDefinition_get(var5);
var58.modelType = 4;
var58.modelId = var5;
var58.modelAngleX = var42.xan2d;
var58.modelAngleY = var42.yan2d;
var58.modelZoom = var42.zoom2d * 100 / var21;
class234.invalidateWidget(var58);
} else {
var58.itemId = var5;
var58.itemQuantity = var21;
var42 = KitDefinition.ItemDefinition_get(var5);
var58.modelAngleX = var42.xan2d;
var58.modelAngleY = var42.yan2d;
var58.modelAngleZ = var42.zan2d;
var58.modelOffsetX = var42.offsetX2d;
var58.modelOffsetY = var42.offsetY2d;
var58.modelZoom = var42.zoom2d;
if (var42.isStackable == 1) {
var58.itemQuantityMode = 1;
} else {
var58.itemQuantityMode = 2;
}
if (var58.field2657 > 0) {
var58.modelZoom = var58.modelZoom * 32 / var58.field2657;
} else if (var58.rawWidth > 0) {
var58.modelZoom = var58.modelZoom * 32 / var58.rawWidth;
}
class234.invalidateWidget(var58);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2179 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var20 = var3.readStringCp1252NullTerminated();
var21 = var3.readUnsignedByte();
if (var21 >= 1 && var21 <= 8) {
if (var20.equalsIgnoreCase("null")) {
var20 = null;
}
playerMenuActions[var21 - 1] = var20;
playerOptionsPriorities[var21 - 1] = var16 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2229 == var1.serverPacket) {
var16 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var21 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
WorldMapSection3.Widget_resetModelFrames(rootInterface);
UserComparator4.runWidgetOnLoadListener(rootInterface);
for (var22 = 0; var22 < 100; ++var22) {
field813[var22] = true;
}
}
InterfaceParent var59;
for (; var21-- > 0; var59.field587 = true) {
var22 = var3.readInt();
var29 = var3.readUnsignedShort();
var30 = var3.readUnsignedByte();
var59 = (InterfaceParent)interfaceParents.get((long)var22);
if (var59 != null && var29 != var59.group) {
class41.closeInterface(var59, true);
var59 = null;
}
if (var59 == null) {
var59 = WorldMapLabel.method486(var22, var29, var30);
}
}
for (var28 = (InterfaceParent)interfaceParents.first(); var28 != null; var28 = (InterfaceParent)interfaceParents.next()) {
if (var28.field587) {
var28.field587 = false;
} else {
class41.closeInterface(var28, true);
}
}
widgetFlags = new NodeHashTable(512);
while (var3.offset < var16) {
var22 = var3.readInt();
var29 = var3.readUnsignedShort();
var30 = var3.readUnsignedShort();
var31 = var3.readInt();
for (int var33 = var29; var33 <= var30; ++var33) {
var25 = (long)var33 + ((long)var22 << 32);
widgetFlags.put(new IntegerNode(var31), var25);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2158 == var1.serverPacket) {
var16 = var3.method5765();
var5 = var3.method5759();
var21 = var3.method5758();
var58 = WorldMapSprite.getWidget(var16);
if (var5 != var58.rawX || var21 != var58.rawY || var58.xAlignment != 0 || var58.yAlignment != 0) {
var58.rawX = var5;
var58.rawY = var21;
var58.xAlignment = 0;
var58.yAlignment = 0;
class234.invalidateWidget(var58);
this.alignWidget(var58);
if (var58.type == 0) {
WorldMapIcon_0.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var16 >> 16], var58, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2168 == var1.serverPacket) {
class39.method616(class194.field2361);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2220 == var1.serverPacket) {
ModeWhere.friendSystem.method1981();
field866 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2213 == var1.serverPacket) {
class39.method616(class194.field2359);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2186 == var1.serverPacket) {
var16 = var3.readInt();
if (var16 != field836) {
field836 = var16;
WorldMapLabelSize.method247();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2216 == var1.serverPacket) {
class39.method616(class194.field2354);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2172 == var1.serverPacket) {
Buffer.method5950();
weight = var3.readShort();
field870 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2222 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readInt();
var21 = VerticalAlignment.getGcDuration();
PacketBufferNode var57 = UserComparator4.getPacketBufferNode(ClientPacket.field2323, packetWriter.isaacCipher);
var57.packetBuffer.method5744(GameShell.fps);
var57.packetBuffer.method5837(var21);
var57.packetBuffer.method5762(var16);
var57.packetBuffer.method5764(var5);
packetWriter.addNode(var57);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2156 == var1.serverPacket) {
class39.method616(class194.field2355);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2187 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var6 = WorldMapSprite.getWidget(var16);
} else {
var6 = null;
}
if (var6 != null) {
for (var22 = 0; var22 < var6.itemIds.length; ++var22) {
var6.itemIds[var22] = 0;
var6.itemQuantities[var22] = 0;
}
}
SoundCache.clearItemContainer(var5);
var22 = var3.readUnsignedShort();
for (var29 = 0; var29 < var22; ++var29) {
var30 = var3.readUnsignedByte();
if (var30 == 255) {
var30 = var3.method5765();
}
var31 = var3.method5755();
if (var6 != null && var29 < var6.itemIds.length) {
var6.itemIds[var29] = var31;
var6.itemQuantities[var29] = var30;
}
WorldMapSprite.itemContainerSetItem(var5, var29, var31 - 1, var30);
}
if (var6 != null) {
class234.invalidateWidget(var6);
}
Buffer.method5950();
changedItemContainers[++field878 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2195 == var1.serverPacket) {
byte[] var37 = new byte[var1.serverPacketLength];
var3.method5680(var37, 0, var37.length);
Buffer var53 = new Buffer(var37);
var41 = var53.readStringCp1252NullTerminated();
WorldMapSectionType.openURL(var41, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2162 == var1.serverPacket) {
class39.method616(class194.field2358);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2181 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
ClientPreferences.clanChat = null;
} else {
if (ClientPreferences.clanChat == null) {
ClientPreferences.clanChat = new ClanChat(class195.loginType, WorldMapSectionType.client);
}
ClientPreferences.clanChat.readUpdate(var3);
}
Frames.method3399();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2165 == var1.serverPacket) {
Player.field638 = var3.method5748();
class41.field302 = var3.method5748();
for (var16 = Player.field638; var16 < Player.field638 + 8; ++var16) {
for (var5 = class41.field302; var5 < class41.field302 + 8; ++var5) {
if (groundItems[TileItemPile.Client_plane][var16][var5] != null) {
groundItems[TileItemPile.Client_plane][var16][var5] = null;
class41.updateItemPile(var16, var5);
}
}
}
for (PendingSpawn var36 = (PendingSpawn)pendingSpawns.last(); var36 != null; var36 = (PendingSpawn)pendingSpawns.previous()) {
if (var36.x >= Player.field638 && var36.x < Player.field638 + 8 && var36.y >= class41.field302 && var36.y < class41.field302 + 8 && var36.plane == TileItemPile.Client_plane) {
var36.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
Widget var50;
if (ServerPacket.field2211 == var1.serverPacket) {
var16 = var3.method5765();
var50 = WorldMapSprite.getWidget(var16);
for (var21 = 0; var21 < var50.itemIds.length; ++var21) {
var50.itemIds[var21] = -1;
var50.itemIds[var21] = 0;
}
class234.invalidateWidget(var50);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2212 == var1.serverPacket) {
class60.updatePlayers(var3, var1.serverPacketLength);
class303.method5525();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2240 == 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.field2230 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5755();
var21 = var5 >> 10 & 31;
var22 = var5 >> 5 & 31;
var29 = var5 & 31;
var30 = (var22 << 11) + (var21 << 19) + (var29 << 3);
Widget var32 = WorldMapSprite.getWidget(var16);
if (var30 != var32.color) {
var32.color = var30;
class234.invalidateWidget(var32);
}
var1.serverPacket = null;
return true;
}
Widget var8;
if (ServerPacket.field2215 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5765();
InterfaceParent var40 = (InterfaceParent)interfaceParents.get((long)var5);
var28 = (InterfaceParent)interfaceParents.get((long)var16);
if (var28 != null) {
class41.closeInterface(var28, var40 == null || var28.group != var40.group);
}
if (var40 != null) {
var40.remove();
interfaceParents.put(var40, (long)var16);
}
var8 = WorldMapSprite.getWidget(var5);
if (var8 != null) {
class234.invalidateWidget(var8);
}
var8 = WorldMapSprite.getWidget(var16);
if (var8 != null) {
class234.invalidateWidget(var8);
WorldMapIcon_0.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var8.id >>> 16], var8, true);
}
if (rootInterface != -1) {
Language.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2231 == var1.serverPacket) {
class39.method616(class194.field2363);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2226 == var1.serverPacket) {
var16 = var3.method5767();
var5 = var3.readShort();
var6 = WorldMapSprite.getWidget(var16);
if (var5 != var6.sequenceId || var5 == -1) {
var6.sequenceId = var5;
var6.modelFrame = 0;
var6.modelFrameCycle = 0;
class234.invalidateWidget(var6);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2190 == var1.serverPacket) {
var16 = var3.readInt();
InterfaceParent var52 = (InterfaceParent)interfaceParents.get((long)var16);
if (var52 != null) {
class41.closeInterface(var52, true);
}
if (meslayerContinueWidget != null) {
class234.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2185 == var1.serverPacket) {
byte var49 = var3.method5751();
var5 = var3.readUnsignedShort();
Varps.Varps_temp[var5] = var49;
if (Varps.Varps_main[var5] != var49) {
Varps.Varps_main[var5] = var49;
}
WorldMapSection0.changeGameOptions(var5);
field859[++field860 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2219 == var1.serverPacket) {
var16 = var3.method5757();
rootInterface = var16;
this.resizeRoot(false);
WorldMapSection3.Widget_resetModelFrames(var16);
UserComparator4.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field813[var5] = true;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2188 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
class25.method245(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2169 == var1.serverPacket) {
class41.field302 = var3.method5936();
Player.field638 = var3.readUnsignedByte();
while (var3.offset < var1.serverPacketLength) {
var16 = var3.readUnsignedByte();
class194 var51 = GameBuild.method4291()[var16];
class39.method616(var51);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2173 == var1.serverPacket) {
UserComparator2.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2199 == var1.serverPacket) {
UserComparator10.method3522(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2184 == var1.serverPacket) {
class39.method616(class194.field2357);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2221 == var1.serverPacket) {
publicChatMode = var3.readUnsignedByte();
tradeChatMode = var3.method5746();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2176 == var1.serverPacket) {
class39.method616(class194.field2353);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2210 == var1.serverPacket) {
var48 = var3.method5746() == 1;
var5 = var3.method5765();
var6 = WorldMapSprite.getWidget(var5);
if (var48 != var6.isHidden) {
var6.isHidden = var48;
class234.invalidateWidget(var6);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2159 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2164 == var1.serverPacket) {
class39.method616(class194.field2360);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2227 == 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.field2191 == 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.field2225 == var1.serverPacket) {
if (rootInterface != -1) {
Language.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2183 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
GrandExchangeOfferNameComparator.method214(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2208 == var1.serverPacket) {
var16 = var3.method5766();
var20 = var3.readStringCp1252NullTerminated();
var6 = WorldMapSprite.getWidget(var16);
if (!var20.equals(var6.text)) {
var6.text = var20;
class234.invalidateWidget(var6);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2207 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.method5867();
var21 = var3.method5867();
var22 = var3.method5767();
var8 = WorldMapSprite.getWidget(var22);
if (var5 != var8.modelAngleX || var21 != var8.modelAngleY || var16 != var8.modelZoom) {
var8.modelAngleX = var5;
var8.modelAngleY = var21;
var8.modelZoom = var16;
class234.invalidateWidget(var8);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2233 == var1.serverPacket) {
var48 = var3.readUnsignedByte() == 1;
if (var48) {
GraphicsObject.field1139 = MilliClock.currentTimeMillis() - var3.readLong();
WorldMapIcon_0.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
WorldMapIcon_0.grandExchangeEvents = null;
}
field869 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2170 == var1.serverPacket) {
Player.field638 = var3.method5936();
class41.field302 = var3.method5746();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2236 == var1.serverPacket) {
class2.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2202 == var1.serverPacket) {
isCameraLocked = true;
class204.field2420 = var3.readUnsignedByte();
WorldMapManager.field348 = var3.readUnsignedByte();
WorldMapLabel.field275 = var3.readUnsignedShort();
class25.field122 = var3.readUnsignedByte();
ScriptEvent.field604 = var3.readUnsignedByte();
if (ScriptEvent.field604 >= 100) {
MouseHandler.cameraX = class204.field2420 * 128 + 64;
ObjectSound.cameraZ = WorldMapManager.field348 * 128 + 64;
WorldMapSection3.cameraY = Language.getTileHeight(MouseHandler.cameraX, ObjectSound.cameraZ, TileItemPile.Client_plane) - WorldMapLabel.field275;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2197 == var1.serverPacket) {
var16 = var3.method5766();
var50 = WorldMapSprite.getWidget(var16);
var50.modelType = 3;
var50.modelId = class60.localPlayer.appearance.getChatHeadId();
class234.invalidateWidget(var50);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2177 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var6 = WorldMapSprite.getWidget(var16);
} else {
var6 = null;
}
for (; var3.offset < var1.serverPacketLength; WorldMapSprite.itemContainerSetItem(var5, var22, var29 - 1, var30)) {
var22 = var3.readUShortSmart();
var29 = var3.readUnsignedShort();
var30 = 0;
if (var29 != 0) {
var30 = var3.readUnsignedByte();
if (var30 == 255) {
var30 = var3.readInt();
}
}
if (var6 != null && var22 >= 0 && var22 < var6.itemIds.length) {
var6.itemIds[var22] = var29;
var6.itemQuantities[var22] = var30;
}
}
if (var6 != null) {
class234.invalidateWidget(var6);
}
Buffer.method5950();
changedItemContainers[++field878 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2189 == var1.serverPacket) {
class8.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
class197.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * -343660333 * -1993969829 : -1) + "," + (var1.field1351 != null ? var1.field1351.id * -343660333 * -1993969829 : -1) + "," + (var1.field1342 != null ? var1.field1342.id * -343660333 * -1993969829 : -1) + "," + var1.serverPacketLength, (Throwable)null);
MouseRecorder.logOut();
} catch (IOException var34) {
CollisionMap.method3707();
} catch (Exception var35) {
var20 = "" + (var1.serverPacket != null ? var1.serverPacket.id * -343660333 * -1993969829 : -1) + "," + (var1.field1351 != null ? var1.field1351.id * -343660333 * -1993969829 : -1) + "," + (var1.field1342 != null ? var1.field1342.id * -343660333 * -1993969829 : -1) + "," + var1.serverPacketLength + "," + (class60.localPlayer.pathX[0] + class182.baseX) + "," + (class60.localPlayer.pathY[0] + SecureRandomFuture.baseY) + ",";
for (var21 = 0; var21 < var1.serverPacketLength && var21 < 50; ++var21) {
var20 = var20 + var3.array[var21] + ",";
}
class197.RunException_sendStackTrace(var20, var35);
MouseRecorder.logOut();
}
return true;
}
}
@ObfuscatedName("hr")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-302072154"
)
@Export("menu")
final void menu() {
boolean var1 = false;
int var2;
int var5;
while (!var1) {
var1 = true;
for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) {
if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) {
String var3 = menuTargets[var2];
menuTargets[var2] = menuTargets[var2 + 1];
menuTargets[var2 + 1] = var3;
String var4 = menuActions[var2];
menuActions[var2] = menuActions[var2 + 1];
menuActions[var2 + 1] = var4;
var5 = menuOpcodes[var2];
menuOpcodes[var2] = menuOpcodes[var2 + 1];
menuOpcodes[var2 + 1] = var5;
var5 = menuArguments1[var2];
menuArguments1[var2] = menuArguments1[var2 + 1];
menuArguments1[var2 + 1] = var5;
var5 = menuArguments2[var2];
menuArguments2[var2] = menuArguments2[var2 + 1];
menuArguments2[var2 + 1] = var5;
var5 = menuIdentifiers[var2];
menuIdentifiers[var2] = menuIdentifiers[var2 + 1];
menuIdentifiers[var2 + 1] = var5;
boolean var6 = menuShiftClick[var2];
menuShiftClick[var2] = menuShiftClick[var2 + 1];
menuShiftClick[var2 + 1] = var6;
var1 = false;
}
}
}
if (KeyHandler.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var14 = MouseHandler.MouseHandler_lastButton;
int var8;
int var9;
int var11;
int var12;
if (isMenuOpen) {
if (var14 != 1 && (ArchiveLoader.mouseCam || var14 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var11 = MouseHandler.MouseHandler_y;
if (var2 < WorldMapRectangle.menuX - 10 || var2 > class69.menuWidth + WorldMapRectangle.menuX + 10 || var11 < Frames.menuY - 10 || var11 > Frames.menuY + ApproximateRouteStrategy.menuHeight + 10) {
isMenuOpen = false;
class1.method7(WorldMapRectangle.menuX, Frames.menuY, class69.menuWidth, ApproximateRouteStrategy.menuHeight);
}
}
if (var14 == 1 || !ArchiveLoader.mouseCam && var14 == 4) {
var2 = WorldMapRectangle.menuX;
var11 = Frames.menuY;
var12 = class69.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
int var15 = MouseHandler.MouseHandler_lastPressedY;
int var16 = -1;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
var9 = (menuOptionsCount - 1 - var8) * 15 + var11 + 31;
if (var5 > var2 && var5 < var12 + var2 && var15 > var9 - 13 && var15 < var9 + 3) {
var16 = var8;
}
}
if (var16 != -1) {
GrandExchangeEvent.method155(var16);
}
isMenuOpen = false;
class1.method7(WorldMapRectangle.menuX, Frames.menuY, class69.menuWidth, ApproximateRouteStrategy.menuHeight);
}
} else {
label281: {
var2 = UrlRequester.method3421();
if ((var14 == 1 || !ArchiveLoader.mouseCam && var14 == 4) && var2 >= 0) {
var11 = menuOpcodes[var2];
if (var11 == 39 || var11 == 40 || var11 == 41 || var11 == 42 || var11 == 43 || var11 == 33 || var11 == 34 || var11 == 35 || var11 == 36 || var11 == 37 || var11 == 38 || var11 == 1005) {
var12 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var13 = WorldMapSprite.getWidget(var5);
var8 = KeyHandler.getWidgetFlags(var13);
boolean var7 = (var8 >> 28 & 1) != 0;
if (var7) {
break label281;
}
Object var10000 = null;
if (Projectile.method2249(KeyHandler.getWidgetFlags(var13))) {
break label281;
}
}
}
if ((var14 == 1 || !ArchiveLoader.mouseCam && var14 == 4) && this.shouldLeftClickOpenMenu()) {
var14 = 2;
}
if ((var14 == 1 || !ArchiveLoader.mouseCam && var14 == 4) && menuOptionsCount > 0) {
GrandExchangeEvent.method155(var2);
}
if (var14 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
return;
}
if (KeyHandler.dragInventoryWidget != null && !field785 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
var9 = draggedWidgetX;
int var10 = draggedWidgetY;
SecureRandomCallable.method1205(class169.tempMenuAction, var9, var10);
class169.tempMenuAction = null;
}
field785 = false;
itemDragDuration = 0;
if (KeyHandler.dragInventoryWidget != null) {
class234.invalidateWidget(KeyHandler.dragInventoryWidget);
}
KeyHandler.dragInventoryWidget = WorldMapSprite.getWidget(var5);
dragItemSlotSource = var12;
draggedWidgetX = MouseHandler.MouseHandler_lastPressedX;
draggedWidgetY = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
WorldMapSection1.method648(var2);
}
class234.invalidateWidget(KeyHandler.dragInventoryWidget);
return;
}
}
}
}
@ObfuscatedName("hh")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-1243315480"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = UrlRequester.method3421();
return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || class7.method94(var1)) && !menuShiftClick[var1];
}
@ObfuscatedName("ht")
@ObfuscatedSignature(
signature = "(IIB)V",
garbageValue = "4"
)
@Export("openMenu")
final void openMenu(int var1, int var2) {
WorldMapEvent.method840(var1, var2);
UserComparator3.scene.menuOpen(TileItemPile.Client_plane, var1, var2, false);
isMenuOpen = true;
}
@ObfuscatedName("ip")
@ObfuscatedSignature(
signature = "(ZI)V",
garbageValue = "-558702165"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
int var2 = rootInterface;
int var3 = Varcs.canvasWidth;
int var4 = class52.canvasHeight;
if (UserComparator4.loadInterface(var2)) {
GrandExchangeOfferUnitPriceComparator.resizeInterface(Widget.Widget_interfaceComponents[var2], -1, var3, var4, var1);
}
}
@ObfuscatedName("ig")
@ObfuscatedSignature(
signature = "(Lhd;I)V",
garbageValue = "-985582804"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : WorldMapSprite.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = Varcs.canvasWidth;
var4 = class52.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
UserComparator3.alignWidgetSize(var1, var3, var4, false);
WorldMapLabel.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("jz")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1745197570"
)
final void method1372() {
class234.invalidateWidget(clickedWidget);
++GrandExchangeOfferAgeComparator.widgetDragDuration;
if (field854 && field692) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field852) {
var1 = field852;
}
if (var1 + clickedWidget.width > field852 + clickedWidgetParent.width) {
var1 = field852 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field853) {
var2 = field853;
}
if (var2 + clickedWidget.height > field853 + clickedWidgetParent.height) {
var2 = field853 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field855;
int var4 = var2 - field856;
int var5 = clickedWidget.dragZoneSize;
if (GrandExchangeOfferAgeComparator.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field852 + clickedWidgetParent.scrollX;
int var7 = var2 - field853 + 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;
InterfaceParent.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;
InterfaceParent.runScriptEvent(var8);
}
if (draggedOnWidget != null && FriendSystem.method1994(clickedWidget) != null) {
PacketBufferNode var9 = UserComparator4.getPacketBufferNode(ClientPacket.field2299, packetWriter.isaacCipher);
var9.packetBuffer.writeShort(draggedOnWidget.itemId);
var9.packetBuffer.method5753(draggedOnWidget.childIndex);
var9.packetBuffer.method5898(clickedWidget.itemId);
var9.packetBuffer.method5752(clickedWidget.childIndex);
var9.packetBuffer.method5764(clickedWidget.id);
var9.packetBuffer.writeShortLE(draggedOnWidget.id);
packetWriter.addNode(var9);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field855 + widgetClickX, field856 + widgetClickY);
} else if (menuOptionsCount > 0) {
GrandExchangeOffer.method189(field855 + widgetClickX, field856 + widgetClickY);
}
clickedWidget = null;
}
} else {
if (GrandExchangeOfferAgeComparator.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("kr")
@ObfuscatedSignature(
signature = "(B)Lkq;",
garbageValue = "-76"
)
@Export("username")
public Username username() {
return class60.localPlayer != null ? class60.localPlayer.username : null;
}
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(II)Lih;",
garbageValue = "1222368622"
)
@Export("WorldMapElement_get")
public static WorldMapElement WorldMapElement_get(int var0) {
return var0 >= 0 && var0 < class257.WorldMapElement_cached.length && class257.WorldMapElement_cached[var0] != null ? class257.WorldMapElement_cached[var0] : new WorldMapElement(var0);
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(Ljava/io/File;Ljava/io/File;I)V",
garbageValue = "1015952997"
)
static void method1803(File var0, File var1) {
try {
AccessFile var2 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L);
Buffer var3 = new Buffer(500);
var3.writeByte(3);
var3.writeByte(var1 != null ? 1 : 0);
var3.writeCESU8(var0.getPath());
if (var1 != null) {
var3.writeCESU8("");
}
var2.write(var3.array, 0, var3.offset);
var2.close();
} catch (IOException var4) {
var4.printStackTrace();
}
}
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "(Lbn;B)V",
garbageValue = "2"
)
static void method1522(GameShell var0) {
while (WorldMapManager.isKeyDown()) {
if (SecureRandomCallable.field546 == 13) {
WorldMapSection2.method398();
return;
}
if (SecureRandomCallable.field546 == 96) {
if (Login.worldSelectPage > 0 && class13.worldSelectLeftSprite != null) {
--Login.worldSelectPage;
}
} else if (SecureRandomCallable.field546 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && ClientPreferences.worldSelectRightSprite != null) {
++Login.worldSelectPage;
}
}
if (MouseHandler.MouseHandler_lastButton == 1 || !ArchiveLoader.mouseCam && MouseHandler.MouseHandler_lastButton == 4) {
int var1 = Login.xPadding + 280;
if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(0, 0);
return;
}
if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(0, 1);
return;
}
int var2 = Login.xPadding + 390;
if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(1, 0);
return;
}
if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(1, 1);
return;
}
int var3 = Login.xPadding + 500;
if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(2, 0);
return;
}
if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(2, 1);
return;
}
int var4 = Login.xPadding + 610;
if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(3, 0);
return;
}
if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) {
Player.changeWorldSelectSorting(3, 1);
return;
}
if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) {
WorldMapSection2.method398();
return;
}
if (Login.hoveredWorldIndex != -1) {
World var5 = class13.World_worlds[Login.hoveredWorldIndex];
Friend.changeWorld(var5);
WorldMapSection2.method398();
return;
}
if (Login.worldSelectPage > 0 && class13.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class13.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= class52.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= class52.canvasHeight / 2 + 50) {
--Login.worldSelectPage;
}
if (Login.worldSelectPage < Login.worldSelectPagesCount && ClientPreferences.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= Varcs.canvasWidth - ClientPreferences.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= Varcs.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= class52.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= class52.canvasHeight / 2 + 50) {
++Login.worldSelectPage;
}
}
}
}