Files
runelite/runescape-client/src/main/java/Client.java
2019-10-24 08:19:38 +02:00

5481 lines
154 KiB
Java

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.ScriptOpcodes;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@ObfuscatedName("mk")
@ObfuscatedSignature(
signature = "Lho;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("om")
@ObfuscatedGetter(
intValue = -556975935
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("ol")
@ObfuscatedGetter(
intValue = -659707133
)
static int field638;
@ObfuscatedName("og")
@ObfuscatedGetter(
longValue = -2357868230662320483L
)
static long field754;
@ObfuscatedName("ot")
static boolean[] field841;
@ObfuscatedName("oi")
static boolean[] field847;
@ObfuscatedName("nj")
static boolean field817;
@ObfuscatedName("op")
static boolean[] field842;
@ObfuscatedName("nm")
static boolean field814;
@ObfuscatedName("ox")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("nt")
@ObfuscatedGetter(
intValue = 1655703121
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("sj")
@ObfuscatedGetter(
intValue = 11492349
)
public static int field905;
@ObfuscatedName("ng")
@ObfuscatedGetter(
intValue = -1435027681
)
static int field744;
@ObfuscatedName("mb")
@ObfuscatedGetter(
intValue = -1276072491
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("qr")
static boolean field759;
@ObfuscatedName("mv")
@ObfuscatedGetter(
intValue = 2043143959
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("na")
@ObfuscatedGetter(
intValue = -868722211
)
static int field695;
@ObfuscatedName("me")
@ObfuscatedSignature(
signature = "Lho;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("md")
@ObfuscatedSignature(
signature = "Llq;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("nl")
@ObfuscatedGetter(
intValue = 194862223
)
static int field816;
@ObfuscatedName("oy")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("oq")
@ObfuscatedSignature(
signature = "Llq;"
)
@Export("widgetClickMasks")
static NodeHashTable widgetClickMasks;
@ObfuscatedName("oe")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("ms")
@ObfuscatedSignature(
signature = "Lho;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("oz")
@ObfuscatedGetter(
intValue = 1348758997
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("ow")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("my")
@ObfuscatedGetter(
intValue = -2028586371
)
@Export("staffModLevel")
public static int staffModLevel;
@ObfuscatedName("ov")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("nk")
@ObfuscatedGetter(
intValue = -1019005303
)
static int field818;
@ObfuscatedName("pl")
@ObfuscatedGetter(
intValue = 858875897
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("tb")
@ObfuscatedSignature(
signature = "Lbu;"
)
static final class65 field909;
@ObfuscatedName("np")
@ObfuscatedGetter(
intValue = 1046894235
)
static int field819;
@ObfuscatedName("px")
@ObfuscatedGetter(
intValue = 242208529
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("oh")
@ObfuscatedSignature(
signature = "Ljv;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("nq")
@ObfuscatedGetter(
intValue = -861923243
)
static int field833;
@ObfuscatedName("tg")
static int[] field910;
@ObfuscatedName("nc")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("td")
static int[] field911;
@ObfuscatedName("nv")
@ObfuscatedGetter(
intValue = 826785605
)
static int field832;
@ObfuscatedName("qz")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("mx")
@ObfuscatedGetter(
intValue = -140222153
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("qb")
@ObfuscatedGetter(
intValue = -910754411
)
static int field666;
@ObfuscatedName("mo")
@ObfuscatedGetter(
intValue = -1946560921
)
@Export("weight")
static int weight;
@ObfuscatedName("qa")
@ObfuscatedGetter(
intValue = 892519291
)
@Export("areaSoundEffectVolume")
static int areaSoundEffectVolume;
@ObfuscatedName("no")
static int[] field820;
@ObfuscatedName("nb")
@ObfuscatedGetter(
intValue = -1905651311
)
static int field830;
@ObfuscatedName("nw")
@ObfuscatedGetter(
intValue = -330072185
)
static int field825;
@ObfuscatedName("mw")
@ObfuscatedSignature(
signature = "Lho;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("sl")
@ObfuscatedGetter(
intValue = -897184099
)
static int field900;
@ObfuscatedName("ru")
@ObfuscatedSignature(
signature = "Lhr;"
)
@Export("playerAppearance")
static PlayerAppearance playerAppearance;
@ObfuscatedName("on")
@ObfuscatedGetter(
intValue = -1310890605
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("mj")
@ObfuscatedSignature(
signature = "Lho;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("qm")
@ObfuscatedGetter(
intValue = -1177667309
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("sn")
@ObfuscatedGetter(
intValue = 2123814989
)
static int field901;
@ObfuscatedName("qh")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("qw")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("sa")
@ObfuscatedSignature(
signature = "[Li;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("qx")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("qt")
@ObfuscatedSignature(
signature = "[Lcm;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("ql")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("nn")
@ObfuscatedGetter(
intValue = 1294400327
)
static int field831;
@ObfuscatedName("qf")
@ObfuscatedGetter(
intValue = 1977131521
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("si")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("se")
@ObfuscatedGetter(
intValue = 426040267
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("rm")
static boolean[] field835;
@ObfuscatedName("pz")
static long[] field889;
@ObfuscatedName("rk")
static int[] field882;
@ObfuscatedName("pi")
@ObfuscatedGetter(
longValue = -2403274902957123209L
)
static long field860;
@ObfuscatedName("rl")
static int[] field883;
@ObfuscatedName("nu")
static int[] field782;
@ObfuscatedName("rh")
static int[] field884;
@ObfuscatedName("ne")
@ObfuscatedGetter(
intValue = -1128248371
)
static int field823;
@ObfuscatedName("rj")
static int[] field885;
@ObfuscatedName("pr")
@ObfuscatedGetter(
intValue = -1812154483
)
static int field856;
@ObfuscatedName("su")
@ObfuscatedSignature(
signature = "Lly;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("pt")
@ObfuscatedGetter(
intValue = -1929025607
)
static int field643;
@ObfuscatedName("pv")
@ObfuscatedGetter(
intValue = -1079323191
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("ps")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("qi")
@ObfuscatedGetter(
intValue = -114703177
)
@Export("musicVolume")
static int musicVolume;
@ObfuscatedName("pu")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("rt")
static short field880;
@ObfuscatedName("re")
static short field887;
@ObfuscatedName("rd")
static short field892;
@ObfuscatedName("pg")
@ObfuscatedSignature(
signature = "[Llf;"
)
@Export("mapIcons")
static Sprite[] mapIcons;
@ObfuscatedName("rr")
static short field893;
@ObfuscatedName("ra")
static short field891;
@ObfuscatedName("rf")
@ObfuscatedGetter(
intValue = 720626183
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("ri")
static short field686;
@ObfuscatedName("rz")
@ObfuscatedGetter(
intValue = 806304417
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("nh")
@ObfuscatedGetter(
intValue = 1691099913
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("pa")
@ObfuscatedGetter(
intValue = 168765299
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("pw")
@ObfuscatedGetter(
intValue = 253399583
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("qj")
@ObfuscatedGetter(
intValue = -1492029485
)
@Export("soundEffectVolume")
static int soundEffectVolume;
@ObfuscatedName("ro")
@ObfuscatedGetter(
intValue = -1929841361
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("rc")
@ObfuscatedGetter(
intValue = -1154982749
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("nz")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("rb")
@ObfuscatedGetter(
intValue = -654475437
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = -15935377
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("rp")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("ma")
@ObfuscatedGetter(
intValue = 42533643
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("rg")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("mr")
@ObfuscatedGetter(
intValue = -382576035
)
static int field873;
@ObfuscatedName("sr")
@ObfuscatedGetter(
intValue = -1773628049
)
static int field908;
@ObfuscatedName("pf")
@ObfuscatedGetter(
intValue = -1367796571
)
static int field857;
@ObfuscatedName("mq")
@ObfuscatedGetter(
intValue = 494577071
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("mt")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("pm")
static int[] field859;
@ObfuscatedName("po")
static int[] field858;
@ObfuscatedName("os")
@ObfuscatedSignature(
signature = "Ljv;"
)
static NodeDeque field836;
@ObfuscatedName("ob")
@ObfuscatedSignature(
signature = "Ljv;"
)
static NodeDeque field763;
@ObfuscatedName("mc")
@ObfuscatedGetter(
intValue = -1507863629
)
static int field798;
@ObfuscatedName("mz")
@ObfuscatedGetter(
intValue = -1296819247
)
static int field824;
@ObfuscatedName("ph")
static int[] field851;
@ObfuscatedName("pd")
static String field907;
@ObfuscatedName("sx")
@ObfuscatedSignature(
signature = "Lbb;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Lfa;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("at")
static boolean field802;
@ObfuscatedName("bx")
@ObfuscatedGetter(
intValue = 1846758827
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("bh")
@ObfuscatedGetter(
intValue = -1282298749
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("bm")
@ObfuscatedGetter(
intValue = -744372313
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("bs")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bz")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("be")
@ObfuscatedGetter(
intValue = -1434422805
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bu")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("bi")
@ObfuscatedGetter(
intValue = -1513198459
)
@Export("gameState")
static int gameState;
@ObfuscatedName("cn")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("cd")
@ObfuscatedGetter(
intValue = 1080568465
)
@Export("cycle")
static int cycle;
@ObfuscatedName("cy")
@ObfuscatedGetter(
longValue = -5290188514648997903L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("cb")
@ObfuscatedGetter(
intValue = -445977517
)
static int field646;
@ObfuscatedName("cr")
@ObfuscatedGetter(
intValue = -624148243
)
static int field647;
@ObfuscatedName("ct")
@ObfuscatedGetter(
longValue = -8037513059658187963L
)
static long field648;
@ObfuscatedName("ci")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("cu")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("ce")
@ObfuscatedGetter(
intValue = -1130052375
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("cc")
@ObfuscatedGetter(
intValue = 2049608033
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("cl")
@ObfuscatedGetter(
intValue = 648504057
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("cw")
@ObfuscatedGetter(
intValue = 275182897
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("cq")
@ObfuscatedGetter(
intValue = 1932039353
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("ca")
@ObfuscatedGetter(
intValue = -204101851
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("cf")
@ObfuscatedGetter(
intValue = 1548574994
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("cx")
@ObfuscatedGetter(
intValue = -759871936
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("cm")
@ObfuscatedGetter(
intValue = 99349824
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("ch")
@ObfuscatedSignature(
signature = "Lcn;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("dt")
@ObfuscatedSignature(
signature = "Lcn;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("dm")
@ObfuscatedGetter(
intValue = 963568873
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dy")
@ObfuscatedGetter(
intValue = 584801883
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("de")
@ObfuscatedGetter(
intValue = -900928897
)
static int field664;
@ObfuscatedName("dd")
@ObfuscatedSignature(
signature = "Lie;"
)
@Export("archive10")
static Archive archive10;
@ObfuscatedName("ef")
@ObfuscatedSignature(
signature = "Lie;"
)
@Export("archive17")
static Archive archive17;
@ObfuscatedName("ew")
@ObfuscatedGetter(
intValue = 982456973
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("eq")
@ObfuscatedGetter(
intValue = -14383853
)
@Export("loginState")
static int loginState;
@ObfuscatedName("er")
@ObfuscatedGetter(
intValue = -1286153331
)
static int field669;
@ObfuscatedName("eo")
@ObfuscatedGetter(
intValue = 1787272407
)
static int field670;
@ObfuscatedName("ee")
@ObfuscatedGetter(
intValue = 460753713
)
static int field671;
@ObfuscatedName("ep")
@ObfuscatedSignature(
signature = "Lff;"
)
static class160 field672;
@ObfuscatedName("ev")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("ez")
@ObfuscatedSignature(
signature = "Lcb;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("ed")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("et")
@ObfuscatedSignature(
signature = "[Lck;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("eb")
@ObfuscatedGetter(
intValue = -347893507
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("fb")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("fe")
@ObfuscatedGetter(
intValue = -1928648709
)
static int field633;
@ObfuscatedName("fd")
static int[] field681;
@ObfuscatedName("fo")
@ObfuscatedSignature(
signature = "Lcl;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("fq")
@ObfuscatedGetter(
intValue = -1810258911
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("fc")
static boolean field730;
@ObfuscatedName("fv")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("fm")
@ObfuscatedSignature(
signature = "Ljd;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("fh")
@ObfuscatedSignature(
signature = "Len;"
)
@Export("urlRequester")
static UrlRequester urlRequester;
@ObfuscatedName("fa")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("fj")
@ObfuscatedGetter(
intValue = 543460729
)
static int field689;
@ObfuscatedName("fx")
@ObfuscatedGetter(
intValue = -1697289513
)
static int field690;
@ObfuscatedName("fp")
@ObfuscatedGetter(
intValue = -355199335
)
static int field691;
@ObfuscatedName("gv")
@ObfuscatedGetter(
intValue = 1416543095
)
static int field692;
@ObfuscatedName("gy")
@ObfuscatedGetter(
intValue = 1539626603
)
static int field693;
@ObfuscatedName("gl")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("gs")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("gm")
static final int[] field697;
@ObfuscatedName("gf")
@ObfuscatedGetter(
intValue = -2045474947
)
static int field698;
@ObfuscatedName("hh")
@ObfuscatedGetter(
intValue = -1078673109
)
static int field699;
@ObfuscatedName("ht")
@ObfuscatedGetter(
intValue = 1330821821
)
static int field700;
@ObfuscatedName("hk")
@ObfuscatedGetter(
intValue = -1693078415
)
static int field701;
@ObfuscatedName("hz")
@ObfuscatedGetter(
intValue = -572241931
)
static int field702;
@ObfuscatedName("hl")
static boolean field703;
@ObfuscatedName("hb")
@ObfuscatedGetter(
intValue = -1280891227
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("hm")
@ObfuscatedGetter(
intValue = -851788043
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("hu")
@ObfuscatedGetter(
intValue = 1157777555
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("hi")
@ObfuscatedGetter(
intValue = 56611529
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("hx")
@ObfuscatedGetter(
intValue = 594555395
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("hf")
@ObfuscatedGetter(
intValue = 1391902969
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("hd")
@ObfuscatedGetter(
intValue = -148858111
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("hw")
@ObfuscatedGetter(
intValue = 1963305499
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("hj")
@ObfuscatedGetter(
intValue = -844153885
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("hc")
@ObfuscatedGetter(
intValue = -1192657817
)
static int field766;
@ObfuscatedName("hp")
@ObfuscatedGetter(
intValue = -1637520021
)
static int field714;
@ObfuscatedName("ih")
@ObfuscatedGetter(
intValue = -1473797019
)
static int field715;
@ObfuscatedName("io")
@ObfuscatedGetter(
intValue = -925368297
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("ib")
@ObfuscatedGetter(
intValue = -1611804213
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("im")
@ObfuscatedGetter(
intValue = -1513473005
)
static int field718;
@ObfuscatedName("ig")
static boolean field879;
@ObfuscatedName("iq")
@ObfuscatedGetter(
intValue = 773031175
)
static int field720;
@ObfuscatedName("ij")
static boolean field721;
@ObfuscatedName("is")
@ObfuscatedGetter(
intValue = 130801757
)
static int field722;
@ObfuscatedName("ik")
@ObfuscatedGetter(
intValue = -1967946355
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("iu")
@ObfuscatedGetter(
intValue = 2101736993
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("iy")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("ip")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("iw")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("id")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("if")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("ir")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("ia")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("iv")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("in")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("il")
@ObfuscatedGetter(
intValue = -1976595977
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("ii")
@ObfuscatedGetter(
intValue = -1627292871
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("ic")
@ObfuscatedGetter(
intValue = -527920877
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("js")
@ObfuscatedGetter(
intValue = 978670267
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("jv")
@ObfuscatedGetter(
intValue = -1556961545
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("je")
@ObfuscatedGetter(
intValue = 1573914060
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("jt")
@ObfuscatedGetter(
intValue = -588599615
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("jx")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("jf")
@ObfuscatedGetter(
intValue = 2052271037
)
static int field750;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = 2007699929
)
static int field743;
@ObfuscatedName("jp")
@ObfuscatedGetter(
intValue = -1979890787
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("jd")
@ObfuscatedGetter(
intValue = -438601773
)
static int field745;
@ObfuscatedName("jo")
@ObfuscatedGetter(
intValue = -1643414129
)
static int field746;
@ObfuscatedName("jh")
@ObfuscatedGetter(
intValue = 1036462411
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("jr")
static boolean field748;
@ObfuscatedName("jw")
@ObfuscatedGetter(
intValue = -1965230699
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("jb")
@ObfuscatedGetter(
intValue = 1577400495
)
static int field634;
@ObfuscatedName("jl")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("jm")
@ObfuscatedSignature(
signature = "[Lbi;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("jq")
@ObfuscatedGetter(
intValue = 87159269
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("jy")
@ObfuscatedGetter(
intValue = 1781220751
)
static int field636;
@ObfuscatedName("jj")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("ki")
@ObfuscatedGetter(
intValue = -2014818077
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("ko")
@ObfuscatedGetter(
intValue = 729085131
)
static int field640;
@ObfuscatedName("kr")
static int[] field758;
@ObfuscatedName("kn")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("kh")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("kb")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("kz")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("kf")
@ObfuscatedGetter(
intValue = 722101389
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("kl")
@ObfuscatedSignature(
signature = "[[[Ljv;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("ka")
@ObfuscatedSignature(
signature = "Ljv;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("kt")
@ObfuscatedSignature(
signature = "Ljv;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("kj")
@ObfuscatedSignature(
signature = "Ljv;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("km")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("ky")
@Export("levels")
static int[] levels;
@ObfuscatedName("kd")
@Export("experience")
static int[] experience;
@ObfuscatedName("kv")
@ObfuscatedGetter(
intValue = 421096745
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("kg")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("lw")
@ObfuscatedGetter(
intValue = 813297127
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("ld")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("lb")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("ls")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("lq")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("ll")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("ln")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("lx")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("lm")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("lp")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("lf")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("lo")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("lh")
@ObfuscatedGetter(
intValue = -1819095265
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("lg")
@ObfuscatedGetter(
intValue = -546279315
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("lj")
@ObfuscatedGetter(
intValue = 509497683
)
static int field787;
@ObfuscatedName("la")
@ObfuscatedGetter(
intValue = 1721267483
)
static int field788;
@ObfuscatedName("lr")
@ObfuscatedGetter(
intValue = 241697491
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("lz")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("li")
@ObfuscatedGetter(
intValue = -133249451
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("mp")
@ObfuscatedGetter(
intValue = -1549196691
)
static int field793;
@ObfuscatedName("mf")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("mm")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("mh")
@ObfuscatedGetter(
intValue = 1431344687
)
@Export("rootInterface")
static int rootInterface;
static {
field802 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
clientType = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = -1L;
field646 = -1;
field647 = -1;
field648 = -1L;
hadFocus = true;
displayFps = false;
rebootTimer = 0;
hintArrowType = 0;
hintArrowNpcIndex = 0;
hintArrowPlayerIndex = 0;
hintArrowX = 0;
hintArrowY = 0;
hintArrowHeight = 0;
hintArrowSubX = 0;
hintArrowSubY = 0;
playerAttackOption = AttackOption.AttackOption_hidden;
npcAttackOption = AttackOption.AttackOption_hidden;
titleLoadingStage = 0;
js5ConnectState = 0;
field664 = 0;
js5Errors = 0;
loginState = 0;
field669 = 0;
field670 = 0;
field671 = 0;
field672 = class160.field1985;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field633 = 0;
field681 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
field730 = false;
useBufferedSocket = true;
timer = new Timer();
fontsMap = new HashMap();
field689 = 0;
field690 = 1;
field691 = 0;
field692 = 1;
field693 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field697 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3};
field698 = 0;
field699 = 2301979;
field700 = 5063219;
field701 = 3353893;
field702 = 7759444;
field703 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field766 = 0;
field714 = 0;
field715 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field718 = 0;
field879 = false;
field720 = 0;
field721 = false;
field722 = 0;
overheadTextCount = 0;
overheadTextLimit = 50;
overheadTextXs = new int[overheadTextLimit];
overheadTextYs = new int[overheadTextLimit];
overheadTextAscents = new int[overheadTextLimit];
overheadTextXOffsets = new int[overheadTextLimit];
overheadTextColors = new int[overheadTextLimit];
overheadTextEffects = new int[overheadTextLimit];
overheadTextCyclesRemaining = new int[overheadTextLimit];
overheadText = new String[overheadTextLimit];
tileLastDrawnActor = new int[104][104];
viewportDrawCount = 0;
viewportTempX = -1;
viewportTempY = -1;
mouseCrossX = 0;
mouseCrossY = 0;
mouseCrossState = 0;
mouseCrossColor = 0;
showMouseCross = true;
field750 = 0;
field743 = 0;
dragItemSlotSource = 0;
field745 = 0;
field746 = 0;
dragItemSlotDestination = 0;
field748 = false;
itemDragDuration = 0;
field634 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field636 = 0;
renderSelf = true;
drawPlayerNames = 0;
field640 = 0;
field758 = new int[1000];
playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51};
playerMenuActions = new String[8];
playerOptionsPriorities = new boolean[8];
defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792};
combatTargetPlayerIndex = -1;
groundItems = new NodeDeque[4][104][104];
pendingSpawns = new NodeDeque();
projectiles = new NodeDeque();
graphicsObjects = new NodeDeque();
currentLevels = new int[25];
levels = new int[25];
experience = new int[25];
leftClickOpensMenu = 0;
isMenuOpen = false;
menuOptionsCount = 0;
menuArguments1 = new int[500];
menuArguments2 = new int[500];
menuOpcodes = new int[500];
menuIdentifiers = new int[500];
menuActions = new String[500];
menuTargets = new String[500];
menuShiftClick = new boolean[500];
followerOpsLowPriority = false;
shiftClickDrop = false;
tapToDrop = false;
showMouseOverText = true;
viewportX = -1;
viewportY = -1;
field787 = 0;
field788 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field793 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field798 = 0;
field824 = -1;
chatEffects = 0;
field873 = 0;
meslayerContinueWidget = null;
runEnergy = 0;
weight = 0;
staffModLevel = 0;
followerIndex = -1;
playerMod = false;
viewportWidget = null;
clickedWidget = null;
clickedWidgetParent = null;
widgetClickX = 0;
widgetClickY = 0;
draggedOnWidget = null;
field814 = false;
field695 = -1;
field816 = -1;
field817 = false;
field818 = -1;
field819 = -1;
isDraggingWidget = false;
cycleCntr = 1;
field782 = new int[32];
field823 = 0;
field820 = new int[32];
field825 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
chatCycle = 0;
field744 = 0;
field830 = 0;
field831 = 0;
field832 = 0;
field833 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field836 = new NodeDeque();
field763 = new NodeDeque();
widgetClickMasks = new NodeHashTable(512);
rootWidgetCount = 0;
field638 = -2;
field841 = new boolean[100];
field842 = new boolean[100];
field847 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field754 = 0L;
isResizable = true;
field851 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field907 = "";
field889 = new long[100];
field856 = 0;
field857 = 0;
field858 = new int[128];
field859 = new int[128];
field860 = -1L;
field643 = -1;
mapIconCount = 0;
mapIconXs = new int[1000];
mapIconYs = new int[1000];
mapIcons = new Sprite[1000];
destinationX = 0;
destinationY = 0;
minimapState = 0;
musicVolume = 255;
field666 = -1;
field759 = 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;
field835 = new boolean[5];
field882 = new int[5];
field883 = new int[5];
field884 = new int[5];
field885 = new int[5];
field880 = 256;
field887 = 205;
zoomHeight = 256;
zoomWidth = 320;
field686 = 1;
field891 = 32767;
field892 = 1;
field893 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerAppearance();
field900 = -1;
field901 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field905 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field908 = 0;
field909 = new class65();
field910 = new int[50];
field911 = new int[50];
}
@ObfuscatedName("b")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "2027797509"
)
@Export("resizeGame")
protected final void resizeGame() {
field754 = class30.currentTimeMillis() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("ar")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "16"
)
@Export("setUp")
protected final void setUp() {
int[] var1 = new int[]{20, 260, 10000};
int[] var2 = new int[]{1000, 100, 500};
if (var1 != null && var2 != null) {
ByteArrayPool.ByteArrayPool_alternativeSizes = var1;
ByteArrayPool.ByteArrayPool_altSizeArrayCounts = new int[var1.length];
class81.ByteArrayPool_arrays = new byte[var1.length][][];
for (int var5 = 0; var5 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var5) {
class81.ByteArrayPool_arrays[var5] = new byte[var2[var5]][];
}
} else {
ByteArrayPool.ByteArrayPool_alternativeSizes = null;
ByteArrayPool.ByteArrayPool_altSizeArrayCounts = null;
class81.ByteArrayPool_arrays = null;
}
HitSplatDefinition.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
BZip2State.port2 = gameBuild == 0 ? 443 : worldId + 50000;
NPC.port3 = HitSplatDefinition.port1;
HorizontalAlignment.field3447 = class215.field2531;
PlayerAppearance.field2519 = class215.field2530;
PlayerAppearance.field2525 = class215.field2532;
DevicePcmPlayerProvider.field390 = class215.field2529;
urlRequester = new UrlRequester();
this.setUpKeyboard();
this.setUpMouse();
KeyHandler.mouseWheel = this.mouseWheel();
WorldMapData_0.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
AbstractArchive.clientPreferences = ItemDefinition.method4667();
this.setUpClipboard();
String var4 = WorldMapManager.null_string;
class51.applet = this;
if (var4 != null) {
class51.field406 = var4;
}
if (gameBuild != 0) {
displayFps = true;
}
UserComparator8.setWindowedMode(AbstractArchive.clientPreferences.windowMode);
Tiles.friendSystem = new FriendSystem(WorldMapSection1.loginType);
}
@ObfuscatedName("ab")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-60"
)
@Export("doCycle")
protected final void doCycle() {
++cycle;
this.doCycleJs5();
while (true) {
ArchiveDiskAction var1;
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast();
}
if (var1 == null) {
break;
}
var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false);
}
try {
if (class197.field2386 == 1) {
int var5 = class49.midiPcmStream.method3745();
if (var5 > 0 && class49.midiPcmStream.isReady()) {
var5 -= MusicPatchNode2.field2382;
if (var5 < 0) {
var5 = 0;
}
class49.midiPcmStream.method3760(var5);
} else {
class49.midiPcmStream.clear();
class49.midiPcmStream.removeAll();
if (class197.musicTrackArchive != null) {
class197.field2386 = 2;
} else {
class197.field2386 = 0;
}
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
}
}
} catch (Exception var9) {
var9.printStackTrace();
class49.midiPcmStream.clear();
class197.field2386 = 0;
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
class197.musicTrackArchive = null;
}
WorldMapID.playPcmPlayers();
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field378 = KeyHandler.field380;
KeyHandler.field361 = 0;
int var6;
if (KeyHandler.field373 >= 0) {
while (KeyHandler.field373 != KeyHandler.field372) {
var6 = KeyHandler.field365[KeyHandler.field372];
KeyHandler.field372 = KeyHandler.field372 + 1 & 127;
if (var6 < 0) {
KeyHandler.KeyHandler_pressedKeys[~var6] = false;
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field361 < KeyHandler.field376.length - 1) {
KeyHandler.field376[++KeyHandler.field361 - 1] = var6;
}
KeyHandler.KeyHandler_pressedKeys[var6] = true;
}
}
} else {
for (var6 = 0; var6 < 112; ++var6) {
KeyHandler.KeyHandler_pressedKeys[var6] = false;
}
KeyHandler.field373 = KeyHandler.field372;
}
if (KeyHandler.field361 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field380 = KeyHandler.field371;
}
VertexNormal.method2959();
if (KeyHandler.mouseWheel != null) {
int var5 = KeyHandler.mouseWheel.useRotation();
mouseWheelRotation = var5;
}
if (gameState == 0) {
class189.load();
WorldMapDecoration.method343();
} else if (gameState == 5) {
LoginPacket.doCycleTitle(this);
class189.load();
WorldMapDecoration.method343();
} else if (gameState == 10 || gameState == 11) {
LoginPacket.doCycleTitle(this);
} else if (gameState == 20) {
LoginPacket.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
KeyHandler.method851();
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
}
@ObfuscatedName("ax")
@ObfuscatedSignature(
signature = "(ZI)V",
garbageValue = "-1679134607"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2;
label168: {
try {
if (class197.field2386 == 2) {
if (class197.musicTrack == null) {
class197.musicTrack = MusicTrack.readTrack(class197.musicTrackArchive, class188.musicTrackGroupId, class49.musicTrackFileId);
if (class197.musicTrack == null) {
var2 = false;
break label168;
}
}
if (FriendLoginUpdate.soundCache == null) {
FriendLoginUpdate.soundCache = new SoundCache(class197.soundEffectsArchive, SecureRandomCallable.musicSamplesArchive);
}
if (class49.midiPcmStream.loadMusicTrack(class197.musicTrack, class197.musicPatchesArchive, FriendLoginUpdate.soundCache, 22050)) {
class49.midiPcmStream.clearAll();
class49.midiPcmStream.method3760(TileItem.field1223);
class49.midiPcmStream.setMusicTrack(class197.musicTrack, WorldMapSectionType.musicTrackBoolean);
class197.field2386 = 0;
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
class197.musicTrackArchive = null;
var2 = true;
break label168;
}
}
} catch (Exception var6) {
var6.printStackTrace();
class49.midiPcmStream.clear();
class197.field2386 = 0;
class197.musicTrack = null;
FriendLoginUpdate.soundCache = null;
class197.musicTrackArchive = null;
}
var2 = false;
}
if (var2 && field759 && class219.pcmPlayer0 != null) {
class219.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field754 && class30.currentTimeMillis() > field754) {
UserComparator8.setWindowedMode(class247.getWindowedMode());
}
int var4;
if (var1) {
for (var4 = 0; var4 < 100; ++var4) {
field841[var4] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12);
} else if (gameState == 25) {
if (field693 == 1) {
if (field689 > field690) {
field690 = field689;
}
var4 = (field690 * 50 - field689 * 50) / field690;
WorldMapSprite.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else if (field693 == 2) {
if (field691 > field692) {
field692 = field691;
}
var4 = (field692 * 50 - field691 * 50) / field692 + 50;
WorldMapSprite.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else {
WorldMapSprite.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
WorldMapSprite.drawLoadingMessage("Connection lost" + "<br>" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
WorldMapSprite.drawLoadingMessage("Please wait...", false);
}
} else {
VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
if (field842[var4]) {
class42.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]);
field842[var4] = false;
}
}
} else if (gameState > 0) {
class42.rasterProvider.drawFull(0, 0);
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
field842[var4] = false;
}
}
}
@ObfuscatedName("as")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "87"
)
@Export("kill0")
protected final void kill0() {
if (class197.varcs.hasUnwrittenChanges()) {
class197.varcs.write();
}
if (WorldMapLabel.mouseRecorder != null) {
WorldMapLabel.mouseRecorder.isRunning = false;
}
WorldMapLabel.mouseRecorder = null;
packetWriter.close();
class191.method3640();
method1566();
KeyHandler.mouseWheel = null;
if (class219.pcmPlayer0 != null) {
class219.pcmPlayer0.shutdown();
}
if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) {
GrandExchangeOfferWorldComparator.pcmPlayer1.shutdown();
}
class80.method2057();
UrlRequest.method3269();
if (urlRequester != null) {
urlRequester.close();
urlRequester = null;
}
Occluder.method3252();
}
@ObfuscatedName("am")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-2052837160"
)
protected final void vmethod1307() {
}
public final void init() {
try {
if (this.checkHost()) {
for (int var1 = 0; var1 <= 19; ++var1) {
String var2 = this.getParameter(Integer.toString(var1));
if (var2 != null) {
switch(var1) {
case 1:
useBufferedSocket = Integer.parseInt(var2) != 0;
case 2:
case 11:
case 13:
case 16:
default:
break;
case 3:
if (var2.equalsIgnoreCase("true")) {
isMembersWorld = true;
} else {
isMembersWorld = false;
}
break;
case 4:
if (clientType == -1) {
clientType = Integer.parseInt(var2);
}
break;
case 5:
worldProperties = Integer.parseInt(var2);
break;
case 6:
WorldMapLabelSize.clientLanguage = Language.method3618(Integer.parseInt(var2));
break;
case 7:
VertexNormal.field1726 = FloorDecoration.method2841(Integer.parseInt(var2));
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
class197.field2390 = var2;
break;
case 10:
StudioGame[] var3 = new StudioGame[]{StudioGame.game3, StudioGame.runescape, StudioGame.stellardawn, StudioGame.oldscape, StudioGame.game4, StudioGame.game5};
class16.field101 = (StudioGame)NetSocket.findEnumerated(var3, Integer.parseInt(var2));
if (class16.field101 == StudioGame.oldscape) {
WorldMapSection1.loginType = LoginType.oldscape;
} else {
WorldMapSection1.loginType = LoginType.field4032;
}
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
WorldMapArea.field218 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
WorldMapSectionType.field150 = var2;
}
}
}
GrandExchangeOfferUnitPriceComparator.method139();
class160.worldHost = this.getCodeBase().getHost();
String var11 = VertexNormal.field1726.name;
byte var12 = 0;
try {
JagexCache.idxCount = 21;
BufferedNetSocket.cacheGamebuild = var12;
try {
HealthBarUpdate.field993 = System.getProperty("os.name");
} catch (Exception var19) {
HealthBarUpdate.field993 = "Unknown";
}
class162.field1990 = HealthBarUpdate.field993.toLowerCase();
try {
JagexCache.userHomeDirectory = System.getProperty("user.home");
if (JagexCache.userHomeDirectory != null) {
JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/";
}
} catch (Exception var18) {
}
try {
if (class162.field1990.startsWith("win")) {
if (JagexCache.userHomeDirectory == null) {
JagexCache.userHomeDirectory = System.getenv("USERPROFILE");
}
} else if (JagexCache.userHomeDirectory == null) {
JagexCache.userHomeDirectory = System.getenv("HOME");
}
if (JagexCache.userHomeDirectory != null) {
JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/";
}
} catch (Exception var17) {
}
if (JagexCache.userHomeDirectory == null) {
JagexCache.userHomeDirectory = "~/";
}
UserComparator4.field1948 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", JagexCache.userHomeDirectory, "/tmp/", ""};
class266.field3537 = new String[]{".jagex_cache_" + BufferedNetSocket.cacheGamebuild, ".file_store_" + BufferedNetSocket.cacheGamebuild};
int var6;
File var7;
label176:
for (int var13 = 0; var13 < 4; ++var13) {
GrandExchangeOfferOwnWorldComparator.cacheDir = WorldMapRegion.getCacheDir("oldschool", var11, var13);
if (!GrandExchangeOfferOwnWorldComparator.cacheDir.exists()) {
GrandExchangeOfferOwnWorldComparator.cacheDir.mkdirs();
}
File[] var4 = GrandExchangeOfferOwnWorldComparator.cacheDir.listFiles();
if (var4 == null) {
break;
}
File[] var5 = var4;
var6 = 0;
while (true) {
if (var6 >= var5.length) {
break label176;
}
var7 = var5[var6];
boolean var8;
try {
RandomAccessFile var9 = new RandomAccessFile(var7, "rw");
int var10 = var9.read();
var9.seek(0L);
var9.write(var10);
var9.seek(0L);
var9.close();
var8 = true;
} catch (Exception var16) {
var8 = false;
}
if (!var8) {
break;
}
++var6;
}
}
File var23 = GrandExchangeOfferOwnWorldComparator.cacheDir;
FileSystem.FileSystem_cacheDir = var23;
if (!FileSystem.FileSystem_cacheDir.exists()) {
throw new RuntimeException("");
}
FileSystem.FileSystem_hasPermissions = true;
try {
File var24 = new File(JagexCache.userHomeDirectory, "random.dat");
if (var24.exists()) {
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var24, "rw", 25L), 24, 0);
} else {
label153:
for (int var14 = 0; var14 < class266.field3537.length; ++var14) {
for (var6 = 0; var6 < UserComparator4.field1948.length; ++var6) {
var7 = new File(UserComparator4.field1948[var6] + class266.field3537[var14] + File.separatorChar + "random.dat");
if (var7.exists()) {
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var7, "rw", 25L), 24, 0);
break label153;
}
}
}
}
if (JagexCache.JagexCache_randomDat == null) {
RandomAccessFile var25 = new RandomAccessFile(var24, "rw");
var6 = var25.read();
var25.seek(0L);
var25.write(var6);
var25.seek(0L);
var25.close();
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var24, "rw", 25L), 24, 0);
}
} catch (IOException var20) {
}
JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
class189.JagexCache_idxFiles = new BufferedFile[JagexCache.idxCount];
for (int var15 = 0; var15 < JagexCache.idxCount; ++var15) {
class189.JagexCache_idxFiles[var15] = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.idx" + var15), "rw", 1048576L), 6000, 0);
}
} catch (Exception var21) {
class32.RunException_sendStackTrace((String)null, var21);
}
ViewportMouse.client = this;
ClientType.clientType = clientType;
this.startThread(765, 503, 184);
}
} catch (RuntimeException var22) {
throw class14.newRunException(var22, "client.init(" + ')');
}
}
@ObfuscatedName("en")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "942594737"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
boolean var1 = PlayerAppearance.method4010();
if (!var1) {
this.doCycleJs5Connect();
}
}
}
@ObfuscatedName("eh")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1951808439"
)
@Export("doCycleJs5Connect")
void doCycleJs5Connect() {
if (NetCache.NetCache_crcMismatches >= 4) {
this.error("js5crc");
gameState = 1000;
} else {
if (NetCache.NetCache_ioExceptions >= 4) {
if (gameState <= 5) {
this.error("js5io");
gameState = 1000;
return;
}
field664 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field664 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
Login.js5SocketTask = GameShell.taskHandler.newSocketTask(class160.worldHost, NPC.port3);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (Login.js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (Login.js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
Socket var2 = (Socket)Login.js5SocketTask.result;
BufferedNetSocket var1 = new BufferedNetSocket(var2, 40000, 5000);
class43.js5Socket = var1;
} else {
class43.js5Socket = new NetSocket((Socket)Login.js5SocketTask.result, GameShell.taskHandler, 5000);
}
Buffer var5 = new Buffer(5);
var5.writeByte(15);
var5.writeInt(184);
class43.js5Socket.write(var5.array, 0, 5);
++js5ConnectState;
VerticalAlignment.field3175 = class30.currentTimeMillis();
}
if (js5ConnectState == 3) {
if (class43.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var3 = class43.js5Socket.readUnsignedByte();
if (var3 != 0) {
this.js5Error(var3);
return;
}
++js5ConnectState;
} else if (class30.currentTimeMillis() - VerticalAlignment.field3175 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
MenuAction.method2067(class43.js5Socket, gameState > 20);
Login.js5SocketTask = null;
class43.js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
}
} catch (IOException var4) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("em")
@ObfuscatedSignature(
signature = "(IB)V",
garbageValue = "0"
)
@Export("js5Error")
void js5Error(int var1) {
Login.js5SocketTask = null;
class43.js5Socket = null;
js5ConnectState = 0;
if (NPC.port3 == HitSplatDefinition.port1) {
NPC.port3 = BZip2State.port2;
} else {
NPC.port3 = HitSplatDefinition.port1;
}
++js5Errors;
if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) {
if (gameState <= 5) {
this.error("js5connect_full");
gameState = 1000;
} else {
field664 = 3000;
}
} else if (js5Errors >= 2 && var1 == 6) {
this.error("js5connect_outofdate");
gameState = 1000;
} else if (js5Errors >= 4) {
if (gameState <= 5) {
this.error("js5connect");
gameState = 1000;
} else {
field664 = 3000;
}
}
}
@ObfuscatedName("ey")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "684778966"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (GraphicsObject.secureRandom == null && (secureRandomFuture.isDone() || field669 > 250)) {
GraphicsObject.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (GraphicsObject.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
LoginPacket.socketTask = null;
field730 = false;
field669 = 0;
loginState = 1;
}
}
if (loginState == 1) {
if (LoginPacket.socketTask == null) {
LoginPacket.socketTask = GameShell.taskHandler.newSocketTask(class160.worldHost, NPC.port3);
}
if (LoginPacket.socketTask.status == 2) {
throw new IOException();
}
if (LoginPacket.socketTask.status == 1) {
if (useBufferedSocket) {
Socket var4 = (Socket)LoginPacket.socketTask.result;
BufferedNetSocket var3 = new BufferedNetSocket(var4, 40000, 5000);
var1 = var3;
} else {
var1 = new NetSocket((Socket)LoginPacket.socketTask.result, GameShell.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
LoginPacket.socketTask = null;
loginState = 2;
}
}
if (loginState == 2) {
packetWriter.clearBuffer();
PacketBufferNode var22 = Tile.method2849();
var22.packetBuffer.writeByte(LoginPacket.field2289.id);
packetWriter.addNode(var22);
packetWriter.flush();
var2.offset = 0;
loginState = 3;
}
boolean var13;
int var14;
if (loginState == 3) {
if (class219.pcmPlayer0 != null) {
class219.pcmPlayer0.method2397();
}
if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) {
GrandExchangeOfferWorldComparator.pcmPlayer1.method2397();
}
var13 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var13 = false;
}
if (var13) {
var14 = ((AbstractSocket)var1).readUnsignedByte();
if (class219.pcmPlayer0 != null) {
class219.pcmPlayer0.method2397();
}
if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) {
GrandExchangeOfferWorldComparator.pcmPlayer1.method2397();
}
if (var14 != 0) {
ArchiveDisk.getLoginError(var14);
return;
}
var2.offset = 0;
loginState = 4;
}
}
int var33;
if (loginState == 4) {
if (var2.offset < 8) {
var33 = ((AbstractSocket)var1).available();
if (var33 > 8 - var2.offset) {
var33 = 8 - var2.offset;
}
if (var33 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var33);
var2.offset += var33;
}
}
if (var2.offset == 8) {
var2.offset = 0;
Tiles.field495 = var2.readLong();
loginState = 5;
}
}
int var6;
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var23 = new PacketBuffer(500);
int[] var25 = new int[]{GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt()};
var23.offset = 0;
var23.writeByte(1);
var23.writeInt(var25[0]);
var23.writeInt(var25[1]);
var23.writeInt(var25[2]);
var23.writeInt(var25[3]);
var23.writeLong(Tiles.field495);
if (gameState == 40) {
var23.writeInt(DirectByteArrayCopier.field2482[0]);
var23.writeInt(DirectByteArrayCopier.field2482[1]);
var23.writeInt(DirectByteArrayCopier.field2482[2]);
var23.writeInt(DirectByteArrayCopier.field2482[3]);
} else {
var23.writeByte(field672.rsOrdinal());
switch(field672.field1984) {
case 0:
case 1:
var23.writeMedium(class185.field2305);
++var23.offset;
break;
case 2:
var23.offset += 4;
break;
case 3:
var23.writeInt((Integer)AbstractArchive.clientPreferences.parameters.get(class288.method5224(Login.Login_username)));
}
var23.writeByte(class312.field3818.rsOrdinal());
var23.writeStringCp1252NullTerminated(Login.Login_password);
}
var23.encryptRsa(class83.field1148, class83.field1149);
DirectByteArrayCopier.field2482 = var25;
PacketBufferNode var5 = Tile.method2849();
var5.packetBuffer.offset = 0;
if (gameState == 40) {
var5.packetBuffer.writeByte(LoginPacket.field2290.id);
} else {
var5.packetBuffer.writeByte(LoginPacket.field2287.id);
}
var5.packetBuffer.writeShort(0);
var6 = var5.packetBuffer.offset;
var5.packetBuffer.writeInt(184);
var5.packetBuffer.writeInt(1);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeBytes(var23.array, 0, var23.offset);
int var7 = var5.packetBuffer.offset;
var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var5.packetBuffer.writeShort(FloorDecoration.canvasWidth);
var5.packetBuffer.writeShort(WallDecoration.canvasHeight);
PacketBuffer var8 = var5.packetBuffer;
int var11;
if (randomDatData != null) {
var8.writeBytes(randomDatData, 0, randomDatData.length);
} else {
byte[] var10 = new byte[24];
try {
JagexCache.JagexCache_randomDat.seek(0L);
JagexCache.JagexCache_randomDat.readFully(var10);
for (var11 = 0; var11 < 24 && var10[var11] == 0; ++var11) {
}
if (var11 >= 24) {
throw new IOException();
}
} catch (Exception var20) {
for (int var12 = 0; var12 < 24; ++var12) {
var10[var12] = -1;
}
}
var8.writeBytes(var10, 0, var10.length);
}
var5.packetBuffer.writeStringCp1252NullTerminated(class197.field2390);
var5.packetBuffer.writeInt(WorldMapArea.field218);
Buffer var9 = new Buffer(class269.platformInfo.size());
class269.platformInfo.write(var9);
var5.packetBuffer.writeBytes(var9.array, 0, var9.array.length);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.writeInt(class1.archive0.hash);
var5.packetBuffer.writeInt(WorldMapLabelSize.archive1.hash);
var5.packetBuffer.writeInt(FaceNormal.archive2.hash);
var5.packetBuffer.writeInt(BoundaryObject.archive3.hash);
var5.packetBuffer.writeInt(GrandExchangeOfferAgeComparator.archive4.hash);
var5.packetBuffer.writeInt(class3.archive5.hash);
var5.packetBuffer.writeInt(class225.archive6.hash);
var5.packetBuffer.writeInt(Language.archive7.hash);
var5.packetBuffer.writeInt(GrandExchangeOfferAgeComparator.archive8.hash);
var5.packetBuffer.writeInt(AttackOption.archive9.hash);
var5.packetBuffer.writeInt(archive10.hash);
var5.packetBuffer.writeInt(ClanMate.archive11.hash);
var5.packetBuffer.writeInt(GrandExchangeOfferOwnWorldComparator.archive12.hash);
var5.packetBuffer.writeInt(Tile.archive13.hash);
var5.packetBuffer.writeInt(WorldMapData_1.archive14.hash);
var5.packetBuffer.writeInt(Script.archive15.hash);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.writeInt(archive17.hash);
var5.packetBuffer.writeInt(VarcInt.archive18.hash);
var5.packetBuffer.writeInt(WorldMapLabel.archive19.hash);
var5.packetBuffer.writeInt(WorldMapEvent.archive20.hash);
var5.packetBuffer.xteaEncrypt(var25, var7, var5.packetBuffer.offset);
var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6);
packetWriter.addNode(var5);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var25);
int[] var32 = new int[4];
for (var11 = 0; var11 < 4; ++var11) {
var32[var11] = var25[var11] + 50;
}
var2.newIsaacCipher(var32);
loginState = 6;
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var33 = ((AbstractSocket)var1).readUnsignedByte();
if (var33 == 21 && gameState == 20) {
loginState = 9;
} else if (var33 == 2) {
loginState = 11;
} else if (var33 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
loginState = 16;
} else if (var33 == 64) {
loginState = 7;
} else if (var33 == 23 && field670 < 1) {
++field670;
loginState = 0;
} else {
if (var33 != 29) {
ArchiveDisk.getLoginError(var33);
return;
}
loginState = 14;
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() > 0) {
Message.field592 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= Message.field592) {
((AbstractSocket)var1).read(var2.array, 0, Message.field592);
var2.offset = 0;
loginState = 6;
}
if (loginState == 9 && ((AbstractSocket)var1).available() > 0) {
field671 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
loginState = 10;
}
if (loginState == 10) {
field669 = 0;
PlayerType.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field671 / 60 + " seconds.");
if (--field671 <= 0) {
loginState = 0;
}
} else {
if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) {
World.field1012 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 12;
}
int var16;
if (loginState == 12 && ((AbstractSocket)var1).available() >= World.field1012) {
var13 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var34 = false;
if (var13) {
var14 = var2.readByteIsaac() << 24;
var14 |= var2.readByteIsaac() << 16;
var14 |= var2.readByteIsaac() << 8;
var14 |= var2.readByteIsaac();
var16 = class288.method5224(Login.Login_username);
if (AbstractArchive.clientPreferences.parameters.size() >= 10 && !AbstractArchive.clientPreferences.parameters.containsKey(var16)) {
Iterator var17 = AbstractArchive.clientPreferences.parameters.entrySet().iterator();
var17.next();
var17.remove();
}
AbstractArchive.clientPreferences.parameters.put(var16, var14);
}
if (Login_isUsernameRemembered) {
AbstractArchive.clientPreferences.rememberedUsername = Login.Login_username;
} else {
AbstractArchive.clientPreferences.rememberedUsername = null;
}
Language.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field636 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var29 = class96.ServerPacket_values();
var6 = var2.readSmartByteShortIsaac();
if (var6 < 0 || var6 >= var29.length) {
throw new IOException(var6 + " " + var2.offset);
}
packetWriter.serverPacket = var29[var6];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
class47.method881(ViewportMouse.client, "zap");
} catch (Throwable var19) {
}
loginState = 13;
}
if (loginState == 13) {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method4939();
mouseLastLastPressedTimeMillis = -1L;
WorldMapLabel.mouseRecorder.index = 0;
TaskHandler.hasFocus = true;
hadFocus = true;
field860 = -1L;
class96.reflectionChecks = new IterableNodeDeque();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1300 = null;
packetWriter.field1291 = null;
packetWriter.field1301 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1297 = 0;
rebootTimer = 0;
logoutTimer = 0;
hintArrowType = 0;
ScriptEvent.method1205();
MouseHandler.MouseHandler_idleCycles = 0;
WorldMapDecoration.method349();
isItemSelected = 0;
isSpellSelected = false;
soundEffectCount = 0;
camAngleY = 0;
oculusOrbState = 0;
StudioGame.field3086 = null;
minimapState = 0;
field643 = -1;
destinationX = 0;
destinationY = 0;
playerAttackOption = AttackOption.AttackOption_hidden;
npcAttackOption = AttackOption.AttackOption_hidden;
npcCount = 0;
ClientPreferences.method1861();
for (var33 = 0; var33 < 2048; ++var33) {
players[var33] = null;
}
for (var33 = 0; var33 < 32768; ++var33) {
npcs[var33] = null;
}
combatTargetPlayerIndex = -1;
projectiles.clear();
graphicsObjects.clear();
for (var33 = 0; var33 < 4; ++var33) {
for (var14 = 0; var14 < 104; ++var14) {
for (var16 = 0; var16 < 104; ++var16) {
groundItems[var33][var14][var16] = null;
}
}
}
pendingSpawns = new NodeDeque();
Tiles.friendSystem.clear();
for (var33 = 0; var33 < VarpDefinition.VarpDefinition_fileCount; ++var33) {
VarpDefinition var28 = AbstractWorldMapData.method288(var33);
if (var28 != null) {
Varps.Varps_temp[var33] = 0;
Varps.Varps_main[var33] = 0;
}
}
class197.varcs.clearTransient();
followerIndex = -1;
if (rootInterface != -1) {
InterfaceParent.method1192(rootInterface);
}
for (InterfaceParent var26 = (InterfaceParent)interfaceParents.first(); var26 != null; var26 = (InterfaceParent)interfaceParents.next()) {
FontName.closeInterface(var26, true);
}
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
meslayerContinueWidget = null;
ScriptEvent.method1205();
playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1);
for (var33 = 0; var33 < 8; ++var33) {
playerMenuActions[var33] = null;
playerOptionsPriorities[var33] = false;
}
FontName.method5266();
isLoading = true;
for (var33 = 0; var33 < 100; ++var33) {
field841[var33] = true;
}
class210.method3948();
Varps.clanChat = null;
for (var33 = 0; var33 < 8; ++var33) {
grandExchangeOffers[var33] = new GrandExchangeOffer();
}
TileItem.grandExchangeEvents = null;
AttackOption.updatePlayer(var2);
ServerPacket.field2131 = -1;
PlayerType.loadRegions(false, var2);
packetWriter.serverPacket = null;
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
class40.field329 = var2.readUnsignedShort();
loginState = 15;
}
if (loginState == 15 && ((AbstractSocket)var1).available() >= class40.field329) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, class40.field329);
var2.offset = 0;
String var24 = var2.readStringCp1252NullTerminated();
String var27 = var2.readStringCp1252NullTerminated();
String var30 = var2.readStringCp1252NullTerminated();
PlayerType.setLoginResponseString(var24, var27, var30);
MouseRecorder.updateGameState(10);
}
if (loginState != 16) {
++field669;
if (field669 > 2000) {
if (field670 < 1) {
if (HitSplatDefinition.port1 == NPC.port3) {
NPC.port3 = BZip2State.port2;
} else {
NPC.port3 = HitSplatDefinition.port1;
}
++field670;
loginState = 0;
} else {
ArchiveDisk.getLoginError(-3);
}
}
} else {
if (packetWriter.serverPacketLength == -1) {
if (((AbstractSocket)var1).available() < 2) {
return;
}
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
}
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
var2.offset = 0;
var33 = packetWriter.serverPacketLength;
timer.method4941();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1300 = null;
packetWriter.field1291 = null;
packetWriter.field1301 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1297 = 0;
rebootTimer = 0;
ScriptEvent.method1205();
minimapState = 0;
destinationX = 0;
for (var14 = 0; var14 < 2048; ++var14) {
players[var14] = null;
}
class223.localPlayer = null;
for (var14 = 0; var14 < npcs.length; ++var14) {
NPC var31 = npcs[var14];
if (var31 != null) {
var31.targetIndex = -1;
var31.false0 = false;
}
}
FontName.method5266();
MouseRecorder.updateGameState(30);
for (var14 = 0; var14 < 100; ++var14) {
field841[var14] = true;
}
class210.method3948();
AttackOption.updatePlayer(var2);
if (var33 != var2.offset) {
throw new RuntimeException();
}
}
}
}
}
} catch (IOException var21) {
if (field670 < 1) {
if (NPC.port3 == HitSplatDefinition.port1) {
NPC.port3 = BZip2State.port2;
} else {
NPC.port3 = HitSplatDefinition.port1;
}
++field670;
loginState = 0;
} else {
ArchiveDisk.getLoginError(-2);
}
}
}
@ObfuscatedName("fd")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1173156947"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (field730) {
field730 = false;
MouseRecorder.method1213();
} else {
if (!isMenuOpen) {
KeyHandler.addCancelMenuEntry();
}
for (int var1 = 0; var1 < 100 && this.method1607(packetWriter); ++var1) {
}
if (gameState == 30) {
while (true) {
ReflectionCheck var2 = (ReflectionCheck)class96.reflectionChecks.last();
boolean var29;
if (var2 == null) {
var29 = false;
} else {
var29 = true;
}
int var3;
PacketBufferNode var30;
if (!var29) {
PacketBufferNode var14;
int var15;
if (timer.field3563) {
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2187, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
var15 = var14.packetBuffer.offset;
timer.write(var14.packetBuffer);
var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
timer.method4940();
}
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
synchronized(WorldMapLabel.mouseRecorder.lock) {
if (!field802) {
WorldMapLabel.mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || WorldMapLabel.mouseRecorder.index >= 40) {
var30 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < WorldMapLabel.mouseRecorder.index && (var30 == null || var30.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = WorldMapLabel.mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = WorldMapLabel.mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field646 || var8 != field647) {
if (var30 == null) {
var30 = InterfaceParent.getPacketBufferNode(ClientPacket.field2188, packetWriter.isaacCipher);
var30.packetBuffer.writeByte(0);
var3 = var30.packetBuffer.offset;
PacketBuffer var10000 = var30.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (field648 != -1L) {
var10 = var9 - field646;
var11 = var8 - field647;
var12 = (int)((WorldMapLabel.mouseRecorder.millis[var7] - field648) / 20L);
var5 = (int)((long)var5 + (WorldMapLabel.mouseRecorder.millis[var7] - field648) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field646 = var9;
field647 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var30.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var30.packetBuffer.writeByte(var12 + 128);
var30.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var30.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var30.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var30.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var30.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var30.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var30.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field648 = WorldMapLabel.mouseRecorder.millis[var7];
}
}
if (var30 != null) {
var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3);
var7 = var30.packetBuffer.offset;
var30.packetBuffer.offset = var3;
var30.packetBuffer.writeByte(var5 / var6);
var30.packetBuffer.writeByte(var5 % var6);
var30.packetBuffer.offset = var7;
packetWriter.addNode(var30);
}
if (var4 >= WorldMapLabel.mouseRecorder.index) {
WorldMapLabel.mouseRecorder.index = 0;
} else {
MouseRecorder var42 = WorldMapLabel.mouseRecorder;
var42.index -= var4;
System.arraycopy(WorldMapLabel.mouseRecorder.xs, var4, WorldMapLabel.mouseRecorder.xs, 0, WorldMapLabel.mouseRecorder.index);
System.arraycopy(WorldMapLabel.mouseRecorder.ys, var4, WorldMapLabel.mouseRecorder.ys, 0, WorldMapLabel.mouseRecorder.index);
System.arraycopy(WorldMapLabel.mouseRecorder.millis, var4, WorldMapLabel.mouseRecorder.millis, 0, WorldMapLabel.mouseRecorder.index);
}
}
}
PacketBufferNode var18;
if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var16 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis) / 50L;
if (var16 > 4095L) {
var16 = 4095L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > WallDecoration.canvasHeight) {
var3 = WallDecoration.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > FloorDecoration.canvasWidth) {
var4 = FloorDecoration.canvasWidth;
}
var5 = (int)var16;
var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2210, packetWriter.isaacCipher);
var18.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1));
var18.packetBuffer.writeShort(var4);
var18.packetBuffer.writeShort(var3);
packetWriter.addNode(var18);
}
if (KeyHandler.field361 > 0) {
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2224, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(0);
var15 = var14.packetBuffer.offset;
long var19 = class30.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field361; ++var5) {
long var21 = var19 - field860;
if (var21 > 16777215L) {
var21 = 16777215L;
}
field860 = var19;
var14.packetBuffer.method5485((int)var21);
var14.packetBuffer.method5461(KeyHandler.field376[var5]);
}
var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
}
if (field720 > 0) {
--field720;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field721 = true;
}
if (field721 && field720 <= 0) {
field720 = 20;
field721 = false;
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2209, packetWriter.isaacCipher);
var14.packetBuffer.writeShortLE(camAngleX);
var14.packetBuffer.method5476(camAngleY);
packetWriter.addNode(var14);
}
if (TaskHandler.hasFocus && !hadFocus) {
hadFocus = true;
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2186, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(1);
packetWriter.addNode(var14);
}
if (!TaskHandler.hasFocus && hadFocus) {
hadFocus = false;
var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2186, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
packetWriter.addNode(var14);
}
if (Tiles.worldMap != null) {
Tiles.worldMap.method6314();
}
if (GrandExchangeOfferAgeComparator.ClanChat_inClanChat) {
if (Varps.clanChat != null) {
Varps.clanChat.sort();
}
Archive.method4278();
GrandExchangeOfferAgeComparator.ClanChat_inClanChat = false;
}
class60.method1191();
if (gameState != 30) {
return;
}
class160.method3417();
HealthBarUpdate.method1769();
++packetWriter.field1297;
if (packetWriter.field1297 > 750) {
MouseRecorder.method1213();
return;
}
class32.method571();
WallDecoration.method3255();
int[] var36 = Players.Players_indices;
for (var15 = 0; var15 < Players.Players_count; ++var15) {
Player var23 = players[var36[var15]];
if (var23 != null && var23.overheadTextCyclesRemaining > 0) {
--var23.overheadTextCyclesRemaining;
if (var23.overheadTextCyclesRemaining == 0) {
var23.overheadText = null;
}
}
}
for (var15 = 0; var15 < npcCount; ++var15) {
var3 = npcIndices[var15];
NPC var24 = npcs[var3];
if (var24 != null && var24.overheadTextCyclesRemaining > 0) {
--var24.overheadTextCyclesRemaining;
if (var24.overheadTextCyclesRemaining == 0) {
var24.overheadText = null;
}
}
}
++field698;
if (mouseCrossColor != 0) {
mouseCrossState = mouseCrossState * 400 + 400;
if (mouseCrossState * 20 >= 400) {
mouseCrossColor = 0;
}
}
if (GrandExchangeOfferOwnWorldComparator.field628 != null) {
++field750;
if (field750 >= 15) {
WorldMapSectionType.invalidateWidget(GrandExchangeOfferOwnWorldComparator.field628);
GrandExchangeOfferOwnWorldComparator.field628 = null;
}
}
Widget var37 = NetSocket.mousedOverWidgetIf1;
Widget var31 = Strings.field2767;
NetSocket.mousedOverWidgetIf1 = null;
Strings.field2767 = null;
draggedOnWidget = null;
field817 = false;
field814 = false;
field857 = 0;
while (DynamicObject.isKeyDown() && field857 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && SecureRandomFuture.field1230 == 66) {
String var39 = Entity.method3225();
ViewportMouse.client.clipboardSetString(var39);
} else if (oculusOrbState != 1 || KeyHandler.field381 <= 0) {
field859[field857] = SecureRandomFuture.field1230;
field858[field857] = KeyHandler.field381;
++field857;
}
}
boolean var32 = staffModLevel >= 2;
if (var32 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var4 = class223.localPlayer.plane - mouseWheelRotation;
if (var4 < 0) {
var4 = 0;
} else if (var4 > 3) {
var4 = 3;
}
if (var4 != class223.localPlayer.plane) {
class287.method5220(class223.localPlayer.pathX[0] + class223.baseX * 64, class223.localPlayer.pathY[0] + class286.baseY * 64, var4, false);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
AbstractWorldMapData.updateRootInterface(rootInterface, 0, 0, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var25;
Widget var38;
ScriptEvent var40;
do {
var40 = (ScriptEvent)field836.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)field763.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)scriptEvents.removeLast();
if (var40 == null) {
this.menu();
if (Tiles.worldMap != null) {
Tiles.worldMap.method6272(WorldMapRectangle.plane, class223.baseX * 64 + (class223.localPlayer.x >> 7), class286.baseY * 64 + (class223.localPlayer.y >> 7), false);
Tiles.worldMap.loadCache();
}
if (clickedWidget != null) {
this.method1328();
}
if (Frames.dragInventoryWidget != null) {
WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field748) {
if (Frames.dragInventoryWidget == DevicePcmPlayerProvider.field391 && dragItemSlotDestination != dragItemSlotSource) {
Widget var41 = Frames.dragInventoryWidget;
byte var33 = 0;
if (field873 == 1 && var41.contentType == 206) {
var33 = 1;
}
if (var41.itemIds[dragItemSlotDestination] <= 0) {
var33 = 0;
}
if (WorldMapSection0.method249(class2.getWidgetClickMask(var41))) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
var41.itemIds[var7] = var41.itemIds[var6];
var41.itemQuantities[var7] = var41.itemQuantities[var6];
var41.itemIds[var6] = -1;
var41.itemQuantities[var6] = 0;
} else if (var33 == 1) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
while (var7 != var6) {
if (var6 > var7) {
var41.swapItems(var6 - 1, var6);
--var6;
} else if (var6 < var7) {
var41.swapItems(var6 + 1, var6);
++var6;
}
}
} else {
var41.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2222, packetWriter.isaacCipher);
var18.packetBuffer.method5630(Frames.dragInventoryWidget.id);
var18.packetBuffer.writeShort(dragItemSlotDestination);
var18.packetBuffer.writeByte(var33);
var18.packetBuffer.method5476(dragItemSlotSource);
packetWriter.addNode(var18);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field745, field746);
} else if (menuOptionsCount > 0) {
class3.method47(field745, field746);
}
field750 = 10;
MouseHandler.MouseHandler_lastButton = 0;
Frames.dragInventoryWidget = null;
} else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field745 + 5 || MouseHandler.MouseHandler_x < field745 - 5 || MouseHandler.MouseHandler_y > field746 + 5 || MouseHandler.MouseHandler_y < field746 - 5)) {
field748 = true;
}
}
if (Scene.method3085()) {
var4 = Scene.Scene_selectedX;
var5 = Scene.Scene_selectedY;
var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2281, packetWriter.isaacCipher);
var18.packetBuffer.writeByte(5);
var18.packetBuffer.writeShortLE(class223.baseX * 64 + var4);
var18.packetBuffer.method5476(class286.baseY * 64 + var5);
var18.packetBuffer.method5468(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
packetWriter.addNode(var18);
Scene.method3086();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var4;
destinationY = var5;
}
if (var37 != NetSocket.mousedOverWidgetIf1) {
if (var37 != null) {
WorldMapSectionType.invalidateWidget(var37);
}
if (NetSocket.mousedOverWidgetIf1 != null) {
WorldMapSectionType.invalidateWidget(NetSocket.mousedOverWidgetIf1);
}
}
if (var31 != Strings.field2767 && field788 == field787) {
if (var31 != null) {
WorldMapSectionType.invalidateWidget(var31);
}
if (Strings.field2767 != null) {
WorldMapSectionType.invalidateWidget(Strings.field2767);
}
}
if (Strings.field2767 != null) {
if (field787 < field788) {
++field787;
if (field787 == field788) {
WorldMapSectionType.invalidateWidget(Strings.field2767);
}
}
} else if (field787 > 0) {
--field787;
}
if (oculusOrbState == 0) {
var4 = class223.localPlayer.x;
var5 = class223.localPlayer.y;
if (ObjectSound.oculusOrbFocalPointX - var4 < -500 || ObjectSound.oculusOrbFocalPointX - var4 > 500 || class14.oculusOrbFocalPointY - var5 < -500 || class14.oculusOrbFocalPointY - var5 > 500) {
ObjectSound.oculusOrbFocalPointX = var4;
class14.oculusOrbFocalPointY = var5;
}
if (var4 != ObjectSound.oculusOrbFocalPointX) {
ObjectSound.oculusOrbFocalPointX += (var4 - ObjectSound.oculusOrbFocalPointX) / 16;
}
if (var5 != class14.oculusOrbFocalPointY) {
class14.oculusOrbFocalPointY += (var5 - class14.oculusOrbFocalPointY) / 16;
}
var6 = ObjectSound.oculusOrbFocalPointX >> 7;
var7 = class14.oculusOrbFocalPointY >> 7;
var8 = MusicPatchPcmStream.getTileHeight(ObjectSound.oculusOrbFocalPointX, class14.oculusOrbFocalPointY, WorldMapRectangle.plane);
var9 = 0;
if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) {
for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) {
for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) {
var12 = WorldMapRectangle.plane;
if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) {
++var12;
}
int var26 = var8 - Tiles.Tiles_heights[var12][var10][var11];
if (var26 > var9) {
var9 = var26;
}
}
}
}
var10 = var9 * 192;
if (var10 > 98048) {
var10 = 98048;
}
if (var10 < 32768) {
var10 = 32768;
}
if (var10 > field722) {
field722 += (var10 - field722) / 24;
} else if (var10 < field722) {
field722 += (var10 - field722) / 80;
}
ModelData0.field1840 = MusicPatchPcmStream.getTileHeight(class223.localPlayer.x, class223.localPlayer.y, WorldMapRectangle.plane) - camFollowHeight;
} else if (oculusOrbState == 1) {
class1.method15();
short var34 = -1;
if (KeyHandler.KeyHandler_pressedKeys[33]) {
var34 = 0;
} else if (KeyHandler.KeyHandler_pressedKeys[49]) {
var34 = 1024;
}
if (KeyHandler.KeyHandler_pressedKeys[48]) {
if (var34 == 0) {
var34 = 1792;
} else if (var34 == 1024) {
var34 = 1280;
} else {
var34 = 1536;
}
} else if (KeyHandler.KeyHandler_pressedKeys[50]) {
if (var34 == 0) {
var34 = 256;
} else if (var34 == 1024) {
var34 = 768;
} else {
var34 = 512;
}
}
byte var35 = 0;
if (KeyHandler.KeyHandler_pressedKeys[35]) {
var35 = -1;
} else if (KeyHandler.KeyHandler_pressedKeys[51]) {
var35 = 1;
}
var6 = 0;
if (var34 >= 0 || var35 != 0) {
var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed;
var6 *= 16;
field714 = var34;
field715 = var35;
}
if (field766 < var6) {
field766 += var6 / 8;
if (field766 > var6) {
field766 = var6;
}
} else if (field766 > var6) {
field766 = field766 * 9 / 10;
}
if (field766 > 0) {
var7 = field766 / 16;
if (field714 >= 0) {
var4 = field714 - WorldMapSection2.cameraYaw & 2047;
var8 = Rasterizer3D.Rasterizer3D_sine[var4];
var9 = Rasterizer3D.Rasterizer3D_cosine[var4];
ObjectSound.oculusOrbFocalPointX += var8 * var7 / 65536;
class14.oculusOrbFocalPointY += var7 * var9 / 65536;
}
if (field715 != 0) {
ModelData0.field1840 += var7 * field715;
if (ModelData0.field1840 > 0) {
ModelData0.field1840 = 0;
}
}
} else {
field714 = -1;
field715 = -1;
}
if (KeyHandler.KeyHandler_pressedKeys[13]) {
packetWriter.addNode(InterfaceParent.getPacketBufferNode(ClientPacket.field2283, packetWriter.isaacCipher));
oculusOrbState = 0;
}
}
if (MouseHandler.MouseHandler_currentButton == 4 && WorldMapIcon_1.mouseCam) {
var4 = MouseHandler.MouseHandler_y - mouseCamClickedY;
camAngleDX = var4 * 2;
mouseCamClickedY = var4 != -1 && var4 != 1 ? (mouseCamClickedY + MouseHandler.MouseHandler_y) / 2 : MouseHandler.MouseHandler_y;
var5 = mouseCamClickedX - MouseHandler.MouseHandler_x;
camAngleDY = var5 * 2;
mouseCamClickedX = var5 != -1 && var5 != 1 ? (MouseHandler.MouseHandler_x + mouseCamClickedX) / 2 : MouseHandler.MouseHandler_x;
} else {
if (KeyHandler.KeyHandler_pressedKeys[96]) {
camAngleDY += (-24 - camAngleDY) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[97]) {
camAngleDY += (24 - camAngleDY) / 2;
} else {
camAngleDY /= 2;
}
if (KeyHandler.KeyHandler_pressedKeys[98]) {
camAngleDX += (12 - camAngleDX) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[99]) {
camAngleDX += (-12 - camAngleDX) / 2;
} else {
camAngleDX /= 2;
}
mouseCamClickedY = MouseHandler.MouseHandler_y;
mouseCamClickedX = MouseHandler.MouseHandler_x;
}
camAngleY = camAngleDY / 2 + camAngleY & 2047;
camAngleX += camAngleDX / 2;
if (camAngleX < 128) {
camAngleX = 128;
}
if (camAngleX > 383) {
camAngleX = 383;
}
if (isCameraLocked) {
ChatChannel.method2237();
}
for (var4 = 0; var4 < 5; ++var4) {
int var10002 = field885[var4]++;
}
class197.varcs.tryWrite();
var4 = WorldMapLabelSize.method197();
var5 = SecureRandomCallable.method1166();
if (var4 > 15000 && var5 > 15000) {
logoutTimer = 250;
MouseHandler.MouseHandler_idleCycles = 14500;
var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2225, packetWriter.isaacCipher);
packetWriter.addNode(var18);
}
Tiles.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2207, packetWriter.isaacCipher);
packetWriter.addNode(var18);
}
try {
packetWriter.flush();
} catch (IOException var27) {
MouseRecorder.method1213();
}
return;
}
var25 = var40.widget;
if (var25.childIndex < 0) {
break;
}
var38 = Canvas.getWidget(var25.parentId);
} while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]);
ParamDefinition.runScriptEvent(var40);
}
}
var25 = var40.widget;
if (var25.childIndex < 0) {
break;
}
var38 = Canvas.getWidget(var25.parentId);
} while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]);
ParamDefinition.runScriptEvent(var40);
}
}
var25 = var40.widget;
if (var25.childIndex < 0) {
break;
}
var38 = Canvas.getWidget(var25.parentId);
} while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]);
ParamDefinition.runScriptEvent(var40);
}
}
var30 = InterfaceParent.getPacketBufferNode(ClientPacket.field2196, packetWriter.isaacCipher);
var30.packetBuffer.writeByte(0);
var3 = var30.packetBuffer.offset;
class189.performReflectionCheck(var30.packetBuffer);
var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3);
packetWriter.addNode(var30);
}
}
}
}
@ObfuscatedName("fs")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-6"
)
@Export("resizeJS")
void resizeJS() {
int var1 = FloorDecoration.canvasWidth;
int var2 = WallDecoration.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (AbstractArchive.clientPreferences != null) {
try {
Client var3 = ViewportMouse.client;
Object[] var4 = new Object[]{class247.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("fj")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1430506238"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
int var1;
if (rootInterface != -1) {
var1 = rootInterface;
if (WorldMapData_0.loadInterface(var1)) {
ChatChannel.drawModelComponents(UserComparator5.Widget_interfaceComponents[var1], -1);
}
}
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field841[var1]) {
field842[var1] = true;
}
field847[var1] = field841[var1];
field841[var1] = false;
}
field638 = cycle;
viewportX = -1;
viewportY = -1;
DevicePcmPlayerProvider.field391 = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
ItemContainer.drawWidgets(rootInterface, 0, 0, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
UrlRequest.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
UrlRequest.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
int var2;
int var3;
if (!isMenuOpen) {
if (viewportX != -1) {
var1 = viewportX;
var2 = viewportY;
if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) {
var3 = BuddyRankComparator.getNewestMenuIdx();
String var4;
if (isItemSelected == 1 && menuOptionsCount < 2) {
var4 = "Use" + " " + selectedItemName + " " + "->";
} else if (isSpellSelected && menuOptionsCount < 2) {
var4 = selectedSpellActionName + " " + selectedSpellName + " " + "->";
} else {
var4 = class40.method799(var3);
}
if (menuOptionsCount > 2) {
var4 = var4 + World.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options";
}
class173.fontBold12.drawRandomAlphaAndSpacing(var4, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000);
}
}
} else {
var1 = UrlRequester.menuX;
var2 = class51.menuY;
var3 = FriendSystem.menuWidth;
int var13 = WorldMapDecoration.menuHeight;
int var5 = 6116423;
Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var13, var5);
Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0);
Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var13 - 19, 0);
class173.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var5, -1);
int var6 = MouseHandler.MouseHandler_x;
int var7 = MouseHandler.MouseHandler_y;
int var8;
int var9;
int var10;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
var9 = var2 + (menuOptionsCount - 1 - var8) * 15 + 31;
var10 = 16777215;
if (var6 > var1 && var6 < var3 + var1 && var7 > var9 - 13 && var7 < var9 + 3) {
var10 = 16776960;
}
class173.fontBold12.draw(class40.method799(var8), var1 + 3, var9, var10, 0);
}
var8 = UrlRequester.menuX;
var9 = class51.menuY;
var10 = FriendSystem.menuWidth;
int var11 = WorldMapDecoration.menuHeight;
for (int var12 = 0; var12 < rootWidgetCount; ++var12) {
if (rootWidgetXs[var12] + rootWidgetWidths[var12] > var8 && rootWidgetXs[var12] < var10 + var8 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var9 && rootWidgetYs[var12] < var9 + var11) {
field842[var12] = true;
}
}
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field847[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field842[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
class3.method51(WorldMapRectangle.plane, class223.localPlayer.x, class223.localPlayer.y, field698);
field698 = 0;
}
@ObfuscatedName("gh")
@ObfuscatedSignature(
signature = "(Lcl;I)Z",
garbageValue = "-1809167955"
)
final boolean method1607(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
int var6;
String var31;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1290) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1297 = 0;
var1.field1290 = false;
}
var3.offset = 0;
if (var3.method5395()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1297 = 0;
}
var1.field1290 = true;
ServerPacket[] var4 = class96.ServerPacket_values();
var5 = var3.readSmartByteShortIsaac();
if (var5 < 0 || var5 >= var4.length) {
throw new IOException(var5 + " " + var3.offset);
}
var1.serverPacket = var4[var5];
var1.serverPacketLength = var1.serverPacket.length;
}
if (var1.serverPacketLength == -1) {
if (!var2.isAvailable(1)) {
return false;
}
var1.getSocket().read(var3.array, 0, 1);
var1.serverPacketLength = var3.array[0] & 255;
}
if (var1.serverPacketLength == -2) {
if (!var2.isAvailable(2)) {
return false;
}
var1.getSocket().read(var3.array, 0, 2);
var3.offset = 0;
var1.serverPacketLength = var3.readUnsignedShort();
}
if (!var2.isAvailable(var1.serverPacketLength)) {
return false;
}
var3.offset = 0;
var2.read(var3.array, 0, var1.serverPacketLength);
var1.field1297 = 0;
timer.method4936();
var1.field1301 = var1.field1291;
var1.field1291 = var1.field1300;
var1.field1300 = var1.serverPacket;
if (ServerPacket.field2121 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2295);
var1.serverPacket = null;
return true;
}
int var7;
int var8;
long var9;
int var16;
if (ServerPacket.field2122 == var1.serverPacket) {
var16 = var3.method5479();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.readUnsignedShort();
if (var5 == 65535) {
var5 = -1;
}
var6 = var3.method5482();
var7 = var3.method5482();
for (var8 = var16; var8 <= var5; ++var8) {
var9 = ((long)var7 << 32) + (long)var8;
Node var42 = widgetClickMasks.get(var9);
if (var42 != null) {
var42.remove();
}
widgetClickMasks.put(new IntegerNode(var6), var9);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2167 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
NetCache.method4279(var16);
var1.serverPacket = null;
return true;
}
Widget var46;
if (ServerPacket.field2095 == var1.serverPacket) {
var16 = var3.method5484();
var5 = var3.method5484();
var6 = var3.method5482();
var46 = Canvas.getWidget(var6);
if (var5 != var46.rawX || var16 != var46.rawY || var46.xAlignment != 0 || var46.yAlignment != 0) {
var46.rawX = var5;
var46.rawY = var16;
var46.xAlignment = 0;
var46.yAlignment = 0;
WorldMapSectionType.invalidateWidget(var46);
this.alignWidget(var46);
if (var46.type == 0) {
GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var6 >> 16], var46, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2155 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2296);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2143 == var1.serverPacket) {
rebootTimer = var3.method5479() * 30;
field833 = cycleCntr;
var1.serverPacket = null;
return true;
}
boolean var45;
if (ServerPacket.field2109 == var1.serverPacket) {
var45 = var3.readUnsignedByte() == 1;
if (var45) {
class81.field1135 = class30.currentTimeMillis() - var3.readLong();
TileItem.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
TileItem.grandExchangeEvents = null;
}
field832 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2118 == var1.serverPacket) {
Occluder.method3251(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
int var10;
Widget var18;
int var19;
if (ServerPacket.field2144 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var18 = Canvas.getWidget(var16);
} else {
var18 = null;
}
if (var18 != null) {
for (var7 = 0; var7 < var18.itemIds.length; ++var7) {
var18.itemIds[var7] = 0;
var18.itemQuantities[var7] = 0;
}
}
class162.clearItemContainer(var5);
var7 = var3.readUnsignedShort();
for (var8 = 0; var8 < var7; ++var8) {
var19 = var3.method5479();
var10 = var3.method5470();
if (var10 == 255) {
var10 = var3.method5482();
}
if (var18 != null && var8 < var18.itemIds.length) {
var18.itemIds[var8] = var19;
var18.itemQuantities[var8] = var10;
}
class4.itemContainerSetItem(var5, var8, var19 - 1, var10);
}
if (var18 != null) {
WorldMapSectionType.invalidateWidget(var18);
}
class325.method6190();
field820[++field825 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2126 == var1.serverPacket) {
isCameraLocked = true;
class225.field3045 = var3.readUnsignedByte() * 16384;
Clock.field2039 = var3.readUnsignedByte() * 128;
GrandExchangeOfferOwnWorldComparator.field627 = var3.readUnsignedShort();
MouseRecorder.field572 = var3.readUnsignedByte();
Messages.field1262 = var3.readUnsignedByte();
if (Messages.field1262 >= 100) {
GrandExchangeOfferOwnWorldComparator.cameraX = class225.field3045 * 128 + 64;
WorldMapIcon_1.cameraZ = Clock.field2039 * 16384 + 64;
Varcs.cameraY = MusicPatchPcmStream.getTileHeight(GrandExchangeOfferOwnWorldComparator.cameraX, WorldMapIcon_1.cameraZ, WorldMapRectangle.plane) - GrandExchangeOfferOwnWorldComparator.field627;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2149 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2302);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2142 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readInt();
var6 = class4.getGcDuration();
PacketBufferNode var48 = InterfaceParent.getPacketBufferNode(ClientPacket.field2199, packetWriter.isaacCipher);
var48.packetBuffer.method5468(var6);
var48.packetBuffer.writeInt(var16);
var48.packetBuffer.method5489(var5);
var48.packetBuffer.method5461(GameShell.fps);
packetWriter.addNode(var48);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2164 == var1.serverPacket) {
class325.method6190();
weight = var3.readShort();
field833 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2157 == var1.serverPacket) {
var16 = var3.readInt();
if (var16 != field718) {
field718 = var16;
UserComparator4.method3350();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2115 == var1.serverPacket) {
if (Varps.clanChat != null) {
Varps.clanChat.method5166(var3);
}
class185.method3593();
var1.serverPacket = null;
return true;
}
InterfaceParent var17;
Widget var20;
if (ServerPacket.field2166 == var1.serverPacket) {
var16 = var3.method5482();
var5 = var3.readInt();
InterfaceParent var52 = (InterfaceParent)interfaceParents.get((long)var5);
var17 = (InterfaceParent)interfaceParents.get((long)var16);
if (var17 != null) {
FontName.closeInterface(var17, var52 == null || var17.group != var52.group);
}
if (var52 != null) {
var52.remove();
interfaceParents.put(var52, (long)var16);
}
var20 = Canvas.getWidget(var5);
if (var20 != null) {
WorldMapSectionType.invalidateWidget(var20);
}
var20 = Canvas.getWidget(var16);
if (var20 != null) {
WorldMapSectionType.invalidateWidget(var20);
GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var20.id >>> 16], var20, true);
}
if (rootInterface != -1) {
class40.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2156 == var1.serverPacket) {
Tiles.friendSystem.readUpdate(var3, var1.serverPacketLength);
field744 = cycleCntr;
var1.serverPacket = null;
return true;
}
long var12;
long var21;
long var23;
String var36;
if (ServerPacket.field2139 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var21 = var3.readLong();
var23 = (long)var3.readUnsignedShort();
var9 = (long)var3.readMedium();
PlayerType var11 = (PlayerType)NetSocket.findEnumerated(class226.PlayerType_values(), var3.readUnsignedByte());
var12 = var9 + (var23 << 32);
boolean var44 = false;
for (int var15 = 0; var15 < 100; ++var15) {
if (field889[var15] == var12) {
var44 = true;
break;
}
}
if (var11.isUser && Tiles.friendSystem.isIgnored(new Username(var36, WorldMapSection1.loginType))) {
var44 = true;
}
if (!var44 && field634 == 0) {
field889[field856] = var12;
field856 = (field856 + 1) % 100;
String var25 = AbstractFont.escapeBrackets(NetSocket.method3471(class65.method1250(var3)));
if (var11.modIcon != -1) {
WorldMapData_1.addChatMessage(9, class247.method4455(var11.modIcon) + var36, var25, World.base37DecodeLong(var21));
} else {
WorldMapData_1.addChatMessage(9, var36, var25, World.base37DecodeLong(var21));
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2165 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
ArchiveDisk.method5801(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2145 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
if (var3.readUnsignedByte() == 0) {
grandExchangeOffers[var16] = new GrandExchangeOffer();
var3.offset += 18;
} else {
--var3.offset;
grandExchangeOffers[var16] = new GrandExchangeOffer(var3, false);
}
field831 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2106 == var1.serverPacket) {
var16 = var3.method5504();
var5 = var3.method5492();
var18 = Canvas.getWidget(var5);
if (var16 != var18.sequenceId || var16 == -1) {
var18.sequenceId = var16;
var18.modelFrame = 0;
var18.modelFrameCycle = 0;
WorldMapSectionType.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2170 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5482();
var6 = var3.method5479();
if (var6 == 65535) {
var6 = -1;
}
var46 = Canvas.getWidget(var16);
ItemDefinition var50;
if (!var46.isIf3) {
if (var6 == -1) {
var46.modelType = 0;
var1.serverPacket = null;
return true;
}
var50 = Occluder.ItemDefinition_get(var6);
var46.modelType = 4;
var46.modelId = var6;
var46.modelAngleX = var50.xan2d;
var46.modelAngleY = var50.yan2d;
var46.modelZoom = var50.zoom2d * 100 / var5;
WorldMapSectionType.invalidateWidget(var46);
} else {
var46.itemId = var6;
var46.itemQuantity = var5;
var50 = Occluder.ItemDefinition_get(var6);
var46.modelAngleX = var50.xan2d;
var46.modelAngleY = var50.yan2d;
var46.modelAngleZ = var50.zan2d;
var46.modelOffsetX = var50.offsetX2d;
var46.modelOffsetY = var50.offsetY2d;
var46.modelZoom = var50.zoom2d;
if (var50.isStackable == 1) {
var46.itemQuantityMode = 1;
} else {
var46.itemQuantityMode = 2;
}
if (var46.field2667 > 0) {
var46.modelZoom = var46.modelZoom * 32 / var46.field2667;
} else if (var46.rawWidth > 0) {
var46.modelZoom = var46.modelZoom * 32 / var46.rawWidth;
}
WorldMapSectionType.invalidateWidget(var46);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2141 == var1.serverPacket) {
var16 = var3.method5492();
var5 = var3.method5480();
var18 = Canvas.getWidget(var16);
if (var18.modelType != 2 || var5 != var18.modelId) {
var18.modelType = 2;
var18.modelId = var5;
WorldMapSectionType.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2114 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2301);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2129 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var21 = (long)var3.readUnsignedShort();
var23 = (long)var3.readMedium();
PlayerType var26 = (PlayerType)NetSocket.findEnumerated(class226.PlayerType_values(), var3.readUnsignedByte());
long var27 = (var21 << 32) + var23;
boolean var29 = false;
for (int var13 = 0; var13 < 100; ++var13) {
if (field889[var13] == var27) {
var29 = true;
break;
}
}
if (Tiles.friendSystem.isIgnored(new Username(var36, WorldMapSection1.loginType))) {
var29 = true;
}
if (!var29 && field634 == 0) {
field889[field856] = var27;
field856 = (field856 + 1) % 100;
String var30 = AbstractFont.escapeBrackets(NetSocket.method3471(class65.method1250(var3)));
byte var14;
if (var26.isPrivileged) {
var14 = 7;
} else {
var14 = 3;
}
if (var26.modIcon != -1) {
class210.addGameMessage(var14, class247.method4455(var26.modIcon) + var36, var30);
} else {
class210.addGameMessage(var14, var36, var30);
}
}
var1.serverPacket = null;
return true;
}
Widget var55;
if (ServerPacket.field2103 == var1.serverPacket) {
var16 = var3.method5482();
var55 = Canvas.getWidget(var16);
for (var6 = 0; var6 < var55.itemIds.length; ++var6) {
var55.itemIds[var6] = -1;
var55.itemIds[var6] = 0;
}
WorldMapSectionType.invalidateWidget(var55);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2159 == var1.serverPacket) {
InterfaceParent.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2137 == var1.serverPacket) {
var16 = var3.method5561();
var5 = var3.method5479();
Varps.Varps_temp[var5] = var16;
if (Varps.Varps_main[var5] != var16) {
Varps.Varps_main[var5] = var16;
}
NetSocket.changeGameOptions(var5);
field782[++field823 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2124 == var1.serverPacket) {
class40.field326 = var3.method5471();
WorldMapSection2.field195 = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2146 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedByte();
var7 = var3.readUnsignedByte();
field835[var16] = true;
field882[var16] = var5;
field883[var16] = var6;
field884[var16] = var7;
field885[var16] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2175 == var1.serverPacket) {
var16 = var3.method5511();
var31 = var3.readStringCp1252NullTerminated();
var6 = var3.method5470();
if (var6 >= 1 && var6 <= 8) {
if (var31.equalsIgnoreCase("null")) {
var31 = null;
}
playerMenuActions[var6 - 1] = var31;
playerOptionsPriorities[var6 - 1] = var16 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2177 == var1.serverPacket) {
World var39 = new World();
var39.host = var3.readStringCp1252NullTerminated();
var39.id = var3.readUnsignedShort();
var5 = var3.readInt();
var39.properties = var5;
MouseRecorder.updateGameState(45);
var2.close();
var2 = null;
class4.changeWorld(var39);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2162 == var1.serverPacket) {
Tiles.friendSystem.method1864();
field744 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2130 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
SequenceDefinition.forceDisconnect(var16);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2171 == var1.serverPacket) {
isCameraLocked = false;
for (var16 = 0; var16 < 5; ++var16) {
field835[var16] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2173 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2297);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2168 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
Varps.clanChat = null;
} else {
if (Varps.clanChat == null) {
Varps.clanChat = new ClanChat(WorldMapSection1.loginType, ViewportMouse.client);
}
Varps.clanChat.readUpdate(var3);
}
class185.method3593();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2174 == var1.serverPacket) {
hintArrowType = var3.readUnsignedByte();
if (hintArrowType == 1) {
hintArrowNpcIndex = var3.readUnsignedShort();
}
if (hintArrowType >= 2 && hintArrowType <= 6) {
if (hintArrowType == 2) {
hintArrowSubX = 4096;
hintArrowSubY = 4096;
}
if (hintArrowType == 3) {
hintArrowSubX = 0;
hintArrowSubY = 4096;
}
if (hintArrowType == 4) {
hintArrowSubX = 8192;
hintArrowSubY = 4096;
}
if (hintArrowType == 5) {
hintArrowSubX = 4096;
hintArrowSubY = 0;
}
if (hintArrowType == 6) {
hintArrowSubX = 4096;
hintArrowSubY = 8192;
}
hintArrowType = 2;
hintArrowX = var3.readUnsignedShort();
hintArrowY = var3.readUnsignedShort();
hintArrowHeight = var3.readUnsignedByte() * 2;
}
if (hintArrowType == 10) {
hintArrowPlayerIndex = var3.readUnsignedShort();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2152 == var1.serverPacket) {
var16 = var3.method5480();
WorldMapAreaData.method717(var16);
field820[++field825 - 1 & 31] = var16 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2183 == var1.serverPacket) {
var16 = var3.method5480();
rootInterface = var16;
this.resizeRoot(false);
WorldMapManager.Widget_resetModelFrames(var16);
class186.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field841[var5] = true;
}
var1.serverPacket = null;
return true;
}
String var51;
if (ServerPacket.field2097 == var1.serverPacket) {
var16 = var3.readUShortSmart();
boolean var43 = var3.readUnsignedByte() == 1;
var51 = "";
boolean var41 = false;
if (var43) {
var51 = var3.readStringCp1252NullTerminated();
if (Tiles.friendSystem.isIgnored(new Username(var51, WorldMapSection1.loginType))) {
var41 = true;
}
}
String var49 = var3.readStringCp1252NullTerminated();
if (!var41) {
class210.addGameMessage(var16, var51, var49);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2161 == var1.serverPacket) {
PlayerType.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2098 == var1.serverPacket) {
byte[] var38 = new byte[var1.serverPacketLength];
var3.method5400(var38, 0, var38.length);
Buffer var59 = new Buffer(var38);
var51 = var59.readStringCp1252NullTerminated();
ArchiveDiskActionHandler.openURL(var51, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2132 == var1.serverPacket) {
var45 = var3.readUnsignedByte() == 1;
var5 = var3.method5482();
var18 = Canvas.getWidget(var5);
if (var45 != var18.isHidden) {
var18.isHidden = var45;
WorldMapSectionType.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2134 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var18 = Canvas.getWidget(var16);
} else {
var18 = null;
}
for (; var3.offset < var1.serverPacketLength; class4.itemContainerSetItem(var5, var7, var8 - 1, var19)) {
var7 = var3.readUShortSmart();
var8 = var3.readUnsignedShort();
var19 = 0;
if (var8 != 0) {
var19 = var3.readUnsignedByte();
if (var19 == 255) {
var19 = var3.readInt();
}
}
if (var18 != null && var7 >= 0 && var7 < var18.itemIds.length) {
var18.itemIds[var7] = var8;
var18.itemQuantities[var7] = var19;
}
}
if (var18 != null) {
WorldMapSectionType.invalidateWidget(var18);
}
class325.method6190();
field820[++field825 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2158 == var1.serverPacket) {
var16 = var3.method5561();
var5 = var3.method5480();
var18 = Canvas.getWidget(var16);
if (var18.modelType != 1 || var5 != var18.modelId) {
var18.modelType = 1;
var18.modelId = var5;
WorldMapSectionType.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2135 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.method5482();
var6 = var16 >> 10 & 31;
var7 = var16 >> 5 & 31;
var8 = var16 & 31;
var19 = (var7 << 11) + (var6 << 19) + (var8 << 3);
Widget var57 = Canvas.getWidget(var5);
if (var19 != var57.color) {
var57.color = var19;
WorldMapSectionType.invalidateWidget(var57);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2102 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.method5480();
var6 = var3.method5647();
var7 = var3.readInt();
var20 = Canvas.getWidget(var7);
if (var5 != var20.modelAngleX || var6 != var20.modelAngleY || var16 != var20.modelZoom) {
var20.modelAngleX = var5;
var20.modelAngleY = var6;
var20.modelZoom = var16;
WorldMapSectionType.invalidateWidget(var20);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2101 == var1.serverPacket) {
tradeChatMode = var3.method5511();
publicChatMode = var3.method5470();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2140 == var1.serverPacket) {
class325.method6190();
var16 = var3.method5561();
var5 = var3.method5470();
var6 = var3.method5511();
experience[var5] = var16;
currentLevels[var5] = var6;
levels[var5] = 1;
for (var7 = 0; var7 < 98; ++var7) {
if (var16 >= Skills.Skills_experienceTable[var7]) {
levels[var5] = var7 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2150 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2107 == var1.serverPacket) {
var16 = var3.method5480();
var5 = var3.method5492();
var6 = var3.method5647();
var46 = Canvas.getWidget(var5);
var46.field2601 = var16 + (var6 << 16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2151 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
Object[] var58 = new Object[var36.length() + 1];
for (var6 = var36.length() - 1; var6 >= 0; --var6) {
if (var36.charAt(var6) == 's') {
var58[var6 + 1] = var3.readStringCp1252NullTerminated();
} else {
var58[var6 + 1] = new Integer(var3.readInt());
}
}
var58[0] = new Integer(var3.readInt());
ScriptEvent var47 = new ScriptEvent();
var47.args = var58;
ParamDefinition.runScriptEvent(var47);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2163 == var1.serverPacket) {
isCameraLocked = true;
GameShell.field455 = var3.readUnsignedByte() * 128;
SecureRandomFuture.field1228 = var3.readUnsignedByte() * 128;
class14.field90 = var3.readUnsignedShort();
class80.field1126 = var3.readUnsignedByte();
ScriptEvent.field570 = var3.readUnsignedByte();
if (ScriptEvent.field570 >= 100) {
var16 = GameShell.field455 * 16384 + 64;
var5 = SecureRandomFuture.field1228 * 16384 + 64;
var6 = MusicPatchPcmStream.getTileHeight(var16, var5, WorldMapRectangle.plane) - class14.field90;
var7 = var16 - GrandExchangeOfferOwnWorldComparator.cameraX;
var8 = var6 - Varcs.cameraY;
var19 = var5 - WorldMapIcon_1.cameraZ;
var10 = (int)Math.sqrt((double)(var19 * var19 + var7 * var7));
IgnoreList.cameraPitch = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047;
WorldMapSection2.cameraYaw = (int)(Math.atan2((double)var7, (double)var19) * -325.949D) & 2047;
if (IgnoreList.cameraPitch < 128) {
IgnoreList.cameraPitch = 128;
}
if (IgnoreList.cameraPitch > 383) {
IgnoreList.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2136 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2300);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2125 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedShort();
var17 = (InterfaceParent)interfaceParents.get((long)var16);
if (var17 != null) {
FontName.closeInterface(var17, var6 != var17.group);
}
WorldMapManager.method679(var16, var6, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2172 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2299);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2180 == var1.serverPacket) {
var16 = var3.readInt();
InterfaceParent var56 = (InterfaceParent)interfaceParents.get((long)var16);
if (var56 != null) {
FontName.closeInterface(var56, true);
}
if (meslayerContinueWidget != null) {
WorldMapSectionType.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2117 == var1.serverPacket) {
var16 = var3.method5480();
byte var40 = var3.readByte();
Varps.Varps_temp[var16] = var40;
if (Varps.Varps_main[var16] != var40) {
Varps.Varps_main[var16] = var40;
}
NetSocket.changeGameOptions(var16);
field782[++field823 - 1 & 31] = var16;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2182 == var1.serverPacket) {
class325.method6190();
runEnergy = var3.readUnsignedByte();
field833 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2176 == var1.serverPacket) {
var16 = var3.method5482();
var55 = Canvas.getWidget(var16);
var55.modelType = 3;
var55.modelId = class223.localPlayer.appearance.getChatHeadId();
WorldMapSectionType.invalidateWidget(var55);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2160 == var1.serverPacket) {
WorldMapSection2.field195 = var3.method5511();
class40.field326 = var3.method5471();
for (var16 = class40.field326; var16 < class40.field326 + 8; ++var16) {
for (var5 = WorldMapSection2.field195; var5 < WorldMapSection2.field195 + 8; ++var5) {
if (groundItems[WorldMapRectangle.plane][var16][var5] != null) {
groundItems[WorldMapRectangle.plane][var16][var5] = null;
WorldMapCacheName.updateItemPile(var16, var5);
}
}
}
for (PendingSpawn var37 = (PendingSpawn)pendingSpawns.last(); var37 != null; var37 = (PendingSpawn)pendingSpawns.previous()) {
if (var37.x >= class40.field326 && var37.x < class40.field326 + 8 && var37.y >= WorldMapSection2.field195 && var37.y < WorldMapSection2.field195 + 8 && var37.plane == WorldMapRectangle.plane) {
var37.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2123 == var1.serverPacket) {
class185.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2169 == var1.serverPacket) {
for (var16 = 0; var16 < Varps.Varps_main.length; ++var16) {
if (Varps.Varps_temp[var16] != Varps.Varps_main[var16]) {
Varps.Varps_main[var16] = Varps.Varps_temp[var16];
NetSocket.changeGameOptions(var16);
field782[++field823 - 1 & 31] = var16;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2154 == var1.serverPacket) {
Tiles.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
class195.FriendSystem_invalidateIgnoreds();
field744 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2148 == var1.serverPacket) {
InterfaceParent.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2116 == var1.serverPacket) {
PlayerType.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2127 == var1.serverPacket) {
var16 = var3.method5482();
var31 = var3.readStringCp1252NullTerminated();
var18 = Canvas.getWidget(var16);
if (!var31.equals(var18.text)) {
var18.text = var31;
WorldMapSectionType.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2100 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
if (var16 == 65535) {
var16 = -1;
}
MusicPatchNode2.playSong(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2178 == var1.serverPacket) {
var16 = var3.method5647();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5488();
ClientPacket.playSoundJingle(var16, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2096 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2298);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2099 == var1.serverPacket) {
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
VarpDefinition var54 = AbstractWorldMapData.method288(var16);
if (var54 != null) {
Varps.Varps_temp[var16] = 0;
Varps.Varps_main[var16] = 0;
}
}
class325.method6190();
field823 += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2104 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2304);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2133 == var1.serverPacket) {
var16 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var6 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
WorldMapManager.Widget_resetModelFrames(rootInterface);
class186.runWidgetOnLoadListener(rootInterface);
for (var7 = 0; var7 < 100; ++var7) {
field841[var7] = true;
}
}
InterfaceParent var32;
for (; var6-- > 0; var32.field552 = true) {
var7 = var3.readInt();
var8 = var3.readUnsignedShort();
var19 = var3.readUnsignedByte();
var32 = (InterfaceParent)interfaceParents.get((long)var7);
if (var32 != null && var8 != var32.group) {
FontName.closeInterface(var32, true);
var32 = null;
}
if (var32 == null) {
var32 = WorldMapManager.method679(var7, var8, var19);
}
}
for (var17 = (InterfaceParent)interfaceParents.first(); var17 != null; var17 = (InterfaceParent)interfaceParents.next()) {
if (var17.field552) {
var17.field552 = false;
} else {
FontName.closeInterface(var17, true);
}
}
widgetClickMasks = new NodeHashTable(512);
while (var3.offset < var16) {
var7 = var3.readInt();
var8 = var3.readUnsignedShort();
var19 = var3.readUnsignedShort();
var10 = var3.readInt();
for (int var33 = var8; var33 <= var19; ++var33) {
var12 = (long)var33 + ((long)var7 << 32);
widgetClickMasks.put(new IntegerNode(var10), var12);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2179 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var31 = AbstractFont.escapeBrackets(NetSocket.method3471(class65.method1250(var3)));
class210.addGameMessage(6, var36, var31);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2111 == var1.serverPacket) {
DynamicObject.logOut();
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2128 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedShort();
Message.queueSoundEffect(var16, var5, var6);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2113 == var1.serverPacket) {
WorldMapManager.updatePlayers(var3, var1.serverPacketLength);
Archive.method4250();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2105 == var1.serverPacket) {
GrandExchangeOfferTotalQuantityComparator.method105(class185.field2303);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2153 == var1.serverPacket) {
if (rootInterface != -1) {
class40.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2110 == var1.serverPacket) {
class40.field326 = var3.method5471();
WorldMapSection2.field195 = var3.readUnsignedByte();
while (var3.offset < var1.serverPacketLength) {
var16 = var3.readUnsignedByte();
class185 var53 = WorldMapDecoration.method348()[var16];
GrandExchangeOfferTotalQuantityComparator.method105(var53);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2147 == var1.serverPacket) {
for (var16 = 0; var16 < players.length; ++var16) {
if (players[var16] != null) {
players[var16].sequence = -1;
}
}
for (var16 = 0; var16 < npcs.length; ++var16) {
if (npcs[var16] != null) {
npcs[var16].sequence = -1;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2120 == var1.serverPacket) {
destinationX = var3.readUnsignedByte();
if (destinationX == 255) {
destinationX = 0;
}
destinationY = var3.readUnsignedByte();
if (destinationY == 255) {
destinationY = 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2112 == var1.serverPacket) {
class219.privateChatMode = Fonts.method5273(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2138 == var1.serverPacket) {
var45 = var3.readBoolean();
if (var45) {
if (StudioGame.field3086 == null) {
StudioGame.field3086 = new class237();
}
} else {
StudioGame.field3086 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2119 == var1.serverPacket) {
var16 = var3.method5482();
var5 = var3.method5647();
var18 = Canvas.getWidget(var16);
if (var18 != null && var18.type == 0) {
if (var5 > var18.scrollHeight - var18.height) {
var5 = var18.scrollHeight - var18.height;
}
if (var5 < 0) {
var5 = 0;
}
if (var5 != var18.scrollY) {
var18.scrollY = var5;
WorldMapSectionType.invalidateWidget(var18);
}
}
var1.serverPacket = null;
return true;
}
class32.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength, (Throwable)null);
DynamicObject.logOut();
} catch (IOException var34) {
MouseRecorder.method1213();
} catch (Exception var35) {
var31 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength + "," + (class223.localPlayer.pathX[0] + class223.baseX * 64) + "," + (class223.localPlayer.pathY[0] + class286.baseY * 64) + ",";
for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) {
var31 = var31 + var3.array[var6] + ",";
}
class32.RunException_sendStackTrace(var31, var35);
DynamicObject.logOut();
}
return true;
}
}
@ObfuscatedName("he")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "255"
)
@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 (Frames.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var16 = MouseHandler.MouseHandler_lastButton;
int var13;
int var14;
if (isMenuOpen) {
int var7;
int var8;
int var17;
if (var16 != 1 && (WorldMapIcon_1.mouseCam || var16 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var13 = MouseHandler.MouseHandler_y;
if (var2 < UrlRequester.menuX - 10 || var2 > FriendSystem.menuWidth + UrlRequester.menuX + 10 || var13 < class51.menuY - 10 || var13 > class51.menuY + WorldMapDecoration.menuHeight + 10) {
isMenuOpen = false;
var14 = UrlRequester.menuX;
var5 = class51.menuY;
var17 = FriendSystem.menuWidth;
var7 = WorldMapDecoration.menuHeight;
for (var8 = 0; var8 < rootWidgetCount; ++var8) {
if (rootWidgetWidths[var8] + rootWidgetXs[var8] > var14 && rootWidgetXs[var8] < var17 + var14 && rootWidgetHeights[var8] + rootWidgetYs[var8] > var5 && rootWidgetYs[var8] < var5 + var7) {
field841[var8] = true;
}
}
}
}
if (var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) {
var2 = UrlRequester.menuX;
var13 = class51.menuY;
var14 = FriendSystem.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
var17 = MouseHandler.MouseHandler_lastPressedY;
var7 = -1;
int var9;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
var9 = (menuOptionsCount - 1 - var8) * 15 + var13 + 31;
if (var5 > var2 && var5 < var14 + var2 && var17 > var9 - 13 && var17 < var9 + 3) {
var7 = var8;
}
}
if (var7 != -1) {
ModelData0.clickMenuIndex(var7);
}
isMenuOpen = false;
var8 = UrlRequester.menuX;
var9 = class51.menuY;
int var10 = FriendSystem.menuWidth;
int var11 = WorldMapDecoration.menuHeight;
for (int var12 = 0; var12 < rootWidgetCount; ++var12) {
if (rootWidgetXs[var12] + rootWidgetWidths[var12] > var8 && rootWidgetXs[var12] < var8 + var10 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var9 && rootWidgetYs[var12] < var11 + var9) {
field841[var12] = true;
}
}
}
} else {
var2 = BuddyRankComparator.getNewestMenuIdx();
if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && var2 >= 0) {
var13 = menuOpcodes[var2];
if (var13 == 39 || var13 == 40 || var13 == 41 || var13 == 42 || var13 == 43 || var13 == 33 || var13 == 34 || var13 == 35 || var13 == 36 || var13 == 37 || var13 == 38 || var13 == 1005) {
var14 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var15 = Canvas.getWidget(var5);
if (ModelData0.method3215(class2.getWidgetClickMask(var15)) || WorldMapSection0.method249(class2.getWidgetClickMask(var15))) {
if (Frames.dragInventoryWidget != null && !field748 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
class3.method47(field745, field746);
}
field748 = false;
itemDragDuration = 0;
if (Frames.dragInventoryWidget != null) {
WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget);
}
Frames.dragInventoryWidget = Canvas.getWidget(var5);
dragItemSlotSource = var14;
field745 = MouseHandler.MouseHandler_lastPressedX;
field746 = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
ChatChannel.method2229(var2);
}
WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget);
return;
}
}
}
if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && this.shouldLeftClickOpenMenu()) {
var16 = 2;
}
if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && menuOptionsCount > 0) {
ModelData0.clickMenuIndex(var2);
}
if (var16 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
}
}
}
}
@ObfuscatedName("hq")
@ObfuscatedSignature(
signature = "(B)Z",
garbageValue = "-5"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = BuddyRankComparator.getNewestMenuIdx();
return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || ParamDefinition.method4480(var1)) && !menuShiftClick[var1];
}
@ObfuscatedName("ho")
@ObfuscatedSignature(
signature = "(III)V",
garbageValue = "1638335073"
)
@Export("openMenu")
final void openMenu(int screenX, int screenY) {
UserComparator6.calculateMenuBounds(screenX, screenY);
PacketWriter.scene.menuOpen(WorldMapRectangle.plane, screenX, screenY, false);
isMenuOpen = true;
}
@ObfuscatedName("ij")
@ObfuscatedSignature(
signature = "(ZI)V",
garbageValue = "313560965"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
class247.resizeComponents(rootInterface, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, var1);
}
@ObfuscatedName("is")
@ObfuscatedSignature(
signature = "(Lho;B)V",
garbageValue = "1"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : Canvas.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = FloorDecoration.canvasWidth;
var4 = WallDecoration.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
TileItem.alignWidgetSize(var1, var3, var4, false);
class30.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("jt")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-808375331"
)
final void method1328() {
WorldMapSectionType.invalidateWidget(clickedWidget);
++ViewportMouse.widgetDragDuration;
if (field817 && field814) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field695) {
var1 = field695;
}
if (var1 + clickedWidget.width > field695 + clickedWidgetParent.width) {
var1 = field695 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field816) {
var2 = field816;
}
if (var2 + clickedWidget.height > field816 + clickedWidgetParent.height) {
var2 = field816 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field818;
int var4 = var2 - field819;
int var5 = clickedWidget.dragZoneSize;
if (ViewportMouse.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field695 + clickedWidgetParent.scrollX;
int var7 = var2 - field816 + clickedWidgetParent.scrollY;
ScriptEvent var8;
if (clickedWidget.onDrag != null && isDraggingWidget) {
var8 = new ScriptEvent();
var8.widget = clickedWidget;
var8.mouseX = var6;
var8.mouseY = var7;
var8.args = clickedWidget.onDrag;
ParamDefinition.runScriptEvent(var8);
}
if (MouseHandler.MouseHandler_currentButton == 0) {
if (isDraggingWidget) {
if (clickedWidget.onDragComplete != null) {
var8 = new ScriptEvent();
var8.widget = clickedWidget;
var8.mouseX = var6;
var8.mouseY = var7;
var8.dragTarget = draggedOnWidget;
var8.args = clickedWidget.onDragComplete;
ParamDefinition.runScriptEvent(var8);
}
if (draggedOnWidget != null && GrandExchangeEvents.method81(clickedWidget) != null) {
PacketBufferNode var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2278, packetWriter.isaacCipher);
var9.packetBuffer.writeShortLE(draggedOnWidget.childIndex);
var9.packetBuffer.writeShortLE(draggedOnWidget.itemId);
var9.packetBuffer.method5476(clickedWidget.childIndex);
var9.packetBuffer.method5630(draggedOnWidget.id);
var9.packetBuffer.writeIntME(clickedWidget.itemId);
var9.packetBuffer.writeInt(clickedWidget.id);
packetWriter.addNode(var9);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field818 + widgetClickX, widgetClickY + field819);
} else if (menuOptionsCount > 0) {
class3.method47(field818 + widgetClickX, field819 + widgetClickY);
}
clickedWidget = null;
}
} else {
if (ViewportMouse.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("kz")
@ObfuscatedSignature(
signature = "(S)Ljq;",
garbageValue = "9955"
)
@Export("username")
public Username username() {
return class223.localPlayer != null ? class223.localPlayer.username : null;
}
@ObfuscatedName("v")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "431297908"
)
public static void method1566() {
if (MouseHandler.MouseHandler_instance != null) {
synchronized(MouseHandler.MouseHandler_instance) {
MouseHandler.MouseHandler_instance = null;
}
}
}
@ObfuscatedName("q")
static int method1708(long var0) {
return (int)(var0 >>> 14 & 3L);
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(ILcu;ZI)I",
garbageValue = "-1109826367"
)
static int method1750(int var0, Script var1, boolean var2) {
Widget var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]);
if (var0 == ScriptOpcodes.IF_GETSCROLLX) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollX;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETSCROLLY) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollY;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETTEXT) {
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollWidth;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollHeight;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelZoom;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleX;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleZ;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleY;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyTop;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyBot;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETCOLOUR) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color2;
return 1;
} else if (var0 == ScriptOpcodes.IF_GETFILLMODE) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal();
return 1;
} else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) {
Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
return 1;
} else {
return 2;
}
}
}