Files
runelite/runescape-client/src/main/java/Client.java
2019-11-07 01:06:33 +01:00

6438 lines
189 KiB
Java

import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameShell implements Usernamed {
@ObfuscatedName("ma")
@ObfuscatedSignature(
signature = "Lhi;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("oq")
@ObfuscatedGetter(
intValue = 1669670355
)
static int field835;
@ObfuscatedName("or")
@ObfuscatedGetter(
intValue = -1587927699
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("oe")
@ObfuscatedGetter(
longValue = 7809710238956253295L
)
static long field736;
@ObfuscatedName("ot")
static boolean[] field842;
@ObfuscatedName("oh")
static boolean[] field837;
@ObfuscatedName("ov")
static boolean[] field631;
@ObfuscatedName("nw")
static boolean field695;
@ObfuscatedName("oz")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("nf")
@ObfuscatedGetter(
intValue = -447078155
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("sk")
@ObfuscatedGetter(
intValue = -711169745
)
public static int field900;
@ObfuscatedName("nz")
@ObfuscatedGetter(
intValue = -2050239349
)
static int field824;
@ObfuscatedName("nk")
static boolean field809;
@ObfuscatedName("qp")
static boolean field855;
@ObfuscatedName("mp")
@ObfuscatedGetter(
intValue = -1344541921
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("me")
@ObfuscatedGetter(
intValue = -1705214051
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("np")
@ObfuscatedGetter(
intValue = -230439773
)
static int field748;
@ObfuscatedName("ms")
@ObfuscatedSignature(
signature = "Lhi;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("mo")
@ObfuscatedSignature(
signature = "Llh;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("ox")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("ob")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("nn")
@ObfuscatedGetter(
intValue = 415324941
)
static int field751;
@ObfuscatedName("ml")
@ObfuscatedSignature(
signature = "Lhi;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("oi")
@ObfuscatedGetter(
intValue = 1211489517
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("og")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("mn")
@ObfuscatedGetter(
intValue = -615155411
)
@Export("staffModLevel")
public static int staffModLevel;
@ObfuscatedName("os")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("op")
@ObfuscatedSignature(
signature = "Llh;"
)
@Export("widgetClickMasks")
static NodeHashTable widgetClickMasks;
@ObfuscatedName("th")
static int[] field890;
@ObfuscatedName("nm")
@ObfuscatedGetter(
intValue = 172768801
)
static int field834;
@ObfuscatedName("ta")
static int[] field906;
@ObfuscatedName("tg")
@ObfuscatedSignature(
signature = "Lbs;"
)
static final class65 field904;
@ObfuscatedName("sr")
@ObfuscatedSignature(
signature = "[Ld;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("oj")
@ObfuscatedSignature(
signature = "Ljb;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("pg")
@ObfuscatedGetter(
intValue = 1345286015
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("nc")
@ObfuscatedGetter(
intValue = 723672855
)
static int field846;
@ObfuscatedName("pd")
@ObfuscatedGetter(
intValue = 959702887
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("nb")
@ObfuscatedGetter(
intValue = -899895459
)
static int field814;
@ObfuscatedName("ng")
@ObfuscatedGetter(
intValue = -1812598639
)
static int field652;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = -441716439
)
static int field826;
@ObfuscatedName("nr")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("mr")
@ObfuscatedGetter(
intValue = -397177077
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("mk")
@ObfuscatedGetter(
intValue = -887954319
)
@Export("weight")
static int weight;
@ObfuscatedName("mu")
@ObfuscatedSignature(
signature = "Lhi;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("no")
@Export("changedItemContainers")
static int[] changedItemContainers;
@ObfuscatedName("sm")
@ObfuscatedGetter(
intValue = 857681821
)
static int field818;
@ObfuscatedName("nu")
@ObfuscatedGetter(
intValue = 703633297
)
static int field820;
@ObfuscatedName("rg")
@ObfuscatedSignature(
signature = "Lhe;"
)
@Export("playerAppearance")
static PlayerAppearance playerAppearance;
@ObfuscatedName("qk")
@ObfuscatedGetter(
intValue = -1636781949
)
@Export("areaSoundEffectVolume")
static int areaSoundEffectVolume;
@ObfuscatedName("sl")
@ObfuscatedGetter(
intValue = 1393467707
)
static int field896;
@ObfuscatedName("ol")
@ObfuscatedGetter(
intValue = 1068901591
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("mv")
@ObfuscatedSignature(
signature = "Lhi;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("ru")
static boolean[] field641;
@ObfuscatedName("rz")
static int[] field877;
@ObfuscatedName("qx")
@ObfuscatedGetter(
intValue = -233646219
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("rl")
static int[] field795;
@ObfuscatedName("rn")
static int[] field879;
@ObfuscatedName("ri")
static int[] field880;
@ObfuscatedName("sv")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("sa")
@ObfuscatedGetter(
intValue = 1310325491
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("pl")
@ObfuscatedGetter(
intValue = -1292384633
)
static int field856;
@ObfuscatedName("ps")
@ObfuscatedGetter(
longValue = 6749730827027050469L
)
static long field663;
@ObfuscatedName("rs")
@ObfuscatedGetter(
intValue = -137337439
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("rm")
@ObfuscatedGetter(
intValue = 2111319843
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("rr")
@ObfuscatedGetter(
intValue = 1474521741
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("rf")
@ObfuscatedGetter(
intValue = -816916675
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("qm")
@ObfuscatedGetter(
intValue = -1444022859
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("pi")
static long[] field852;
@ObfuscatedName("qd")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("rt")
static short field881;
@ObfuscatedName("qb")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("qw")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("ra")
static short field882;
@ObfuscatedName("rc")
static short field844;
@ObfuscatedName("qr")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("re")
static short field888;
@ObfuscatedName("rx")
static short field886;
@ObfuscatedName("qy")
@ObfuscatedSignature(
signature = "[Lcg;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("qv")
@ObfuscatedGetter(
intValue = 398456721
)
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("pq")
@ObfuscatedGetter(
intValue = -87647027
)
static int field721;
@ObfuscatedName("rh")
@ObfuscatedGetter(
intValue = -1065055441
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("rj")
static short field885;
@ObfuscatedName("qf")
@ObfuscatedGetter(
intValue = -1999845863
)
@Export("musicVolume")
static int musicVolume;
@ObfuscatedName("qq")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("pb")
@ObfuscatedGetter(
intValue = 1617941687
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("sq")
@ObfuscatedSignature(
signature = "Llb;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("pa")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("pj")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("pt")
@ObfuscatedSignature(
signature = "[Llx;"
)
@Export("mapIcons")
static Sprite[] mapIcons;
@ObfuscatedName("ni")
@ObfuscatedGetter(
intValue = -406012573
)
static int field679;
@ObfuscatedName("nj")
@ObfuscatedGetter(
intValue = 581751417
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("rp")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("rk")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("qt")
@ObfuscatedGetter(
intValue = -1154555301
)
@Export("soundEffectVolume")
static int soundEffectVolume;
@ObfuscatedName("nx")
static int[] field817;
@ObfuscatedName("sw")
@ObfuscatedGetter(
intValue = 1025711975
)
static int field903;
@ObfuscatedName("pf")
static String field849;
@ObfuscatedName("px")
@ObfuscatedGetter(
intValue = -131485607
)
static int field866;
@ObfuscatedName("mt")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("pz")
@ObfuscatedGetter(
intValue = -1422495067
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("pn")
@ObfuscatedGetter(
intValue = -1887689269
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("pp")
static int[] field854;
@ObfuscatedName("py")
static int[] field853;
@ObfuscatedName("oc")
@ObfuscatedSignature(
signature = "Ljb;"
)
static NodeDeque field813;
@ObfuscatedName("mj")
@ObfuscatedGetter(
intValue = 381105829
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("pv")
static int[] field829;
@ObfuscatedName("od")
@ObfuscatedSignature(
signature = "Ljb;"
)
static NodeDeque field832;
@ObfuscatedName("nt")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("my")
@ObfuscatedGetter(
intValue = 611257561
)
static int field907;
@ObfuscatedName("ny")
@ObfuscatedGetter(
intValue = -1741556813
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("nh")
@ObfuscatedGetter(
intValue = -1179398273
)
static int field825;
@ObfuscatedName("mq")
@ObfuscatedGetter(
intValue = 1191445113
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("md")
@ObfuscatedGetter(
intValue = -1252075313
)
static int field828;
@ObfuscatedName("mc")
@ObfuscatedGetter(
intValue = 1310053169
)
static int field794;
@ObfuscatedName("sn")
@ObfuscatedSignature(
signature = "Lbm;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "[Lfm;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("as")
static boolean field791;
@ObfuscatedName("ba")
@ObfuscatedGetter(
intValue = -20471151
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("bg")
@ObfuscatedGetter(
intValue = -51989745
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("bd")
@ObfuscatedGetter(
intValue = -179388567
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("bh")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bu")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("bt")
@ObfuscatedGetter(
intValue = 257125477
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bs")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("bj")
@ObfuscatedGetter(
intValue = -275274109
)
@Export("gameState")
static int gameState;
@ObfuscatedName("cr")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("ci")
@ObfuscatedGetter(
intValue = 240908191
)
@Export("cycle")
static int cycle;
@ObfuscatedName("cy")
@ObfuscatedGetter(
longValue = -715337301000899145L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("co")
@ObfuscatedGetter(
intValue = -1508326543
)
static int field644;
@ObfuscatedName("cu")
@ObfuscatedGetter(
intValue = 309923467
)
static int field905;
@ObfuscatedName("cz")
@ObfuscatedGetter(
longValue = -6250089135032631577L
)
static long field646;
@ObfuscatedName("cq")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("cj")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("cm")
@ObfuscatedGetter(
intValue = 568076161
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("cb")
@ObfuscatedGetter(
intValue = 1087784609
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("cp")
@ObfuscatedGetter(
intValue = 560832713
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("cs")
@ObfuscatedGetter(
intValue = 2097708219
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("ck")
@ObfuscatedGetter(
intValue = -614355373
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("ct")
@ObfuscatedGetter(
intValue = -1984180121
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("cc")
@ObfuscatedGetter(
intValue = -607598836
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("ch")
@ObfuscatedGetter(
intValue = -2044500288
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("cg")
@ObfuscatedGetter(
intValue = -848173760
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("ca")
@ObfuscatedSignature(
signature = "Lcr;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("db")
@ObfuscatedSignature(
signature = "Lcr;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("dd")
@ObfuscatedGetter(
intValue = 355773429
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dm")
@ObfuscatedSignature(
signature = "Lku;"
)
@Export("js5Socket")
static AbstractSocket js5Socket;
@ObfuscatedName("di")
@ObfuscatedGetter(
intValue = -1799860723
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("dn")
@ObfuscatedGetter(
intValue = -762525009
)
static int field819;
@ObfuscatedName("ee")
@ObfuscatedGetter(
intValue = 1297064295
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("ef")
@ObfuscatedGetter(
intValue = -1775311529
)
@Export("loginState")
static int loginState;
@ObfuscatedName("ep")
@ObfuscatedGetter(
intValue = -1375640047
)
static int field666;
@ObfuscatedName("et")
@ObfuscatedGetter(
intValue = -589488051
)
static int field667;
@ObfuscatedName("eq")
@ObfuscatedGetter(
intValue = -627164889
)
static int field668;
@ObfuscatedName("em")
@ObfuscatedSignature(
signature = "Lfp;"
)
static class160 field850;
@ObfuscatedName("es")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("en")
@ObfuscatedSignature(
signature = "Lco;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("ea")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("ej")
@ObfuscatedSignature(
signature = "[Lcv;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("el")
@ObfuscatedGetter(
intValue = 1003307959
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("ft")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("fe")
@ObfuscatedGetter(
intValue = 9572479
)
static int field676;
@ObfuscatedName("fs")
static int[] field677;
@ObfuscatedName("fu")
@ObfuscatedSignature(
signature = "Lcp;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("fn")
@ObfuscatedGetter(
intValue = -1045918939
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("fg")
static boolean field680;
@ObfuscatedName("fw")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("ff")
@ObfuscatedSignature(
signature = "Ljt;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("fm")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("fb")
@ObfuscatedGetter(
intValue = 287183653
)
static int field684;
@ObfuscatedName("fd")
@ObfuscatedGetter(
intValue = 887047471
)
static int field685;
@ObfuscatedName("fo")
@ObfuscatedGetter(
intValue = 202768591
)
static int field686;
@ObfuscatedName("ga")
@ObfuscatedGetter(
intValue = -1491451085
)
static int field687;
@ObfuscatedName("gx")
@ObfuscatedGetter(
intValue = -331520367
)
static int field688;
@ObfuscatedName("gt")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("gm")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("gj")
static final int[] field692;
@ObfuscatedName("gp")
@ObfuscatedGetter(
intValue = 1121540223
)
static int field693;
@ObfuscatedName("hg")
@ObfuscatedGetter(
intValue = 10829207
)
static int field895;
@ObfuscatedName("hx")
@ObfuscatedGetter(
intValue = -1992997175
)
static int field661;
@ObfuscatedName("hw")
@ObfuscatedGetter(
intValue = 1623441797
)
static int field683;
@ObfuscatedName("hn")
@ObfuscatedGetter(
intValue = 7192417
)
static int field790;
@ObfuscatedName("hj")
static boolean field698;
@ObfuscatedName("hf")
@ObfuscatedGetter(
intValue = -78158007
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("hd")
@ObfuscatedGetter(
intValue = 1116385961
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("hz")
@ObfuscatedGetter(
intValue = -683972071
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("hu")
@ObfuscatedGetter(
intValue = 1986559825
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("hm")
@ObfuscatedGetter(
intValue = 1107670461
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("ht")
@ObfuscatedGetter(
intValue = 749134913
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("hc")
@ObfuscatedGetter(
intValue = -1131712939
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("hl")
@ObfuscatedGetter(
intValue = -1055821533
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("hy")
@ObfuscatedGetter(
intValue = -344634531
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("ho")
@ObfuscatedGetter(
intValue = 1262882711
)
static int field876;
@ObfuscatedName("hq")
@ObfuscatedGetter(
intValue = -1868446673
)
static int field709;
@ObfuscatedName("ig")
@ObfuscatedGetter(
intValue = -1777737639
)
static int field710;
@ObfuscatedName("ip")
@ObfuscatedGetter(
intValue = -934038365
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("if")
@ObfuscatedGetter(
intValue = -1149402609
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("ik")
@ObfuscatedGetter(
intValue = -1869232701
)
public static int field799;
@ObfuscatedName("iq")
static boolean field645;
@ObfuscatedName("iu")
@ObfuscatedGetter(
intValue = -979694055
)
static int field715;
@ObfuscatedName("ie")
static boolean field733;
@ObfuscatedName("im")
@ObfuscatedGetter(
intValue = -843916833
)
static int field717;
@ObfuscatedName("ir")
@ObfuscatedGetter(
intValue = -1954915145
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("io")
@ObfuscatedGetter(
intValue = -1863882285
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("il")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("ic")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("ib")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("iy")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("id")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("ih")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("ii")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("iw")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("in")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("is")
@ObfuscatedGetter(
intValue = 1250054919
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("iv")
@ObfuscatedGetter(
intValue = 556959165
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("ia")
@ObfuscatedGetter(
intValue = -393888855
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("jm")
@ObfuscatedGetter(
intValue = 584317187
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("jb")
@ObfuscatedGetter(
intValue = 719414467
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("ja")
@ObfuscatedGetter(
intValue = 1435356244
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("jd")
@ObfuscatedGetter(
intValue = 339244279
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("jk")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("jy")
@ObfuscatedGetter(
intValue = 1508339329
)
static int field753;
@ObfuscatedName("jl")
@ObfuscatedGetter(
intValue = -306605903
)
static int field665;
@ObfuscatedName("jw")
@ObfuscatedGetter(
intValue = -577138959
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("jt")
@ObfuscatedGetter(
intValue = 1983943063
)
static int field729;
@ObfuscatedName("jn")
@ObfuscatedGetter(
intValue = -1896878651
)
static int field741;
@ObfuscatedName("jg")
@ObfuscatedGetter(
intValue = -2099734901
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("jr")
static boolean field743;
@ObfuscatedName("je")
@ObfuscatedGetter(
intValue = 2041162413
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = -1234034497
)
static int field745;
@ObfuscatedName("jx")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("js")
@ObfuscatedSignature(
signature = "[Lbj;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("ju")
@ObfuscatedGetter(
intValue = 1889062631
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("jf")
@ObfuscatedGetter(
intValue = -1181575857
)
static int field749;
@ObfuscatedName("jj")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("kw")
@ObfuscatedGetter(
intValue = 2026004463
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("kq")
@ObfuscatedGetter(
intValue = -299289873
)
static int field752;
@ObfuscatedName("ko")
static int[] field870;
@ObfuscatedName("ks")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("kx")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("ka")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("kj")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("kf")
@ObfuscatedGetter(
intValue = -201752719
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("kc")
@ObfuscatedSignature(
signature = "[[[Ljb;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("ki")
@ObfuscatedSignature(
signature = "Ljb;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("kz")
@ObfuscatedSignature(
signature = "Ljb;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("ky")
@ObfuscatedSignature(
signature = "Ljb;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("kd")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("ku")
@Export("levels")
static int[] levels;
@ObfuscatedName("kg")
@Export("experience")
static int[] experience;
@ObfuscatedName("kn")
@ObfuscatedGetter(
intValue = -629997959
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("ke")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("la")
@ObfuscatedGetter(
intValue = -1431664981
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("lq")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("lr")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("ll")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("lh")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("ls")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("li")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("lv")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("lu")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("lw")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("lx")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("ld")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("lz")
@ObfuscatedGetter(
intValue = 1922593219
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("lm")
@ObfuscatedGetter(
intValue = 1274966975
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("lp")
@ObfuscatedGetter(
intValue = -365534183
)
static int field782;
@ObfuscatedName("lo")
@ObfuscatedGetter(
intValue = 230985687
)
static int field783;
@ObfuscatedName("lj")
@ObfuscatedGetter(
intValue = -27300387
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("lg")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("ln")
@ObfuscatedGetter(
intValue = 151795301
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("mg")
@ObfuscatedGetter(
intValue = -1039451535
)
static int field788;
@ObfuscatedName("mf")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("mz")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("mh")
@ObfuscatedGetter(
intValue = 1866987545
)
@Export("rootInterface")
static int rootInterface;
static {
field791 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
clientType = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = 1L;
field644 = -1;
field905 = -1;
field646 = -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;
field819 = 0;
js5Errors = 0;
loginState = 0;
field666 = 0;
field667 = 0;
field668 = 0;
field850 = class160.field1982;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field676 = 0;
field677 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
field680 = false;
useBufferedSocket = true;
timer = new Timer();
fontsMap = new HashMap();
field684 = 0;
field685 = 1;
field686 = 0;
field687 = 1;
field688 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field692 = 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};
field693 = 0;
field895 = 2301979;
field661 = 5063219;
field683 = 3353893;
field790 = 7759444;
field698 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field876 = 0;
field709 = 0;
field710 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field799 = 0;
field645 = false;
field715 = 0;
field733 = false;
field717 = 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;
field753 = 0;
field665 = 0;
dragItemSlotSource = 0;
field729 = 0;
field741 = 0;
dragItemSlotDestination = 0;
field743 = false;
itemDragDuration = 0;
field745 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field749 = 0;
renderSelf = true;
drawPlayerNames = 0;
field752 = 0;
field870 = 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;
field782 = 0;
field783 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field788 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field828 = 0;
field794 = -1;
chatEffects = 0;
field907 = 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;
field809 = false;
field748 = -1;
field751 = -1;
field695 = false;
field846 = -1;
field814 = -1;
isDraggingWidget = false;
cycleCntr = 1;
field817 = new int[32];
field679 = 0;
changedItemContainers = new int[32];
field820 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
chatCycle = 0;
field824 = 0;
field825 = 0;
field826 = 0;
field652 = 0;
field834 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field813 = new NodeDeque();
field832 = new NodeDeque();
widgetClickMasks = new NodeHashTable(512);
rootWidgetCount = 0;
field835 = -2;
field842 = new boolean[100];
field837 = new boolean[100];
field631 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field736 = 0L;
isResizable = true;
field829 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field849 = "";
field852 = new long[100];
field721 = 0;
field866 = 0;
field853 = new int[128];
field854 = new int[128];
field663 = -1L;
field856 = -1;
mapIconCount = 0;
mapIconXs = new int[1000];
mapIconYs = new int[1000];
mapIcons = new Sprite[1000];
destinationX = 0;
destinationY = 0;
minimapState = 0;
musicVolume = 255;
currentTrackGroupId = -1;
field855 = false;
soundEffectVolume = 127;
areaSoundEffectVolume = 127;
soundEffectCount = 0;
soundEffectIds = new int[50];
queuedSoundEffectLoops = new int[50];
queuedSoundEffectDelays = new int[50];
soundLocations = new int[50];
soundEffects = new SoundEffect[50];
isCameraLocked = false;
field641 = new boolean[5];
field877 = new int[5];
field795 = new int[5];
field879 = new int[5];
field880 = new int[5];
field881 = 256;
field882 = 205;
zoomHeight = 256;
zoomWidth = 320;
field885 = 1;
field886 = 32767;
field844 = 1;
field888 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerAppearance();
field818 = -1;
field896 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field900 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field903 = 0;
field904 = new class65();
field890 = new int[50];
field906 = new int[50];
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "2060332880"
)
@Export("resizeGame")
protected final void resizeGame() {
field736 = PlayerAppearance.currentTimeMillis() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("aj")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1799342365"
)
@Export("setUp")
protected final void setUp() {
Huffman.method4104(new int[]{20, 260, 10000}, new int[]{1000, 100, 500});
class222.port1 = gameBuild == 0 ? 43594 : worldId + 40000;
Decimator.port2 = gameBuild == 0 ? 443 : worldId + 50000;
GrandExchangeOfferUnitPriceComparator.port3 = class222.port1;
PlayerAppearance.field2519 = class215.field2524;
PlayerAppearance.field2520 = class215.field2527;
class326.field3881 = class215.field2526;
class195.field2359 = class215.field2525;
Skills.urlRequester = new UrlRequester();
this.setUpKeyboard();
this.setUpMouse();
KeyHandler.mouseWheel = this.mouseWheel();
WorldMapSectionType.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
ScriptEvent.clientPreferences = Skeleton.method3201();
this.setUpClipboard();
NetCache.method4472(this, MusicPatchPcmStream.null_string);
if (gameBuild != 0) {
displayFps = true;
}
FontName.setWindowedMode(ScriptEvent.clientPreferences.windowMode);
PacketWriter.friendSystem = new FriendSystem(class60.loginType);
}
@ObfuscatedName("ae")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-127"
)
@Export("doCycle")
protected final void doCycle() {
++cycle;
this.doCycleJs5();
while (true) {
ArchiveDiskAction var1;
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast();
}
if (var1 == null) {
int var45;
try {
if (class197.field2377 == 1) {
var45 = class197.midiPcmStream.method3848();
if (var45 > 0 && class197.midiPcmStream.isReady()) {
var45 -= class197.field2384;
if (var45 < 0) {
var45 = 0;
}
class197.midiPcmStream.setPcmStreamVolume(var45);
} else {
class197.midiPcmStream.clear();
class197.midiPcmStream.removeAll();
if (class247.musicTrackArchive != null) {
class197.field2377 = 2;
} else {
class197.field2377 = 0;
}
class197.musicTrack = null;
ByteArrayPool.soundCache = null;
}
}
} catch (Exception var68) {
var68.printStackTrace();
class197.midiPcmStream.clear();
class197.field2377 = 0;
class197.musicTrack = null;
ByteArrayPool.soundCache = null;
class247.musicTrackArchive = null;
}
ChatChannel.playPcmPlayers();
int var46;
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field385 = KeyHandler.field370;
KeyHandler.field384 = 0;
if (KeyHandler.field380 >= 0) {
while (KeyHandler.field380 != KeyHandler.field379) {
var46 = KeyHandler.field378[KeyHandler.field379];
KeyHandler.field379 = KeyHandler.field379 + 1 & 127;
if (var46 < 0) {
KeyHandler.KeyHandler_pressedKeys[~var46] = false;
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var46] && KeyHandler.field384 < KeyHandler.field383.length - 1) {
KeyHandler.field383[++KeyHandler.field384 - 1] = var46;
}
KeyHandler.KeyHandler_pressedKeys[var46] = true;
}
}
} else {
for (var46 = 0; var46 < 112; ++var46) {
KeyHandler.KeyHandler_pressedKeys[var46] = false;
}
KeyHandler.field380 = KeyHandler.field379;
}
if (KeyHandler.field384 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field370 = KeyHandler.field387;
}
synchronized(MouseHandler.MouseHandler_instance) {
MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile;
MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile;
MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile;
MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile;
MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile;
MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile;
MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile;
MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile;
MouseHandler.MouseHandler_lastButtonVolatile = 0;
}
if (KeyHandler.mouseWheel != null) {
var45 = KeyHandler.mouseWheel.useRotation();
mouseWheelRotation = var45;
}
if (gameState == 0) {
NetCache.load();
HealthBar.method2161();
} else if (gameState == 5) {
class189.doCycleTitle(this);
NetCache.load();
HealthBar.method2161();
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
class189.doCycleTitle(this);
this.doCycleLoggedOut();
} else if (gameState == 25) {
GrandExchangeOfferNameComparator.method172(false);
field684 = 0;
boolean var79 = true;
for (var46 = 0; var46 < UrlRequester.regionLandArchives.length; ++var46) {
if (class338.regionMapArchiveIds[var46] != -1 && UrlRequester.regionLandArchives[var46] == null) {
UrlRequester.regionLandArchives[var46] = WorldMapRectangle.archive5.takeFile(class338.regionMapArchiveIds[var46], 0);
if (UrlRequester.regionLandArchives[var46] == null) {
var79 = false;
++field684;
}
}
if (WorldMapCacheName.regionLandArchiveIds[var46] != -1 && UserComparator3.regionMapArchives[var46] == null) {
UserComparator3.regionMapArchives[var46] = WorldMapRectangle.archive5.takeFileEncrypted(WorldMapCacheName.regionLandArchiveIds[var46], 0, ClientPacket.xteaKeys[var46]);
if (UserComparator3.regionMapArchives[var46] == null) {
var79 = false;
++field684;
}
}
}
if (!var79) {
field688 = 1;
} else {
field686 = 0;
var79 = true;
Buffer var9;
int var10;
int var11;
int var12;
int var14;
int var15;
int var16;
int var17;
int var18;
int var19;
int var47;
int var48;
for (var46 = 0; var46 < UrlRequester.regionLandArchives.length; ++var46) {
byte[] var3 = UserComparator3.regionMapArchives[var46];
if (var3 != null) {
var47 = (GrandExchangeOfferOwnWorldComparator.regions[var46] >> 8) * 64 - UserComparator8.baseX * 64;
var48 = (GrandExchangeOfferOwnWorldComparator.regions[var46] & 255) * 64 - HealthBar.baseY * 64;
if (isInInstance) {
var47 = 10;
var48 = 10;
}
boolean var8 = true;
var9 = new Buffer(var3);
var10 = -1;
label1395:
while (true) {
var11 = var9.method5623();
if (var11 == 0) {
var79 &= var8;
break;
}
var10 += var11;
var12 = 0;
boolean var13 = false;
while (true) {
while (!var13) {
var14 = var9.readUShortSmart();
if (var14 == 0) {
continue label1395;
}
var12 += var14 - 1;
var15 = var12 & 63;
var16 = var12 >> 6 & 63;
var17 = var9.readUnsignedByte() >> 2;
var18 = var16 + var47;
var19 = var48 + var15;
if (var18 > 0 && var19 > 0 && var18 < 103 && var19 < 103) {
ObjectDefinition var20 = WorldMapDecorationType.getObjectDefinition(var10);
if (var17 != 22 || !isLowDetail || var20.int1 != 0 || var20.interactType == 1 || var20.boolean2) {
if (!var20.needsModelFiles()) {
++field686;
var8 = false;
}
var13 = true;
}
}
}
var14 = var9.readUShortSmart();
if (var14 == 0) {
break;
}
var9.readUnsignedByte();
}
}
}
}
if (!var79) {
field688 = 2;
} else {
if (field688 != 0) {
GrandExchangeEvents.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + 100 + "%" + ")", true);
}
ChatChannel.playPcmPlayers();
WorldMapArea.scene.clear();
for (var46 = 0; var46 < 4; ++var46) {
collisionMaps[var46].clear();
}
int var49;
for (var46 = 0; var46 < 4; ++var46) {
for (var49 = 0; var49 < 104; ++var49) {
for (var47 = 0; var47 < 104; ++var47) {
Tiles.Tiles_renderFlags[var46][var49][var47] = 0;
}
}
}
ChatChannel.playPcmPlayers();
MusicPatchPcmStream.method4038();
var46 = UrlRequester.regionLandArchives.length;
GameShell.method1141();
GrandExchangeOfferNameComparator.method172(true);
int var6;
int var21;
int var22;
int var53;
int var73;
if (!isInInstance) {
byte[] var50;
for (var49 = 0; var49 < var46; ++var49) {
var47 = (GrandExchangeOfferOwnWorldComparator.regions[var49] >> 8) * 64 - UserComparator8.baseX * 64;
var48 = (GrandExchangeOfferOwnWorldComparator.regions[var49] & 255) * 64 - HealthBar.baseY * 64;
var50 = UrlRequester.regionLandArchives[var49];
if (var50 != null) {
ChatChannel.playPcmPlayers();
TilePaint.method3200(var50, var47, var48, WorldMapSectionType.field140 * 8 - 48, ScriptEvent.field563 * 8 - 48, collisionMaps);
}
}
for (var49 = 0; var49 < var46; ++var49) {
var47 = (GrandExchangeOfferOwnWorldComparator.regions[var49] >> 8) * 64 - UserComparator8.baseX * 64;
var48 = (GrandExchangeOfferOwnWorldComparator.regions[var49] & 255) * 64 - HealthBar.baseY * 64;
var50 = UrlRequester.regionLandArchives[var49];
if (var50 == null && ScriptEvent.field563 < 800) {
ChatChannel.playPcmPlayers();
class30.method609(var47, var48, 64, 64);
}
}
GrandExchangeOfferNameComparator.method172(true);
for (var49 = 0; var49 < var46; ++var49) {
byte[] var4 = UserComparator3.regionMapArchives[var49];
if (var4 != null) {
var48 = (GrandExchangeOfferOwnWorldComparator.regions[var49] >> 8) * 64 - UserComparator8.baseX * 64;
var6 = (GrandExchangeOfferOwnWorldComparator.regions[var49] & 255) * 64 - HealthBar.baseY * 64;
ChatChannel.playPcmPlayers();
Scene var51 = WorldMapArea.scene;
CollisionMap[] var52 = collisionMaps;
var9 = new Buffer(var4);
var10 = -1;
while (true) {
var11 = var9.method5623();
if (var11 == 0) {
break;
}
var10 += var11;
var12 = 0;
while (true) {
var73 = var9.readUShortSmart();
if (var73 == 0) {
break;
}
var12 += var73 - 1;
var14 = var12 & 63;
var15 = var12 >> 6 & 63;
var16 = var12 >> 12;
var17 = var9.readUnsignedByte();
var18 = var17 >> 2;
var19 = var17 & 3;
var53 = var15 + var48;
var21 = var14 + var6;
if (var53 > 0 && var21 > 0 && var53 < 103 && var21 < 103) {
var22 = var16;
if ((Tiles.Tiles_renderFlags[1][var53][var21] & 2) == 2) {
var22 = var16 - 1;
}
CollisionMap var23 = null;
if (var22 >= 0) {
var23 = var52[var22];
}
class247.method4637(var16, var53, var21, var10, var19, var18, var51, var23);
}
}
}
}
}
}
int var7;
int[] var10000;
int var27;
int var28;
int var29;
int var30;
int var33;
int var35;
int var36;
int var37;
int var54;
int var57;
int var72;
if (isInInstance) {
var49 = 0;
label1300:
while (true) {
if (var49 >= 4) {
for (var49 = 0; var49 < 13; ++var49) {
for (var47 = 0; var47 < 13; ++var47) {
var48 = instanceChunkTemplates[0][var49][var47];
if (var48 == -1) {
class30.method609(var49 * 8, var47 * 8, 8, 8);
}
}
}
GrandExchangeOfferNameComparator.method172(true);
var49 = 0;
while (true) {
if (var49 >= 4) {
break label1300;
}
ChatChannel.playPcmPlayers();
for (var47 = 0; var47 < 13; ++var47) {
for (var48 = 0; var48 < 13; ++var48) {
var6 = instanceChunkTemplates[var49][var47][var48];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var72 = var6 >> 1 & 3;
var54 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var54 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < GrandExchangeOfferOwnWorldComparator.regions.length; ++var12) {
if (GrandExchangeOfferOwnWorldComparator.regions[var12] == var11 && UserComparator3.regionMapArchives[var12] != null) {
class218.method4263(UserComparator3.regionMapArchives[var12], var49, var47 * 8, var48 * 8, var7, (var54 & 7) * 8, (var10 & 7) * 8, var72, WorldMapArea.scene, collisionMaps);
break;
}
}
}
}
}
++var49;
}
}
ChatChannel.playPcmPlayers();
for (var47 = 0; var47 < 13; ++var47) {
for (var48 = 0; var48 < 13; ++var48) {
boolean var71 = false;
var7 = instanceChunkTemplates[var49][var47][var48];
if (var7 != -1) {
var72 = var7 >> 24 & 3;
var54 = var7 >> 1 & 3;
var10 = var7 >> 14 & 1023;
var11 = var7 >> 3 & 2047;
var12 = (var10 / 8 << 8) + var11 / 8;
for (var73 = 0; var73 < GrandExchangeOfferOwnWorldComparator.regions.length; ++var73) {
if (GrandExchangeOfferOwnWorldComparator.regions[var73] == var12 && UrlRequester.regionLandArchives[var73] != null) {
byte[] var55 = UrlRequester.regionLandArchives[var73];
var15 = var47 * 8;
var16 = var48 * 8;
var17 = (var10 & 7) * 8;
var18 = (var11 & 7) * 8;
CollisionMap[] var56 = collisionMaps;
for (var53 = 0; var53 < 8; ++var53) {
for (var21 = 0; var21 < 8; ++var21) {
if (var53 + var15 > 0 && var53 + var15 < 103 && var16 + var21 > 0 && var16 + var21 < 103) {
var10000 = var56[var49].flags[var53 + var15];
var10000[var21 + var16] &= -16777217;
}
}
}
Buffer var74 = new Buffer(var55);
for (var21 = 0; var21 < 4; ++var21) {
for (var22 = 0; var22 < 64; ++var22) {
for (var57 = 0; var57 < 64; ++var57) {
if (var72 == var21 && var22 >= var17 && var22 < var17 + 8 && var57 >= var18 && var57 < var18 + 8) {
var28 = var22 & 7;
var29 = var57 & 7;
var30 = var54 & 3;
if (var30 == 0) {
var27 = var28;
} else if (var30 == 1) {
var27 = var29;
} else if (var30 == 2) {
var27 = 7 - var28;
} else {
var27 = 7 - var29;
}
var33 = var27 + var15;
var36 = var22 & 7;
var37 = var57 & 7;
int var38 = var54 & 3;
if (var38 == 0) {
var35 = var37;
} else if (var38 == 1) {
var35 = 7 - var36;
} else if (var38 == 2) {
var35 = 7 - var37;
} else {
var35 = var36;
}
class312.loadTerrain(var74, var49, var33, var35 + var16, 0, 0, var54);
} else {
class312.loadTerrain(var74, 0, -1, -1, 0, 0, 0);
}
}
}
}
var71 = true;
break;
}
}
}
if (!var71) {
class160.method3585(var49, var47 * 8, var48 * 8);
}
}
}
++var49;
}
}
GrandExchangeOfferNameComparator.method172(true);
ChatChannel.playPcmPlayers();
Scene var69 = WorldMapArea.scene;
CollisionMap[] var70 = collisionMaps;
for (var48 = 0; var48 < 4; ++var48) {
for (var6 = 0; var6 < 104; ++var6) {
for (var7 = 0; var7 < 104; ++var7) {
if ((Tiles.Tiles_renderFlags[var48][var6][var7] & 1) == 1) {
var72 = var48;
if ((Tiles.Tiles_renderFlags[1][var6][var7] & 2) == 2) {
var72 = var48 - 1;
}
if (var72 >= 0) {
var70[var72].setBlockedByFloor(var6, var7);
}
}
}
}
}
Tiles.field495 += (int)(Math.random() * 5.0D) - 2;
if (Tiles.field495 < -8) {
Tiles.field495 = -8;
}
if (Tiles.field495 > 8) {
Tiles.field495 = 8;
}
Tiles.field496 += (int)(Math.random() * 5.0D) - 2;
if (Tiles.field496 < -16) {
Tiles.field496 = -16;
}
if (Tiles.field496 > 16) {
Tiles.field496 = 16;
}
for (var48 = 0; var48 < 4; ++var48) {
byte[][] var80 = class96.field1300[var48];
var12 = (int)Math.sqrt(5100.0D);
var73 = var12 * 768 >> 8;
for (var14 = 1; var14 < 103; ++var14) {
for (var15 = 1; var15 < 103; ++var15) {
var16 = Tiles.Tiles_heights[var48][var15 + 1][var14] - Tiles.Tiles_heights[var48][var15 - 1][var14];
var17 = Tiles.Tiles_heights[var48][var15][var14 + 1] - Tiles.Tiles_heights[var48][var15][var14 - 1];
var18 = (int)Math.sqrt((double)(var16 * var16 + var17 * var17 + 65536));
var19 = (var16 << 8) / var18;
var53 = 65536 / var18;
var21 = (var17 << 8) / var18;
var22 = (var19 * -50 + var21 * -50 + var53 * -10) / var73 + 96;
var57 = (var80[var15][var14 + 1] >> 3) + (var80[var15 - 1][var14] >> 2) + (var80[var15][var14 - 1] >> 2) + (var80[var15 + 1][var14] >> 3) + (var80[var15][var14] >> 1);
UserComparator10.field1964[var15][var14] = var22 - var57;
}
}
for (var14 = 0; var14 < 104; ++var14) {
Tiles.Tiles_hue[var14] = 0;
Tiles.Tiles_saturation[var14] = 0;
Tiles.Tiles_lightness[var14] = 0;
Tiles.Tiles_hueMultiplier[var14] = 0;
PlayerType.field3083[var14] = 0;
}
for (var14 = -5; var14 < 109; ++var14) {
for (var15 = 0; var15 < 104; ++var15) {
var16 = var14 + 5;
int var10002;
if (var16 >= 0 && var16 < 104) {
var17 = SoundSystem.field1414[var48][var16][var15] & 255;
if (var17 > 0) {
var19 = var17 - 1;
FloorUnderlayDefinition var75 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var19);
FloorUnderlayDefinition var58;
if (var75 != null) {
var58 = var75;
} else {
byte[] var59 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var19);
var75 = new FloorUnderlayDefinition();
if (var59 != null) {
var75.decode(new Buffer(var59), var19);
}
var75.postDecode();
FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var75, (long)var19);
var58 = var75;
}
var10000 = Tiles.Tiles_hue;
var10000[var15] += var58.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var15] += var58.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var15] += var58.lightness;
var10000 = Tiles.Tiles_hueMultiplier;
var10000[var15] += var58.hueMultiplier;
var10002 = PlayerType.field3083[var15]++;
}
}
var17 = var14 - 5;
if (var17 >= 0 && var17 < 104) {
var18 = SoundSystem.field1414[var48][var17][var15] & 255;
if (var18 > 0) {
var53 = var18 - 1;
FloorUnderlayDefinition var84 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var53);
FloorUnderlayDefinition var83;
if (var84 != null) {
var83 = var84;
} else {
byte[] var60 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var53);
var84 = new FloorUnderlayDefinition();
if (var60 != null) {
var84.decode(new Buffer(var60), var53);
}
var84.postDecode();
FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var84, (long)var53);
var83 = var84;
}
var10000 = Tiles.Tiles_hue;
var10000[var15] -= var83.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var15] -= var83.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var15] -= var83.lightness;
var10000 = Tiles.Tiles_hueMultiplier;
var10000[var15] -= var83.hueMultiplier;
var10002 = PlayerType.field3083[var15]--;
}
}
}
if (var14 >= 1 && var14 < 103) {
var15 = 0;
var16 = 0;
var17 = 0;
var18 = 0;
var19 = 0;
for (var53 = -5; var53 < 109; ++var53) {
var21 = var53 + 5;
if (var21 >= 0 && var21 < 104) {
var15 += Tiles.Tiles_hue[var21];
var16 += Tiles.Tiles_saturation[var21];
var17 += Tiles.Tiles_lightness[var21];
var18 += Tiles.Tiles_hueMultiplier[var21];
var19 += PlayerType.field3083[var21];
}
var22 = var53 - 5;
if (var22 >= 0 && var22 < 104) {
var15 -= Tiles.Tiles_hue[var22];
var16 -= Tiles.Tiles_saturation[var22];
var17 -= Tiles.Tiles_lightness[var22];
var18 -= Tiles.Tiles_hueMultiplier[var22];
var19 -= PlayerType.field3083[var22];
}
if (var53 >= 1 && var53 < 103 && (!isLowDetail || (Tiles.Tiles_renderFlags[0][var14][var53] & 2) != 0 || (Tiles.Tiles_renderFlags[var48][var14][var53] & 16) == 0)) {
if (var48 < Tiles.Tiles_minPlane) {
Tiles.Tiles_minPlane = var48;
}
var57 = SoundSystem.field1414[var48][var14][var53] & 255;
int var61 = Tiles.field485[var48][var14][var53] & 255;
if (var57 > 0 || var61 > 0) {
int var25 = Tiles.Tiles_heights[var48][var14][var53];
int var26 = Tiles.Tiles_heights[var48][var14 + 1][var53];
var27 = Tiles.Tiles_heights[var48][var14 + 1][var53 + 1];
var28 = Tiles.Tiles_heights[var48][var14][var53 + 1];
var29 = UserComparator10.field1964[var14][var53];
var30 = UserComparator10.field1964[var14 + 1][var53];
int var62 = UserComparator10.field1964[var14 + 1][var53 + 1];
int var32 = UserComparator10.field1964[var14][var53 + 1];
var33 = -1;
int var34 = -1;
if (var57 > 0) {
var35 = var15 * 256 / var18;
var36 = var16 / var19;
var37 = var17 / var19;
var33 = EnumDefinition.hslToRgb(var35, var36, var37);
var35 = var35 + Tiles.field495 & 255;
var37 += Tiles.field496;
if (var37 < 0) {
var37 = 0;
} else if (var37 > 255) {
var37 = 255;
}
var34 = EnumDefinition.hslToRgb(var35, var36, var37);
}
if (var48 > 0) {
boolean var77 = true;
if (var57 == 0 && Tiles.field482[var48][var14][var53] != 0) {
var77 = false;
}
if (var61 > 0 && !WorldMapDecoration.FloorUnderlayDefinition_get(var61 - 1).hideUnderlay) {
var77 = false;
}
if (var77 && var25 == var26 && var25 == var27 && var28 == var25) {
var10000 = Tiles.field488[var48][var14];
var10000[var53] |= 2340;
}
}
var35 = 0;
if (var34 != -1) {
var35 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapCacheName.method686(var34, 96)];
}
if (var61 == 0) {
var69.addTile(var48, var14, var53, 0, 0, -1, var25, var26, var27, var28, WorldMapCacheName.method686(var33, var29), WorldMapCacheName.method686(var33, var30), WorldMapCacheName.method686(var33, var62), WorldMapCacheName.method686(var33, var32), 0, 0, 0, 0, var35, 0);
} else {
var36 = Tiles.field482[var48][var14][var53] + 1;
byte var78 = Tiles.field483[var48][var14][var53];
FloorOverlayDefinition var63 = WorldMapDecoration.FloorUnderlayDefinition_get(var61 - 1);
int var39 = var63.texture;
int var40;
int var41;
int var42;
int var43;
if (var39 >= 0) {
var41 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var39);
var40 = -1;
} else if (var63.primaryRgb == 16711935) {
var40 = -2;
var39 = -1;
var41 = -2;
} else {
var40 = EnumDefinition.hslToRgb(var63.hue, var63.saturation, var63.lightness);
var42 = var63.hue + Tiles.field495 & 255;
var43 = var63.lightness + Tiles.field496;
if (var43 < 0) {
var43 = 0;
} else if (var43 > 255) {
var43 = 255;
}
var41 = EnumDefinition.hslToRgb(var42, var63.saturation, var43);
}
var42 = 0;
if (var41 != -2) {
var42 = Rasterizer3D.Rasterizer3D_colorPalette[HealthBarUpdate.method1880(var41, 96)];
}
if (var63.secondaryRgb != -1) {
var43 = var63.secondaryHue + Tiles.field495 & 255;
int var44 = var63.secondaryLightness + Tiles.field496;
if (var44 < 0) {
var44 = 0;
} else if (var44 > 255) {
var44 = 255;
}
var41 = EnumDefinition.hslToRgb(var43, var63.secondarySaturation, var44);
var42 = Rasterizer3D.Rasterizer3D_colorPalette[HealthBarUpdate.method1880(var41, 96)];
}
var69.addTile(var48, var14, var53, var36, var78, var39, var25, var26, var27, var28, WorldMapCacheName.method686(var33, var29), WorldMapCacheName.method686(var33, var30), WorldMapCacheName.method686(var33, var62), WorldMapCacheName.method686(var33, var32), HealthBarUpdate.method1880(var40, var29), HealthBarUpdate.method1880(var40, var30), HealthBarUpdate.method1880(var40, var62), HealthBarUpdate.method1880(var40, var32), var35, var42);
}
}
}
}
}
}
for (var14 = 1; var14 < 103; ++var14) {
for (var15 = 1; var15 < 103; ++var15) {
if ((Tiles.Tiles_renderFlags[var48][var15][var14] & 8) != 0) {
var53 = 0;
} else if (var48 > 0 && (Tiles.Tiles_renderFlags[1][var15][var14] & 2) != 0) {
var53 = var48 - 1;
} else {
var53 = var48;
}
var69.setTileMinPlane(var48, var15, var14, var53);
}
}
SoundSystem.field1414[var48] = null;
Tiles.field485[var48] = null;
Tiles.field482[var48] = null;
Tiles.field483[var48] = null;
class96.field1300[var48] = null;
}
var69.method3234(-50, -10, -50);
for (var48 = 0; var48 < 104; ++var48) {
for (var6 = 0; var6 < 104; ++var6) {
if ((Tiles.Tiles_renderFlags[1][var48][var6] & 2) == 2) {
var69.setLinkBelow(var48, var6);
}
}
}
var48 = 1;
var6 = 2;
var7 = 4;
for (var72 = 0; var72 < 4; ++var72) {
if (var72 > 0) {
var48 <<= 3;
var6 <<= 3;
var7 <<= 3;
}
for (var54 = 0; var54 <= var72; ++var54) {
for (var10 = 0; var10 <= 104; ++var10) {
for (var11 = 0; var11 <= 104; ++var11) {
short var76;
if ((Tiles.field488[var54][var11][var10] & var48) != 0) {
var12 = var10;
var73 = var10;
var14 = var54;
for (var15 = var54; var12 > 0 && (Tiles.field488[var54][var11][var12 - 1] & var48) != 0; --var12) {
}
while (var73 < 104 && (Tiles.field488[var54][var11][var73 + 1] & var48) != 0) {
++var73;
}
label951:
while (var14 > 0) {
for (var16 = var12; var16 <= var73; ++var16) {
if ((Tiles.field488[var14 - 1][var11][var16] & var48) == 0) {
break label951;
}
}
--var14;
}
label940:
while (var15 < var72) {
for (var16 = var12; var16 <= var73; ++var16) {
if ((Tiles.field488[var15 + 1][var11][var16] & var48) == 0) {
break label940;
}
}
++var15;
}
var16 = (var73 - var12 + 1) * (var15 + 1 - var14);
if (var16 >= 8) {
var76 = 240;
var18 = Tiles.Tiles_heights[var15][var11][var12] - var76;
var19 = Tiles.Tiles_heights[var14][var11][var12];
Scene.Scene_addOccluder(var72, 1, var11 * 128, var11 * 128, var12 * 128, var73 * 128 + 128, var18, var19);
for (var53 = var14; var53 <= var15; ++var53) {
for (var21 = var12; var21 <= var73; ++var21) {
var10000 = Tiles.field488[var53][var11];
var10000[var21] &= ~var48;
}
}
}
}
if ((Tiles.field488[var54][var11][var10] & var6) != 0) {
var12 = var11;
var73 = var11;
var14 = var54;
for (var15 = var54; var12 > 0 && (Tiles.field488[var54][var12 - 1][var10] & var6) != 0; --var12) {
}
while (var73 < 104 && (Tiles.field488[var54][var73 + 1][var10] & var6) != 0) {
++var73;
}
label1004:
while (var14 > 0) {
for (var16 = var12; var16 <= var73; ++var16) {
if ((Tiles.field488[var14 - 1][var16][var10] & var6) == 0) {
break label1004;
}
}
--var14;
}
label993:
while (var15 < var72) {
for (var16 = var12; var16 <= var73; ++var16) {
if ((Tiles.field488[var15 + 1][var16][var10] & var6) == 0) {
break label993;
}
}
++var15;
}
var16 = (var73 - var12 + 1) * (var15 + 1 - var14);
if (var16 >= 8) {
var76 = 240;
var18 = Tiles.Tiles_heights[var15][var12][var10] - var76;
var19 = Tiles.Tiles_heights[var14][var12][var10];
Scene.Scene_addOccluder(var72, 2, var12 * 128, var73 * 128 + 128, var10 * 128, var10 * 128, var18, var19);
for (var53 = var14; var53 <= var15; ++var53) {
for (var21 = var12; var21 <= var73; ++var21) {
var10000 = Tiles.field488[var53][var21];
var10000[var10] &= ~var6;
}
}
}
}
if ((Tiles.field488[var54][var11][var10] & var7) != 0) {
var12 = var11;
var73 = var11;
var14 = var10;
for (var15 = var10; var14 > 0 && (Tiles.field488[var54][var11][var14 - 1] & var7) != 0; --var14) {
}
while (var15 < 104 && (Tiles.field488[var54][var11][var15 + 1] & var7) != 0) {
++var15;
}
label1057:
while (var12 > 0) {
for (var16 = var14; var16 <= var15; ++var16) {
if ((Tiles.field488[var54][var12 - 1][var16] & var7) == 0) {
break label1057;
}
}
--var12;
}
label1046:
while (var73 < 104) {
for (var16 = var14; var16 <= var15; ++var16) {
if ((Tiles.field488[var54][var73 + 1][var16] & var7) == 0) {
break label1046;
}
}
++var73;
}
if ((var15 - var14 + 1) * (var73 - var12 + 1) >= 4) {
var16 = Tiles.Tiles_heights[var54][var12][var14];
Scene.Scene_addOccluder(var72, 4, var12 * 128, var73 * 128 + 128, var14 * 128, var15 * 128 + 128, var16, var16);
for (var17 = var12; var17 <= var73; ++var17) {
for (var18 = var14; var18 <= var15; ++var18) {
var10000 = Tiles.field488[var54][var17];
var10000[var18] &= ~var7;
}
}
}
}
}
}
}
}
GrandExchangeOfferNameComparator.method172(true);
var48 = Tiles.Tiles_minPlane;
if (var48 > Player.Client_plane) {
var48 = Player.Client_plane;
}
if (var48 < Player.Client_plane - 1) {
var48 = Player.Client_plane - 1;
}
if (isLowDetail) {
WorldMapArea.scene.init(Tiles.Tiles_minPlane);
} else {
WorldMapArea.scene.init(0);
}
for (var6 = 0; var6 < 104; ++var6) {
for (var7 = 0; var7 < 104; ++var7) {
class4.updateItemPile(var6, var7);
}
}
ChatChannel.playPcmPlayers();
for (PendingSpawn var81 = (PendingSpawn)pendingSpawns.last(); var81 != null; var81 = (PendingSpawn)pendingSpawns.previous()) {
if (var81.hitpoints == -1) {
var81.delay = 0;
FaceNormal.method3396(var81);
} else {
var81.remove();
}
}
ObjectDefinition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var82;
if (WorldMapID.client.hasFrame()) {
var82 = SoundSystem.getPacketBufferNode(ClientPacket.field2271, packetWriter.isaacCipher);
var82.packetBuffer.writeInt(1057001181);
packetWriter.addNode(var82);
}
if (!isInInstance) {
var6 = (WorldMapSectionType.field140 - 6) / 8;
var7 = (WorldMapSectionType.field140 + 6) / 8;
var72 = (ScriptEvent.field563 - 6) / 8;
var54 = (ScriptEvent.field563 + 6) / 8;
for (var10 = var6 - 1; var10 <= var7 + 1; ++var10) {
for (var11 = var72 - 1; var11 <= var54 + 1; ++var11) {
if (var10 < var6 || var10 > var7 || var11 < var72 || var11 > var54) {
WorldMapRectangle.archive5.loadRegionFromName("m" + var10 + "_" + var11);
WorldMapRectangle.archive5.loadRegionFromName("l" + var10 + "_" + var11);
}
}
}
}
Tile.updateGameState(30);
ChatChannel.playPcmPlayers();
SoundSystem.field1414 = null;
Tiles.field485 = null;
Tiles.field482 = null;
Tiles.field483 = null;
Tiles.field488 = null;
class96.field1300 = null;
UserComparator10.field1964 = null;
Tiles.Tiles_hue = null;
Tiles.Tiles_saturation = null;
Tiles.Tiles_lightness = null;
Tiles.Tiles_hueMultiplier = null;
PlayerType.field3083 = null;
var82 = SoundSystem.getPacketBufferNode(ClientPacket.field2280, packetWriter.isaacCipher);
packetWriter.addNode(var82);
HealthBar.method2161();
}
}
}
} else {
class189.doCycleTitle(this);
}
if (gameState == 30) {
this.doCycleLoggedIn();
} else if (gameState == 40 || gameState == 45) {
this.doCycleLoggedOut();
}
return;
}
var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false);
}
}
@ObfuscatedName("au")
@ObfuscatedSignature(
signature = "(ZI)V",
garbageValue = "-1361952953"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2;
label170: {
try {
if (class197.field2377 == 2) {
if (class197.musicTrack == null) {
class197.musicTrack = MusicTrack.readTrack(class247.musicTrackArchive, class189.musicTrackGroupId, class197.musicTrackFileId);
if (class197.musicTrack == null) {
var2 = false;
break label170;
}
}
if (ByteArrayPool.soundCache == null) {
ByteArrayPool.soundCache = new SoundCache(class197.soundEffectsArchive, class197.musicSamplesArchive);
}
if (class197.midiPcmStream.loadMusicTrack(class197.musicTrack, class197.musicPatchesArchive, ByteArrayPool.soundCache, 22050)) {
class197.midiPcmStream.clearAll();
class197.midiPcmStream.setPcmStreamVolume(class197.musicTrackVolume);
class197.midiPcmStream.setMusicTrack(class197.musicTrack, ScriptFrame.musicTrackBoolean);
class197.field2377 = 0;
class197.musicTrack = null;
ByteArrayPool.soundCache = null;
class247.musicTrackArchive = null;
var2 = true;
break label170;
}
}
} catch (Exception var6) {
var6.printStackTrace();
class197.midiPcmStream.clear();
class197.field2377 = 0;
class197.musicTrack = null;
ByteArrayPool.soundCache = null;
class247.musicTrackArchive = null;
}
var2 = false;
}
if (var2 && field855 && class80.pcmPlayer0 != null) {
class80.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && field736 != 0L && PlayerAppearance.currentTimeMillis() > field736) {
FontName.setWindowedMode(WallDecoration.getWindowedMode());
}
int var4;
if (var1) {
for (var4 = 0; var4 < 100; ++var4) {
field842[var4] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
class1.drawTitle(class43.fontBold12, class51.fontPlain11, ArchiveDiskActionHandler.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
class1.drawTitle(class43.fontBold12, class51.fontPlain11, ArchiveDiskActionHandler.fontPlain12);
} else if (gameState == 25) {
if (field688 == 1) {
if (field684 > field685) {
field685 = field684;
}
var4 = (field685 * 50 - field684 * 50) / field685;
GrandExchangeEvents.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else if (field688 == 2) {
if (field686 > field687) {
field687 = field686;
}
var4 = (field687 * 50 - field686 * 50) / field687 + 50;
GrandExchangeEvents.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + var4 + "%" + ")", false);
} else {
GrandExchangeEvents.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
GrandExchangeEvents.drawLoadingMessage("Connection lost" + "<br>" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
GrandExchangeEvents.drawLoadingMessage("Please wait...", false);
}
} else {
class1.drawTitle(class43.fontBold12, class51.fontPlain11, ArchiveDiskActionHandler.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
if (field837[var4]) {
AbstractWorldMapData.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]);
field837[var4] = false;
}
}
} else if (gameState > 0) {
AbstractWorldMapData.rasterProvider.drawFull(0, 0);
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
field837[var4] = false;
}
}
}
@ObfuscatedName("ah")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1838623985"
)
@Export("kill0")
protected final void kill0() {
if (class1.varcs.hasUnwrittenChanges()) {
class1.varcs.write();
}
if (class3.mouseRecorder != null) {
class3.mouseRecorder.isRunning = false;
}
class3.mouseRecorder = null;
packetWriter.close();
class43.method880();
NPCDefinition.method4880();
KeyHandler.mouseWheel = null;
if (class80.pcmPlayer0 != null) {
class80.pcmPlayer0.shutdown();
}
if (MenuAction.pcmPlayer1 != null) {
MenuAction.pcmPlayer1.shutdown();
}
class185.method3774();
class218.method4255();
if (Skills.urlRequester != null) {
Skills.urlRequester.close();
Skills.urlRequester = null;
}
Tile.method3023();
}
@ObfuscatedName("at")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-22"
)
protected final void vmethod1393() {
}
public final void init() {
try {
if (this.checkHost()) {
for (int var1 = 0; var1 <= 19; ++var1) {
String var2 = this.getParameter(Integer.toString(var1));
if (var2 != null) {
int var4;
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:
var4 = Integer.parseInt(var2);
Language var13;
if (var4 >= 0 && var4 < Language.Language_valuesOrdered.length) {
var13 = Language.Language_valuesOrdered[var4];
} else {
var13 = null;
}
WorldMapSection1.clientLanguage = var13;
break;
case 7:
var4 = Integer.parseInt(var2);
ServerBuild[] var5 = new ServerBuild[]{ServerBuild.BUILDLIVE, ServerBuild.WIP, ServerBuild.RC, ServerBuild.LIVE};
ServerBuild[] var6 = var5;
int var7 = 0;
ServerBuild var3;
while (true) {
if (var7 >= var6.length) {
var3 = null;
break;
}
ServerBuild var8 = var6[var7];
if (var4 == var8.field3088) {
var3 = var8;
break;
}
++var7;
}
class32.field265 = var3;
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
MilliClock.field1994 = var2;
break;
case 10:
MouseHandler.field458 = (StudioGame)WorldMapIcon_1.findEnumerated(class60.method1260(), Integer.parseInt(var2));
if (StudioGame.oldscape == MouseHandler.field458) {
class60.loginType = LoginType.oldscape;
} else {
class60.loginType = LoginType.field4032;
}
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
class339.field4041 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
class335.field4016 = var2;
}
}
}
class13.method199();
WorldMapAreaData.worldHost = this.getCodeBase().getHost();
String var9 = class32.field265.name;
byte var10 = 0;
try {
class192.method3814("oldschool", var9, var10, 21);
} catch (Exception var11) {
User.RunException_sendStackTrace((String)null, var11);
}
WorldMapID.client = this;
TileItem.clientType = clientType;
this.startThread(765, 503, 185);
}
} catch (RuntimeException var12) {
throw ByteArrayPool.newRunException(var12, "client.init(" + ')');
}
}
@ObfuscatedName("fu")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "773781799"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
long var2 = PlayerAppearance.currentTimeMillis();
int var4 = (int)(var2 - NetCache.field3149);
NetCache.field3149 = 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 {
label247: {
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 (UserComparator6.NetCache_currentResponse == null) {
var7 = 8;
} else if (NetCache.field3161 == 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.field3165 != 0) {
for (var9 = 0; var9 < var8; ++var9) {
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
var10001 = var9 + NetCache.NetCache_responseHeaderBuffer.offset;
var10000[var10001] ^= NetCache.field3165;
}
}
var25 = NetCache.NetCache_responseHeaderBuffer;
var25.offset += var8;
if (NetCache.NetCache_responseHeaderBuffer.offset < var7) {
break;
}
if (UserComparator6.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);
AttackOption.field1151 = true;
if (var15 == null) {
var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13);
AttackOption.field1151 = false;
}
if (var15 == null) {
throw new IOException();
}
int var16 = var11 == 0 ? 5 : 9;
UserComparator6.NetCache_currentResponse = var15;
Frames.NetCache_responseArchiveBuffer = new Buffer(var16 + var12 + UserComparator6.NetCache_currentResponse.padding);
Frames.NetCache_responseArchiveBuffer.writeByte(var11);
Frames.NetCache_responseArchiveBuffer.writeInt(var12);
NetCache.field3161 = 8;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else if (NetCache.field3161 == 0) {
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
NetCache.field3161 = 1;
NetCache.NetCache_responseHeaderBuffer.offset = 0;
} else {
UserComparator6.NetCache_currentResponse = null;
}
}
} else {
var8 = Frames.NetCache_responseArchiveBuffer.array.length - UserComparator6.NetCache_currentResponse.padding;
var9 = 512 - NetCache.field3161;
if (var9 > var8 - Frames.NetCache_responseArchiveBuffer.offset) {
var9 = var8 - Frames.NetCache_responseArchiveBuffer.offset;
}
if (var9 > var18) {
var9 = var18;
}
NetCache.NetCache_socket.read(Frames.NetCache_responseArchiveBuffer.array, Frames.NetCache_responseArchiveBuffer.offset, var9);
if (NetCache.field3165 != 0) {
for (var10 = 0; var10 < var9; ++var10) {
var10000 = Frames.NetCache_responseArchiveBuffer.array;
var10001 = Frames.NetCache_responseArchiveBuffer.offset + var10;
var10000[var10001] ^= NetCache.field3165;
}
}
var25 = Frames.NetCache_responseArchiveBuffer;
var25.offset += var9;
NetCache.field3161 += var9;
if (var8 == Frames.NetCache_responseArchiveBuffer.offset) {
if (UserComparator6.NetCache_currentResponse.key == 16711935L) {
Calendar.NetCache_reference = Frames.NetCache_responseArchiveBuffer;
for (var10 = 0; var10 < 256; ++var10) {
Archive var19 = NetCache.NetCache_archives[var10];
if (var19 != null) {
Calendar.NetCache_reference.offset = var10 * 8 + 5;
var12 = Calendar.NetCache_reference.readInt();
int var20 = Calendar.NetCache_reference.readInt();
var19.loadIndex(var12, var20);
}
}
} else {
NetCache.NetCache_crc.reset();
NetCache.NetCache_crc.update(Frames.NetCache_responseArchiveBuffer.array, 0, var8);
var10 = (int)NetCache.NetCache_crc.getValue();
if (var10 != UserComparator6.NetCache_currentResponse.crc) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var23) {
}
++NetCache.NetCache_crcMismatches;
NetCache.NetCache_socket = null;
NetCache.field3165 = (byte)((int)(Math.random() * 255.0D + 1.0D));
var1 = false;
break label247;
}
NetCache.NetCache_crcMismatches = 0;
NetCache.NetCache_ioExceptions = 0;
UserComparator6.NetCache_currentResponse.archive.write((int)(UserComparator6.NetCache_currentResponse.key & 65535L), Frames.NetCache_responseArchiveBuffer.array, 16711680L == (UserComparator6.NetCache_currentResponse.key & 16711680L), AttackOption.field1151);
}
UserComparator6.NetCache_currentResponse.remove();
if (AttackOption.field1151) {
--NetCache.NetCache_pendingPriorityResponsesCount;
} else {
--NetCache.NetCache_pendingResponsesCount;
}
NetCache.field3161 = 0;
UserComparator6.NetCache_currentResponse = null;
Frames.NetCache_responseArchiveBuffer = null;
} else {
if (NetCache.field3161 != 512) {
break;
}
NetCache.field3161 = 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("fy")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "40"
)
@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;
}
field819 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field819 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
Entity.js5SocketTask = GameShell.taskHandler.newSocketTask(WorldMapAreaData.worldHost, GrandExchangeOfferUnitPriceComparator.port3);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (Entity.js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (Entity.js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
js5Socket = class40.method839((Socket)Entity.js5SocketTask.result, 40000, 5000);
} else {
js5Socket = new NetSocket((Socket)Entity.js5SocketTask.result, GameShell.taskHandler, 5000);
}
Buffer var1 = new Buffer(5);
var1.writeByte(15);
var1.writeInt(185);
js5Socket.write(var1.array, 0, 5);
++js5ConnectState;
ArchiveDiskActionHandler.field3130 = PlayerAppearance.currentTimeMillis();
}
if (js5ConnectState == 3) {
if (js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var2 = js5Socket.readUnsignedByte();
if (var2 != 0) {
this.js5Error(var2);
return;
}
++js5ConnectState;
} else if (PlayerAppearance.currentTimeMillis() - ArchiveDiskActionHandler.field3130 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
VerticalAlignment.method4503(js5Socket, gameState > 20);
Entity.js5SocketTask = null;
js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
}
} catch (IOException var3) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("fn")
@ObfuscatedSignature(
signature = "(II)V",
garbageValue = "-1648884107"
)
@Export("js5Error")
void js5Error(int var1) {
Entity.js5SocketTask = null;
js5Socket = null;
js5ConnectState = 0;
if (GrandExchangeOfferUnitPriceComparator.port3 == class222.port1) {
GrandExchangeOfferUnitPriceComparator.port3 = Decimator.port2;
} else {
GrandExchangeOfferUnitPriceComparator.port3 = class222.port1;
}
++js5Errors;
if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) {
if (gameState <= 5) {
this.error("js5connect_full");
gameState = 1000;
} else {
field819 = 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 {
field819 = 3000;
}
}
}
@ObfuscatedName("fk")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "2145880760"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (GZipDecompressor.secureRandom == null && (secureRandomFuture.isDone() || field666 > 250)) {
GZipDecompressor.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (GZipDecompressor.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
AttackOption.socketTask = null;
field680 = false;
field666 = 0;
loginState = 1;
}
}
if (loginState == 1) {
if (AttackOption.socketTask == null) {
AttackOption.socketTask = GameShell.taskHandler.newSocketTask(WorldMapAreaData.worldHost, GrandExchangeOfferUnitPriceComparator.port3);
}
if (AttackOption.socketTask.status == 2) {
throw new IOException();
}
if (AttackOption.socketTask.status == 1) {
if (useBufferedSocket) {
var1 = class40.method839((Socket)AttackOption.socketTask.result, 40000, 5000);
} else {
var1 = new NetSocket((Socket)AttackOption.socketTask.result, GameShell.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
AttackOption.socketTask = null;
loginState = 2;
}
}
PacketBufferNode var4;
if (loginState == 2) {
packetWriter.clearBuffer();
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) {
var4 = new PacketBufferNode();
} else {
var4 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount];
}
var4.clientPacket = null;
var4.clientPacketLength = 0;
var4.packetBuffer = new PacketBuffer(5000);
var4.packetBuffer.writeByte(LoginPacket.field2283.id);
packetWriter.addNode(var4);
packetWriter.flush();
var2.offset = 0;
loginState = 3;
}
boolean var14;
int var15;
if (loginState == 3) {
if (class80.pcmPlayer0 != null) {
class80.pcmPlayer0.method2581();
}
if (MenuAction.pcmPlayer1 != null) {
MenuAction.pcmPlayer1.method2581();
}
var14 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var14 = false;
}
if (var14) {
var15 = ((AbstractSocket)var1).readUnsignedByte();
if (class80.pcmPlayer0 != null) {
class80.pcmPlayer0.method2581();
}
if (MenuAction.pcmPlayer1 != null) {
MenuAction.pcmPlayer1.method2581();
}
if (var15 != 0) {
AbstractArchive.getLoginError(var15);
return;
}
var2.offset = 0;
loginState = 4;
}
}
int var30;
if (loginState == 4) {
if (var2.offset < 8) {
var30 = ((AbstractSocket)var1).available();
if (var30 > 8 - var2.offset) {
var30 = 8 - var2.offset;
}
if (var30 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var30);
var2.offset += var30;
}
}
if (var2.offset == 8) {
var2.offset = 0;
Message.field577 = var2.readLong();
loginState = 5;
}
}
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var3 = new PacketBuffer(500);
int[] var24 = new int[]{GZipDecompressor.secureRandom.nextInt(), GZipDecompressor.secureRandom.nextInt(), GZipDecompressor.secureRandom.nextInt(), GZipDecompressor.secureRandom.nextInt()};
var3.offset = 0;
var3.writeByte(1);
var3.writeInt(var24[0]);
var3.writeInt(var24[1]);
var3.writeInt(var24[2]);
var3.writeInt(var24[3]);
var3.writeLong(Message.field577);
if (gameState == 40) {
var3.writeInt(class173.field2074[0]);
var3.writeInt(class173.field2074[1]);
var3.writeInt(class173.field2074[2]);
var3.writeInt(class173.field2074[3]);
} else {
var3.writeByte(field850.rsOrdinal());
switch(field850.field1983) {
case 0:
case 1:
var3.writeMedium(Huffman.field2491);
++var3.offset;
break;
case 2:
var3.writeInt((Integer)ScriptEvent.clientPreferences.parameters.get(GrandExchangeEvents.method108(Login.Login_username)));
break;
case 3:
var3.offset += 4;
}
var3.writeByte(class312.field3799.rsOrdinal());
var3.writeStringCp1252NullTerminated(Login.Login_password);
}
var3.encryptRsa(class83.field1144, class83.field1145);
class173.field2074 = var24;
PacketBufferNode var6;
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) {
var6 = new PacketBufferNode();
} else {
var6 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount];
}
var6.clientPacket = null;
var6.clientPacketLength = 0;
var6.packetBuffer = new PacketBuffer(5000);
var6.packetBuffer.offset = 0;
if (gameState == 40) {
var6.packetBuffer.writeByte(LoginPacket.field2286.id);
} else {
var6.packetBuffer.writeByte(LoginPacket.field2285.id);
}
var6.packetBuffer.writeShort(0);
int var16 = var6.packetBuffer.offset;
var6.packetBuffer.writeInt(185);
var6.packetBuffer.writeInt(1);
var6.packetBuffer.writeByte(clientType);
var6.packetBuffer.writeBytes(var3.array, 0, var3.offset);
int var8 = var6.packetBuffer.offset;
var6.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var6.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var6.packetBuffer.writeShort(class286.canvasWidth);
var6.packetBuffer.writeShort(FloorUnderlayDefinition.canvasHeight);
PacketBuffer var9 = var6.packetBuffer;
int var12;
if (randomDatData != null) {
var9.writeBytes(randomDatData, 0, randomDatData.length);
} else {
byte[] var11 = new byte[24];
try {
JagexCache.JagexCache_randomDat.seek(0L);
JagexCache.JagexCache_randomDat.readFully(var11);
for (var12 = 0; var12 < 24 && var11[var12] == 0; ++var12) {
}
if (var12 >= 24) {
throw new IOException();
}
} catch (Exception var21) {
for (int var13 = 0; var13 < 24; ++var13) {
var11[var13] = -1;
}
}
var9.writeBytes(var11, 0, var11.length);
}
var6.packetBuffer.writeStringCp1252NullTerminated(MilliClock.field1994);
var6.packetBuffer.writeInt(class339.field4041);
Buffer var10 = new Buffer(class216.platformInfo.size());
class216.platformInfo.write(var10);
var6.packetBuffer.writeBytes(var10.array, 0, var10.array.length);
var6.packetBuffer.writeByte(clientType);
var6.packetBuffer.writeInt(0);
var6.packetBuffer.writeInt(BuddyRankComparator.archive0.hash);
var6.packetBuffer.writeInt(LoginPacket.archive1.hash);
var6.packetBuffer.writeInt(AbstractWorldMapIcon.archive2.hash);
var6.packetBuffer.writeInt(SpriteMask.archive3.hash);
var6.packetBuffer.writeInt(NetFileRequest.archive4.hash);
var6.packetBuffer.writeInt(WorldMapRectangle.archive5.hash);
var6.packetBuffer.writeInt(class216.archive6.hash);
var6.packetBuffer.writeInt(Language.archive7.hash);
var6.packetBuffer.writeInt(GrandExchangeOfferUnitPriceComparator.archive8.hash);
var6.packetBuffer.writeInt(WorldMapSprite.archive9.hash);
var6.packetBuffer.writeInt(WorldMapID.archive10.hash);
var6.packetBuffer.writeInt(Decimator.archive11.hash);
var6.packetBuffer.writeInt(Occluder.archive12.hash);
var6.packetBuffer.writeInt(UrlRequest.archive13.hash);
var6.packetBuffer.writeInt(class192.archive14.hash);
var6.packetBuffer.writeInt(Coord.archive15.hash);
var6.packetBuffer.writeInt(0);
var6.packetBuffer.writeInt(DesktopPlatformInfoProvider.archive17.hash);
var6.packetBuffer.writeInt(WorldMapDecoration.archive18.hash);
var6.packetBuffer.writeInt(ReflectionCheck.archive19.hash);
var6.packetBuffer.writeInt(Actor.archive20.hash);
var6.packetBuffer.xteaEncrypt(var24, var8, var6.packetBuffer.offset);
var6.packetBuffer.writeLengthShort(var6.packetBuffer.offset - var16);
packetWriter.addNode(var6);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var24);
int[] var29 = new int[4];
for (var12 = 0; var12 < 4; ++var12) {
var29[var12] = var24[var12] + 50;
}
var2.newIsaacCipher(var29);
loginState = 6;
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var30 = ((AbstractSocket)var1).readUnsignedByte();
if (var30 == 21 && gameState == 20) {
loginState = 9;
} else if (var30 == 2) {
loginState = 11;
} else if (var30 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
loginState = 16;
} else if (var30 == 64) {
loginState = 7;
} else if (var30 == 23 && field667 < 1) {
++field667;
loginState = 0;
} else {
if (var30 != 29) {
AbstractArchive.getLoginError(var30);
return;
}
loginState = 14;
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() > 0) {
WorldMapAreaData.field329 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 8;
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapAreaData.field329) {
((AbstractSocket)var1).read(var2.array, 0, WorldMapAreaData.field329);
var2.offset = 0;
loginState = 6;
}
if (loginState == 9 && ((AbstractSocket)var1).available() > 0) {
field668 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
loginState = 10;
}
if (loginState == 10) {
field666 = 0;
GrandExchangeOffer.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field668 / 60 + " seconds.");
if (--field668 <= 0) {
loginState = 0;
}
} else {
if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) {
class49.field399 = ((AbstractSocket)var1).readUnsignedByte();
loginState = 12;
}
if (loginState == 12 && ((AbstractSocket)var1).available() >= class49.field399) {
var14 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var31 = false;
if (var14) {
var15 = var2.readByteIsaac() << 24;
var15 |= var2.readByteIsaac() << 16;
var15 |= var2.readByteIsaac() << 8;
var15 |= var2.readByteIsaac();
int var18 = GrandExchangeEvents.method108(Login.Login_username);
if (ScriptEvent.clientPreferences.parameters.size() >= 10 && !ScriptEvent.clientPreferences.parameters.containsKey(var18)) {
Iterator var28 = ScriptEvent.clientPreferences.parameters.entrySet().iterator();
var28.next();
var28.remove();
}
ScriptEvent.clientPreferences.parameters.put(var18, var15);
}
if (Login_isUsernameRemembered) {
ScriptEvent.clientPreferences.rememberedUsername = Login.Login_username;
} else {
ScriptEvent.clientPreferences.rememberedUsername = null;
}
HitSplatDefinition.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field749 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var5 = SecureRandomCallable.ServerPacket_values();
int var19 = var2.readSmartByteShortIsaac();
if (var19 < 0 || var19 >= var5.length) {
throw new IOException(var19 + " " + var2.offset);
}
packetWriter.serverPacket = var5[var19];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
class47.method923(WorldMapID.client, "zap");
} catch (Throwable var20) {
}
loginState = 13;
}
if (loginState == 13) {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method5119();
GrandExchangeOfferTotalQuantityComparator.method130();
ArchiveLoader.updatePlayer(var2);
WorldMapSectionType.field140 = -1;
Clock.loadRegions(false, var2);
packetWriter.serverPacket = null;
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
WorldMapData_0.field92 = var2.readUnsignedShort();
loginState = 15;
}
if (loginState == 15 && ((AbstractSocket)var1).available() >= WorldMapData_0.field92) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, WorldMapData_0.field92);
var2.offset = 0;
String var23 = var2.readStringCp1252NullTerminated();
String var25 = var2.readStringCp1252NullTerminated();
String var26 = var2.readStringCp1252NullTerminated();
GrandExchangeOffer.setLoginResponseString(var23, var25, var26);
Tile.updateGameState(10);
}
if (loginState != 16) {
++field666;
if (field666 > 2000) {
if (field667 < 1) {
if (GrandExchangeOfferUnitPriceComparator.port3 == class222.port1) {
GrandExchangeOfferUnitPriceComparator.port3 = Decimator.port2;
} else {
GrandExchangeOfferUnitPriceComparator.port3 = class222.port1;
}
++field667;
loginState = 0;
} else {
AbstractArchive.getLoginError(-3);
}
}
} else {
if (packetWriter.serverPacketLength == -1) {
if (((AbstractSocket)var1).available() < 2) {
return;
}
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
}
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
var2.offset = 0;
var30 = packetWriter.serverPacketLength;
timer.method5121();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1290 = null;
packetWriter.field1286 = null;
packetWriter.field1292 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1291 = 0;
rebootTimer = 0;
menuOptionsCount = 0;
isMenuOpen = false;
minimapState = 0;
destinationX = 0;
for (var15 = 0; var15 < 2048; ++var15) {
players[var15] = null;
}
class215.localPlayer = null;
for (var15 = 0; var15 < npcs.length; ++var15) {
NPC var27 = npcs[var15];
if (var27 != null) {
var27.targetIndex = -1;
var27.false0 = false;
}
}
ItemContainer.itemContainers = new NodeHashTable(32);
Tile.updateGameState(30);
for (var15 = 0; var15 < 100; ++var15) {
field842[var15] = true;
}
var4 = SoundSystem.getPacketBufferNode(ClientPacket.field2257, packetWriter.isaacCipher);
var4.packetBuffer.writeByte(WallDecoration.getWindowedMode());
var4.packetBuffer.writeShort(class286.canvasWidth);
var4.packetBuffer.writeShort(FloorUnderlayDefinition.canvasHeight);
packetWriter.addNode(var4);
ArchiveLoader.updatePlayer(var2);
if (var30 != var2.offset) {
throw new RuntimeException();
}
}
}
}
}
} catch (IOException var22) {
if (field667 < 1) {
if (class222.port1 == GrandExchangeOfferUnitPriceComparator.port3) {
GrandExchangeOfferUnitPriceComparator.port3 = Decimator.port2;
} else {
GrandExchangeOfferUnitPriceComparator.port3 = class222.port1;
}
++field667;
loginState = 0;
} else {
AbstractArchive.getLoginError(-2);
}
}
}
@ObfuscatedName("fq")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "80"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (field680) {
field680 = false;
AbstractWorldMapIcon.method652();
} else {
if (!isMenuOpen) {
ClientPacket.addCancelMenuEntry();
}
int var1;
for (var1 = 0; var1 < 100 && this.method1720(packetWriter); ++var1) {
}
if (gameState == 30) {
while (true) {
ReflectionCheck var2 = (ReflectionCheck)class96.reflectionChecks.last();
boolean var29;
if (var2 == null) {
var29 = false;
} else {
var29 = true;
}
int var3;
PacketBufferNode var30;
if (!var29) {
PacketBufferNode var14;
int var15;
if (timer.field3568) {
var14 = SoundSystem.getPacketBufferNode(ClientPacket.field2201, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
var15 = var14.packetBuffer.offset;
timer.write(var14.packetBuffer);
var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
timer.method5120();
}
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
PacketBuffer var10000;
synchronized(class3.mouseRecorder.lock) {
if (!field791) {
class3.mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || class3.mouseRecorder.index >= 40) {
var30 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < class3.mouseRecorder.index && (var30 == null || var30.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = class3.mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = class3.mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field644 || var8 != field905) {
if (var30 == null) {
var30 = SoundSystem.getPacketBufferNode(ClientPacket.field2183, packetWriter.isaacCipher);
var30.packetBuffer.writeByte(0);
var3 = var30.packetBuffer.offset;
var10000 = var30.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (field646 != -1L) {
var10 = var9 - field644;
var11 = var8 - field905;
var12 = (int)((class3.mouseRecorder.millis[var7] - field646) / 20L);
var5 = (int)((long)var5 + (class3.mouseRecorder.millis[var7] - field646) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field644 = var9;
field905 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var30.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var30.packetBuffer.writeByte(var12 + 128);
var30.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var30.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var30.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var30.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var30.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var30.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var30.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field646 = class3.mouseRecorder.millis[var7];
}
}
if (var30 != null) {
var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3);
var7 = var30.packetBuffer.offset;
var30.packetBuffer.offset = var3;
var30.packetBuffer.writeByte(var5 / var6);
var30.packetBuffer.writeByte(var5 % var6);
var30.packetBuffer.offset = var7;
packetWriter.addNode(var30);
}
if (var4 >= class3.mouseRecorder.index) {
class3.mouseRecorder.index = 0;
} else {
MouseRecorder var47 = class3.mouseRecorder;
var47.index -= var4;
System.arraycopy(class3.mouseRecorder.xs, var4, class3.mouseRecorder.xs, 0, class3.mouseRecorder.index);
System.arraycopy(class3.mouseRecorder.ys, var4, class3.mouseRecorder.ys, 0, class3.mouseRecorder.index);
System.arraycopy(class3.mouseRecorder.millis, var4, class3.mouseRecorder.millis, 0, class3.mouseRecorder.index);
}
}
}
PacketBufferNode var18;
if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapLabelSize.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var16 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L;
if (var16 > 4095L) {
var16 = 4095L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > FloorUnderlayDefinition.canvasHeight) {
var3 = FloorUnderlayDefinition.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > class286.canvasWidth) {
var4 = class286.canvasWidth;
}
var5 = (int)var16;
var18 = SoundSystem.getPacketBufferNode(ClientPacket.field2216, packetWriter.isaacCipher);
var18.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1));
var18.packetBuffer.writeShort(var4);
var18.packetBuffer.writeShort(var3);
packetWriter.addNode(var18);
}
if (KeyHandler.field384 > 0) {
var14 = SoundSystem.getPacketBufferNode(ClientPacket.field2187, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(0);
var15 = var14.packetBuffer.offset;
long var19 = PlayerAppearance.currentTimeMillis();
for (var5 = 0; var5 < KeyHandler.field384; ++var5) {
long var21 = var19 - field663;
if (var21 > 16777215L) {
var21 = 16777215L;
}
field663 = var19;
var14.packetBuffer.writeMedium((int)var21);
var14.packetBuffer.writeByte(KeyHandler.field383[var5]);
}
var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
}
if (field715 > 0) {
--field715;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field733 = true;
}
if (field733 && field715 <= 0) {
field715 = 20;
field733 = false;
var14 = SoundSystem.getPacketBufferNode(ClientPacket.field2220, packetWriter.isaacCipher);
var14.packetBuffer.method5644(camAngleY);
var14.packetBuffer.writeShortLE(camAngleX);
packetWriter.addNode(var14);
}
if (class30.hasFocus && !hadFocus) {
hadFocus = true;
var14 = SoundSystem.getPacketBufferNode(ClientPacket.field2209, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(1);
packetWriter.addNode(var14);
}
if (!class30.hasFocus && hadFocus) {
hadFocus = false;
var14 = SoundSystem.getPacketBufferNode(ClientPacket.field2209, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
packetWriter.addNode(var14);
}
if (Login.worldMap != null) {
Login.worldMap.method6427();
}
ModelData0.method3378();
ScriptFrame.method1219();
if (gameState != 30) {
return;
}
for (PendingSpawn var37 = (PendingSpawn)pendingSpawns.last(); var37 != null; var37 = (PendingSpawn)pendingSpawns.previous()) {
if (var37.hitpoints > 0) {
--var37.hitpoints;
}
if (var37.hitpoints == 0) {
if (var37.objectId < 0 || class296.method5547(var37.objectId, var37.field914)) {
GrandExchangeOfferUnitPriceComparator.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.objectId, var37.field913, var37.field914);
var37.remove();
}
} else {
if (var37.delay > 0) {
--var37.delay;
}
if (var37.delay == 0 && var37.x >= 1 && var37.y >= 1 && var37.x <= 102 && var37.y <= 102 && (var37.id < 0 || class296.method5547(var37.id, var37.field917))) {
GrandExchangeOfferUnitPriceComparator.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.id, var37.orientation, var37.field917);
var37.delay = -1;
if (var37.id == var37.objectId && var37.objectId == -1) {
var37.remove();
} else if (var37.id == var37.objectId && var37.field913 == var37.orientation && var37.field917 == var37.field914) {
var37.remove();
}
}
}
}
int var10002;
for (var1 = 0; var1 < soundEffectCount; ++var1) {
var10002 = queuedSoundEffectDelays[var1]--;
if (queuedSoundEffectDelays[var1] >= -10) {
SoundEffect var31 = soundEffects[var1];
if (var31 == null) {
var10000 = null;
var31 = SoundEffect.readSoundEffect(NetFileRequest.archive4, soundEffectIds[var1], 0);
if (var31 == null) {
continue;
}
int[] var48 = queuedSoundEffectDelays;
var48[var1] += var31.calculateDelay();
soundEffects[var1] = var31;
}
if (queuedSoundEffectDelays[var1] < 0) {
if (soundLocations[var1] != 0) {
var4 = (soundLocations[var1] & 255) * 128;
var5 = soundLocations[var1] >> 16 & 255;
var6 = var5 * 128 + 64 - class215.localPlayer.x;
if (var6 < 0) {
var6 = -var6;
}
var7 = soundLocations[var1] >> 8 & 255;
var8 = var7 * 128 + 64 - class215.localPlayer.y;
if (var8 < 0) {
var8 = -var8;
}
var9 = var6 + var8 - 128;
if (var9 > var4) {
queuedSoundEffectDelays[var1] = -100;
continue;
}
if (var9 < 0) {
var9 = 0;
}
var3 = (var4 - var9) * areaSoundEffectVolume / var4;
} else {
var3 = soundEffectVolume;
}
if (var3 > 0) {
RawSound var23 = var31.toRawSound().resample(AbstractWorldMapIcon.decimator);
RawPcmStream var24 = RawPcmStream.createRawPcmStream(var23, 100, var3);
var24.setNumLoops(queuedSoundEffectLoops[var1] - 1);
FloorUnderlayDefinition.pcmStreamMixer.addSubStream(var24);
}
queuedSoundEffectDelays[var1] = -100;
}
} else {
--soundEffectCount;
for (var15 = var1; var15 < soundEffectCount; ++var15) {
soundEffectIds[var15] = soundEffectIds[var15 + 1];
soundEffects[var15] = soundEffects[var15 + 1];
queuedSoundEffectLoops[var15] = queuedSoundEffectLoops[var15 + 1];
queuedSoundEffectDelays[var15] = queuedSoundEffectDelays[var15 + 1];
soundLocations[var15] = soundLocations[var15 + 1];
}
--var1;
}
}
if (field855 && !Login.method2256()) {
if (musicVolume != 0 && currentTrackGroupId != -1) {
MusicPatchNode2.playMusicTrack(class216.archive6, currentTrackGroupId, 0, musicVolume, false);
}
field855 = false;
}
++packetWriter.field1291;
if (packetWriter.field1291 > 750) {
AbstractWorldMapIcon.method652();
return;
}
WorldMapData_1.method767();
for (var1 = 0; var1 < npcCount; ++var1) {
var15 = npcIndices[var1];
NPC var25 = npcs[var15];
if (var25 != null) {
HitSplatDefinition.updateActorSequence(var25, var25.definition.size);
}
}
KeyHandler.method913();
++field693;
if (mouseCrossColor != 0) {
mouseCrossState = mouseCrossState * 400 + 400;
if (mouseCrossState * 20 >= 400) {
mouseCrossColor = 0;
}
}
if (Login.field1165 != null) {
++field753;
if (field753 >= 15) {
GrandExchangeOfferAgeComparator.invalidateWidget(Login.field1165);
Login.field1165 = null;
}
}
Widget var38 = ChatChannel.mousedOverWidgetIf1;
Widget var32 = GrandExchangeEvents.field39;
ChatChannel.mousedOverWidgetIf1 = null;
GrandExchangeEvents.field39 = null;
draggedOnWidget = null;
field695 = false;
field809 = false;
field866 = 0;
while (class237.isKeyDown() && field866 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && WorldMapLabel.field229 == 66) {
String var40 = "";
Message var39;
for (Iterator var42 = Messages.Messages_hashTable.iterator(); var42.hasNext(); var40 = var40 + var39.sender + ':' + var39.text + '\n') {
var39 = (Message)var42.next();
}
WorldMapID.client.clipboardSetString(var40);
} else if (oculusOrbState != 1 || DevicePcmPlayerProvider.field395 <= 0) {
field854[field866] = WorldMapLabel.field229;
field853[field866] = DevicePcmPlayerProvider.field395;
++field866;
}
}
if (PendingSpawn.method1854() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var3 = class215.localPlayer.Client_plane - mouseWheelRotation;
if (var3 < 0) {
var3 = 0;
} else if (var3 > 3) {
var3 = 3;
}
if (var3 != class215.localPlayer.Client_plane) {
var4 = class215.localPlayer.pathX[0] + UserComparator8.baseX * 64;
var5 = class215.localPlayer.pathY[0] + HealthBar.baseY * 64;
var18 = SoundSystem.getPacketBufferNode(ClientPacket.field2228, packetWriter.isaacCipher);
var18.packetBuffer.writeIntME(0);
var18.packetBuffer.writeByte(var3);
var18.packetBuffer.method5644(var5);
var18.packetBuffer.writeShortLE(var4);
packetWriter.addNode(var18);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
ServerBuild.updateRootInterface(rootInterface, 0, 0, class286.canvasWidth, FloorUnderlayDefinition.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var41;
Widget var43;
ScriptEvent var44;
do {
var44 = (ScriptEvent)field813.removeLast();
if (var44 == null) {
while (true) {
do {
var44 = (ScriptEvent)field832.removeLast();
if (var44 == null) {
while (true) {
do {
var44 = (ScriptEvent)scriptEvents.removeLast();
if (var44 == null) {
this.menu();
JagexCache.method3624();
if (clickedWidget != null) {
this.method1414();
}
if (GrandExchangeOffer.dragInventoryWidget != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(GrandExchangeOffer.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field743) {
if (DirectByteArrayCopier.field2476 == GrandExchangeOffer.dragInventoryWidget && dragItemSlotSource != dragItemSlotDestination) {
Widget var46 = GrandExchangeOffer.dragInventoryWidget;
byte var33 = 0;
if (field907 == 1 && var46.contentType == 206) {
var33 = 1;
}
if (var46.itemIds[dragItemSlotDestination] <= 0) {
var33 = 0;
}
var6 = class195.getWidgetClickMask(var46);
boolean var34 = (var6 >> 29 & 1) != 0;
if (var34) {
var7 = dragItemSlotSource;
var8 = dragItemSlotDestination;
var46.itemIds[var8] = var46.itemIds[var7];
var46.itemQuantities[var8] = var46.itemQuantities[var7];
var46.itemIds[var7] = -1;
var46.itemQuantities[var7] = 0;
} else if (var33 == 1) {
var7 = dragItemSlotSource;
var8 = dragItemSlotDestination;
while (var8 != var7) {
if (var7 > var8) {
var46.swapItems(var7 - 1, var7);
--var7;
} else if (var7 < var8) {
var46.swapItems(var7 + 1, var7);
++var7;
}
}
} else {
var46.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
PacketBufferNode var26 = SoundSystem.getPacketBufferNode(ClientPacket.field2205, packetWriter.isaacCipher);
var26.packetBuffer.method5644(dragItemSlotSource);
var26.packetBuffer.method5653(GrandExchangeOffer.dragInventoryWidget.id);
var26.packetBuffer.method5643(dragItemSlotDestination);
var26.packetBuffer.method5636(var33);
packetWriter.addNode(var26);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field729, field741);
} else if (menuOptionsCount > 0) {
AbstractWorldMapData.method325(field729, field741);
}
field753 = 10;
MouseHandler.MouseHandler_lastButton = 0;
GrandExchangeOffer.dragInventoryWidget = null;
} else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field729 + 5 || MouseHandler.MouseHandler_x < field729 - 5 || MouseHandler.MouseHandler_y > field741 + 5 || MouseHandler.MouseHandler_y < field741 - 5)) {
field743 = true;
}
}
PacketBufferNode var45;
if (Scene.method3252()) {
var3 = Scene.Scene_selectedX;
var4 = Scene.Scene_selectedY;
var45 = SoundSystem.getPacketBufferNode(ClientPacket.field2243, packetWriter.isaacCipher);
var45.packetBuffer.writeByte(5);
var45.packetBuffer.writeShort(UserComparator8.baseX * 64 + var3);
var45.packetBuffer.method5634(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
var45.packetBuffer.writeShort(HealthBar.baseY * 64 + var4);
packetWriter.addNode(var45);
Scene.method3281();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var3;
destinationY = var4;
}
if (var38 != ChatChannel.mousedOverWidgetIf1) {
if (var38 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var38);
}
if (ChatChannel.mousedOverWidgetIf1 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(ChatChannel.mousedOverWidgetIf1);
}
}
if (var32 != GrandExchangeEvents.field39 && field783 == field782) {
if (var32 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var32);
}
if (GrandExchangeEvents.field39 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(GrandExchangeEvents.field39);
}
}
if (GrandExchangeEvents.field39 != null) {
if (field782 < field783) {
++field782;
if (field782 == field783) {
GrandExchangeOfferAgeComparator.invalidateWidget(GrandExchangeEvents.field39);
}
}
} else if (field782 > 0) {
--field782;
}
if (oculusOrbState == 0) {
var3 = class215.localPlayer.x;
var4 = class215.localPlayer.y;
if (IgnoreList.oculusOrbFocalPointX - var3 < -500 || IgnoreList.oculusOrbFocalPointX - var3 > 500 || AbstractArchive.oculusOrbFocalPointY - var4 < -500 || AbstractArchive.oculusOrbFocalPointY - var4 > 500) {
IgnoreList.oculusOrbFocalPointX = var3;
AbstractArchive.oculusOrbFocalPointY = var4;
}
if (var3 != IgnoreList.oculusOrbFocalPointX) {
IgnoreList.oculusOrbFocalPointX += (var3 - IgnoreList.oculusOrbFocalPointX) / 16;
}
if (var4 != AbstractArchive.oculusOrbFocalPointY) {
AbstractArchive.oculusOrbFocalPointY += (var4 - AbstractArchive.oculusOrbFocalPointY) / 16;
}
var5 = IgnoreList.oculusOrbFocalPointX >> 7;
var6 = AbstractArchive.oculusOrbFocalPointY >> 7;
var7 = GraphicsObject.getTileHeight(IgnoreList.oculusOrbFocalPointX, AbstractArchive.oculusOrbFocalPointY, Player.Client_plane);
var8 = 0;
if (var5 > 3 && var6 > 3 && var5 < 100 && var6 < 100) {
for (var9 = var5 - 4; var9 <= var5 + 4; ++var9) {
for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) {
var11 = Player.Client_plane;
if (var11 < 3 && (Tiles.Tiles_renderFlags[1][var9][var10] & 2) == 2) {
++var11;
}
var12 = var7 - Tiles.Tiles_heights[var11][var9][var10];
if (var12 > var8) {
var8 = var12;
}
}
}
}
var9 = var8 * 192;
if (var9 > 98048) {
var9 = 98048;
}
if (var9 < 32768) {
var9 = 32768;
}
if (var9 > field717) {
field717 += (var9 - field717) / 24;
} else if (var9 < field717) {
field717 += (var9 - field717) / 80;
}
Tiles.field497 = GraphicsObject.getTileHeight(class215.localPlayer.x, class215.localPlayer.y, Player.Client_plane) - camFollowHeight;
} else if (oculusOrbState == 1) {
FontName.method5443();
short var35 = -1;
if (KeyHandler.KeyHandler_pressedKeys[33]) {
var35 = 0;
} else if (KeyHandler.KeyHandler_pressedKeys[49]) {
var35 = 1024;
}
if (KeyHandler.KeyHandler_pressedKeys[48]) {
if (var35 == 0) {
var35 = 1792;
} else if (var35 == 1024) {
var35 = 1280;
} else {
var35 = 1536;
}
} else if (KeyHandler.KeyHandler_pressedKeys[50]) {
if (var35 == 0) {
var35 = 256;
} else if (var35 == 1024) {
var35 = 768;
} else {
var35 = 512;
}
}
byte var36 = 0;
if (KeyHandler.KeyHandler_pressedKeys[35]) {
var36 = -1;
} else if (KeyHandler.KeyHandler_pressedKeys[51]) {
var36 = 1;
}
var5 = 0;
if (var35 >= 0 || var36 != 0) {
var5 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed;
var5 *= 16;
field709 = var35;
field710 = var36;
}
if (field876 < var5) {
field876 += var5 / 8;
if (field876 > var5) {
field876 = var5;
}
} else if (field876 > var5) {
field876 = field876 * 9 / 10;
}
if (field876 > 0) {
var6 = field876 / 16;
if (field709 >= 0) {
var3 = field709 - WorldMapData_1.cameraYaw & 2047;
var7 = Rasterizer3D.Rasterizer3D_sine[var3];
var8 = Rasterizer3D.Rasterizer3D_cosine[var3];
IgnoreList.oculusOrbFocalPointX += var7 * var6 / 65536;
AbstractArchive.oculusOrbFocalPointY += var6 * var8 / 65536;
}
if (field710 != 0) {
Tiles.field497 += var6 * field710;
if (Tiles.field497 > 0) {
Tiles.field497 = 0;
}
}
} else {
field709 = -1;
field710 = -1;
}
if (KeyHandler.KeyHandler_pressedKeys[13]) {
LoginPacket.method3767();
}
}
if (MouseHandler.MouseHandler_currentButton == 4 && WorldMapLabelSize.mouseCam) {
var3 = MouseHandler.MouseHandler_y - mouseCamClickedY;
camAngleDX = var3 * 2;
mouseCamClickedY = var3 != -1 && var3 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y;
var4 = mouseCamClickedX - MouseHandler.MouseHandler_x;
camAngleDY = var4 * 2;
mouseCamClickedX = var4 != -1 && var4 != 1 ? (MouseHandler.MouseHandler_x + mouseCamClickedX) / 2 : MouseHandler.MouseHandler_x;
} else {
if (KeyHandler.KeyHandler_pressedKeys[96]) {
camAngleDY += (-24 - camAngleDY) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[97]) {
camAngleDY += (24 - camAngleDY) / 2;
} else {
camAngleDY /= 2;
}
if (KeyHandler.KeyHandler_pressedKeys[98]) {
camAngleDX += (12 - camAngleDX) / 2;
} else if (KeyHandler.KeyHandler_pressedKeys[99]) {
camAngleDX += (-12 - camAngleDX) / 2;
} else {
camAngleDX /= 2;
}
mouseCamClickedY = MouseHandler.MouseHandler_y;
mouseCamClickedX = MouseHandler.MouseHandler_x;
}
camAngleY = camAngleDY / 2 + camAngleY & 2047;
camAngleX += camAngleDX / 2;
if (camAngleX < 128) {
camAngleX = 128;
}
if (camAngleX > 383) {
camAngleX = 383;
}
if (isCameraLocked) {
Script.method2383();
}
for (var3 = 0; var3 < 5; ++var3) {
var10002 = field880[var3]++;
}
class1.varcs.tryWrite();
var3 = UserComparator4.method3502();
var4 = class1.method26();
if (var3 > 15000 && var4 > 15000) {
logoutTimer = 250;
MouseHandler.MouseHandler_idleCycles = 14500;
var45 = SoundSystem.getPacketBufferNode(ClientPacket.field2238, packetWriter.isaacCipher);
packetWriter.addNode(var45);
}
PacketWriter.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var45 = SoundSystem.getPacketBufferNode(ClientPacket.field2245, packetWriter.isaacCipher);
packetWriter.addNode(var45);
}
try {
packetWriter.flush();
} catch (IOException var27) {
AbstractWorldMapIcon.method652();
}
return;
}
var41 = var44.widget;
if (var41.childIndex < 0) {
break;
}
var43 = PacketBufferNode.getWidget(var41.parentId);
} while(var43 == null || var43.children == null || var41.childIndex >= var43.children.length || var41 != var43.children[var41.childIndex]);
GrandExchangeOfferAgeComparator.runScriptEvent(var44);
}
}
var41 = var44.widget;
if (var41.childIndex < 0) {
break;
}
var43 = PacketBufferNode.getWidget(var41.parentId);
} while(var43 == null || var43.children == null || var41.childIndex >= var43.children.length || var41 != var43.children[var41.childIndex]);
GrandExchangeOfferAgeComparator.runScriptEvent(var44);
}
}
var41 = var44.widget;
if (var41.childIndex < 0) {
break;
}
var43 = PacketBufferNode.getWidget(var41.parentId);
} while(var43 == null || var43.children == null || var41.childIndex >= var43.children.length || var41 != var43.children[var41.childIndex]);
GrandExchangeOfferAgeComparator.runScriptEvent(var44);
}
}
var30 = SoundSystem.getPacketBufferNode(ClientPacket.field2275, packetWriter.isaacCipher);
var30.packetBuffer.writeByte(0);
var3 = var30.packetBuffer.offset;
class32.performReflectionCheck(var30.packetBuffer);
var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3);
packetWriter.addNode(var30);
}
}
}
}
@ObfuscatedName("gg")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "-18793"
)
@Export("resizeJS")
void resizeJS() {
int var1 = class286.canvasWidth;
int var2 = FloorUnderlayDefinition.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (ScriptEvent.clientPreferences != null) {
try {
Client var3 = WorldMapID.client;
Object[] var4 = new Object[]{WallDecoration.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("gq")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "100"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
if (rootInterface != -1) {
AbstractWorldMapData.method326(rootInterface);
}
int var1;
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field842[var1]) {
field837[var1] = true;
}
field631[var1] = field842[var1];
field842[var1] = false;
}
field835 = cycle;
viewportX = -1;
viewportY = -1;
DirectByteArrayCopier.field2476 = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
ScriptEvent.drawWidgets(rootInterface, 0, 0, class286.canvasWidth, FloorUnderlayDefinition.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
TextureProvider.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
TextureProvider.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
int var2;
int var3;
if (!isMenuOpen) {
if (viewportX != -1) {
var1 = viewportX;
var2 = viewportY;
if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) {
var3 = class16.getNewestMenuIdx();
String var12;
if (isItemSelected == 1 && menuOptionsCount < 2) {
var12 = "Use" + " " + selectedItemName + " " + "->";
} else if (isSpellSelected && menuOptionsCount < 2) {
var12 = selectedSpellActionName + " " + selectedSpellName + " " + "->";
} else {
var12 = class65.method1316(var3);
}
if (menuOptionsCount > 2) {
var12 = var12 + AbstractArchive.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options";
}
class43.fontBold12.drawRandomAlphaAndSpacing(var12, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000);
}
}
} else {
WorldMapSection2.method383();
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field631[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field837[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
var1 = Player.Client_plane;
var2 = class215.localPlayer.x;
var3 = class215.localPlayer.y;
int var4 = field693;
for (ObjectSound var5 = (ObjectSound)ObjectSound.objectSounds.last(); var5 != null; var5 = (ObjectSound)ObjectSound.objectSounds.previous()) {
if (var5.soundEffectId != -1 || var5.soundEffectIds != null) {
int var6 = 0;
if (var2 > var5.field1060 * 128) {
var6 += var2 - var5.field1060 * 128;
} else if (var2 < var5.x * 16384) {
var6 += var5.x * 16384 - var2;
}
if (var3 > var5.field1053 * 128) {
var6 += var3 - var5.field1053 * 128;
} else if (var3 < var5.y * 128) {
var6 += var5.y * 128 - var3;
}
if (var6 - 64 <= var5.field1052 && areaSoundEffectVolume != 0 && var1 == var5.plane) {
var6 -= 64;
if (var6 < 0) {
var6 = 0;
}
int var7 = (var5.field1052 - var6) * areaSoundEffectVolume / var5.field1052;
Object var10000;
if (var5.stream1 == null) {
if (var5.soundEffectId >= 0) {
var10000 = null;
SoundEffect var8 = SoundEffect.readSoundEffect(NetFileRequest.archive4, var5.soundEffectId, 0);
if (var8 != null) {
RawSound var9 = var8.toRawSound().resample(AbstractWorldMapIcon.decimator);
RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7);
var10.setNumLoops(-1);
FloorUnderlayDefinition.pcmStreamMixer.addSubStream(var10);
var5.stream1 = var10;
}
}
} else {
var5.stream1.method2702(var7);
}
if (var5.stream2 == null) {
if (var5.soundEffectIds != null && (var5.field1054 -= var4) <= 0) {
int var13 = (int)(Math.random() * (double)var5.soundEffectIds.length);
var10000 = null;
SoundEffect var14 = SoundEffect.readSoundEffect(NetFileRequest.archive4, var5.soundEffectIds[var13], 0);
if (var14 != null) {
RawSound var15 = var14.toRawSound().resample(AbstractWorldMapIcon.decimator);
RawPcmStream var11 = RawPcmStream.createRawPcmStream(var15, 100, var7);
var11.setNumLoops(0);
FloorUnderlayDefinition.pcmStreamMixer.addSubStream(var11);
var5.stream2 = var11;
var5.field1054 = var5.field1057 + (int)(Math.random() * (double)(var5.field1058 - var5.field1057));
}
}
} else {
var5.stream2.method2702(var7);
if (!var5.stream2.hasNext()) {
var5.stream2 = null;
}
}
} else {
if (var5.stream1 != null) {
FloorUnderlayDefinition.pcmStreamMixer.removeSubStream(var5.stream1);
var5.stream1 = null;
}
if (var5.stream2 != null) {
FloorUnderlayDefinition.pcmStreamMixer.removeSubStream(var5.stream2);
var5.stream2 = null;
}
}
}
}
field693 = 0;
}
@ObfuscatedName("hm")
@ObfuscatedSignature(
signature = "(Lcp;I)Z",
garbageValue = "823373866"
)
final boolean method1720(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
int var6;
String var17;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1287) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1291 = 0;
var1.field1287 = false;
}
var3.offset = 0;
if (var3.method5586()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1291 = 0;
}
var1.field1287 = true;
ServerPacket[] var4 = SecureRandomCallable.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.field1291 = 0;
timer.method5115();
var1.field1292 = var1.field1286;
var1.field1286 = var1.field1290;
var1.field1290 = var1.serverPacket;
if (ServerPacket.field2126 == var1.serverPacket) {
rebootTimer = var3.method5646() * 30;
field834 = cycleCntr;
var1.serverPacket = null;
return true;
}
int var16;
if (ServerPacket.field2129 == 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);
}
field826 = cycleCntr;
var1.serverPacket = null;
return true;
}
int var7;
int var8;
long var9;
if (ServerPacket.field2176 == var1.serverPacket) {
var16 = var3.method5648();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.method5796();
var6 = var3.readUnsignedShort();
if (var6 == 65535) {
var6 = -1;
}
var7 = var3.method5656();
for (var8 = var16; var8 <= var6; ++var8) {
var9 = ((long)var7 << 32) + (long)var8;
Node var44 = widgetClickMasks.get(var9);
if (var44 != null) {
var44.remove();
}
widgetClickMasks.put(new IntegerNode(var5), var9);
}
var1.serverPacket = null;
return true;
}
boolean var46;
if (ServerPacket.field2122 == var1.serverPacket) {
var46 = var3.readUnsignedByte() == 1;
if (var46) {
Message.field584 = PlayerAppearance.currentTimeMillis() - var3.readLong();
WorldMapData_1.grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
WorldMapData_1.grandExchangeEvents = null;
}
field652 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2140 == 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;
}
String var50;
if (ServerPacket.field2162 == var1.serverPacket) {
byte[] var40 = new byte[var1.serverPacketLength];
var3.method5558(var40, 0, var40.length);
Buffer var54 = new Buffer(var40);
var50 = var54.readStringCp1252NullTerminated();
class2.openURL(var50, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2111 == var1.serverPacket) {
AbstractWorldMapData.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2095 == var1.serverPacket) {
Clock.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2127 == var1.serverPacket) {
var16 = var3.readInt();
if (var16 != field799) {
field799 = var16;
WorldMapSection1.method650();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2135 == var1.serverPacket) {
class319.updatePlayers(var3, var1.serverPacketLength);
BoundaryObject.method3394();
var1.serverPacket = null;
return true;
}
Widget var48;
if (ServerPacket.field2134 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.method5796();
var48 = PacketBufferNode.getWidget(var5);
if (var48.modelType != 1 || var16 != var48.modelId) {
var48.modelType = 1;
var48.modelId = var16;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2124 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2295);
var1.serverPacket = null;
return true;
}
int var19;
if (ServerPacket.field2104 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var48 = PacketBufferNode.getWidget(var16);
} else {
var48 = null;
}
for (; var3.offset < var1.serverPacketLength; WorldMapCacheName.itemContainerSetItem(var5, var7, var8 - 1, var19)) {
var7 = var3.readUShortSmart();
var8 = var3.readUnsignedShort();
var19 = 0;
if (var8 != 0) {
var19 = var3.readUnsignedByte();
if (var19 == 255) {
var19 = var3.readInt();
}
}
if (var48 != null && var7 >= 0 && var7 < var48.itemIds.length) {
var48.itemIds[var7] = var8;
var48.itemQuantities[var7] = var19;
}
}
if (var48 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
BoundaryObject.method3393();
changedItemContainers[++field820 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2136 == var1.serverPacket) {
var16 = var3.method5646();
WorldMapIcon_0.method252(var16);
changedItemContainers[++field820 - 1 & 31] = var16 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2167 == var1.serverPacket) {
var16 = var3.readInt();
InterfaceParent var53 = (InterfaceParent)interfaceParents.get((long)var16);
if (var53 != null) {
GrandExchangeOfferOwnWorldComparator.closeInterface(var53, true);
}
if (meslayerContinueWidget != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
long var12;
int var21;
InterfaceParent var55;
if (ServerPacket.field2098 == var1.serverPacket) {
var16 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var6 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
WorldMapLabel.Widget_resetModelFrames(rootInterface);
FaceNormal.runWidgetOnLoadListener(rootInterface);
for (var7 = 0; var7 < 100; ++var7) {
field842[var7] = true;
}
}
InterfaceParent var43;
for (; var6-- > 0; var43.field545 = true) {
var7 = var3.readInt();
var8 = var3.readUnsignedShort();
var19 = var3.readUnsignedByte();
var43 = (InterfaceParent)interfaceParents.get((long)var7);
if (var43 != null && var8 != var43.group) {
GrandExchangeOfferOwnWorldComparator.closeInterface(var43, true);
var43 = null;
}
if (var43 == null) {
var43 = WorldMapDecoration.method385(var7, var8, var19);
}
}
for (var55 = (InterfaceParent)interfaceParents.first(); var55 != null; var55 = (InterfaceParent)interfaceParents.next()) {
if (var55.field545) {
var55.field545 = false;
} else {
GrandExchangeOfferOwnWorldComparator.closeInterface(var55, true);
}
}
widgetClickMasks = new NodeHashTable(512);
while (var3.offset < var16) {
var7 = var3.readInt();
var8 = var3.readUnsignedShort();
var19 = var3.readUnsignedShort();
var21 = var3.readInt();
for (int var22 = var8; var22 <= var19; ++var22) {
var12 = ((long)var7 << 32) + (long)var22;
widgetClickMasks.put(new IntegerNode(var21), var12);
}
}
var1.serverPacket = null;
return true;
}
Widget var23;
if (ServerPacket.field2169 == var1.serverPacket) {
var16 = var3.method5796();
var5 = var3.readInt();
InterfaceParent var57 = (InterfaceParent)interfaceParents.get((long)var16);
var55 = (InterfaceParent)interfaceParents.get((long)var5);
if (var55 != null) {
GrandExchangeOfferOwnWorldComparator.closeInterface(var55, var57 == null || var55.group != var57.group);
}
if (var57 != null) {
var57.remove();
interfaceParents.put(var57, (long)var5);
}
var23 = PacketBufferNode.getWidget(var16);
if (var23 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var23);
}
var23 = PacketBufferNode.getWidget(var5);
if (var23 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var23);
class43.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var23.id >>> 16], var23, true);
}
if (rootInterface != -1) {
AttackOption.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2159 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2297);
var1.serverPacket = null;
return true;
}
long var24;
long var26;
String var36;
if (ServerPacket.field2148 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var24 = var3.readLong();
var26 = (long)var3.readUnsignedShort();
var9 = (long)var3.readMedium();
PlayerType var11 = (PlayerType)WorldMapIcon_1.findEnumerated(class51.PlayerType_values(), var3.readUnsignedByte());
var12 = (var26 << 32) + var9;
boolean var45 = false;
for (int var15 = 0; var15 < 100; ++var15) {
if (field852[var15] == var12) {
var45 = true;
break;
}
}
if (var11.isUser && PacketWriter.friendSystem.isIgnored(new Username(var36, class60.loginType))) {
var45 = true;
}
if (!var45 && field745 == 0) {
field852[field721] = var12;
field721 = (field721 + 1) % 100;
String var28 = AbstractFont.escapeBrackets(class222.method4274(class4.method90(var3)));
if (var11.modIcon != -1) {
WorldMapLabel.addChatMessage(9, GrandExchangeEvent.method122(var11.modIcon) + var36, var28, WorldMapDecoration.base37DecodeLong(var24));
} else {
WorldMapLabel.addChatMessage(9, var36, var28, WorldMapDecoration.base37DecodeLong(var24));
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2096 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedByte();
var7 = var3.readUnsignedByte();
field641[var16] = true;
field877[var16] = var5;
field795[var16] = var6;
field879[var16] = var7;
field880[var16] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2091 == var1.serverPacket) {
BoundaryObject.method3393();
weight = var3.readShort();
field834 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2161 == var1.serverPacket) {
SpriteMask.field2501 = var3.method5622();
GrandExchangeOffer.field61 = var3.method5622();
for (var16 = SpriteMask.field2501; var16 < SpriteMask.field2501 + 8; ++var16) {
for (var5 = GrandExchangeOffer.field61; var5 < GrandExchangeOffer.field61 + 8; ++var5) {
if (groundItems[Player.Client_plane][var16][var5] != null) {
groundItems[Player.Client_plane][var16][var5] = null;
class4.updateItemPile(var16, var5);
}
}
}
for (PendingSpawn var38 = (PendingSpawn)pendingSpawns.last(); var38 != null; var38 = (PendingSpawn)pendingSpawns.previous()) {
if (var38.x >= SpriteMask.field2501 && var38.x < SpriteMask.field2501 + 8 && var38.y >= GrandExchangeOffer.field61 && var38.y < GrandExchangeOffer.field61 + 8 && var38.plane == Player.Client_plane) {
var38.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2109 == 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;
}
Widget var20;
if (ServerPacket.field2141 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
if (var16 == 65535) {
var16 = -1;
}
var5 = var3.readInt();
var6 = var3.method5603();
var20 = PacketBufferNode.getWidget(var6);
ItemDefinition var59;
if (!var20.isIf3) {
if (var16 == -1) {
var20.modelType = 0;
var1.serverPacket = null;
return true;
}
var59 = class222.ItemDefinition_get(var16);
var20.modelType = 4;
var20.modelId = var16;
var20.modelAngleX = var59.xan2d;
var20.modelAngleY = var59.yan2d;
var20.modelZoom = var59.zoom2d * 100 / var5;
GrandExchangeOfferAgeComparator.invalidateWidget(var20);
} else {
var20.itemId = var16;
var20.itemQuantity = var5;
var59 = class222.ItemDefinition_get(var16);
var20.modelAngleX = var59.xan2d;
var20.modelAngleY = var59.yan2d;
var20.modelAngleZ = var59.zan2d;
var20.modelOffsetX = var59.offsetX2d;
var20.modelOffsetY = var59.offsetY2d;
var20.modelZoom = var59.zoom2d;
if (var59.isStackable == 1) {
var20.itemQuantityMode = 1;
} else {
var20.itemQuantityMode = 2;
}
if (var20.field2577 > 0) {
var20.modelZoom = var20.modelZoom * 32 / var20.field2577;
} else if (var20.rawWidth > 0) {
var20.modelZoom = var20.modelZoom * 32 / var20.rawWidth;
}
GrandExchangeOfferAgeComparator.invalidateWidget(var20);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2107 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2296);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2160 == var1.serverPacket) {
class3.privateChatMode = NPCDefinition.method4881(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
boolean var39;
if (ServerPacket.field2156 == var1.serverPacket) {
var16 = var3.readUShortSmart();
var39 = var3.readUnsignedByte() == 1;
var50 = "";
boolean var42 = false;
if (var39) {
var50 = var3.readStringCp1252NullTerminated();
if (PacketWriter.friendSystem.isIgnored(new Username(var50, class60.loginType))) {
var42 = true;
}
}
String var58 = var3.readStringCp1252NullTerminated();
if (!var42) {
class30.addGameMessage(var16, var50, var58);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2093 == var1.serverPacket) {
PacketWriter.friendSystem.method1968();
field824 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2146 == var1.serverPacket) {
var16 = var3.method5647();
rootInterface = var16;
this.resizeRoot(false);
WorldMapLabel.Widget_resetModelFrames(var16);
FaceNormal.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field842[var5] = true;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2147 == var1.serverPacket) {
SpriteMask.field2501 = var3.method5639();
GrandExchangeOffer.field61 = var3.method5697();
while (var3.offset < var1.serverPacketLength) {
var16 = var3.readUnsignedByte();
class185 var52 = WorldMapAreaData.method763()[var16];
WorldMapSprite.method474(var52);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2097 == var1.serverPacket) {
var16 = var3.method5656();
var5 = var3.method5646();
var48 = PacketBufferNode.getWidget(var16);
if (var48 != null && var48.type == 0) {
if (var5 > var48.scrollHeight - var48.height) {
var5 = var48.scrollHeight - var48.height;
}
if (var5 < 0) {
var5 = 0;
}
if (var5 != var48.scrollY) {
var48.scrollY = var5;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2118 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
WorldMapRectangle.method329(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2130 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.method5651();
var48 = PacketBufferNode.getWidget(var16);
if (var5 != var48.sequenceId || var5 == -1) {
var48.sequenceId = var5;
var48.modelFrame = 0;
var48.modelFrameCycle = 0;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2137 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2299);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2165 == var1.serverPacket) {
var16 = var3.method5647();
if (var16 == 65535) {
var16 = -1;
}
AbstractWorldMapIcon.playSong(var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2168 == var1.serverPacket) {
var16 = var3.method5678();
var5 = var3.method5646();
if (var5 == 65535) {
var5 = -1;
}
WorldMapEvent.playSoundJingle(var5, var16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2139 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readInt();
var6 = WorldMapSection0.getGcDuration();
PacketBufferNode var56 = SoundSystem.getPacketBufferNode(ClientPacket.field2232, packetWriter.isaacCipher);
var56.packetBuffer.method5653(var16);
var56.packetBuffer.writeIntME(var5);
var56.packetBuffer.writeByte(var6);
var56.packetBuffer.writeByte(GameShell.fps);
packetWriter.addNode(var56);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2113 == var1.serverPacket) {
var16 = var3.method5648();
var5 = var3.method5647();
var6 = var3.method5648();
var7 = var3.readInt();
var23 = PacketBufferNode.getWidget(var7);
if (var6 != var23.modelAngleX || var5 != var23.modelAngleY || var16 != var23.modelZoom) {
var23.modelAngleX = var6;
var23.modelAngleY = var5;
var23.modelZoom = var16;
GrandExchangeOfferAgeComparator.invalidateWidget(var23);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2173 == var1.serverPacket) {
AbstractWorldMapData.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2105 == var1.serverPacket) {
RouteStrategy.method3735(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2112 == var1.serverPacket) {
class1.logOut();
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2094 == var1.serverPacket) {
var16 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var16 < -70000) {
var5 += 32768;
}
if (var16 >= 0) {
var48 = PacketBufferNode.getWidget(var16);
} else {
var48 = null;
}
if (var48 != null) {
for (var7 = 0; var7 < var48.itemIds.length; ++var7) {
var48.itemIds[var7] = 0;
var48.itemQuantities[var7] = 0;
}
}
FontName.clearItemContainer(var5);
var7 = var3.readUnsignedShort();
for (var8 = 0; var8 < var7; ++var8) {
var19 = var3.method5697();
if (var19 == 255) {
var19 = var3.method5656();
}
var21 = var3.method5648();
if (var48 != null && var8 < var48.itemIds.length) {
var48.itemIds[var8] = var21;
var48.itemQuantities[var8] = var19;
}
WorldMapCacheName.itemContainerSetItem(var5, var8, var21 - 1, var19);
}
if (var48 != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
BoundaryObject.method3393();
changedItemContainers[++field820 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2120 == var1.serverPacket) {
isCameraLocked = true;
AbstractUserComparator.field3583 = var3.readUnsignedByte() * 128;
class49.field401 = var3.readUnsignedByte() * 16384;
ViewportMouse.field1713 = var3.readUnsignedShort();
Clock.field2036 = var3.readUnsignedByte();
SecureRandomCallable.field510 = var3.readUnsignedByte();
if (SecureRandomCallable.field510 >= 100) {
var16 = AbstractUserComparator.field3583 * 16384 + 64;
var5 = class49.field401 * 128 + 64;
var6 = GraphicsObject.getTileHeight(var16, var5, Player.Client_plane) - ViewportMouse.field1713;
var7 = var16 - UrlRequester.cameraX;
var8 = var6 - class16.cameraY;
var19 = var5 - GrandExchangeOfferAgeComparator.cameraZ;
var21 = (int)Math.sqrt((double)(var19 * var19 + var7 * var7));
class247.cameraPitch = (int)(Math.atan2((double)var8, (double)var21) * 325.949D) & 2047;
WorldMapData_1.cameraYaw = (int)(Math.atan2((double)var7, (double)var19) * -325.949D) & 2047;
if (class247.cameraPitch < 128) {
class247.cameraPitch = 128;
}
if (class247.cameraPitch > 383) {
class247.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2101 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2294);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2103 == var1.serverPacket) {
for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) {
VarpDefinition var51 = Varcs.VarpDefinition_get(var16);
if (var51 != null) {
Varps.Varps_temp[var16] = 0;
Varps.Varps_main[var16] = 0;
}
}
BoundaryObject.method3393();
field679 += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2157 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2292);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2115 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
byte var41 = var3.method5640();
Varps.Varps_temp[var16] = var41;
if (Varps.Varps_main[var16] != var41) {
Varps.Varps_main[var16] = var41;
}
WorldMapDecoration.changeGameOptions(var16);
field817[++field679 - 1 & 31] = var16;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2152 == var1.serverPacket) {
var16 = var3.method5647();
var5 = var3.method5796();
var48 = PacketBufferNode.getWidget(var5);
if (var48.modelType != 2 || var16 != var48.modelId) {
var48.modelType = 2;
var48.modelId = var16;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2170 == 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];
WorldMapDecoration.changeGameOptions(var16);
field817[++field679 - 1 & 31] = var16;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2166 == var1.serverPacket) {
World var37 = new World();
var37.host = var3.readStringCp1252NullTerminated();
var37.id = var3.readUnsignedShort();
var5 = var3.readInt();
var37.properties = var5;
Tile.updateGameState(45);
var2.close();
var2 = null;
MouseRecorder.changeWorld(var37);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2164 == var1.serverPacket) {
Clock.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2143 == var1.serverPacket) {
var16 = var3.method5646();
var5 = var3.method5639();
var6 = var3.readInt();
var55 = (InterfaceParent)interfaceParents.get((long)var6);
if (var55 != null) {
GrandExchangeOfferOwnWorldComparator.closeInterface(var55, var16 != var55.group);
}
WorldMapDecoration.method385(var6, var16, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2174 == var1.serverPacket) {
PacketWriter.friendSystem.readUpdate(var3, var1.serverPacketLength);
field824 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2092 == var1.serverPacket) {
var16 = var3.readUnsignedByte();
Frames.forceDisconnect(var16);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2119 == var1.serverPacket) {
KeyHandler.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2131 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var24 = (long)var3.readUnsignedShort();
var26 = (long)var3.readMedium();
PlayerType var29 = (PlayerType)WorldMapIcon_1.findEnumerated(class51.PlayerType_values(), var3.readUnsignedByte());
long var30 = var26 + (var24 << 32);
boolean var32 = false;
for (int var13 = 0; var13 < 100; ++var13) {
if (field852[var13] == var30) {
var32 = true;
break;
}
}
if (PacketWriter.friendSystem.isIgnored(new Username(var36, class60.loginType))) {
var32 = true;
}
if (!var32 && field745 == 0) {
field852[field721] = var30;
field721 = (field721 + 1) % 100;
String var33 = AbstractFont.escapeBrackets(class222.method4274(class4.method90(var3)));
byte var14;
if (var29.isPrivileged) {
var14 = 7;
} else {
var14 = 3;
}
if (var29.modIcon != -1) {
class30.addGameMessage(var14, GrandExchangeEvent.method122(var29.modIcon) + var36, var33);
} else {
class30.addGameMessage(var14, var36, var33);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2144 == var1.serverPacket) {
var16 = var3.method5649();
var5 = var3.method5656();
var6 = var3.readShort();
var20 = PacketBufferNode.getWidget(var5);
if (var6 != var20.rawX || var16 != var20.rawY || var20.xAlignment != 0 || var20.yAlignment != 0) {
var20.rawX = var6;
var20.rawY = var16;
var20.xAlignment = 0;
var20.yAlignment = 0;
GrandExchangeOfferAgeComparator.invalidateWidget(var20);
this.alignWidget(var20);
if (var20.type == 0) {
class43.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var5 >> 16], var20, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2116 == var1.serverPacket) {
var16 = var3.method5656();
var5 = var3.method5646();
var6 = var5 >> 10 & 31;
var7 = var5 >> 5 & 31;
var8 = var5 & 31;
var19 = (var7 << 11) + (var6 << 19) + (var8 << 3);
Widget var10 = PacketBufferNode.getWidget(var16);
if (var19 != var10.color) {
var10.color = var19;
GrandExchangeOfferAgeComparator.invalidateWidget(var10);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2149 == 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.field2106 == var1.serverPacket) {
BoundaryObject.method3393();
runEnergy = var3.readUnsignedByte();
field834 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var49;
if (ServerPacket.field2145 == var1.serverPacket) {
var16 = var3.readInt();
var49 = PacketBufferNode.getWidget(var16);
for (var6 = 0; var6 < var49.itemIds.length; ++var6) {
var49.itemIds[var6] = -1;
var49.itemIds[var6] = 0;
}
GrandExchangeOfferAgeComparator.invalidateWidget(var49);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2142 == var1.serverPacket) {
var16 = var3.method5697();
var5 = var3.readUnsignedByte();
var50 = var3.readStringCp1252NullTerminated();
if (var5 >= 1 && var5 <= 8) {
if (var50.equalsIgnoreCase("null")) {
var50 = null;
}
playerMenuActions[var5 - 1] = var50;
playerOptionsPriorities[var5 - 1] = var16 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2099 == var1.serverPacket) {
var16 = var3.method5796();
var49 = PacketBufferNode.getWidget(var16);
var49.modelType = 3;
var49.modelId = class215.localPlayer.appearance.getChatHeadId();
GrandExchangeOfferAgeComparator.invalidateWidget(var49);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2175 == var1.serverPacket) {
isCameraLocked = false;
for (var16 = 0; var16 < 5; ++var16) {
field641[var16] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2171 == var1.serverPacket) {
var16 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedShort();
class185.queueSoundEffect(var16, var5, var6);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2158 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2300);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2123 == var1.serverPacket) {
var16 = var3.method5603();
var39 = var3.readUnsignedByte() == 1;
var48 = PacketBufferNode.getWidget(var16);
if (var39 != var48.isHidden) {
var48.isHidden = var39;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2133 == var1.serverPacket) {
SpriteMask.field2501 = var3.readUnsignedByte();
GrandExchangeOffer.field61 = var3.method5639();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2138 == var1.serverPacket) {
publicChatMode = var3.method5639();
tradeChatMode = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2114 == var1.serverPacket) {
isCameraLocked = true;
class14.field88 = var3.readUnsignedByte() * 16384;
class42.field360 = var3.readUnsignedByte() * 16384;
WorldMapLabel.field231 = var3.readUnsignedShort();
WorldMapAreaData.field323 = var3.readUnsignedByte();
Interpreter.field1068 = var3.readUnsignedByte();
if (Interpreter.field1068 >= 100) {
UrlRequester.cameraX = class14.field88 * 128 + 64;
GrandExchangeOfferAgeComparator.cameraZ = class42.field360 * 128 + 64;
class16.cameraY = GraphicsObject.getTileHeight(UrlRequester.cameraX, GrandExchangeOfferAgeComparator.cameraZ, Player.Client_plane) - WorldMapLabel.field231;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2100 == var1.serverPacket) {
if (rootInterface != -1) {
AttackOption.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2128 == var1.serverPacket) {
BoundaryObject.method3393();
var16 = var3.method5697();
var5 = var3.method5603();
var6 = var3.readUnsignedByte();
experience[var16] = var5;
currentLevels[var16] = var6;
levels[var16] = 1;
for (var7 = 0; var7 < 98; ++var7) {
if (var5 >= Skills.Skills_experienceTable[var7]) {
levels[var16] = var7 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var16;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2102 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
var17 = AbstractFont.escapeBrackets(class222.method4274(class4.method90(var3)));
class30.addGameMessage(6, var36, var17);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2125 == var1.serverPacket) {
var16 = var3.method5603();
var5 = var3.method5646();
Varps.Varps_temp[var5] = var16;
if (Varps.Varps_main[var5] != var16) {
Varps.Varps_main[var5] = var16;
}
WorldMapDecoration.changeGameOptions(var5);
field817[++field679 - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2163 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
GrandExchangeOfferWorldComparator.method103(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2110 == var1.serverPacket) {
var16 = var3.method5603();
var17 = var3.readStringCp1252NullTerminated();
var48 = PacketBufferNode.getWidget(var16);
if (!var17.equals(var48.text)) {
var48.text = var17;
GrandExchangeOfferAgeComparator.invalidateWidget(var48);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2117 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2293);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2153 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
class4.clanChat = null;
} else {
if (class4.clanChat == null) {
class4.clanChat = new ClanChat(class60.loginType, WorldMapID.client);
}
class4.clanChat.readUpdate(var3);
}
AbstractByteArrayCopier.method4092();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2154 == var1.serverPacket) {
var46 = var3.readBoolean();
if (var46) {
if (GrandExchangeOfferWorldComparator.field30 == null) {
GrandExchangeOfferWorldComparator.field30 = new class237();
}
} else {
GrandExchangeOfferWorldComparator.field30 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2150 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2298);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2121 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2132 == var1.serverPacket) {
var36 = var3.readStringCp1252NullTerminated();
Object[] var47 = new Object[var36.length() + 1];
for (var6 = var36.length() - 1; var6 >= 0; --var6) {
if (var36.charAt(var6) == 's') {
var47[var6 + 1] = var3.readStringCp1252NullTerminated();
} else {
var47[var6 + 1] = new Integer(var3.readInt());
}
}
var47[0] = new Integer(var3.readInt());
ScriptEvent var18 = new ScriptEvent();
var18.args = var47;
GrandExchangeOfferAgeComparator.runScriptEvent(var18);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2108 == var1.serverPacket) {
if (class4.clanChat != null) {
class4.clanChat.method5354(var3);
}
AbstractByteArrayCopier.method4092();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2151 == var1.serverPacket) {
WorldMapSprite.method474(class185.field2291);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2155 == var1.serverPacket) {
var16 = var3.method5648();
var5 = var3.method5796();
var6 = var3.method5648();
var20 = PacketBufferNode.getWidget(var5);
var20.field2604 = var6 + (var16 << 16);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2172 == var1.serverPacket) {
PacketWriter.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
class42.FriendSystem_invalidateIgnoreds();
field824 = cycleCntr;
var1.serverPacket = null;
return true;
}
User.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1286 != null ? var1.field1286.id : -1) + "," + (var1.field1292 != null ? var1.field1292.id : -1) + "," + var1.serverPacketLength, (Throwable)null);
class1.logOut();
} catch (IOException var34) {
AbstractWorldMapIcon.method652();
} catch (Exception var35) {
var17 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1286 != null ? var1.field1286.id : -1) + "," + (var1.field1292 != null ? var1.field1292.id : -1) + "," + var1.serverPacketLength + "," + (class215.localPlayer.pathX[0] + UserComparator8.baseX * 64) + "," + (class215.localPlayer.pathY[0] + HealthBar.baseY * 64) + ",";
for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) {
var17 = var17 + var3.array[var6] + ",";
}
User.RunException_sendStackTrace(var17, var35);
class1.logOut();
}
return true;
}
}
@ObfuscatedName("iq")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-331813237"
)
@Export("menu")
final void menu() {
Occluder.method3416();
if (GrandExchangeOffer.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var1 = MouseHandler.MouseHandler_lastButton;
int var2;
int var3;
int var4;
int var5;
int var6;
int var8;
if (isMenuOpen) {
if (var1 != 1 && (WorldMapLabelSize.mouseCam || var1 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var3 = MouseHandler.MouseHandler_y;
if (var2 < MusicPatchNode.menuX - 10 || var2 > KeyHandler.menuWidth + MusicPatchNode.menuX + 10 || var3 < TextureProvider.menuY - 10 || var3 > TextureProvider.menuY + WorldMapData_1.menuHeight + 10) {
isMenuOpen = false;
class83.method2212(MusicPatchNode.menuX, TextureProvider.menuY, KeyHandler.menuWidth, WorldMapData_1.menuHeight);
}
}
if (var1 == 1 || !WorldMapLabelSize.mouseCam && var1 == 4) {
var2 = MusicPatchNode.menuX;
var3 = TextureProvider.menuY;
var4 = KeyHandler.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
var6 = MouseHandler.MouseHandler_lastPressedY;
int var17 = -1;
int var9;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
var9 = var3 + (menuOptionsCount - 1 - var8) * 15 + 31;
if (var5 > var2 && var5 < var2 + var4 && var6 > var9 - 13 && var6 < var9 + 3) {
var17 = var8;
}
}
if (var17 != -1 && var17 >= 0) {
var8 = menuArguments1[var17];
var9 = menuArguments2[var17];
int var10 = menuOpcodes[var17];
int var11 = menuIdentifiers[var17];
String var12 = menuActions[var17];
String var13 = menuTargets[var17];
GrandExchangeOfferOwnWorldComparator.menuAction(var8, var9, var10, var11, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
isMenuOpen = false;
class83.method2212(MusicPatchNode.menuX, TextureProvider.menuY, KeyHandler.menuWidth, WorldMapData_1.menuHeight);
}
} else {
var2 = class16.getNewestMenuIdx();
if ((var1 == 1 || !WorldMapLabelSize.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) {
label260: {
var4 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var14 = PacketBufferNode.getWidget(var5);
if (!class162.method3588(class195.getWidgetClickMask(var14))) {
var8 = class195.getWidgetClickMask(var14);
boolean var7 = (var8 >> 29 & 1) != 0;
if (!var7) {
break label260;
}
}
if (GrandExchangeOffer.dragInventoryWidget != null && !field743 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
AbstractWorldMapData.method325(field729, field741);
}
field743 = false;
itemDragDuration = 0;
if (GrandExchangeOffer.dragInventoryWidget != null) {
GrandExchangeOfferAgeComparator.invalidateWidget(GrandExchangeOffer.dragInventoryWidget);
}
GrandExchangeOffer.dragInventoryWidget = PacketBufferNode.getWidget(var5);
dragItemSlotSource = var4;
field729 = MouseHandler.MouseHandler_lastPressedX;
field741 = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
Script.method2384(var2);
}
GrandExchangeOfferAgeComparator.invalidateWidget(GrandExchangeOffer.dragInventoryWidget);
return;
}
}
}
if ((var1 == 1 || !WorldMapLabelSize.mouseCam && var1 == 4) && this.shouldLeftClickOpenMenu()) {
var1 = 2;
}
if ((var1 == 1 || !WorldMapLabelSize.mouseCam && var1 == 4) && menuOptionsCount > 0 && var2 >= 0) {
var3 = menuArguments1[var2];
var4 = menuArguments2[var2];
var5 = menuOpcodes[var2];
var6 = menuIdentifiers[var2];
String var15 = menuActions[var2];
String var16 = menuTargets[var2];
GrandExchangeOfferOwnWorldComparator.menuAction(var3, var4, var5, var6, var15, var16, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
if (var1 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
}
}
}
}
@ObfuscatedName("iu")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "-281326064"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = class16.getNewestMenuIdx();
return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || Occluder.method3415(var1)) && !menuShiftClick[var1];
}
@ObfuscatedName("ie")
@ObfuscatedSignature(
signature = "(IIS)V",
garbageValue = "-15485"
)
@Export("openMenu")
final void openMenu(int var1, int var2) {
Decimator.calculateMenuBounds(var1, var2);
WorldMapArea.scene.menuOpen(Player.Client_plane, var1, var2, false);
isMenuOpen = true;
}
@ObfuscatedName("jy")
@ObfuscatedSignature(
signature = "(ZI)V",
garbageValue = "-797725824"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
int var2 = rootInterface;
int var3 = class286.canvasWidth;
int var4 = FloorUnderlayDefinition.canvasHeight;
if (TextureProvider.loadInterface(var2)) {
Message.resizeInterface(Widget.Widget_interfaceComponents[var2], -1, var3, var4, var1);
}
}
@ObfuscatedName("jl")
@ObfuscatedSignature(
signature = "(Lhi;I)V",
garbageValue = "2023561891"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : PacketBufferNode.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = class286.canvasWidth;
var4 = FloorUnderlayDefinition.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
TriBool.alignWidgetSize(var1, var3, var4, false);
ObjectDefinition.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("kr")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "296968633"
)
final void method1414() {
GrandExchangeOfferAgeComparator.invalidateWidget(clickedWidget);
++FloorDecoration.widgetDragDuration;
if (field695 && field809) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field748) {
var1 = field748;
}
if (var1 + clickedWidget.width > field748 + clickedWidgetParent.width) {
var1 = field748 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field751) {
var2 = field751;
}
if (var2 + clickedWidget.height > field751 + clickedWidgetParent.height) {
var2 = field751 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field846;
int var4 = var2 - field814;
int var5 = clickedWidget.dragZoneSize;
if (FloorDecoration.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field748 + clickedWidgetParent.scrollX;
int var7 = var2 - field751 + 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;
GrandExchangeOfferAgeComparator.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;
GrandExchangeOfferAgeComparator.runScriptEvent(var8);
}
if (draggedOnWidget != null && TextureProvider.method2909(clickedWidget) != null) {
PacketBufferNode var9 = SoundSystem.getPacketBufferNode(ClientPacket.field2226, packetWriter.isaacCipher);
var9.packetBuffer.method5644(clickedWidget.itemId);
var9.packetBuffer.method5653(draggedOnWidget.id);
var9.packetBuffer.method5643(draggedOnWidget.childIndex);
var9.packetBuffer.method5644(clickedWidget.childIndex);
var9.packetBuffer.writeShortLE(draggedOnWidget.itemId);
var9.packetBuffer.method5653(clickedWidget.id);
packetWriter.addNode(var9);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(widgetClickX + field846, widgetClickY + field814);
} else if (menuOptionsCount > 0) {
AbstractWorldMapData.method325(widgetClickX + field846, widgetClickY + field814);
}
clickedWidget = null;
}
} else {
if (FloorDecoration.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("lz")
@ObfuscatedSignature(
signature = "(S)Lju;",
garbageValue = "1353"
)
@Export("username")
public Username username() {
return class215.localPlayer != null ? class215.localPlayer.username : null;
}
}