Files
runelite/runescape-client/src/main/java/Client.java
2020-12-11 05:59:05 +00:00

5975 lines
171 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 java.util.LinkedHashMap;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@ObfuscatedName("ns")
@ObfuscatedSignature(
descriptor = "Lhe;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("op")
@ObfuscatedGetter(
intValue = 1970983367
)
static int field852;
@ObfuscatedName("og")
@ObfuscatedGetter(
intValue = 763008721
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("ov")
@ObfuscatedGetter(
longValue = -3960298575830209827L
)
static long field861;
@ObfuscatedName("ol")
static boolean[] field901;
@ObfuscatedName("oi")
static boolean[] field855;
@ObfuscatedName("ot")
static boolean[] field854;
@ObfuscatedName("ny")
static boolean field829;
@ObfuscatedName("nr")
static boolean field859;
@ObfuscatedName("nb")
@ObfuscatedGetter(
intValue = -1525007605
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("pb")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("sg")
@ObfuscatedGetter(
intValue = -1236989805
)
public static int field915;
@ObfuscatedName("oh")
@ObfuscatedGetter(
intValue = -834376263
)
static int field879;
@ObfuscatedName("qk")
static boolean field883;
@ObfuscatedName("ni")
@ObfuscatedGetter(
intValue = -964374005
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("nl")
@ObfuscatedGetter(
intValue = 663873135
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("nv")
@ObfuscatedGetter(
intValue = -863251767
)
static int field827;
@ObfuscatedName("of")
@ObfuscatedSignature(
descriptor = "Lls;"
)
@Export("widgetFlags")
static NodeHashTable widgetFlags;
@ObfuscatedName("nm")
@ObfuscatedSignature(
descriptor = "Lhe;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("ou")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("oy")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("nf")
@ObfuscatedGetter(
intValue = -1253957595
)
static int field716;
@ObfuscatedName("ng")
@ObfuscatedSignature(
descriptor = "Lhe;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("ok")
@ObfuscatedGetter(
intValue = 619022291
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("oe")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("om")
@ObfuscatedGetter(
intValue = 44319291
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("mm")
@ObfuscatedGetter(
intValue = 760468781
)
@Export("staffModLevel")
public static int staffModLevel;
@ObfuscatedName("oa")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("tj")
@ObfuscatedSignature(
descriptor = "Lba;"
)
static final ApproximateRouteStrategy field919;
@ObfuscatedName("qc")
@ObfuscatedGetter(
intValue = 1338518997
)
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("oo")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("ne")
@ObfuscatedGetter(
intValue = -1341323171
)
static int field853;
@ObfuscatedName("no")
@ObfuscatedGetter(
intValue = -1828083517
)
static int field923;
@ObfuscatedName("nh")
@ObfuscatedGetter(
intValue = 701419483
)
static int field862;
@ObfuscatedName("nt")
@ObfuscatedGetter(
intValue = 1311691811
)
static int field835;
@ObfuscatedName("tc")
static int[] field920;
@ObfuscatedName("tr")
static int[] field921;
@ObfuscatedName("sr")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("sm")
@ObfuscatedGetter(
intValue = -1916983899
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("oj")
@ObfuscatedGetter(
intValue = 1100002729
)
static int field842;
@ObfuscatedName("na")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("mp")
@ObfuscatedGetter(
intValue = -46428687
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("mo")
@ObfuscatedGetter(
intValue = 1591102325
)
@Export("weight")
static int weight;
@ObfuscatedName("ss")
@ObfuscatedSignature(
descriptor = "[Ly;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("si")
@ObfuscatedGetter(
intValue = -1073533511
)
static int field813;
@ObfuscatedName("or")
@ObfuscatedGetter(
intValue = 1164434239
)
static int field685;
@ObfuscatedName("sl")
@ObfuscatedSignature(
descriptor = "Lhh;"
)
@Export("playerAppearance")
static PlayerAppearance playerAppearance;
@ObfuscatedName("sk")
@ObfuscatedGetter(
intValue = -1302699221
)
static int field911;
@ObfuscatedName("nc")
@ObfuscatedSignature(
descriptor = "Lhe;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("qb")
@ObfuscatedGetter(
intValue = 823228995
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("qs")
@ObfuscatedGetter(
intValue = 424329615
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("sq")
@ObfuscatedSignature(
descriptor = "Lmi;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("qg")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("qo")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("rd")
static boolean[] field902;
@ObfuscatedName("qd")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("ri")
static int[] field679;
@ObfuscatedName("rj")
static int[] field893;
@ObfuscatedName("qj")
@ObfuscatedSignature(
descriptor = "[Ldq;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("qf")
@ObfuscatedGetter(
intValue = -1261756273
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("rt")
static int[] field705;
@ObfuscatedName("oc")
@ObfuscatedGetter(
intValue = -1187221809
)
static int field845;
@ObfuscatedName("mh")
@ObfuscatedSignature(
descriptor = "Lhe;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("qt")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("qu")
@ObfuscatedGetter(
intValue = 102746825
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("rc")
static int[] field644;
@ObfuscatedName("pw")
@ObfuscatedGetter(
intValue = -59171105
)
static int field874;
@ObfuscatedName("py")
@ObfuscatedGetter(
longValue = 7233000865691692987L
)
static long field817;
@ObfuscatedName("qx")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("pz")
@ObfuscatedGetter(
intValue = 982246175
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("pa")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("ps")
@ObfuscatedGetter(
intValue = 31385275
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("sp")
@ObfuscatedGetter(
intValue = -1928794307
)
static int field666;
@ObfuscatedName("px")
@ObfuscatedGetter(
intValue = 1307916999
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("pf")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("rx")
static short field896;
@ObfuscatedName("rq")
static short field897;
@ObfuscatedName("ql")
@ObfuscatedSignature(
descriptor = "[Llm;"
)
@Export("mapIcons")
static Sprite[] mapIcons;
@ObfuscatedName("rb")
static short field828;
@ObfuscatedName("ra")
static short field903;
@ObfuscatedName("re")
static short field731;
@ObfuscatedName("sf")
@ObfuscatedGetter(
intValue = 2093134959
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("rp")
static short field900;
@ObfuscatedName("rg")
@ObfuscatedGetter(
intValue = 165183815
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("sd")
@ObfuscatedGetter(
intValue = -1667977405
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("nq")
static int[] field834;
@ObfuscatedName("rh")
@ObfuscatedGetter(
intValue = -1202571805
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("rw")
@ObfuscatedGetter(
intValue = 1226538775
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("np")
@Export("changedItemContainers")
static int[] changedItemContainers;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = -756396665
)
static int field837;
@ObfuscatedName("pg")
static long[] field868;
@ObfuscatedName("pq")
@ObfuscatedGetter(
intValue = 1378550147
)
static int field870;
@ObfuscatedName("mt")
@ObfuscatedGetter(
intValue = 2082201915
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("ml")
@ObfuscatedGetter(
intValue = 2082785677
)
static int field865;
@ObfuscatedName("rm")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("pk")
@ObfuscatedGetter(
intValue = -556724327
)
static int field707;
@ObfuscatedName("rr")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("nu")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("pl")
static int[] field693;
@ObfuscatedName("ow")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
static NodeDeque field715;
@ObfuscatedName("pi")
static int[] field661;
@ObfuscatedName("mx")
@ObfuscatedGetter(
intValue = -1910543551
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("on")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
static NodeDeque field849;
@ObfuscatedName("nk")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("ob")
@ObfuscatedGetter(
intValue = 125760777
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("mr")
@ObfuscatedGetter(
intValue = 404828477
)
static int field810;
@ObfuscatedName("pc")
@ObfuscatedSignature(
descriptor = "Llw;"
)
@Export("privateChatMode")
static PrivateChatMode privateChatMode;
@ObfuscatedName("mk")
@ObfuscatedGetter(
intValue = 1150371503
)
static int field811;
@ObfuscatedName("ox")
@ObfuscatedGetter(
intValue = -1643930355
)
static int field680;
@ObfuscatedName("od")
@ObfuscatedGetter(
intValue = -1235624719
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("ph")
static int[] field863;
@ObfuscatedName("pm")
static String field871;
@ObfuscatedName("sw")
@ObfuscatedSignature(
descriptor = "Lbe;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "[Lfo;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("at")
static boolean field907;
@ObfuscatedName("bh")
@ObfuscatedGetter(
intValue = 605856319
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("by")
@ObfuscatedGetter(
intValue = -1172386423
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("br")
@ObfuscatedGetter(
intValue = -1849937955
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("bf")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bz")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("bi")
@ObfuscatedGetter(
intValue = -605979109
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bk")
@ObfuscatedGetter(
intValue = 272012315
)
static int field651;
@ObfuscatedName("bw")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("bo")
@ObfuscatedGetter(
intValue = 615918673
)
@Export("gameState")
static int gameState;
@ObfuscatedName("cf")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("cr")
@ObfuscatedGetter(
intValue = 719785889
)
@Export("cycle")
static int cycle;
@ObfuscatedName("ch")
@ObfuscatedGetter(
longValue = -2825275797086768431L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("cl")
@ObfuscatedGetter(
intValue = 1844754083
)
static int field657;
@ObfuscatedName("cw")
@ObfuscatedGetter(
intValue = -322437819
)
static int field658;
@ObfuscatedName("cp")
@ObfuscatedGetter(
longValue = 8108394182568559769L
)
static long field794;
@ObfuscatedName("cu")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("ct")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("ck")
@ObfuscatedGetter(
intValue = 437393179
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("cy")
@ObfuscatedGetter(
intValue = -234391383
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("cg")
@ObfuscatedGetter(
intValue = -1281221669
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("cv")
@ObfuscatedGetter(
intValue = -2046139677
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("cs")
@ObfuscatedGetter(
intValue = -758214641
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("cn")
@ObfuscatedGetter(
intValue = -129094787
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("co")
@ObfuscatedGetter(
intValue = 1167284940
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("dh")
@ObfuscatedGetter(
intValue = -1763909312
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("dl")
@ObfuscatedGetter(
intValue = -1394707008
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("de")
@ObfuscatedSignature(
descriptor = "Lcw;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("dw")
@ObfuscatedSignature(
descriptor = "Lcw;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("dq")
@ObfuscatedGetter(
intValue = -1533630561
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dm")
@ObfuscatedGetter(
intValue = -1287826553
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("dp")
@ObfuscatedGetter(
intValue = -795471171
)
static int field864;
@ObfuscatedName("eq")
@ObfuscatedSignature(
descriptor = "Lil;"
)
@Export("archive15")
static Archive archive15;
@ObfuscatedName("eh")
@ObfuscatedGetter(
intValue = -1029151173
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("eb")
@ObfuscatedGetter(
intValue = 965496535
)
@Export("loginState")
static int loginState;
@ObfuscatedName("ek")
@ObfuscatedGetter(
intValue = 114444977
)
static int field892;
@ObfuscatedName("ew")
@ObfuscatedGetter(
intValue = -1250433749
)
static int field681;
@ObfuscatedName("ej")
@ObfuscatedGetter(
intValue = 1777018145
)
static int field682;
@ObfuscatedName("eo")
@ObfuscatedSignature(
descriptor = "Lfq;"
)
static class169 field872;
@ObfuscatedName("el")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("ea")
@ObfuscatedSignature(
descriptor = "Lck;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("ft")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("fj")
@ObfuscatedSignature(
descriptor = "[Lcf;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("fp")
@ObfuscatedGetter(
intValue = -2095920813
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("ff")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("fs")
@ObfuscatedGetter(
intValue = 144391847
)
static int field826;
@ObfuscatedName("fk")
static int[] field654;
@ObfuscatedName("fx")
@ObfuscatedSignature(
descriptor = "Ldh;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("fh")
@ObfuscatedGetter(
intValue = -179896895
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("fy")
static boolean field696;
@ObfuscatedName("fb")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("fg")
@ObfuscatedSignature(
descriptor = "Ljc;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("fl")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("gg")
@ObfuscatedGetter(
intValue = -1853046907
)
static int field700;
@ObfuscatedName("gm")
@ObfuscatedGetter(
intValue = 252683765
)
static int field701;
@ObfuscatedName("gh")
@ObfuscatedGetter(
intValue = -1311284153
)
static int field702;
@ObfuscatedName("gu")
@ObfuscatedGetter(
intValue = 1834916753
)
static int field703;
@ObfuscatedName("go")
@ObfuscatedGetter(
intValue = 1906817031
)
static int field704;
@ObfuscatedName("ga")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("gi")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("gp")
static final int[] field708;
@ObfuscatedName("gd")
@ObfuscatedGetter(
intValue = -904067663
)
static int field850;
@ObfuscatedName("hn")
@ObfuscatedSignature(
descriptor = "[Llm;"
)
@Export("headIconPrayerSprites")
static Sprite[] headIconPrayerSprites;
@ObfuscatedName("hv")
@ObfuscatedGetter(
intValue = -1487008623
)
static int field711;
@ObfuscatedName("hj")
@ObfuscatedGetter(
intValue = -408397879
)
static int field712;
@ObfuscatedName("hm")
@ObfuscatedGetter(
intValue = 2027186317
)
static int field713;
@ObfuscatedName("hu")
@ObfuscatedGetter(
intValue = 265625939
)
static int field714;
@ObfuscatedName("hx")
static boolean field692;
@ObfuscatedName("ho")
@ObfuscatedGetter(
intValue = 1926073649
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("hr")
@ObfuscatedGetter(
intValue = 256130781
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("ht")
@ObfuscatedGetter(
intValue = -933249295
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("hp")
@ObfuscatedGetter(
intValue = -1941667663
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("hb")
@ObfuscatedGetter(
intValue = 842676911
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("hd")
@ObfuscatedGetter(
intValue = -159731927
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("hw")
@ObfuscatedGetter(
intValue = 797966877
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("iq")
@ObfuscatedGetter(
intValue = 1791733175
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("ip")
@ObfuscatedGetter(
intValue = 1677697591
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("in")
@ObfuscatedGetter(
intValue = 1012131865
)
static int field755;
@ObfuscatedName("io")
@ObfuscatedGetter(
intValue = 755654585
)
static int field761;
@ObfuscatedName("ic")
@ObfuscatedGetter(
intValue = 1441714075
)
static int field788;
@ObfuscatedName("ia")
@ObfuscatedGetter(
intValue = 1697208315
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("ib")
@ObfuscatedGetter(
intValue = 762441025
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("ij")
@ObfuscatedGetter(
intValue = -380994417
)
public static int field730;
@ObfuscatedName("il")
static boolean field649;
@ObfuscatedName("im")
@ObfuscatedGetter(
intValue = -1396000555
)
static int field732;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("is")
static boolean field843;
@ObfuscatedName("iy")
@ObfuscatedGetter(
intValue = -1991795959
)
static int field918;
@ObfuscatedName("ir")
@ObfuscatedGetter(
intValue = 664038093
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("ik")
@ObfuscatedGetter(
intValue = 1616827889
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("iw")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("if")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("ie")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("iu")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("iv")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("jl")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("jb")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("jx")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("je")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("jm")
@ObfuscatedGetter(
intValue = -31866267
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("jq")
@ObfuscatedGetter(
intValue = 2071172407
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("jt")
@ObfuscatedGetter(
intValue = 473576557
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("jd")
@ObfuscatedGetter(
intValue = -501291535
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("jv")
@ObfuscatedGetter(
intValue = 1855983379
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("jy")
@ObfuscatedGetter(
intValue = 58718588
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("ji")
@ObfuscatedGetter(
intValue = -1330486485
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("jn")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("jj")
@ObfuscatedGetter(
intValue = 2114809505
)
static int field754;
@ObfuscatedName("jw")
@ObfuscatedGetter(
intValue = 1360375965
)
static int field881;
@ObfuscatedName("jh")
@ObfuscatedGetter(
intValue = -2111776897
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("jo")
@ObfuscatedGetter(
intValue = -174164729
)
@Export("draggedWidgetX")
static int draggedWidgetX;
@ObfuscatedName("ja")
@ObfuscatedGetter(
intValue = -563995015
)
@Export("draggedWidgetY")
static int draggedWidgetY;
@ObfuscatedName("jg")
@ObfuscatedGetter(
intValue = 1906459091
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("jk")
static boolean field848;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = 529038183
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("jz")
@ObfuscatedGetter(
intValue = -416908103
)
static int field762;
@ObfuscatedName("jr")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("kb")
@ObfuscatedSignature(
descriptor = "[Lbq;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("kz")
@ObfuscatedGetter(
intValue = -1303961589
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("ka")
@ObfuscatedGetter(
intValue = -191235223
)
static int field766;
@ObfuscatedName("ko")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("kp")
@ObfuscatedGetter(
intValue = -1760199693
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("kq")
@ObfuscatedGetter(
intValue = 248476299
)
static int field769;
@ObfuscatedName("kk")
static int[] field770;
@ObfuscatedName("kl")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("kr")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("kv")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("kw")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("ku")
@ObfuscatedGetter(
intValue = -1934640101
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("kc")
@ObfuscatedSignature(
descriptor = "[[[Ljp;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("kh")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("km")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("ky")
@ObfuscatedSignature(
descriptor = "Ljp;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("kj")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("kd")
@Export("levels")
static int[] levels;
@ObfuscatedName("lt")
@Export("experience")
static int[] experience;
@ObfuscatedName("li")
@ObfuscatedGetter(
intValue = 362480773
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("lk")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("lw")
@ObfuscatedGetter(
intValue = 1250252403
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("ld")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("ln")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("lz")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("lp")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("lv")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("la")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("lb")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("ls")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("ly")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("lq")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("lu")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("lj")
@ObfuscatedGetter(
intValue = 1731176677
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("lo")
@ObfuscatedGetter(
intValue = -958797827
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("md")
@ObfuscatedGetter(
intValue = -987373017
)
static int field799;
@ObfuscatedName("mc")
@ObfuscatedGetter(
intValue = -96598345
)
static int field751;
@ObfuscatedName("mi")
@ObfuscatedGetter(
intValue = 1915140309
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("mv")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("ms")
@ObfuscatedGetter(
intValue = -1478069303
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("mb")
@ObfuscatedGetter(
intValue = 703379227
)
static int field836;
@ObfuscatedName("mj")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("mu")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("mw")
@ObfuscatedGetter(
intValue = -1575535357
)
@Export("rootInterface")
static int rootInterface;
@ObfuscatedName("mn")
@ObfuscatedSignature(
descriptor = "Lls;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("en")
@ObfuscatedSignature(
descriptor = "Lkj;"
)
Buffer field686;
@ObfuscatedName("fn")
@ObfuscatedSignature(
descriptor = "Lz;"
)
class9 field687;
static {
field907 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
clientType = -1;
field651 = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = 1L;
field657 = -1;
field658 = -1;
field794 = -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;
field864 = 0;
js5Errors = 0;
loginState = 0;
field892 = 0;
field681 = 0;
field682 = 0;
field872 = class169.field2021;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field826 = 0;
field654 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
field696 = false;
useBufferedSocket = true;
timer = new Timer();
fontsMap = new HashMap();
field700 = 0;
field701 = 1;
field702 = 0;
field703 = 1;
field704 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field708 = 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};
field850 = 0;
field711 = 2301979;
field712 = 5063219;
field713 = 3353893;
field714 = 7759444;
field692 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field755 = 0;
field761 = 0;
field788 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field730 = 0;
field649 = false;
field732 = 0;
field843 = false;
field918 = 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;
field754 = 0;
field881 = 0;
dragItemSlotSource = 0;
draggedWidgetX = 0;
draggedWidgetY = 0;
dragItemSlotDestination = 0;
field848 = false;
itemDragDuration = 0;
field762 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field766 = 0;
renderSelf = true;
drawPlayerNames = 0;
field769 = 0;
field770 = 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;
field799 = 0;
field751 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field836 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field810 = 0;
field811 = -1;
chatEffects = 0;
field865 = 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;
field859 = false;
field827 = -1;
field716 = -1;
field829 = false;
field853 = -1;
field862 = -1;
isDraggingWidget = false;
cycleCntr = 1;
field834 = new int[32];
field835 = 0;
changedItemContainers = new int[32];
field837 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
chatCycle = 0;
field879 = 0;
field842 = 0;
field685 = 0;
field680 = 0;
field845 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field715 = new NodeDeque();
field849 = new NodeDeque();
widgetFlags = new NodeHashTable(512);
rootWidgetCount = 0;
field852 = -2;
field901 = new boolean[100];
field854 = new boolean[100];
field855 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field861 = 0L;
isResizable = true;
field863 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field871 = "";
field868 = new long[100];
field707 = 0;
field870 = 0;
field661 = new int[128];
field693 = new int[128];
field817 = -1L;
field874 = -1;
mapIconCount = 0;
mapIconXs = new int[1000];
mapIconYs = new int[1000];
mapIcons = new Sprite[1000];
destinationX = 0;
destinationY = 0;
minimapState = 0;
currentTrackGroupId = -1;
field883 = false;
soundEffectCount = 0;
soundEffectIds = new int[50];
queuedSoundEffectLoops = new int[50];
queuedSoundEffectDelays = new int[50];
soundLocations = new int[50];
soundEffects = new SoundEffect[50];
isCameraLocked = false;
field902 = new boolean[5];
field679 = new int[5];
field893 = new int[5];
field705 = new int[5];
field644 = new int[5];
field896 = 256;
field897 = 205;
zoomHeight = 256;
zoomWidth = 320;
field900 = 1;
field731 = 32767;
field828 = 1;
field903 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerAppearance();
field813 = -1;
field911 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field915 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field666 = 0;
field919 = new ApproximateRouteStrategy();
field920 = new int[50];
field921 = new int[50];
}
@ObfuscatedName("y")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "312942940"
)
@Export("resizeGame")
protected final void resizeGame() {
field861 = class298.currentTimeMillis() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("ac")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "-91"
)
@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) {
SoundCache.ByteArrayPool_alternativeSizes = var1;
JagexCache.ByteArrayPool_altSizeArrayCounts = new int[var1.length];
class23.ByteArrayPool_arrays = new byte[var1.length][][];
for (int var3 = 0; var3 < SoundCache.ByteArrayPool_alternativeSizes.length; ++var3) {
class23.ByteArrayPool_arrays[var3] = new byte[var2[var3]][];
}
} else {
SoundCache.ByteArrayPool_alternativeSizes = null;
JagexCache.ByteArrayPool_altSizeArrayCounts = null;
class23.ByteArrayPool_arrays = null;
}
class278.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
Players.port2 = gameBuild == 0 ? 443 : worldId + 50000;
ArchiveDiskAction.port3 = class278.port1;
PlayerAppearance.field2551 = class224.field2569;
WorldMapScaleHandler.field366 = class224.field2565;
PlayerAppearance.field2557 = class224.field2566;
WorldMapCacheName.field331 = class224.field2567;
GrandExchangeOfferAgeComparator.urlRequester = new UrlRequester();
this.setUpKeyboard();
this.setUpMouse();
KitDefinition.mouseWheel = this.mouseWheel();
class7.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
AccessFile var4 = null;
ClientPreferences var5 = new ClientPreferences();
try {
var4 = WorldMapRegion.getPreferencesFile("", AttackOption.field1174.name, false);
byte[] var6 = new byte[(int)var4.length()];
int var8;
for (int var7 = 0; var7 < var6.length; var7 += var8) {
var8 = var4.read(var6, var7, var6.length - var7);
if (var8 == -1) {
throw new IOException();
}
}
var5 = new ClientPreferences(new Buffer(var6));
} catch (Exception var11) {
}
try {
if (var4 != null) {
var4.close();
}
} catch (Exception var10) {
}
Timer.clientPreferences = var5;
this.setUpClipboard();
String var12 = Message.null_string;
class60.applet = this;
if (var12 != null) {
class60.field439 = var12;
}
if (gameBuild != 0) {
displayFps = true;
}
class13.setWindowedMode(Timer.clientPreferences.windowMode);
MilliClock.friendSystem = new FriendSystem(GrandExchangeOfferUnitPriceComparator.loginType);
}
@ObfuscatedName("ak")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1376035132"
)
@Export("doCycle")
protected final void doCycle() {
++cycle;
this.doCycleJs5();
WorldMapEvent.method809();
UrlRequester.method3381();
FontName.playPcmPlayers();
GraphicsObject.method2090();
class4.method53();
if (KitDefinition.mouseWheel != null) {
int var1 = KitDefinition.mouseWheel.useRotation();
mouseWheelRotation = var1;
}
if (gameState == 0) {
Canvas.load();
GrandExchangeEvent.method153();
} else if (gameState == 5) {
SequenceDefinition.doCycleTitle(this);
Canvas.load();
GrandExchangeEvent.method153();
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
SequenceDefinition.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
WorldMapSection2.method377(false);
field700 = 0;
boolean var43 = true;
int var2;
for (var2 = 0; var2 < WorldMapIcon_0.regionLandArchives.length; ++var2) {
if (class41.regionMapArchiveIds[var2] != -1 && WorldMapIcon_0.regionLandArchives[var2] == null) {
WorldMapIcon_0.regionLandArchives[var2] = GameShell.archive5.takeFile(class41.regionMapArchiveIds[var2], 0);
if (WorldMapIcon_0.regionLandArchives[var2] == null) {
var43 = false;
++field700;
}
}
if (GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var2] != -1 && MouseRecorder.regionMapArchives[var2] == null) {
MouseRecorder.regionMapArchives[var2] = GameShell.archive5.takeFileEncrypted(GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var2], 0, class227.xteaKeys[var2]);
if (MouseRecorder.regionMapArchives[var2] == null) {
var43 = false;
++field700;
}
}
}
if (!var43) {
field704 = 1;
} else {
field702 = 0;
var43 = true;
int var4;
int var5;
int var10;
int var11;
int var12;
int var14;
int var15;
int var16;
int var17;
for (var2 = 0; var2 < WorldMapIcon_0.regionLandArchives.length; ++var2) {
byte[] var3 = MouseRecorder.regionMapArchives[var2];
if (var3 != null) {
var4 = (FileSystem.regions[var2] >> 8) * 64 - NetFileRequest.baseX * 64;
var5 = (FileSystem.regions[var2] & 255) * 64 - class41.baseY * 64;
if (isInInstance) {
var4 = 10;
var5 = 10;
}
boolean var8 = true;
Buffer var40 = new Buffer(var3);
var10 = -1;
label565:
while (true) {
var11 = var40.method5557();
if (var11 == 0) {
var43 &= var8;
break;
}
var10 += var11;
var12 = 0;
boolean var38 = false;
while (true) {
while (!var38) {
var14 = var40.readUShortSmart();
if (var14 == 0) {
continue label565;
}
var12 += var14 - 1;
var15 = var12 & 63;
var16 = var12 >> 6 & 63;
var17 = var40.readUnsignedByte() >> 2;
int var41 = var4 + var16;
int var42 = var5 + var15;
if (var41 > 0 && var42 > 0 && var41 < 103 && var42 < 103) {
ObjectDefinition var20 = WorldMapDecoration.getObjectDefinition(var10);
if (var17 != 22 || !isLowDetail || var20.int1 != 0 || var20.interactType == 1 || var20.boolean2) {
if (!var20.needsModelFiles()) {
++field702;
var8 = false;
}
var38 = true;
}
}
}
var14 = var40.readUShortSmart();
if (var14 == 0) {
break;
}
var40.readUnsignedByte();
}
}
}
}
if (!var43) {
field704 = 2;
} else {
if (field704 != 0) {
Varps.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + 100 + "%" + ")", true);
}
FontName.playPcmPlayers();
ArchiveLoader.scene.clear();
for (var2 = 0; var2 < 4; ++var2) {
collisionMaps[var2].clear();
}
int var36;
for (var2 = 0; var2 < 4; ++var2) {
for (var36 = 0; var36 < 104; ++var36) {
for (var4 = 0; var4 < 104; ++var4) {
Tiles.Tiles_renderFlags[var2][var36][var4] = 0;
}
}
}
FontName.playPcmPlayers();
DirectByteArrayCopier.method3983();
var2 = WorldMapIcon_0.regionLandArchives.length;
for (ObjectSound var44 = (ObjectSound)ObjectSound.objectSounds.last(); var44 != null; var44 = (ObjectSound)ObjectSound.objectSounds.previous()) {
if (var44.stream1 != null) {
WorldMapManager.pcmStreamMixer.removeSubStream(var44.stream1);
var44.stream1 = null;
}
if (var44.stream2 != null) {
WorldMapManager.pcmStreamMixer.removeSubStream(var44.stream2);
var44.stream2 = null;
}
}
ObjectSound.objectSounds.clear();
WorldMapSection2.method377(true);
int var6;
if (!isInInstance) {
byte[] var39;
for (var36 = 0; var36 < var2; ++var36) {
var4 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX * 64;
var5 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY * 64;
var39 = WorldMapIcon_0.regionLandArchives[var36];
if (var39 != null) {
FontName.playPcmPlayers();
class69.method1252(var39, var4, var5, class182.field2112 * 8 - 48, UserComparator6.field2013 * 8 - 48, collisionMaps);
}
}
for (var36 = 0; var36 < var2; ++var36) {
var4 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX * 64;
var5 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY * 64;
var39 = WorldMapIcon_0.regionLandArchives[var36];
if (var39 == null && UserComparator6.field2013 < 800) {
FontName.playPcmPlayers();
class39.method594(var4, var5, 64, 64);
}
}
WorldMapSection2.method377(true);
for (var36 = 0; var36 < var2; ++var36) {
byte[] var37 = MouseRecorder.regionMapArchives[var36];
if (var37 != null) {
var5 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX * 64;
var6 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY * 64;
FontName.playPcmPlayers();
class169.method3533(var37, var5, var6, ArchiveLoader.scene, collisionMaps);
}
}
}
int var7;
int var9;
int var46;
if (isInInstance) {
var36 = 0;
label477:
while (true) {
if (var36 >= 4) {
for (var36 = 0; var36 < 13; ++var36) {
for (var4 = 0; var4 < 13; ++var4) {
var5 = instanceChunkTemplates[0][var36][var4];
if (var5 == -1) {
class39.method594(var36 * 8, var4 * 8, 8, 8);
}
}
}
WorldMapSection2.method377(true);
var36 = 0;
while (true) {
if (var36 >= 4) {
break label477;
}
FontName.playPcmPlayers();
for (var4 = 0; var4 < 13; ++var4) {
label434:
for (var5 = 0; var5 < 13; ++var5) {
var6 = instanceChunkTemplates[var36][var4][var5];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var46 = var6 >> 1 & 3;
var9 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var9 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < FileSystem.regions.length; ++var12) {
if (FileSystem.regions[var12] == var11 && MouseRecorder.regionMapArchives[var12] != null) {
byte[] var13 = MouseRecorder.regionMapArchives[var12];
var14 = var4 * 8;
var15 = var5 * 8;
var16 = (var9 & 7) * 8;
var17 = (var10 & 7) * 8;
Scene var18 = ArchiveLoader.scene;
CollisionMap[] var19 = collisionMaps;
Buffer var47 = new Buffer(var13);
int var21 = -1;
while (true) {
int var22 = var47.method5557();
if (var22 == 0) {
continue label434;
}
var21 += var22;
int var23 = 0;
while (true) {
int var24 = var47.readUShortSmart();
if (var24 == 0) {
break;
}
var23 += var24 - 1;
int var25 = var23 & 63;
int var26 = var23 >> 6 & 63;
int var27 = var23 >> 12;
int var28 = var47.readUnsignedByte();
int var29 = var28 >> 2;
int var30 = var28 & 3;
if (var27 == var7 && var26 >= var16 && var26 < var16 + 8 && var25 >= var17 && var25 < var17 + 8) {
ObjectDefinition var31 = WorldMapDecoration.getObjectDefinition(var21);
int var32 = var14 + HitSplatDefinition.method4612(var26 & 7, var25 & 7, var46, var31.sizeX, var31.sizeY, var30);
int var33 = var15 + World.method1871(var26 & 7, var25 & 7, var46, var31.sizeX, var31.sizeY, var30);
if (var32 > 0 && var33 > 0 && var32 < 103 && var33 < 103) {
int var34 = var36;
if ((Tiles.Tiles_renderFlags[1][var32][var33] & 2) == 2) {
var34 = var36 - 1;
}
CollisionMap var35 = null;
if (var34 >= 0) {
var35 = var19[var34];
}
class7.method90(var36, var32, var33, var21, var30 + var46 & 3, var29, var18, var35);
}
}
}
}
}
}
}
}
}
++var36;
}
}
FontName.playPcmPlayers();
for (var4 = 0; var4 < 13; ++var4) {
for (var5 = 0; var5 < 13; ++var5) {
boolean var45 = false;
var7 = instanceChunkTemplates[var36][var4][var5];
if (var7 != -1) {
var46 = var7 >> 24 & 3;
var9 = var7 >> 1 & 3;
var10 = var7 >> 14 & 1023;
var11 = var7 >> 3 & 2047;
var12 = (var10 / 8 << 8) + var11 / 8;
for (int var50 = 0; var50 < FileSystem.regions.length; ++var50) {
if (FileSystem.regions[var50] == var12 && WorldMapIcon_0.regionLandArchives[var50] != null) {
WorldMapDecoration.method381(WorldMapIcon_0.regionLandArchives[var50], var36, var4 * 8, var5 * 8, var46, (var10 & 7) * 8, (var11 & 7) * 8, var9, collisionMaps);
var45 = true;
break;
}
}
}
if (!var45) {
ReflectionCheck.method2350(var36, var4 * 8, var5 * 8);
}
}
}
++var36;
}
}
WorldMapSection2.method377(true);
FontName.playPcmPlayers();
LoginPacket.method3673(ArchiveLoader.scene, collisionMaps);
WorldMapSection2.method377(true);
var36 = Tiles.Tiles_minPlane;
if (var36 > GameObject.Client_plane) {
var36 = GameObject.Client_plane;
}
if (var36 < GameObject.Client_plane - 1) {
var36 = GameObject.Client_plane - 1;
}
if (isLowDetail) {
ArchiveLoader.scene.init(Tiles.Tiles_minPlane);
} else {
ArchiveLoader.scene.init(0);
}
for (var4 = 0; var4 < 104; ++var4) {
for (var5 = 0; var5 < 104; ++var5) {
MouseRecorder.updateItemPile(var4, var5);
}
}
FontName.playPcmPlayers();
for (PendingSpawn var48 = (PendingSpawn)pendingSpawns.last(); var48 != null; var48 = (PendingSpawn)pendingSpawns.previous()) {
if (var48.hitpoints == -1) {
var48.delay = 0;
class7.method86(var48);
} else {
var48.remove();
}
}
ObjectDefinition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var49;
if (WorldMapIcon_0.client.hasFrame()) {
var49 = ItemContainer.getPacketBufferNode(ClientPacket.field2299, packetWriter.isaacCipher);
var49.packetBuffer.writeInt(1057001181);
packetWriter.addNode(var49);
}
if (!isInInstance) {
var4 = (class182.field2112 - 6) / 8;
var5 = (class182.field2112 + 6) / 8;
var6 = (UserComparator6.field2013 - 6) / 8;
var7 = (UserComparator6.field2013 + 6) / 8;
for (var46 = var4 - 1; var46 <= var5 + 1; ++var46) {
for (var9 = var6 - 1; var9 <= var7 + 1; ++var9) {
if (var46 < var4 || var46 > var5 || var9 < var6 || var9 > var7) {
GameShell.archive5.loadRegionFromName("m" + var46 + "_" + var9);
GameShell.archive5.loadRegionFromName("l" + var46 + "_" + var9);
}
}
}
}
WorldMapCacheName.updateGameState(30);
FontName.playPcmPlayers();
Tiles.field514 = null;
Tiles.field508 = null;
class9.field40 = null;
Username.field3663 = null;
GrandExchangeOfferWorldComparator.field52 = null;
Tiles.field511 = null;
class92.field1173 = null;
VarbitDefinition.Tiles_hue = null;
ArchiveDiskActionHandler.Tiles_saturation = null;
class92.Tiles_lightness = null;
UserComparator7.Tiles_hueMultiplier = null;
Varcs.field1283 = null;
var49 = ItemContainer.getPacketBufferNode(ClientPacket.field2235, packetWriter.isaacCipher);
packetWriter.addNode(var49);
class225.clock.mark();
for (var5 = 0; var5 < 32; ++var5) {
GameShell.graphicsTickTimes[var5] = 0L;
}
for (var5 = 0; var5 < 32; ++var5) {
GameShell.clientTickTimes[var5] = 0L;
}
class8.gameCyclesToDo = 0;
}
}
}
} else {
SequenceDefinition.doCycleTitle(this);
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
}
@ObfuscatedName("av")
@ObfuscatedSignature(
descriptor = "(ZI)V",
garbageValue = "-20163413"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2 = WorldMapIcon_1.method355();
if (var2 && field883 && AbstractWorldMapData.pcmPlayer0 != null) {
AbstractWorldMapData.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && field861 != 0L && class298.currentTimeMillis() > field861) {
class13.setWindowedMode(SoundSystem.getWindowedMode());
}
int var3;
if (var1) {
for (var3 = 0; var3 < 100; ++var3) {
field901[var3] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12);
} else if (gameState == 25) {
if (field704 == 1) {
if (field700 > field701) {
field701 = field700;
}
var3 = (field701 * 50 - field700 * 50) / field701;
Varps.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var3 + "%" + ")", false);
} else if (field704 == 2) {
if (field702 > field703) {
field703 = field702;
}
var3 = (field703 * 50 - field702 * 50) / field703 + 50;
Varps.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var3 + "%" + ")", false);
} else {
Varps.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
Varps.drawLoadingMessage("Connection lost" + "<br>" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
Varps.drawLoadingMessage("Please wait...", false);
}
} else {
ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var3 = 0; var3 < rootWidgetCount; ++var3) {
if (field854[var3]) {
WorldMapIcon_0.rasterProvider.draw(rootWidgetXs[var3], rootWidgetYs[var3], rootWidgetWidths[var3], rootWidgetHeights[var3]);
field854[var3] = false;
}
}
} else if (gameState > 0) {
WorldMapIcon_0.rasterProvider.drawFull(0, 0);
for (var3 = 0; var3 < rootWidgetCount; ++var3) {
field854[var3] = false;
}
}
}
@ObfuscatedName("ab")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-6923156"
)
@Export("kill0")
protected final void kill0() {
if (Varcs.varcs.hasUnwrittenChanges()) {
Varcs.varcs.write();
}
if (SoundCache.mouseRecorder != null) {
SoundCache.mouseRecorder.isRunning = false;
}
SoundCache.mouseRecorder = null;
packetWriter.close();
WorldMapEvent.method807();
class3.method43();
KitDefinition.mouseWheel = null;
if (AbstractWorldMapData.pcmPlayer0 != null) {
AbstractWorldMapData.pcmPlayer0.shutdown();
}
if (FriendLoginUpdate.pcmPlayer1 != null) {
FriendLoginUpdate.pcmPlayer1.shutdown();
}
method1583();
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) {
if (ArchiveDiskActionHandler.field3178 != 0) {
ArchiveDiskActionHandler.field3178 = 1;
try {
ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait();
} catch (InterruptedException var5) {
}
}
}
if (GrandExchangeOfferAgeComparator.urlRequester != null) {
GrandExchangeOfferAgeComparator.urlRequester.close();
GrandExchangeOfferAgeComparator.urlRequester = null;
}
try {
JagexCache.JagexCache_dat2File.close();
for (int var4 = 0; var4 < MusicPatchPcmStream.idxCount; ++var4) {
PlayerAppearance.JagexCache_idxFiles[var4].close();
}
JagexCache.JagexCache_idx255File.close();
JagexCache.JagexCache_randomDat.close();
} catch (Exception var6) {
}
}
@ObfuscatedName("ar")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "96"
)
protected final void vmethod1777() {
}
public final void init() {
try {
if (this.checkHost()) {
for (int var1 = 0; var1 <= 20; ++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:
WorldMapScaleHandler.clientLanguage = Language.method3701(Integer.parseInt(var2));
break;
case 7:
class25.field125 = ArchiveLoader.method1225(Integer.parseInt(var2));
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
WorldMapSection1.field317 = var2;
break;
case 10:
StudioGame[] var3 = new StudioGame[]{StudioGame.runescape, StudioGame.stellardawn, StudioGame.game4, StudioGame.game5, StudioGame.game3, StudioGame.oldscape};
AttackOption.field1174 = (StudioGame)UrlRequester.findEnumerated(var3, Integer.parseInt(var2));
if (StudioGame.oldscape == AttackOption.field1174) {
GrandExchangeOfferUnitPriceComparator.loginType = LoginType.oldscape;
} else {
GrandExchangeOfferUnitPriceComparator.loginType = LoginType.field4072;
}
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
MidiPcmStream.field2455 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
GrandExchangeOfferTotalQuantityComparator.field75 = var2;
}
}
}
class39.method596();
WorldMapSprite.worldHost = this.getCodeBase().getHost();
String var11 = class25.field125.name;
byte var12 = 0;
try {
MusicPatchPcmStream.idxCount = 21;
JagexCache.cacheGamebuild = var12;
try {
WorldMapScaleHandler.field365 = System.getProperty("os.name");
} catch (Exception var18) {
WorldMapScaleHandler.field365 = "Unknown";
}
ObjectSound.field1077 = WorldMapScaleHandler.field365.toLowerCase();
try {
TileItemPile.userHomeDirectory = System.getProperty("user.home");
if (TileItemPile.userHomeDirectory != null) {
TileItemPile.userHomeDirectory = TileItemPile.userHomeDirectory + "/";
}
} catch (Exception var17) {
}
try {
if (ObjectSound.field1077.startsWith("win")) {
if (TileItemPile.userHomeDirectory == null) {
TileItemPile.userHomeDirectory = System.getenv("USERPROFILE");
}
} else if (TileItemPile.userHomeDirectory == null) {
TileItemPile.userHomeDirectory = System.getenv("HOME");
}
if (TileItemPile.userHomeDirectory != null) {
TileItemPile.userHomeDirectory = TileItemPile.userHomeDirectory + "/";
}
} catch (Exception var16) {
}
if (TileItemPile.userHomeDirectory == null) {
TileItemPile.userHomeDirectory = "~/";
}
GraphicsObject.field1117 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", TileItemPile.userHomeDirectory, "/tmp/", ""};
DynamicObject.field1318 = new String[]{".jagex_cache_" + JagexCache.cacheGamebuild, ".file_store_" + JagexCache.cacheGamebuild};
label144:
for (int var13 = 0; var13 < 4; ++var13) {
JagexCache.cacheDir = class58.method917("oldschool", var11, var13);
if (!JagexCache.cacheDir.exists()) {
JagexCache.cacheDir.mkdirs();
}
File[] var4 = JagexCache.cacheDir.listFiles();
if (var4 == null) {
break;
}
File[] var5 = var4;
int var6 = 0;
while (true) {
if (var6 >= var5.length) {
break label144;
}
File 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 var15) {
var8 = false;
}
if (!var8) {
break;
}
++var6;
}
}
File var21 = JagexCache.cacheDir;
FileSystem.FileSystem_cacheDir = var21;
if (!FileSystem.FileSystem_cacheDir.exists()) {
throw new RuntimeException("");
}
FileSystem.FileSystem_hasPermissions = true;
WorldMapData_0.method237();
JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
PlayerAppearance.JagexCache_idxFiles = new BufferedFile[MusicPatchPcmStream.idxCount];
for (int var14 = 0; var14 < MusicPatchPcmStream.idxCount; ++var14) {
PlayerAppearance.JagexCache_idxFiles[var14] = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.idx" + var14), "rw", 1048576L), 6000, 0);
}
} catch (Exception var19) {
PlayerAppearance.RunException_sendStackTrace((String)null, var19);
}
WorldMapIcon_0.client = this;
class39.clientType = clientType;
if (field651 == -1) {
field651 = 0;
}
this.startThread(765, 503, 193);
}
} catch (RuntimeException var20) {
throw UserComparator9.newRunException(var20, "client.init(" + ')');
}
}
@ObfuscatedName("ff")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "0"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
long var2 = class298.currentTimeMillis();
int var4 = (int)(var2 - NetCache.field3195);
NetCache.field3195 = var2;
if (var4 > 200) {
var4 = 200;
}
NetCache.NetCache_loadTime += var4;
boolean var1;
if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) {
var1 = true;
} else if (NetCache.NetCache_socket == null) {
var1 = false;
} else {
try {
label246: {
if (NetCache.NetCache_loadTime > 30000) {
throw new IOException();
}
NetFileRequest var5;
Buffer var6;
while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) {
var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first();
var6 = new Buffer(4);
var6.writeByte(1);
var6.writeMedium((int)var5.key);
NetCache.NetCache_socket.write(var6.array, 0, 4);
NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key);
--NetCache.NetCache_pendingPriorityWritesCount;
++NetCache.NetCache_pendingPriorityResponsesCount;
}
while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) {
var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast();
var6 = new Buffer(4);
var6.writeByte(0);
var6.writeMedium((int)var5.key);
NetCache.NetCache_socket.write(var6.array, 0, 4);
var5.removeDual();
NetCache.NetCache_pendingResponses.put(var5, var5.key);
--NetCache.NetCache_pendingWritesCount;
++NetCache.NetCache_pendingResponsesCount;
}
for (int var17 = 0; var17 < 100; ++var17) {
int var18 = NetCache.NetCache_socket.available();
if (var18 < 0) {
throw new IOException();
}
if (var18 == 0) {
break;
}
NetCache.NetCache_loadTime = 0;
byte var7 = 0;
if (NetCache.NetCache_currentResponse == null) {
var7 = 8;
} else if (NetCache.field3207 == 0) {
var7 = 1;
}
int var8;
int var9;
int var10;
int var12;
byte[] var10000;
int var10001;
Buffer var25;
if (var7 > 0) {
var8 = var7 - NetCache.NetCache_responseHeaderBuffer.offset;
if (var8 > var18) {
var8 = var18;
}
NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var8);
if (NetCache.field3210 != 0) {
for (var9 = 0; var9 < var8; ++var9) {
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
var10001 = var9 + NetCache.NetCache_responseHeaderBuffer.offset;
var10000[var10001] ^= NetCache.field3210;
}
}
var25 = NetCache.NetCache_responseHeaderBuffer;
var25.offset += var8;
if (NetCache.NetCache_responseHeaderBuffer.offset < var7) {
break;
}
if (NetCache.NetCache_currentResponse == null) {
NetCache.NetCache_responseHeaderBuffer.offset = 0;
var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
var10 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort();
int var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
var12 = NetCache.NetCache_responseHeaderBuffer.readInt();
long var13 = (long)(var10 + (var9 << 16));
NetFileRequest var15 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var13);
UserComparator4.field1988 = true;
if (var15 == null) {
var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13);
UserComparator4.field1988 = false;
}
if (var15 == null) {
throw new IOException();
}
int var16 = var11 == 0 ? 5 : 9;
NetCache.NetCache_currentResponse = var15;
class206.NetCache_responseArchiveBuffer = new Buffer(var16 + var12 + NetCache.NetCache_currentResponse.padding);
class206.NetCache_responseArchiveBuffer.writeByte(var11);
class206.NetCache_responseArchiveBuffer.writeInt(var12);
NetCache.field3207 = 8;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else if (NetCache.field3207 == 0) {
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
NetCache.field3207 = 1;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else {
NetCache.NetCache_currentResponse = null;
}
}
} else {
var8 = class206.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding;
var9 = 512 - NetCache.field3207;
if (var9 > var8 - class206.NetCache_responseArchiveBuffer.offset) {
var9 = var8 - class206.NetCache_responseArchiveBuffer.offset;
}
if (var9 > var18) {
var9 = var18;
}
NetCache.NetCache_socket.read(class206.NetCache_responseArchiveBuffer.array, class206.NetCache_responseArchiveBuffer.offset, var9);
if (NetCache.field3210 != 0) {
for (var10 = 0; var10 < var9; ++var10) {
var10000 = class206.NetCache_responseArchiveBuffer.array;
var10001 = class206.NetCache_responseArchiveBuffer.offset + var10;
var10000[var10001] ^= NetCache.field3210;
}
}
var25 = class206.NetCache_responseArchiveBuffer;
var25.offset += var9;
NetCache.field3207 += var9;
if (var8 == class206.NetCache_responseArchiveBuffer.offset) {
if (16711935L == NetCache.NetCache_currentResponse.key) {
WorldMapLabel.NetCache_reference = class206.NetCache_responseArchiveBuffer;
for (var10 = 0; var10 < 256; ++var10) {
Archive var19 = NetCache.NetCache_archives[var10];
if (var19 != null) {
WorldMapLabel.NetCache_reference.offset = var10 * 8 + 5;
var12 = WorldMapLabel.NetCache_reference.readInt();
int var20 = WorldMapLabel.NetCache_reference.readInt();
var19.loadIndex(var12, var20);
}
}
} else {
NetCache.NetCache_crc.reset();
NetCache.NetCache_crc.update(class206.NetCache_responseArchiveBuffer.array, 0, var8);
var10 = (int)NetCache.NetCache_crc.getValue();
if (var10 != NetCache.NetCache_currentResponse.crc) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var23) {
}
++NetCache.NetCache_crcMismatches;
NetCache.NetCache_socket = null;
NetCache.field3210 = (byte)((int)(Math.random() * 255.0D + 1.0D));
var1 = false;
break label246;
}
NetCache.NetCache_crcMismatches = 0;
NetCache.NetCache_ioExceptions = 0;
NetCache.NetCache_currentResponse.archive.write((int)(NetCache.NetCache_currentResponse.key & 65535L), class206.NetCache_responseArchiveBuffer.array, (NetCache.NetCache_currentResponse.key & 16711680L) == 16711680L, UserComparator4.field1988);
}
NetCache.NetCache_currentResponse.remove();
if (UserComparator4.field1988) {
--NetCache.NetCache_pendingPriorityResponsesCount;
} else {
--NetCache.NetCache_pendingResponsesCount;
}
NetCache.field3207 = 0;
NetCache.NetCache_currentResponse = null;
class206.NetCache_responseArchiveBuffer = null;
} else {
if (NetCache.field3207 != 512) {
break;
}
NetCache.field3207 = 0;
}
}
}
var1 = true;
}
} catch (IOException var24) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var22) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
var1 = false;
}
}
if (!var1) {
this.doCycleJs5Connect();
}
}
}
@ObfuscatedName("fs")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-278380129"
)
@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;
}
field864 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field864 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
WorldMapManager.js5SocketTask = GameShell.taskHandler.newSocketTask(WorldMapSprite.worldHost, ArchiveDiskAction.port3);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (WorldMapManager.js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (WorldMapManager.js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
TaskHandler.js5Socket = class219.method4011((Socket)WorldMapManager.js5SocketTask.result, 40000, 5000);
} else {
TaskHandler.js5Socket = new NetSocket((Socket)WorldMapManager.js5SocketTask.result, GameShell.taskHandler, 5000);
}
Buffer var1 = new Buffer(5);
var1.writeByte(15);
var1.writeInt(193);
TaskHandler.js5Socket.write(var1.array, 0, 5);
++js5ConnectState;
LoginPacket.field2341 = class298.currentTimeMillis();
}
if (js5ConnectState == 3) {
if (TaskHandler.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var5 = TaskHandler.js5Socket.readUnsignedByte();
if (var5 != 0) {
this.js5Error(var5);
return;
}
++js5ConnectState;
} else if (class298.currentTimeMillis() - LoginPacket.field2341 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
AbstractSocket var10 = TaskHandler.js5Socket;
boolean var2 = gameState > 20;
if (NetCache.NetCache_socket != null) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var8) {
}
NetCache.NetCache_socket = null;
}
NetCache.NetCache_socket = var10;
SoundSystem.method2564(var2);
NetCache.NetCache_responseHeaderBuffer.offset = 0;
NetCache.NetCache_currentResponse = null;
class206.NetCache_responseArchiveBuffer = null;
NetCache.field3207 = 0;
while (true) {
NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first();
if (var3 == null) {
while (true) {
var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first();
if (var3 == null) {
if (NetCache.field3210 != 0) {
try {
Buffer var11 = new Buffer(4);
var11.writeByte(4);
var11.writeByte(NetCache.field3210);
var11.writeShort(0);
NetCache.NetCache_socket.write(var11.array, 0, 4);
} catch (IOException var7) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var6) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
NetCache.NetCache_loadTime = 0;
NetCache.field3195 = class298.currentTimeMillis();
WorldMapManager.js5SocketTask = null;
TaskHandler.js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
return;
}
NetCache.NetCache_pendingWritesQueue.addLast(var3);
NetCache.NetCache_pendingWrites.put(var3, var3.key);
++NetCache.NetCache_pendingWritesCount;
--NetCache.NetCache_pendingResponsesCount;
}
}
NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key);
++NetCache.NetCache_pendingPriorityWritesCount;
--NetCache.NetCache_pendingPriorityResponsesCount;
}
}
} catch (IOException var9) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("fk")
@ObfuscatedSignature(
descriptor = "(II)V",
garbageValue = "1103110959"
)
@Export("js5Error")
void js5Error(int var1) {
WorldMapManager.js5SocketTask = null;
TaskHandler.js5Socket = null;
js5ConnectState = 0;
if (ArchiveDiskAction.port3 == class278.port1) {
ArchiveDiskAction.port3 = Players.port2;
} else {
ArchiveDiskAction.port3 = class278.port1;
}
++js5Errors;
if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) {
if (gameState <= 5) {
this.error("js5connect_full");
gameState = 1000;
} else {
field864 = 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 {
field864 = 3000;
}
}
}
@ObfuscatedName("fb")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "-34"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (WorldMapData_0.secureRandom == null && (secureRandomFuture.isDone() || field892 > 250)) {
WorldMapData_0.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (WorldMapData_0.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
WorldMapID.socketTask = null;
field696 = false;
field892 = 0;
loginState = 1;
}
}
if (loginState == 1) {
if (WorldMapID.socketTask == null) {
WorldMapID.socketTask = GameShell.taskHandler.newSocketTask(WorldMapSprite.worldHost, ArchiveDiskAction.port3);
}
if (WorldMapID.socketTask.status == 2) {
throw new IOException();
}
if (WorldMapID.socketTask.status == 1) {
if (useBufferedSocket) {
var1 = class219.method4011((Socket)WorldMapID.socketTask.result, 40000, 5000);
} else {
var1 = new NetSocket((Socket)WorldMapID.socketTask.result, GameShell.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
WorldMapID.socketTask = null;
loginState = 2;
}
}
PacketBufferNode var3;
if (loginState == 2) {
packetWriter.clearBuffer();
var3 = class236.method4163();
var3.packetBuffer.writeByte(LoginPacket.field2332.id);
packetWriter.addNode(var3);
packetWriter.flush();
var2.offset = 0;
loginState = 3;
}
int var4;
boolean var12;
if (loginState == 3) {
if (AbstractWorldMapData.pcmPlayer0 != null) {
AbstractWorldMapData.pcmPlayer0.method2485();
}
if (FriendLoginUpdate.pcmPlayer1 != null) {
FriendLoginUpdate.pcmPlayer1.method2485();
}
var12 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var12 = false;
}
if (var12) {
var4 = ((AbstractSocket)var1).readUnsignedByte();
if (AbstractWorldMapData.pcmPlayer0 != null) {
AbstractWorldMapData.pcmPlayer0.method2485();
}
if (FriendLoginUpdate.pcmPlayer1 != null) {
FriendLoginUpdate.pcmPlayer1.method2485();
}
if (var4 != 0) {
UserComparator8.getLoginError(var4);
return;
}
var2.offset = 0;
loginState = 4;
}
}
int var31;
if (loginState == 4) {
if (var2.offset < 8) {
var31 = ((AbstractSocket)var1).available();
if (var31 > 8 - var2.offset) {
var31 = 8 - var2.offset;
}
if (var31 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var31);
var2.offset += var31;
}
}
if (var2.offset == 8) {
var2.offset = 0;
class69.field557 = var2.readLong();
loginState = 5;
}
}
int var7;
int var9;
int var14;
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var22 = new PacketBuffer(500);
int[] var13 = new int[]{WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt()};
var22.offset = 0;
var22.writeByte(1);
var22.writeInt(var13[0]);
var22.writeInt(var13[1]);
var22.writeInt(var13[2]);
var22.writeInt(var13[3]);
var22.writeLong(class69.field557);
int var10;
if (gameState == 40) {
var22.writeInt(MouseHandler.field487[0]);
var22.writeInt(MouseHandler.field487[1]);
var22.writeInt(MouseHandler.field487[2]);
var22.writeInt(MouseHandler.field487[3]);
} else {
var22.writeByte(field872.rsOrdinal());
switch(field872.field2022) {
case 0:
LinkedHashMap var6 = Timer.clientPreferences.parameters;
String var8 = Login.Login_username;
var9 = var8.length();
var10 = 0;
for (int var11 = 0; var11 < var9; ++var11) {
var10 = (var10 << 5) - var10 + var8.charAt(var11);
}
var22.writeInt((Integer)var6.get(var10));
break;
case 1:
var22.offset += 4;
break;
case 2:
case 3:
var22.writeMedium(WorldMapSection1.field313);
++var22.offset;
}
var22.writeByte(class323.field3857.rsOrdinal());
var22.writeStringCp1252NullTerminated(Login.Login_password);
}
var22.encryptRsa(class92.field1170, class92.field1168);
MouseHandler.field487 = var13;
PacketBufferNode var5 = class236.method4163();
var5.packetBuffer.offset = 0;
if (gameState == 40) {
var5.packetBuffer.writeByte(LoginPacket.field2335.id);
} else {
var5.packetBuffer.writeByte(LoginPacket.field2334.id);
}
var5.packetBuffer.writeShort(0);
var14 = var5.packetBuffer.offset;
var5.packetBuffer.writeInt(193);
var5.packetBuffer.writeInt(1);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeByte(field651);
var5.packetBuffer.writeBytes(var22.array, 0, var22.offset);
var7 = var5.packetBuffer.offset;
var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var5.packetBuffer.writeShort(IgnoreList.canvasWidth);
var5.packetBuffer.writeShort(ModelData0.canvasHeight);
FileSystem.method3573(var5.packetBuffer);
var5.packetBuffer.writeStringCp1252NullTerminated(WorldMapSection1.field317);
var5.packetBuffer.writeInt(MidiPcmStream.field2455);
Buffer var29 = new Buffer(class58.platformInfo.size());
class58.platformInfo.write(var29);
var5.packetBuffer.writeBytes(var29.array, 0, var29.array.length);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.method5718(GameShell.archive5.hash);
var5.packetBuffer.method5718(GrandExchangeOfferUnitPriceComparator.archive13.hash);
var5.packetBuffer.method5718(PacketBufferNode.archive12.hash);
var5.packetBuffer.method5587(ItemContainer.archive11.hash);
var5.packetBuffer.writeInt(GrandExchangeOfferUnitPriceComparator.archive9.hash);
var5.packetBuffer.writeInt(NetFileRequest.archive20.hash);
var5.packetBuffer.method5718(class92.archive10.hash);
var5.packetBuffer.method5587(class41.archive18.hash);
var5.packetBuffer.method5588(class169.archive17.hash);
var5.packetBuffer.method5588(archive15.hash);
var5.packetBuffer.method5587(WorldMapSprite.archive1.hash);
var5.packetBuffer.method5718(FontName.archive14.hash);
var5.packetBuffer.method5587(class195.archive19.hash);
var5.packetBuffer.method5718(Messages.archive8.hash);
var5.packetBuffer.method5587(DynamicObject.archive2.hash);
var5.packetBuffer.method5718(class330.archive3.hash);
var5.packetBuffer.method5587(TilePaint.archive0.hash);
var5.packetBuffer.writeInt(class227.archive4.hash);
var5.packetBuffer.method5587(0);
var5.packetBuffer.method5588(BuddyRankComparator.archive7.hash);
var5.packetBuffer.method5718(class217.archive6.hash);
var5.packetBuffer.xteaEncrypt(var13, var7, var5.packetBuffer.offset);
var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var14);
packetWriter.addNode(var5);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var13);
int[] var15 = new int[4];
for (var10 = 0; var10 < 4; ++var10) {
var15[var10] = var13[var10] + 50;
}
var2.newIsaacCipher(var15);
loginState = 6;
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var31 = ((AbstractSocket)var1).readUnsignedByte();
if (var31 == 21 && gameState == 20) {
loginState = 12;
} else if (var31 == 2) {
loginState = 14;
} else if (var31 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
loginState = 19;
} else if (var31 == 64) {
loginState = 10;
} else if (var31 == 23 && field681 < 1) {
++field681;
loginState = 0;
} else if (var31 == 29) {
loginState = 17;
} else {
if (var31 != 69) {
UserComparator8.getLoginError(var31);
return;
}
loginState = 7;
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) {
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
WorldMapLabel.field258 = var2.readUnsignedShort();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapLabel.field258) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, var2.offset, WorldMapLabel.field258);
class7 var23 = BufferedSink.method5889()[var2.readUnsignedByte()];
try {
class12 var32 = ItemContainer.method1250(var23);
this.field687 = new class9(var2, var32);
loginState = 9;
} catch (Exception var20) {
UserComparator8.getLoginError(22);
return;
}
}
if (loginState == 9 && this.field687.method112()) {
this.field686 = this.field687.method98();
this.field687.method97();
this.field687 = null;
if (this.field686 == null) {
UserComparator8.getLoginError(22);
return;
}
packetWriter.clearBuffer();
var3 = class236.method4163();
var3.packetBuffer.writeByte(LoginPacket.field2336.id);
var3.packetBuffer.writeShort(this.field686.offset);
var3.packetBuffer.method5536(this.field686);
packetWriter.addNode(var3);
packetWriter.flush();
this.field686 = null;
loginState = 6;
}
if (loginState == 10 && ((AbstractSocket)var1).available() > 0) {
class58.field433 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 11;
}
if (loginState == 11 && ((AbstractSocket)var1).available() >= class58.field433) {
((AbstractSocket)var1).read(var2.array, 0, class58.field433);
var2.offset = 0;
loginState = 6;
}
if (loginState == 12 && ((AbstractSocket)var1).available() > 0) {
field682 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
loginState = 13;
}
if (loginState == 13) {
field892 = 0;
GameShell.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field682 / 60 + " seconds.");
if (--field682 <= 0) {
loginState = 0;
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) {
UrlRequester.field1963 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 15;
}
if (loginState == 15 && ((AbstractSocket)var1).available() >= UrlRequester.field1963) {
var12 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var24 = false;
if (var12) {
var4 = var2.readByteIsaac() << 24;
var4 |= var2.readByteIsaac() << 16;
var4 |= var2.readByteIsaac() << 8;
var4 |= var2.readByteIsaac();
String var28 = Login.Login_username;
var7 = var28.length();
int var16 = 0;
var9 = 0;
while (true) {
if (var9 >= var7) {
if (Timer.clientPreferences.parameters.size() >= 10 && !Timer.clientPreferences.parameters.containsKey(var16)) {
Iterator var30 = Timer.clientPreferences.parameters.entrySet().iterator();
var30.next();
var30.remove();
}
Timer.clientPreferences.parameters.put(var16, var4);
break;
}
var16 = (var16 << 5) - var16 + var28.charAt(var9);
++var9;
}
}
if (Login_isUsernameRemembered) {
Timer.clientPreferences.rememberedUsername = Login.Login_username;
} else {
Timer.clientPreferences.rememberedUsername = null;
}
GrandExchangeOffer.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field766 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var26 = Tiles.ServerPacket_values();
var14 = var2.readSmartByteShortIsaac();
if (var14 < 0 || var14 >= var26.length) {
throw new IOException(var14 + " " + var2.offset);
}
packetWriter.serverPacket = var26[var14];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
class56.method901(WorldMapIcon_0.client, "zap");
} catch (Throwable var19) {
}
loginState = 16;
}
if (loginState == 16) {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method5013();
Players.method2208();
class307.updatePlayer(var2);
class182.field2112 = -1;
ItemContainer.loadRegions(false, var2);
packetWriter.serverPacket = null;
}
} else {
if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
MusicPatch.field2497 = var2.readUnsignedShort();
loginState = 18;
}
if (loginState == 18 && ((AbstractSocket)var1).available() >= MusicPatch.field2497) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, MusicPatch.field2497);
var2.offset = 0;
String var25 = var2.readStringCp1252NullTerminated();
String var33 = var2.readStringCp1252NullTerminated();
String var27 = var2.readStringCp1252NullTerminated();
GameShell.setLoginResponseString(var25, var33, var27);
WorldMapCacheName.updateGameState(10);
}
if (loginState == 19) {
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;
var31 = packetWriter.serverPacketLength;
timer.method5015();
DefaultsGroup.method5939();
class307.updatePlayer(var2);
if (var31 != var2.offset) {
throw new RuntimeException();
}
}
} else {
++field892;
if (field892 > 2000) {
if (field681 < 1) {
if (class278.port1 == ArchiveDiskAction.port3) {
ArchiveDiskAction.port3 = Players.port2;
} else {
ArchiveDiskAction.port3 = class278.port1;
}
++field681;
loginState = 0;
} else {
UserComparator8.getLoginError(-3);
}
}
}
}
}
} catch (IOException var21) {
if (field681 < 1) {
if (class278.port1 == ArchiveDiskAction.port3) {
ArchiveDiskAction.port3 = Players.port2;
} else {
ArchiveDiskAction.port3 = class278.port1;
}
++field681;
loginState = 0;
} else {
UserComparator8.getLoginError(-2);
}
}
}
@ObfuscatedName("fw")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "-105"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (field696) {
field696 = false;
LoginScreenAnimation.method1903();
} else {
if (!isMenuOpen) {
ApproximateRouteStrategy.addCancelMenuEntry();
}
int var1;
for (var1 = 0; var1 < 100 && this.method1687(packetWriter); ++var1) {
}
if (gameState == 30) {
int var2;
PacketBufferNode var15;
while (class23.method225()) {
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2280, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
var2 = var15.packetBuffer.offset;
WorldMapData_0.performReflectionCheck(var15.packetBuffer);
var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2);
packetWriter.addNode(var15);
}
if (timer.field3614) {
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2251, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
var2 = var15.packetBuffer.offset;
timer.write(var15.packetBuffer);
var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2);
packetWriter.addNode(var15);
timer.method5014();
}
int var3;
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
synchronized(SoundCache.mouseRecorder.lock) {
if (!field907) {
SoundCache.mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || SoundCache.mouseRecorder.index >= 40) {
PacketBufferNode var16 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < SoundCache.mouseRecorder.index && (var16 == null || var16.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = SoundCache.mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = SoundCache.mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field657 || var8 != field658) {
if (var16 == null) {
var16 = ItemContainer.getPacketBufferNode(ClientPacket.field2326, packetWriter.isaacCipher);
var16.packetBuffer.writeByte(0);
var3 = var16.packetBuffer.offset;
PacketBuffer var10000 = var16.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (-1L != field794) {
var10 = var9 - field657;
var11 = var8 - field658;
var12 = (int)((SoundCache.mouseRecorder.millis[var7] - field794) / 20L);
var5 = (int)((long)var5 + (SoundCache.mouseRecorder.millis[var7] - field794) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field657 = var9;
field658 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var16.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var16.packetBuffer.writeByte(var12 + 128);
var16.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var16.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var16.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var16.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var16.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var16.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var16.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field794 = SoundCache.mouseRecorder.millis[var7];
}
}
if (var16 != null) {
var16.packetBuffer.writeLengthByte(var16.packetBuffer.offset - var3);
var7 = var16.packetBuffer.offset;
var16.packetBuffer.offset = var3;
var16.packetBuffer.writeByte(var5 / var6);
var16.packetBuffer.writeByte(var5 % var6);
var16.packetBuffer.offset = var7;
packetWriter.addNode(var16);
}
if (var4 >= SoundCache.mouseRecorder.index) {
SoundCache.mouseRecorder.index = 0;
} else {
MouseRecorder var44 = SoundCache.mouseRecorder;
var44.index -= var4;
System.arraycopy(SoundCache.mouseRecorder.xs, var4, SoundCache.mouseRecorder.xs, 0, SoundCache.mouseRecorder.index);
System.arraycopy(SoundCache.mouseRecorder.ys, var4, SoundCache.mouseRecorder.ys, 0, SoundCache.mouseRecorder.index);
System.arraycopy(SoundCache.mouseRecorder.millis, var4, SoundCache.mouseRecorder.millis, 0, SoundCache.mouseRecorder.index);
}
}
}
PacketBufferNode var19;
if (MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var17 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L;
if (var17 > 32767L) {
var17 = 32767L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > ModelData0.canvasHeight) {
var3 = ModelData0.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > IgnoreList.canvasWidth) {
var4 = IgnoreList.canvasWidth;
}
var5 = (int)var17;
var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2329, packetWriter.isaacCipher);
var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1));
var19.packetBuffer.writeShort(var4);
var19.packetBuffer.writeShort(var3);
packetWriter.addNode(var19);
}
if (KeyHandler.field414 > 0) {
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher);
var15.packetBuffer.writeShort(0);
var2 = var15.packetBuffer.offset;
long var20 = class298.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field414; ++var5) {
long var22 = var20 - field817;
if (var22 > 16777215L) {
var22 = 16777215L;
}
field817 = var20;
var15.packetBuffer.method5585((int)var22);
var15.packetBuffer.writeIntME(KeyHandler.field413[var5]);
}
var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var2);
packetWriter.addNode(var15);
}
if (field732 > 0) {
--field732;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field843 = true;
}
if (field843 && field732 <= 0) {
field732 = 20;
field843 = false;
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2275, packetWriter.isaacCipher);
var15.packetBuffer.method5739(camAngleX);
var15.packetBuffer.method5739(camAngleY);
packetWriter.addNode(var15);
}
if (ScriptEvent.hasFocus && !hadFocus) {
hadFocus = true;
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2277, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(1);
packetWriter.addNode(var15);
}
if (!ScriptEvent.hasFocus && hadFocus) {
hadFocus = false;
var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2277, packetWriter.isaacCipher);
var15.packetBuffer.writeByte(0);
packetWriter.addNode(var15);
}
if (WorldMapRectangle.worldMap != null) {
WorldMapRectangle.worldMap.method6363();
}
GrandExchangeOfferNameComparator.method209();
NetSocket.method3608();
if (gameState == 30) {
WorldMapDecoration.method382();
WorldMapManager.method679();
++packetWriter.field1333;
if (packetWriter.field1333 > 750) {
LoginScreenAnimation.method1903();
} else {
var1 = Players.Players_count;
int[] var36 = Players.Players_indices;
for (var3 = 0; var3 < var1; ++var3) {
Player var24 = players[var36[var3]];
if (var24 != null) {
WorldMapID.updateActorSequence(var24, 1);
}
}
UserComparator9.method3477();
WorldMapManager.method703();
++field850;
if (mouseCrossColor != 0) {
mouseCrossState = mouseCrossState * 400 + 400;
if (mouseCrossState * 20 >= 400) {
mouseCrossColor = 0;
}
}
if (NPC.field1131 != null) {
++field754;
if (field754 >= 15) {
CollisionMap.invalidateWidget(NPC.field1131);
NPC.field1131 = null;
}
}
Widget var35 = EnumDefinition.mousedOverWidgetIf1;
Widget var37 = CollisionMap.field2092;
EnumDefinition.mousedOverWidgetIf1 = null;
CollisionMap.field2092 = null;
draggedOnWidget = null;
field829 = false;
field859 = false;
field870 = 0;
while (GrandExchangeOfferNameComparator.isKeyDown() && field870 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && StudioGame.field3135 == 66) {
String var40 = "";
Message var38;
for (Iterator var25 = Messages.Messages_hashTable.iterator(); var25.hasNext(); var40 = var40 + var38.sender + ':' + var38.text + '\n') {
var38 = (Message)var25.next();
}
WorldMapIcon_0.client.clipboardSetString(var40);
} else if (oculusOrbState != 1 || WorldMapIcon_1.field200 <= 0) {
field693[field870] = StudioGame.field3135;
field661[field870] = WorldMapIcon_1.field200;
++field870;
}
}
boolean var31 = staffModLevel >= 2;
if (var31 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var4 = PlayerAppearance.localPlayer.plane - mouseWheelRotation;
if (var4 < 0) {
var4 = 0;
} else if (var4 > 3) {
var4 = 3;
}
if (var4 != PlayerAppearance.localPlayer.plane) {
var5 = PlayerAppearance.localPlayer.pathX[0] + NetFileRequest.baseX * 64;
var6 = PlayerAppearance.localPlayer.pathY[0] + class41.baseY * 64;
PacketBufferNode var27 = ItemContainer.getPacketBufferNode(ClientPacket.field2269, packetWriter.isaacCipher);
var27.packetBuffer.method5578(var5);
var27.packetBuffer.method5587(0);
var27.packetBuffer.method5739(var6);
var27.packetBuffer.writeByte(var4);
packetWriter.addNode(var27);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
class51.updateRootInterface(rootInterface, 0, 0, IgnoreList.canvasWidth, ModelData0.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var39;
ScriptEvent var41;
Widget var42;
do {
var41 = (ScriptEvent)field715.removeLast();
if (var41 == null) {
while (true) {
do {
var41 = (ScriptEvent)field849.removeLast();
if (var41 == null) {
while (true) {
do {
var41 = (ScriptEvent)scriptEvents.removeLast();
if (var41 == null) {
this.menu();
if (WorldMapRectangle.worldMap != null) {
WorldMapRectangle.worldMap.method6370(GameObject.Client_plane, NetFileRequest.baseX * 64 + (PlayerAppearance.localPlayer.x >> 7), class41.baseY * 64 + (PlayerAppearance.localPlayer.y >> 7), false);
WorldMapRectangle.worldMap.loadCache();
}
if (clickedWidget != null) {
this.method1381();
}
if (class171.dragInventoryWidget != null) {
CollisionMap.invalidateWidget(class171.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field848) {
if (Occluder.hoveredItemContainer == class171.dragInventoryWidget && dragItemSlotSource != dragItemSlotDestination) {
Widget var43 = class171.dragInventoryWidget;
byte var32 = 0;
if (field865 == 1 && var43.contentType == 206) {
var32 = 1;
}
if (var43.itemIds[dragItemSlotDestination] <= 0) {
var32 = 0;
}
if (BoundaryObject.method3341(FaceNormal.getWidgetFlags(var43))) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
var43.itemIds[var7] = var43.itemIds[var6];
var43.itemQuantities[var7] = var43.itemQuantities[var6];
var43.itemIds[var6] = -1;
var43.itemQuantities[var6] = 0;
} else if (var32 == 1) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
while (var6 != var7) {
if (var6 > var7) {
var43.swapItems(var6 - 1, var6);
--var6;
} else if (var6 < var7) {
var43.swapItems(var6 + 1, var6);
++var6;
}
}
} else {
var43.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2302, packetWriter.isaacCipher);
var19.packetBuffer.writeInt(class171.dragInventoryWidget.id);
var19.packetBuffer.method5739(dragItemSlotSource);
var19.packetBuffer.writeShort(dragItemSlotDestination);
var19.packetBuffer.writeByte(var32);
packetWriter.addNode(var19);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(draggedWidgetX, draggedWidgetY);
} else if (menuOptionsCount > 0) {
var4 = draggedWidgetX;
var5 = draggedWidgetY;
WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var4, var5);
WorldMapSection1.tempMenuAction = null;
}
field754 = 10;
MouseHandler.MouseHandler_lastButton = 0;
class171.dragInventoryWidget = null;
} else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) {
field848 = true;
}
}
if (Scene.shouldSendWalk()) {
var4 = Scene.Scene_selectedX;
var5 = Scene.Scene_selectedY;
var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2232, packetWriter.isaacCipher);
var19.packetBuffer.writeByte(5);
var19.packetBuffer.method5739(NetFileRequest.baseX * 64 + var4);
var19.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
var19.packetBuffer.writeShortLE(class41.baseY * 64 + var5);
packetWriter.addNode(var19);
Scene.method3199();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var4;
destinationY = var5;
}
if (var35 != EnumDefinition.mousedOverWidgetIf1) {
if (var35 != null) {
CollisionMap.invalidateWidget(var35);
}
if (EnumDefinition.mousedOverWidgetIf1 != null) {
CollisionMap.invalidateWidget(EnumDefinition.mousedOverWidgetIf1);
}
}
if (var37 != CollisionMap.field2092 && field751 == field799) {
if (var37 != null) {
CollisionMap.invalidateWidget(var37);
}
if (CollisionMap.field2092 != null) {
CollisionMap.invalidateWidget(CollisionMap.field2092);
}
}
if (CollisionMap.field2092 != null) {
if (field799 < field751) {
++field799;
if (field751 == field799) {
CollisionMap.invalidateWidget(CollisionMap.field2092);
}
}
} else if (field799 > 0) {
--field799;
}
int var28;
if (oculusOrbState == 0) {
var4 = PlayerAppearance.localPlayer.x;
var5 = PlayerAppearance.localPlayer.y;
if (SecureRandomFuture.oculusOrbFocalPointX - var4 < -500 || SecureRandomFuture.oculusOrbFocalPointX - var4 > 500 || Decimator.oculusOrbFocalPointY - var5 < -500 || Decimator.oculusOrbFocalPointY - var5 > 500) {
SecureRandomFuture.oculusOrbFocalPointX = var4;
Decimator.oculusOrbFocalPointY = var5;
}
if (var4 != SecureRandomFuture.oculusOrbFocalPointX) {
SecureRandomFuture.oculusOrbFocalPointX += (var4 - SecureRandomFuture.oculusOrbFocalPointX) / 16;
}
if (var5 != Decimator.oculusOrbFocalPointY) {
Decimator.oculusOrbFocalPointY += (var5 - Decimator.oculusOrbFocalPointY) / 16;
}
var6 = SecureRandomFuture.oculusOrbFocalPointX >> 7;
var7 = Decimator.oculusOrbFocalPointY >> 7;
var8 = SecureRandomFuture.getTileHeight(SecureRandomFuture.oculusOrbFocalPointX, Decimator.oculusOrbFocalPointY, GameObject.Client_plane);
var9 = 0;
if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) {
for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) {
for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) {
var12 = GameObject.Client_plane;
if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) {
++var12;
}
var28 = var8 - Tiles.Tiles_heights[var12][var10][var11];
if (var28 > var9) {
var9 = var28;
}
}
}
}
var10 = var9 * 192;
if (var10 > 98048) {
var10 = 98048;
}
if (var10 < 32768) {
var10 = 32768;
}
if (var10 > field918) {
field918 += (var10 - field918) / 24;
} else if (var10 < field918) {
field918 += (var10 - field918) / 80;
}
PacketWriter.field1341 = SecureRandomFuture.getTileHeight(PlayerAppearance.localPlayer.x, PlayerAppearance.localPlayer.y, GameObject.Client_plane) - camFollowHeight;
} else if (oculusOrbState == 1) {
if (field649 && PlayerAppearance.localPlayer != null) {
var4 = PlayerAppearance.localPlayer.pathX[0];
var5 = PlayerAppearance.localPlayer.pathY[0];
if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) {
SecureRandomFuture.oculusOrbFocalPointX = PlayerAppearance.localPlayer.x;
var6 = SecureRandomFuture.getTileHeight(PlayerAppearance.localPlayer.x, PlayerAppearance.localPlayer.y, GameObject.Client_plane) - camFollowHeight;
if (var6 < PacketWriter.field1341) {
PacketWriter.field1341 = var6;
}
Decimator.oculusOrbFocalPointY = PlayerAppearance.localPlayer.y;
field649 = false;
}
}
short var33 = -1;
if (KeyHandler.KeyHandler_pressedKeys[33]) {
var33 = 0;
} else if (KeyHandler.KeyHandler_pressedKeys[49]) {
var33 = 1024;
}
if (KeyHandler.KeyHandler_pressedKeys[48]) {
if (var33 == 0) {
var33 = 1792;
} else if (var33 == 1024) {
var33 = 1280;
} else {
var33 = 1536;
}
} else if (KeyHandler.KeyHandler_pressedKeys[50]) {
if (var33 == 0) {
var33 = 256;
} else if (var33 == 1024) {
var33 = 768;
} else {
var33 = 512;
}
}
byte var34 = 0;
if (KeyHandler.KeyHandler_pressedKeys[35]) {
var34 = -1;
} else if (KeyHandler.KeyHandler_pressedKeys[51]) {
var34 = 1;
}
var6 = 0;
if (var33 >= 0 || var34 != 0) {
var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed;
var6 *= 16;
field761 = var33;
field788 = var34;
}
if (field755 < var6) {
field755 += var6 / 8;
if (field755 > var6) {
field755 = var6;
}
} else if (field755 > var6) {
field755 = field755 * 9 / 10;
}
if (field755 > 0) {
var7 = field755 / 16;
if (field761 >= 0) {
var4 = field761 - AbstractArchive.cameraYaw & 2047;
var8 = Rasterizer3D.Rasterizer3D_sine[var4];
var9 = Rasterizer3D.Rasterizer3D_cosine[var4];
SecureRandomFuture.oculusOrbFocalPointX += var7 * var8 / 65536;
Decimator.oculusOrbFocalPointY += var9 * var7 / 65536;
}
if (field788 != 0) {
PacketWriter.field1341 += var7 * field788;
if (PacketWriter.field1341 > 0) {
PacketWriter.field1341 = 0;
}
}
} else {
field761 = -1;
field788 = -1;
}
if (KeyHandler.KeyHandler_pressedKeys[13]) {
packetWriter.addNode(ItemContainer.getPacketBufferNode(ClientPacket.field2244, packetWriter.isaacCipher));
oculusOrbState = 0;
}
}
if (MouseHandler.MouseHandler_currentButton == 4 && UserComparator9.mouseCam) {
var4 = MouseHandler.MouseHandler_y - mouseCamClickedY;
camAngleDX = var4 * 2;
mouseCamClickedY = var4 != -1 && var4 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y;
var5 = mouseCamClickedX - MouseHandler.MouseHandler_x;
camAngleDY = var5 * 2;
mouseCamClickedX = var5 != -1 && var5 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 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) {
var4 = RouteStrategy.field2124 * 16384 + 64;
var5 = class89.field1140 * 16384 + 64;
var6 = SecureRandomFuture.getTileHeight(var4, var5, GameObject.Client_plane) - class41.field302;
if (Player.cameraX < var4) {
Player.cameraX = (var4 - Player.cameraX) * WorldMapRegion.field271 / 1000 + Player.cameraX + DynamicObject.field1316;
if (Player.cameraX > var4) {
Player.cameraX = var4;
}
}
if (Player.cameraX > var4) {
Player.cameraX -= WorldMapRegion.field271 * (Player.cameraX - var4) / 1000 + DynamicObject.field1316;
if (Player.cameraX < var4) {
Player.cameraX = var4;
}
}
if (KeyHandler.cameraY < var6) {
KeyHandler.cameraY = (var6 - KeyHandler.cameraY) * WorldMapRegion.field271 / 1000 + KeyHandler.cameraY + DynamicObject.field1316;
if (KeyHandler.cameraY > var6) {
KeyHandler.cameraY = var6;
}
}
if (KeyHandler.cameraY > var6) {
KeyHandler.cameraY -= WorldMapRegion.field271 * (KeyHandler.cameraY - var6) / 1000 + DynamicObject.field1316;
if (KeyHandler.cameraY < var6) {
KeyHandler.cameraY = var6;
}
}
if (class69.cameraZ < var5) {
class69.cameraZ = (var5 - class69.cameraZ) * WorldMapRegion.field271 / 1000 + class69.cameraZ + DynamicObject.field1316;
if (class69.cameraZ > var5) {
class69.cameraZ = var5;
}
}
if (class69.cameraZ > var5) {
class69.cameraZ -= WorldMapRegion.field271 * (class69.cameraZ - var5) / 1000 + DynamicObject.field1316;
if (class69.cameraZ < var5) {
class69.cameraZ = var5;
}
}
var4 = WorldMapData_0.field112 * 16384 + 64;
var5 = EnumDefinition.field3340 * 16384 + 64;
var6 = SecureRandomFuture.getTileHeight(var4, var5, GameObject.Client_plane) - class25.field128;
var7 = var4 - Player.cameraX;
var8 = var6 - KeyHandler.cameraY;
var9 = var5 - class69.cameraZ;
var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9));
var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047;
var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047;
if (var11 < 128) {
var11 = 128;
}
if (var11 > 383) {
var11 = 383;
}
if (Skeleton.cameraPitch < var11) {
Skeleton.cameraPitch = (var11 - Skeleton.cameraPitch) * ModeWhere.field2405 / 1000 + Skeleton.cameraPitch + Players.field1267;
if (Skeleton.cameraPitch > var11) {
Skeleton.cameraPitch = var11;
}
}
if (Skeleton.cameraPitch > var11) {
Skeleton.cameraPitch -= ModeWhere.field2405 * (Skeleton.cameraPitch - var11) / 1000 + Players.field1267;
if (Skeleton.cameraPitch < var11) {
Skeleton.cameraPitch = var11;
}
}
var28 = var12 - AbstractArchive.cameraYaw;
if (var28 > 1024) {
var28 -= 2048;
}
if (var28 < -1024) {
var28 += 2048;
}
if (var28 > 0) {
AbstractArchive.cameraYaw = var28 * ModeWhere.field2405 / 1000 + AbstractArchive.cameraYaw + Players.field1267;
AbstractArchive.cameraYaw &= 2047;
}
if (var28 < 0) {
AbstractArchive.cameraYaw -= Players.field1267 + -var28 * ModeWhere.field2405 / 1000;
AbstractArchive.cameraYaw &= 2047;
}
int var14 = var12 - AbstractArchive.cameraYaw;
if (var14 > 1024) {
var14 -= 2048;
}
if (var14 < -1024) {
var14 += 2048;
}
if (var14 < 0 && var28 > 0 || var14 > 0 && var28 < 0) {
AbstractArchive.cameraYaw = var12;
}
}
for (var4 = 0; var4 < 5; ++var4) {
int var10002 = field644[var4]++;
}
Varcs.varcs.tryWrite();
var4 = Occluder.method3378();
var5 = VarcInt.method4427();
if (var4 > 15000 && var5 > 15000) {
logoutTimer = 250;
ChatChannel.method2317(14500);
var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2303, packetWriter.isaacCipher);
packetWriter.addNode(var19);
}
MilliClock.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2322, packetWriter.isaacCipher);
packetWriter.addNode(var19);
}
try {
packetWriter.flush();
} catch (IOException var29) {
LoginScreenAnimation.method1903();
}
return;
}
var42 = var41.widget;
if (var42.childIndex < 0) {
break;
}
var39 = CollisionMap.getWidget(var42.parentId);
} while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]);
class22.runScriptEvent(var41);
}
}
var42 = var41.widget;
if (var42.childIndex < 0) {
break;
}
var39 = CollisionMap.getWidget(var42.parentId);
} while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]);
class22.runScriptEvent(var41);
}
}
var42 = var41.widget;
if (var42.childIndex < 0) {
break;
}
var39 = CollisionMap.getWidget(var42.parentId);
} while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]);
class22.runScriptEvent(var41);
}
}
}
}
}
}
@ObfuscatedName("ge")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "890034121"
)
@Export("resizeJS")
void resizeJS() {
int var1 = IgnoreList.canvasWidth;
int var2 = ModelData0.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (Timer.clientPreferences != null) {
try {
Client var3 = WorldMapIcon_0.client;
Object[] var4 = new Object[]{SoundSystem.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("gn")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-527814205"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
if (rootInterface != -1) {
NPCDefinition.method4759(rootInterface);
}
int var1;
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field901[var1]) {
field854[var1] = true;
}
field855[var1] = field901[var1];
field901[var1] = false;
}
field852 = cycle;
viewportX = -1;
viewportY = -1;
Occluder.hoveredItemContainer = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
KeyHandler.drawWidgets(rootInterface, 0, 0, IgnoreList.canvasWidth, ModelData0.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
GrandExchangeOfferAgeComparator.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
GrandExchangeOfferAgeComparator.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
if (!isMenuOpen) {
if (viewportX != -1) {
WorldMapData_0.method243(viewportX, viewportY);
}
} else {
var1 = AbstractUserComparator.menuX;
int var2 = DynamicObject.menuY;
int var3 = Occluder.menuWidth;
int var4 = class182.menuHeight;
int var5 = 6116423;
Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var5);
Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0);
Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0);
GrandExchangeOfferTotalQuantityComparator.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var5, -1);
int var6 = MouseHandler.MouseHandler_x;
int var7 = MouseHandler.MouseHandler_y;
for (int var8 = 0; var8 < menuOptionsCount; ++var8) {
int var9 = (menuOptionsCount - 1 - var8) * 15 + var2 + 31;
int var10 = 16777215;
if (var6 > var1 && var6 < var3 + var1 && var7 > var9 - 13 && var7 < var9 + 3) {
var10 = 16776960;
}
GrandExchangeOfferTotalQuantityComparator.fontBold12.draw(ArchiveLoader.method1230(var8), var1 + 3, var9, var10, 0);
}
Strings.method4157(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight);
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field855[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field854[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
FriendsList.method5222(GameObject.Client_plane, PlayerAppearance.localPlayer.x, PlayerAppearance.localPlayer.y, field850);
field850 = 0;
}
@ObfuscatedName("he")
@ObfuscatedSignature(
descriptor = "(Ldh;B)Z",
garbageValue = "126"
)
final boolean method1687(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
String var17;
int var18;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1332) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1333 = 0;
var1.field1332 = false;
}
var3.offset = 0;
if (var3.method5491()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1333 = 0;
}
var1.field1332 = true;
ServerPacket[] var4 = Tiles.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.field1333 = 0;
timer.method5010();
var1.field1337 = var1.field1336;
var1.field1336 = var1.field1335;
var1.field1335 = var1.serverPacket;
int var16;
String var44;
boolean var46;
if (ServerPacket.field2139 == var1.serverPacket) {
var16 = var3.readUShortSmart();
var46 = var3.readUnsignedByte() == 1;
var44 = "";
boolean var48 = false;
if (var46) {
var44 = var3.readStringCp1252NullTerminated();
if (MilliClock.friendSystem.isIgnored(new Username(var44, GrandExchangeOfferUnitPriceComparator.loginType))) {
var48 = true;
}
}
String var43 = var3.readStringCp1252NullTerminated();
if (!var48) {
class234.addGameMessage(var16, var44, var43);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2172 == var1.serverPacket) {
var16 = var3.method5539();
if (var16 == 65535) {
var16 = -1;
}
WorldMapData_0.playSong(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2188 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5586();
LoginPacket.method3672(var16, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2187 == var1.serverPacket) {
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
VarpDefinition var56 = class219.VarpDefinition_get(var16);
if (var56 != null) {
Varps.Varps_temp[var16] = 0;
Varps.Varps_main[var16] = 0;
}
}
class195.method3681();
field835 += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2157 == var1.serverPacket) {
WorldMapData_0.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2145 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
FontName.method5354(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2152 == var1.serverPacket) {
UserComparator4.method3465(class194.field2345);
var1.serverPacket = null;
return true;
}
String var38;
if (ServerPacket.field2189 == var1.serverPacket) {
var38 = var3.readStringCp1252NullTerminated();
Object[] var55 = new Object[var38.length() + 1];
for (var18 = var38.length() - 1; var18 >= 0; --var18) {
if (var38.charAt(var18) == 's') {
var55[var18 + 1] = var3.readStringCp1252NullTerminated();
} else {
var55[var18 + 1] = new Integer(var3.readInt());
}
}
var55[0] = new Integer(var3.readInt());
ScriptEvent var47 = new ScriptEvent();
var47.args = var55;
class22.runScriptEvent(var47);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2217 == var1.serverPacket) {
if (WorldMapArea.clanChat != null) {
WorldMapArea.clanChat.method5251(var3);
}
WorldMapLabel.method469();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2175 == var1.serverPacket) {
WorldMapData_0.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2176 == var1.serverPacket) {
SoundSystem.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2174 == 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);
}
field685 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var51;
if (ServerPacket.field2150 == var1.serverPacket) {
var16 = var3.readInt();
var51 = CollisionMap.getWidget(var16);
var51.modelType = 3;
var51.modelId = PlayerAppearance.localPlayer.appearance.getChatHeadId();
CollisionMap.invalidateWidget(var51);
var1.serverPacket = null;
return true;
}
int var7;
int var9;
long var12;
int var19;
InterfaceParent var20;
int var21;
if (ServerPacket.field2184 == var1.serverPacket) {
var16 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var18 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
class304.Widget_resetModelFrames(rootInterface);
VarpDefinition.runWidgetOnLoadListener(rootInterface);
for (var7 = 0; var7 < 100; ++var7) {
field901[var7] = true;
}
}
InterfaceParent var45;
for (; var18-- > 0; var45.field559 = true) {
var7 = var3.readInt();
var19 = var3.readUnsignedShort();
var9 = var3.readUnsignedByte();
var45 = (InterfaceParent)interfaceParents.get((long)var7);
if (var45 != null && var19 != var45.group) {
MouseRecorder.closeInterface(var45, true);
var45 = null;
}
if (var45 == null) {
var45 = NetFileRequest.method4189(var7, var19, var9);
}
}
for (var20 = (InterfaceParent)interfaceParents.first(); var20 != null; var20 = (InterfaceParent)interfaceParents.next()) {
if (var20.field559) {
var20.field559 = false;
} else {
MouseRecorder.closeInterface(var20, true);
}
}
widgetFlags = new NodeHashTable(512);
while (var3.offset < var16) {
var7 = var3.readInt();
var19 = var3.readUnsignedShort();
var9 = var3.readUnsignedShort();
var21 = var3.readInt();
for (int var11 = var19; var11 <= var9; ++var11) {
var12 = (long)var11 + ((long)var7 << 32);
widgetFlags.put(new IntegerNode(var21), var12);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2143 == var1.serverPacket) {
class248.field3222 = var3.method5573();
PacketWriter.field1331 = var3.method5573();
while (var3.offset < var1.serverPacketLength) {
var16 = var3.readUnsignedByte();
class194 var54 = InvDefinition.method4371()[var16];
UserComparator4.method3465(var54);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2199 == 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() * 4;
}
if (hintArrowType == 10) {
hintArrowPlayerIndex = var3.readUnsignedShort();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2154 == var1.serverPacket) {
UserComparator4.method3465(class194.field2348);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2149 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var18 = var3.readUnsignedShort();
class232.queueSoundEffect(var16, var5, var18);
var1.serverPacket = null;
return true;
}
Widget var40;
if (ServerPacket.field2191 == var1.serverPacket) {
var16 = var3.method5582();
var5 = var3.readInt();
var40 = CollisionMap.getWidget(var5);
if (var40 != null && var40.type == 0) {
if (var16 > var40.scrollHeight - var40.height) {
var16 = var40.scrollHeight - var40.height;
}
if (var16 < 0) {
var16 = 0;
}
if (var16 != var40.scrollY) {
var40.scrollY = var16;
CollisionMap.invalidateWidget(var40);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2219 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2169 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var18 = var3.readUnsignedByte();
var7 = var3.readUnsignedByte();
field902[var16] = true;
field679[var16] = var5;
field893[var16] = var18;
field705[var16] = var7;
field644[var16] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2214 == 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.field2165 == var1.serverPacket) {
UserComparator4.method3465(class194.field2351);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2215 == var1.serverPacket) {
rebootTimer = var3.method5582() * 30;
field845 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2153 == var1.serverPacket) {
var16 = var3.method5643();
var5 = var3.method5583();
var40 = CollisionMap.getWidget(var16);
if (var5 != var40.sequenceId || var5 == -1) {
var40.sequenceId = var5;
var40.modelFrame = 0;
var40.modelFrameCycle = 0;
CollisionMap.invalidateWidget(var40);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2207 == var1.serverPacket) {
class195.method3681();
runEnergy = var3.readUnsignedByte();
field845 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var58;
if (ServerPacket.field2218 == var1.serverPacket) {
var16 = var3.method5580();
var5 = var3.readUnsignedShort();
var18 = var3.readInt();
var58 = CollisionMap.getWidget(var18);
var58.field2642 = var16 + (var5 << 16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2160 == var1.serverPacket) {
var16 = var3.readInt();
InterfaceParent var53 = (InterfaceParent)interfaceParents.get((long)var16);
if (var53 != null) {
MouseRecorder.closeInterface(var53, true);
}
if (meslayerContinueWidget != null) {
CollisionMap.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2185 == var1.serverPacket) {
var16 = var3.method5643();
var5 = var3.method5571();
var18 = var3.method5580();
var20 = (InterfaceParent)interfaceParents.get((long)var16);
if (var20 != null) {
MouseRecorder.closeInterface(var20, var18 != var20.group);
}
NetFileRequest.method4189(var16, var18, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2162 == var1.serverPacket) {
MilliClock.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
class9.FriendSystem_invalidateIgnoreds();
field879 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2216 == var1.serverPacket) {
var38 = var3.readStringCp1252NullTerminated();
var17 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3)));
class234.addGameMessage(6, var38, var17);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2148 == var1.serverPacket) {
isCameraLocked = false;
for (var16 = 0; var16 < 5; ++var16) {
field902[var16] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2204 == var1.serverPacket) {
ItemContainer.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2193 == var1.serverPacket) {
isCameraLocked = true;
RouteStrategy.field2124 = var3.readUnsignedByte() * 128;
class89.field1140 = var3.readUnsignedByte() * 128;
class41.field302 = var3.readUnsignedShort();
DynamicObject.field1316 = var3.readUnsignedByte();
WorldMapRegion.field271 = var3.readUnsignedByte();
if (WorldMapRegion.field271 >= 100) {
Player.cameraX = RouteStrategy.field2124 * 16384 + 64;
class69.cameraZ = class89.field1140 * 16384 + 64;
KeyHandler.cameraY = SecureRandomFuture.getTileHeight(Player.cameraX, class69.cameraZ, GameObject.Client_plane) - class41.field302;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2224 == var1.serverPacket) {
if (rootInterface != -1) {
WorldMapRectangle.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2178 == var1.serverPacket) {
var16 = var3.method5582();
rootInterface = var16;
this.resizeRoot(false);
class304.Widget_resetModelFrames(var16);
VarpDefinition.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field901[var5] = true;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2221 == var1.serverPacket) {
class248.field3222 = var3.method5571();
PacketWriter.field1331 = var3.method5571();
for (var16 = PacketWriter.field1331; var16 < PacketWriter.field1331 + 8; ++var16) {
for (var5 = class248.field3222; var5 < class248.field3222 + 8; ++var5) {
if (groundItems[GameObject.Client_plane][var16][var5] != null) {
groundItems[GameObject.Client_plane][var16][var5] = null;
MouseRecorder.updateItemPile(var16, var5);
}
}
}
for (PendingSpawn var41 = (PendingSpawn)pendingSpawns.last(); var41 != null; var41 = (PendingSpawn)pendingSpawns.previous()) {
if (var41.x >= PacketWriter.field1331 && var41.x < PacketWriter.field1331 + 8 && var41.y >= class248.field3222 && var41.y < class248.field3222 + 8 && var41.plane == GameObject.Client_plane) {
var41.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2203 == var1.serverPacket) {
byte[] var39 = new byte[var1.serverPacketLength];
var3.method5493(var39, 0, var39.length);
Buffer var52 = new Buffer(var39);
var44 = var52.readStringCp1252NullTerminated();
AttackOption.openURL(var44, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2164 == var1.serverPacket) {
UserComparator4.method3465(class194.field2344);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2205 == var1.serverPacket) {
tradeChatMode = var3.method5573();
publicChatMode = var3.method5572();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2197 == var1.serverPacket) {
var16 = var3.method5591();
var5 = var3.method5592();
var18 = var3.method5539();
if (var18 == 65535) {
var18 = -1;
}
var58 = CollisionMap.getWidget(var16);
ItemDefinition var42;
if (!var58.isIf3) {
if (var18 == -1) {
var58.modelType = 0;
var1.serverPacket = null;
return true;
}
var42 = SecureRandomCallable.ItemDefinition_get(var18);
var58.modelType = 4;
var58.modelId = var18;
var58.modelAngleX = var42.xan2d;
var58.modelAngleY = var42.yan2d;
var58.modelZoom = var42.zoom2d * 100 / var5;
CollisionMap.invalidateWidget(var58);
} else {
var58.itemId = var18;
var58.itemQuantity = var5;
var42 = SecureRandomCallable.ItemDefinition_get(var18);
var58.modelAngleX = var42.xan2d;
var58.modelAngleY = var42.yan2d;
var58.modelAngleZ = var42.zan2d;
var58.modelOffsetX = var42.offsetX2d;
var58.modelOffsetY = var42.offsetY2d;
var58.modelZoom = var42.zoom2d;
if (var42.isStackable == 1) {
var58.itemQuantityMode = 1;
} else {
var58.itemQuantityMode = 2;
}
if (var58.field2641 > 0) {
var58.modelZoom = var58.modelZoom * 32 / var58.field2641;
} else if (var58.rawWidth > 0) {
var58.modelZoom = var58.modelZoom * 32 / var58.rawWidth;
}
CollisionMap.invalidateWidget(var58);
}
var1.serverPacket = null;
return true;
}
boolean var50;
if (ServerPacket.field2180 == var1.serverPacket) {
var50 = var3.readBoolean();
if (var50) {
if (WorldMapIcon_0.field148 == null) {
WorldMapIcon_0.field148 = new class248();
}
} else {
WorldMapIcon_0.field148 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2170 == var1.serverPacket) {
var16 = var3.method5592();
var5 = var3.readUnsignedShort();
Varps.Varps_temp[var5] = var16;
if (Varps.Varps_main[var5] != var16) {
Varps.Varps_main[var5] = var16;
}
Script.changeGameOptions(var5);
field834[++field835 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2186 == 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.field2167 == var1.serverPacket) {
for (var16 = 0; var16 < Varps.Varps_main.length; ++var16) {
if (Varps.Varps_main[var16] != Varps.Varps_temp[var16]) {
Varps.Varps_main[var16] = Varps.Varps_temp[var16];
Script.changeGameOptions(var16);
field834[++field835 - 1 & 31] = var16;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2210 == var1.serverPacket) {
WorldMapData_0.method244(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2171 == var1.serverPacket) {
UserComparator4.method3465(class194.field2343);
var1.serverPacket = null;
return true;
}
long var22;
long var24;
if (ServerPacket.field2194 == var1.serverPacket) {
var38 = var3.readStringCp1252NullTerminated();
var22 = (long)var3.readUnsignedShort();
var24 = (long)var3.readMedium();
PlayerType var26 = (PlayerType)UrlRequester.findEnumerated(class234.PlayerType_values(), var3.readUnsignedByte());
long var27 = var24 + (var22 << 32);
boolean var29 = false;
for (int var13 = 0; var13 < 100; ++var13) {
if (var27 == field868[var13]) {
var29 = true;
break;
}
}
if (MilliClock.friendSystem.isIgnored(new Username(var38, GrandExchangeOfferUnitPriceComparator.loginType))) {
var29 = true;
}
if (!var29 && field762 == 0) {
field868[field707] = var27;
field707 = (field707 + 1) % 100;
String var30 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3)));
byte var49;
if (var26.isPrivileged) {
var49 = 7;
} else {
var49 = 3;
}
if (var26.modIcon != -1) {
class234.addGameMessage(var49, class25.method248(var26.modIcon) + var38, var30);
} else {
class234.addGameMessage(var49, var38, var30);
}
}
var1.serverPacket = null;
return true;
}
long var31;
if (ServerPacket.field2192 == var1.serverPacket) {
var38 = var3.readStringCp1252NullTerminated();
var22 = var3.readLong();
var24 = (long)var3.readUnsignedShort();
var31 = (long)var3.readMedium();
PlayerType var60 = (PlayerType)UrlRequester.findEnumerated(class234.PlayerType_values(), var3.readUnsignedByte());
var12 = (var24 << 32) + var31;
boolean var14 = false;
for (int var15 = 0; var15 < 100; ++var15) {
if (field868[var15] == var12) {
var14 = true;
break;
}
}
if (var60.isUser && MilliClock.friendSystem.isIgnored(new Username(var38, GrandExchangeOfferUnitPriceComparator.loginType))) {
var14 = true;
}
if (!var14 && field762 == 0) {
field868[field707] = var12;
field707 = (field707 + 1) % 100;
String var34 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3)));
if (var60.modIcon != -1) {
UserComparator10.addChatMessage(9, class25.method248(var60.modIcon) + var38, var34, ParamDefinition.base37DecodeLong(var22));
} else {
UserComparator10.addChatMessage(9, var38, var34, ParamDefinition.base37DecodeLong(var22));
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2173 == var1.serverPacket) {
WorldMapRectangle.logOut();
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2168 == var1.serverPacket) {
UserComparator10.updatePlayers(var3, var1.serverPacketLength);
TextureProvider.method2848();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2206 == var1.serverPacket) {
MilliClock.friendSystem.readUpdate(var3, var1.serverPacketLength);
field879 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2151 == var1.serverPacket) {
var16 = var3.method5582();
var5 = var3.method5591();
var40 = CollisionMap.getWidget(var5);
if (var40.modelType != 2 || var16 != var40.modelId) {
var40.modelType = 2;
var40.modelId = var16;
CollisionMap.invalidateWidget(var40);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2190 == var1.serverPacket) {
var16 = var3.method5643();
var5 = var3.method5580();
var18 = var5 >> 10 & 31;
var7 = var5 >> 5 & 31;
var19 = var5 & 31;
var9 = (var7 << 11) + (var18 << 19) + (var19 << 3);
Widget var10 = CollisionMap.getWidget(var16);
if (var9 != var10.color) {
var10.color = var9;
CollisionMap.invalidateWidget(var10);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2140 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var40 = CollisionMap.getWidget(var16);
} else {
var40 = null;
}
for (; var3.offset < var1.serverPacketLength; GrandExchangeOfferNameComparator.itemContainerSetItem(var5, var7, var19 - 1, var9)) {
var7 = var3.readUShortSmart();
var19 = var3.readUnsignedShort();
var9 = 0;
if (var19 != 0) {
var9 = var3.readUnsignedByte();
if (var9 == 255) {
var9 = var3.readInt();
}
}
if (var40 != null && var7 >= 0 && var7 < var40.itemIds.length) {
var40.itemIds[var7] = var19;
var40.itemQuantities[var7] = var9;
}
}
if (var40 != null) {
CollisionMap.invalidateWidget(var40);
}
class195.method3681();
changedItemContainers[++field837 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2198 == var1.serverPacket) {
byte var59 = var3.method5665();
var5 = var3.method5580();
Varps.Varps_temp[var5] = var59;
if (Varps.Varps_main[var5] != var59) {
Varps.Varps_main[var5] = var59;
}
Script.changeGameOptions(var5);
field834[++field835 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2177 == var1.serverPacket) {
var16 = var3.readInt();
var51 = CollisionMap.getWidget(var16);
for (var18 = 0; var18 < var51.itemIds.length; ++var18) {
var51.itemIds[var18] = -1;
var51.itemIds[var18] = 0;
}
CollisionMap.invalidateWidget(var51);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2196 == var1.serverPacket) {
var16 = var3.method5643();
var46 = var3.method5571() == 1;
var40 = CollisionMap.getWidget(var16);
if (var46 != var40.isHidden) {
var40.isHidden = var46;
CollisionMap.invalidateWidget(var40);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2212 == var1.serverPacket) {
UserComparator4.method3465(class194.field2350);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2159 == var1.serverPacket) {
var16 = var3.readInt();
var17 = var3.readStringCp1252NullTerminated();
var40 = CollisionMap.getWidget(var16);
if (!var17.equals(var40.text)) {
var40.text = var17;
CollisionMap.invalidateWidget(var40);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2223 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5580();
var40 = CollisionMap.getWidget(var16);
if (var40.modelType != 1 || var5 != var40.modelId) {
var40.modelType = 1;
var40.modelId = var5;
CollisionMap.invalidateWidget(var40);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2201 == var1.serverPacket) {
MilliClock.friendSystem.method1919();
field879 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var8;
if (ServerPacket.field2211 == var1.serverPacket) {
var16 = var3.method5582();
var5 = var3.method5539();
var18 = var3.method5539();
var7 = var3.method5643();
var8 = CollisionMap.getWidget(var7);
if (var5 != var8.modelAngleX || var16 != var8.modelAngleY || var18 != var8.modelZoom) {
var8.modelAngleX = var5;
var8.modelAngleY = var16;
var8.modelZoom = var18;
CollisionMap.invalidateWidget(var8);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2181 == var1.serverPacket) {
UserComparator4.method3465(class194.field2342);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2222 == var1.serverPacket) {
var16 = var3.method5584();
var5 = var3.readShort();
var18 = var3.readInt();
var58 = CollisionMap.getWidget(var18);
if (var16 != var58.rawX || var5 != var58.rawY || var58.xAlignment != 0 || var58.yAlignment != 0) {
var58.rawX = var16;
var58.rawY = var5;
var58.xAlignment = 0;
var58.yAlignment = 0;
CollisionMap.invalidateWidget(var58);
this.alignWidget(var58);
if (var58.type == 0) {
PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var18 >> 16], var58, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2161 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readInt();
var18 = GrandExchangeOfferNameComparator.getGcDuration();
PacketBufferNode var57 = ItemContainer.getPacketBufferNode(ClientPacket.field2255, packetWriter.isaacCipher);
var57.packetBuffer.method5569(var18);
var57.packetBuffer.method5718(var16);
var57.packetBuffer.method5587(var5);
var57.packetBuffer.method5568(GameShell.fps);
packetWriter.addNode(var57);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2166 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
WorldMapSection1.forceDisconnect(var16);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2163 == var1.serverPacket) {
isCameraLocked = true;
WorldMapData_0.field112 = var3.readUnsignedByte() * 128;
EnumDefinition.field3340 = var3.readUnsignedByte() * 128;
class25.field128 = var3.readUnsignedShort();
Players.field1267 = var3.readUnsignedByte();
ModeWhere.field2405 = var3.readUnsignedByte();
if (ModeWhere.field2405 >= 100) {
var16 = WorldMapData_0.field112 * 16384 + 64;
var5 = EnumDefinition.field3340 * 16384 + 64;
var18 = SecureRandomFuture.getTileHeight(var16, var5, GameObject.Client_plane) - class25.field128;
var7 = var16 - Player.cameraX;
var19 = var18 - KeyHandler.cameraY;
var9 = var5 - class69.cameraZ;
var21 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9));
Skeleton.cameraPitch = (int)(Math.atan2((double)var19, (double)var21) * 325.949D) & 2047;
AbstractArchive.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047;
if (Skeleton.cameraPitch < 128) {
Skeleton.cameraPitch = 128;
}
if (Skeleton.cameraPitch > 383) {
Skeleton.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2147 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5580();
if (var5 == 65535) {
var5 = -1;
}
var18 = var3.readInt();
var7 = var3.method5539();
if (var7 == 65535) {
var7 = -1;
}
for (var19 = var7; var19 <= var5; ++var19) {
var31 = (long)var19 + ((long)var16 << 32);
Node var33 = widgetFlags.get(var31);
if (var33 != null) {
var33.remove();
}
widgetFlags.put(new IntegerNode(var18), var31);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2179 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
WorldMapEvent.method808(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2144 == var1.serverPacket) {
class195.method3681();
var16 = var3.method5592();
var5 = var3.method5571();
var18 = var3.method5571();
experience[var18] = var16;
currentLevels[var18] = var5;
levels[var18] = 1;
for (var7 = 0; var7 < 98; ++var7) {
if (var16 >= Skills.Skills_experienceTable[var7]) {
levels[var18] = var7 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var18;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2183 == var1.serverPacket) {
var38 = var3.readStringCp1252NullTerminated();
var5 = var3.method5571();
var18 = var3.method5572();
if (var18 >= 1 && var18 <= 8) {
if (var38.equalsIgnoreCase("null")) {
var38 = null;
}
playerMenuActions[var18 - 1] = var38;
playerOptionsPriorities[var18 - 1] = var5 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2142 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var40 = CollisionMap.getWidget(var16);
} else {
var40 = null;
}
if (var40 != null) {
for (var7 = 0; var7 < var40.itemIds.length; ++var7) {
var40.itemIds[var7] = 0;
var40.itemQuantities[var7] = 0;
}
}
Language.clearItemContainer(var5);
var7 = var3.readUnsignedShort();
for (var19 = 0; var19 < var7; ++var19) {
var9 = var3.method5539();
var21 = var3.method5572();
if (var21 == 255) {
var21 = var3.method5591();
}
if (var40 != null && var19 < var40.itemIds.length) {
var40.itemIds[var19] = var9;
var40.itemQuantities[var19] = var21;
}
GrandExchangeOfferNameComparator.itemContainerSetItem(var5, var19, var9 - 1, var21);
}
if (var40 != null) {
CollisionMap.invalidateWidget(var40);
}
class195.method3681();
changedItemContainers[++field837 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2200 == var1.serverPacket) {
class195.method3681();
weight = var3.readShort();
field845 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2209 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
WorldMapArea.clanChat = null;
} else {
if (WorldMapArea.clanChat == null) {
WorldMapArea.clanChat = new ClanChat(GrandExchangeOfferUnitPriceComparator.loginType, WorldMapIcon_0.client);
}
WorldMapArea.clanChat.readUpdate(var3);
}
WorldMapLabel.method469();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2213 == var1.serverPacket) {
UserComparator4.method3465(class194.field2347);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2141 == var1.serverPacket) {
World var37 = new World();
var37.host = var3.readStringCp1252NullTerminated();
var37.id = var3.readUnsignedShort();
var5 = var3.readInt();
var37.properties = var5;
WorldMapCacheName.updateGameState(45);
var2.close();
var2 = null;
SecureRandomCallable.changeWorld(var37);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2182 == var1.serverPacket) {
UserComparator4.method3465(class194.field2349);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2202 == var1.serverPacket) {
ItemContainer.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2158 == var1.serverPacket) {
var16 = var3.method5582();
Actor.method1819(var16);
changedItemContainers[++field837 - 1 & 31] = var16 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2220 == var1.serverPacket) {
privateChatMode = class52.method840(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2208 == var1.serverPacket) {
PacketWriter.field1331 = var3.method5571();
class248.field3222 = var3.method5573();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2195 == var1.serverPacket) {
var50 = var3.readUnsignedByte() == 1;
if (var50) {
class4.field17 = class298.currentTimeMillis() - var3.readLong();
AbstractUserComparator.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
AbstractUserComparator.grandExchangeEvents = null;
}
field680 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2155 == var1.serverPacket) {
var16 = var3.method5592();
var5 = var3.method5643();
InterfaceParent var6 = (InterfaceParent)interfaceParents.get((long)var16);
var20 = (InterfaceParent)interfaceParents.get((long)var5);
if (var20 != null) {
MouseRecorder.closeInterface(var20, var6 == null || var20.group != var6.group);
}
if (var6 != null) {
var6.remove();
interfaceParents.put(var6, (long)var5);
}
var8 = CollisionMap.getWidget(var16);
if (var8 != null) {
CollisionMap.invalidateWidget(var8);
}
var8 = CollisionMap.getWidget(var5);
if (var8 != null) {
CollisionMap.invalidateWidget(var8);
PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var8.id >>> 16], var8, true);
}
if (rootInterface != -1) {
WorldMapRectangle.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2146 == var1.serverPacket) {
var16 = var3.readInt();
if (var16 != field730) {
field730 = var16;
WorldMapCacheName.method664();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2156 == var1.serverPacket) {
UserComparator4.method3465(class194.field2346);
var1.serverPacket = null;
return true;
}
PlayerAppearance.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1336 != null ? var1.field1336.id : -1) + "," + (var1.field1337 != null ? var1.field1337.id : -1) + "," + var1.serverPacketLength, (Throwable)null);
WorldMapRectangle.logOut();
} catch (IOException var35) {
LoginScreenAnimation.method1903();
} catch (Exception var36) {
var17 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1336 != null ? var1.field1336.id : -1) + "," + (var1.field1337 != null ? var1.field1337.id : -1) + "," + var1.serverPacketLength + "," + (PlayerAppearance.localPlayer.pathX[0] + NetFileRequest.baseX * 64) + "," + (PlayerAppearance.localPlayer.pathY[0] + class41.baseY * 64) + ",";
for (var18 = 0; var18 < var1.serverPacketLength && var18 < 50; ++var18) {
var17 = var17 + var3.array[var18] + ",";
}
PlayerAppearance.RunException_sendStackTrace(var17, var36);
WorldMapRectangle.logOut();
}
return true;
}
}
@ObfuscatedName("in")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "33"
)
@Export("menu")
final void menu() {
VertexNormal.method3068();
if (class171.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var1 = MouseHandler.MouseHandler_lastButton;
int var2;
int var3;
int var4;
int var5;
int var7;
int var8;
if (isMenuOpen) {
if (var1 != 1 && (UserComparator9.mouseCam || var1 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var3 = MouseHandler.MouseHandler_y;
if (var2 < AbstractUserComparator.menuX - 10 || var2 > AbstractUserComparator.menuX + Occluder.menuWidth + 10 || var3 < DynamicObject.menuY - 10 || var3 > class182.menuHeight + DynamicObject.menuY + 10) {
isMenuOpen = false;
Frames.method3352(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight);
}
}
if (var1 == 1 || !UserComparator9.mouseCam && var1 == 4) {
var2 = AbstractUserComparator.menuX;
var3 = DynamicObject.menuY;
var4 = Occluder.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
int var10 = MouseHandler.MouseHandler_lastPressedY;
var7 = -1;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
int var9 = (menuOptionsCount - 1 - var8) * 15 + var3 + 31;
if (var5 > var2 && var5 < var4 + var2 && var10 > var9 - 13 && var10 < var9 + 3) {
var7 = var8;
}
}
if (var7 != -1) {
FontName.method5356(var7);
}
isMenuOpen = false;
Frames.method3352(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight);
}
} else {
var2 = WorldMapSprite.method463();
if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && var2 >= 0) {
var3 = menuOpcodes[var2];
if (var3 == 39 || var3 == 40 || var3 == 41 || var3 == 42 || var3 == 43 || var3 == 33 || var3 == 34 || var3 == 35 || var3 == 36 || var3 == 37 || var3 == 38 || var3 == 1005) {
var4 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var6 = CollisionMap.getWidget(var5);
if (WorldMapSection2.method378(FaceNormal.getWidgetFlags(var6)) || BoundaryObject.method3341(FaceNormal.getWidgetFlags(var6))) {
if (class171.dragInventoryWidget != null && !field848 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
var7 = draggedWidgetX;
var8 = draggedWidgetY;
WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var7, var8);
WorldMapSection1.tempMenuAction = null;
}
field848 = false;
itemDragDuration = 0;
if (class171.dragInventoryWidget != null) {
CollisionMap.invalidateWidget(class171.dragInventoryWidget);
}
class171.dragInventoryWidget = CollisionMap.getWidget(var5);
dragItemSlotSource = var4;
draggedWidgetX = MouseHandler.MouseHandler_lastPressedX;
draggedWidgetY = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
WorldMapSection1.tempMenuAction = new MenuAction();
WorldMapSection1.tempMenuAction.param0 = menuArguments1[var2];
WorldMapSection1.tempMenuAction.param1 = menuArguments2[var2];
WorldMapSection1.tempMenuAction.opcode = menuOpcodes[var2];
WorldMapSection1.tempMenuAction.identifier = menuIdentifiers[var2];
WorldMapSection1.tempMenuAction.action = menuActions[var2];
}
CollisionMap.invalidateWidget(class171.dragInventoryWidget);
return;
}
}
}
if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && this.shouldLeftClickOpenMenu()) {
var1 = 2;
}
if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && menuOptionsCount > 0) {
FontName.method5356(var2);
}
if (var1 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
}
}
}
}
@ObfuscatedName("io")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "-745678378"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = WorldMapSprite.method463();
return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || Players.method2225(var1)) && !menuShiftClick[var1];
}
@ObfuscatedName("ic")
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "2086272336"
)
@Export("openMenu")
final void openMenu(int var1, int var2) {
BuddyRankComparator.method3522(var1, var2);
ArchiveLoader.scene.menuOpen(GameObject.Client_plane, var1, var2, false);
isMenuOpen = true;
}
@ObfuscatedName("jd")
@ObfuscatedSignature(
descriptor = "(ZB)V",
garbageValue = "-6"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
WorldMapManager.method686(rootInterface, IgnoreList.canvasWidth, ModelData0.canvasHeight, var1);
}
@ObfuscatedName("jv")
@ObfuscatedSignature(
descriptor = "(Lhe;I)V",
garbageValue = "1858163346"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : CollisionMap.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = IgnoreList.canvasWidth;
var4 = ModelData0.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
TileItem.alignWidgetSize(var1, var3, var4, false);
class7.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("ka")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "829781970"
)
final void method1381() {
CollisionMap.invalidateWidget(clickedWidget);
++ScriptFrame.widgetDragDuration;
if (field829 && field859) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field827) {
var1 = field827;
}
if (var1 + clickedWidget.width > field827 + clickedWidgetParent.width) {
var1 = field827 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field716) {
var2 = field716;
}
if (var2 + clickedWidget.height > field716 + clickedWidgetParent.height) {
var2 = field716 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field853;
int var4 = var2 - field862;
int var5 = clickedWidget.dragZoneSize;
if (ScriptFrame.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field827 + clickedWidgetParent.scrollX;
int var7 = var2 - field716 + 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;
class22.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;
class22.runScriptEvent(var8);
}
if (draggedOnWidget != null) {
Widget var15 = clickedWidget;
int var11 = FaceNormal.getWidgetFlags(var15);
int var10 = var11 >> 17 & 7;
int var12 = var10;
Widget var17;
if (var10 == 0) {
var17 = null;
} else {
int var13 = 0;
while (true) {
if (var13 >= var12) {
var17 = var15;
break;
}
var15 = CollisionMap.getWidget(var15.parentId);
if (var15 == null) {
var17 = null;
break;
}
++var13;
}
}
if (var17 != null) {
PacketBufferNode var16 = ItemContainer.getPacketBufferNode(ClientPacket.field2298, packetWriter.isaacCipher);
var16.packetBuffer.method5578(draggedOnWidget.itemId);
var16.packetBuffer.method5739(clickedWidget.itemId);
var16.packetBuffer.method5718(clickedWidget.id);
var16.packetBuffer.writeShort(clickedWidget.childIndex);
var16.packetBuffer.method5739(draggedOnWidget.childIndex);
var16.packetBuffer.method5588(draggedOnWidget.id);
packetWriter.addNode(var16);
}
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(widgetClickX + field853, widgetClickY + field862);
} else if (menuOptionsCount > 0) {
int var14 = field853 + widgetClickX;
int var9 = widgetClickY + field862;
WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var14, var9);
WorldMapSection1.tempMenuAction = null;
}
clickedWidget = null;
}
} else {
if (ScriptFrame.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("lb")
@ObfuscatedSignature(
descriptor = "(I)Lki;",
garbageValue = "82536799"
)
@Export("username")
public Username username() {
return PlayerAppearance.localPlayer != null ? PlayerAppearance.localPlayer.username : null;
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1868992104"
)
public static void method1583() {
if (NetCache.NetCache_socket != null) {
NetCache.NetCache_socket.close();
}
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-256549050"
)
static void method1799() {
if (Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) {
Login.currentLoginField = 1;
} else {
Login.currentLoginField = 0;
}
}
}