import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.MalformedURLException;
import java.net.Socket;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import netscape.javascript.JSObject;
@Implements("Client")
@ObfuscatedName("client")
public final class Client extends GameEngine implements Usernamed, OAuthTokens {
@ObfuscatedName("rv")
@ObfuscatedSignature(
descriptor = "[Lej;"
)
@Export("currentClanSettings")
static ClanSettings[] currentClanSettings;
@ObfuscatedName("qk")
@ObfuscatedGetter(
longValue = 380245954858485035L
)
static long field514;
@ObfuscatedName("qd")
@Export("isResizable")
static boolean isResizable;
@ObfuscatedName("ul")
@ObfuscatedGetter(
intValue = 594272369
)
public static int field559;
@ObfuscatedName("rx")
static boolean field743;
@ObfuscatedName("qs")
@ObfuscatedGetter(
intValue = -1584933369
)
@Export("gameDrawingMode")
static int gameDrawingMode;
@ObfuscatedName("qf")
@Export("rootWidgetHeights")
static int[] rootWidgetHeights;
@ObfuscatedName("uu")
@ObfuscatedSignature(
descriptor = "Lbi;"
)
static final ApproximateRouteStrategy field754;
@ObfuscatedName("ri")
@ObfuscatedGetter(
intValue = 633351775
)
@Export("destinationX")
static int destinationX;
@ObfuscatedName("rr")
@ObfuscatedGetter(
intValue = 962993013
)
@Export("destinationY")
static int destinationY;
@ObfuscatedName("st")
@ObfuscatedGetter(
intValue = 1358957623
)
@Export("soundEffectCount")
static int soundEffectCount;
@ObfuscatedName("so")
@Export("soundEffectIds")
static int[] soundEffectIds;
@ObfuscatedName("sj")
@Export("queuedSoundEffectLoops")
static int[] queuedSoundEffectLoops;
@ObfuscatedName("sk")
@Export("queuedSoundEffectDelays")
static int[] queuedSoundEffectDelays;
@ObfuscatedName("sf")
@ObfuscatedSignature(
descriptor = "[Lac;"
)
@Export("soundEffects")
static SoundEffect[] soundEffects;
@ObfuscatedName("uq")
static int[] field755;
@ObfuscatedName("uh")
static int[] field756;
@ObfuscatedName("sc")
@Export("soundLocations")
static int[] soundLocations;
@ObfuscatedName("rt")
@ObfuscatedGetter(
intValue = 1358189471
)
@Export("currentTrackGroupId")
static int currentTrackGroupId;
@ObfuscatedName("th")
@ObfuscatedGetter(
intValue = -769855681
)
static int field744;
@ObfuscatedName("se")
@Export("isCameraLocked")
static boolean isCameraLocked;
@ObfuscatedName("tw")
@ObfuscatedSignature(
descriptor = "Ljo;"
)
@Export("playerAppearance")
static PlayerComposition playerAppearance;
@ObfuscatedName("sb")
static boolean field724;
@ObfuscatedName("tr")
@ObfuscatedGetter(
intValue = -129722411
)
static int field571;
@ObfuscatedName("rn")
@ObfuscatedSignature(
descriptor = "[Lei;"
)
@Export("currentClanChannels")
static ClanChannel[] currentClanChannels;
@ObfuscatedName("rw")
@ObfuscatedGetter(
intValue = -1920478573
)
@Export("minimapState")
static int minimapState;
@ObfuscatedName("un")
@Export("archiveLoaders")
static ArrayList archiveLoaders;
@ObfuscatedName("tu")
static boolean[] field725;
@ObfuscatedName("ue")
@ObfuscatedGetter(
intValue = 1616263669
)
@Export("archiveLoadersDone")
static int archiveLoadersDone;
@ObfuscatedName("qy")
@Export("crossWorldMessageIds")
static long[] crossWorldMessageIds;
@ObfuscatedName("qx")
@ObfuscatedGetter(
intValue = 375303139
)
@Export("crossWorldMessageIdsIndex")
static int crossWorldMessageIdsIndex;
@ObfuscatedName("qu")
@ObfuscatedGetter(
longValue = -6601646598285595847L
)
static long field676;
@ObfuscatedName("tp")
@ObfuscatedSignature(
descriptor = "Lnb;"
)
@Export("platformInfoProvider")
static PlatformInfoProvider platformInfoProvider;
@ObfuscatedName("ti")
static short field690;
@ObfuscatedName("tz")
static short field707;
@ObfuscatedName("rm")
@ObfuscatedGetter(
intValue = 795865193
)
static int field570;
@ObfuscatedName("tq")
static short field736;
@ObfuscatedName("tk")
static short field737;
@ObfuscatedName("rh")
@ObfuscatedGetter(
intValue = 1614235025
)
@Export("mapIconCount")
static int mapIconCount;
@ObfuscatedName("tx")
static short field735;
@ObfuscatedName("rb")
@Export("mapIconXs")
static int[] mapIconXs;
@ObfuscatedName("tc")
@ObfuscatedGetter(
intValue = -477293141
)
@Export("viewportZoom")
static int viewportZoom;
@ObfuscatedName("te")
static short field619;
@ObfuscatedName("tt")
@ObfuscatedGetter(
intValue = -1712028747
)
@Export("viewportWidth")
static int viewportWidth;
@ObfuscatedName("tj")
@ObfuscatedGetter(
intValue = 648823865
)
@Export("viewportHeight")
static int viewportHeight;
@ObfuscatedName("ry")
@Export("mapIconYs")
static int[] mapIconYs;
@ObfuscatedName("re")
@ObfuscatedSignature(
descriptor = "[Lpl;"
)
@Export("mapIcons")
static SpritePixels[] mapIcons;
@ObfuscatedName("tg")
@ObfuscatedSignature(
descriptor = "[Lkb;"
)
@Export("grandExchangeOffers")
static GrandExchangeOffer[] grandExchangeOffers;
@ObfuscatedName("ty")
@ObfuscatedGetter(
intValue = -677299157
)
@Export("viewportOffsetX")
static int viewportOffsetX;
@ObfuscatedName("tm")
@ObfuscatedGetter(
intValue = -215790417
)
@Export("viewportOffsetY")
static int viewportOffsetY;
@ObfuscatedName("td")
@Export("zoomHeight")
static short zoomHeight;
@ObfuscatedName("to")
@Export("zoomWidth")
static short zoomWidth;
@ObfuscatedName("qi")
@ObfuscatedGetter(
intValue = -2053041951
)
static int field701;
@ObfuscatedName("uc")
@ObfuscatedGetter(
intValue = 1186068583
)
static int field753;
@ObfuscatedName("tv")
static int[] field679;
@ObfuscatedName("tn")
static int[] field726;
@ObfuscatedName("qb")
static int[] field522;
@ObfuscatedName("tf")
static int[] field618;
@ObfuscatedName("tl")
static int[] field729;
@ObfuscatedName("qz")
static int[] field758;
@ObfuscatedName("qp")
@ObfuscatedGetter(
intValue = 1425340839
)
@Export("publicChatMode")
static int publicChatMode;
@ObfuscatedName("qr")
@ObfuscatedGetter(
intValue = 494366655
)
@Export("tradeChatMode")
static int tradeChatMode;
@ObfuscatedName("uf")
@ObfuscatedSignature(
descriptor = "Lka;"
)
@Export("grandExchangeEvents")
static GrandExchangeEvents grandExchangeEvents;
@ObfuscatedName("qm")
static int[] field749;
@ObfuscatedName("qe")
static String field645;
@ObfuscatedName("uw")
@ObfuscatedSignature(
descriptor = "Lbm;"
)
@Export("GrandExchangeEvents_worldComparator")
static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator;
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "[Lgf;"
)
@Export("collisionMaps")
static CollisionMap[] collisionMaps;
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "Lcv;"
)
@Export("loginScreenRunesAnimation")
static LoginScreenAnimation loginScreenRunesAnimation;
@ObfuscatedName("ad")
static boolean field713;
@ObfuscatedName("bp")
@ObfuscatedGetter(
intValue = -1047026675
)
@Export("worldId")
public static int worldId;
@ObfuscatedName("bd")
@ObfuscatedGetter(
intValue = -148495881
)
@Export("worldProperties")
static int worldProperties;
@ObfuscatedName("bq")
@ObfuscatedGetter(
intValue = 406374125
)
@Export("gameBuild")
static int gameBuild;
@ObfuscatedName("bi")
@Export("isMembersWorld")
public static boolean isMembersWorld;
@ObfuscatedName("bm")
@Export("isLowDetail")
static boolean isLowDetail;
@ObfuscatedName("bs")
@ObfuscatedGetter(
intValue = 78796799
)
static int field473;
@ObfuscatedName("bv")
@ObfuscatedGetter(
intValue = -275050283
)
@Export("clientType")
static int clientType;
@ObfuscatedName("bb")
@ObfuscatedGetter(
intValue = -1450677759
)
static int field499;
@ObfuscatedName("bc")
@Export("onMobile")
static boolean onMobile;
@ObfuscatedName("ce")
@ObfuscatedGetter(
intValue = -1847663853
)
@Export("gameState")
static int gameState;
@ObfuscatedName("cf")
@Export("isLoading")
static boolean isLoading;
@ObfuscatedName("cu")
@ObfuscatedGetter(
intValue = 1674489649
)
@Export("cycle")
static int cycle;
@ObfuscatedName("cx")
@ObfuscatedGetter(
longValue = -1983586746320389363L
)
@Export("mouseLastLastPressedTimeMillis")
static long mouseLastLastPressedTimeMillis;
@ObfuscatedName("cm")
@ObfuscatedSignature(
descriptor = "Lcd;"
)
@Export("mouseRecorder")
static MouseRecorder mouseRecorder;
@ObfuscatedName("dm")
@ObfuscatedGetter(
intValue = -2087310985
)
static int field483;
@ObfuscatedName("dr")
@ObfuscatedGetter(
intValue = 1122347211
)
static int field746;
@ObfuscatedName("ds")
@ObfuscatedGetter(
longValue = 3088441328861095551L
)
static long field485;
@ObfuscatedName("dv")
@Export("hadFocus")
static boolean hadFocus;
@ObfuscatedName("do")
@Export("displayFps")
static boolean displayFps;
@ObfuscatedName("dt")
@ObfuscatedGetter(
intValue = -808894481
)
@Export("rebootTimer")
static int rebootTimer;
@ObfuscatedName("dy")
@ObfuscatedGetter(
intValue = -1504010063
)
@Export("hintArrowType")
static int hintArrowType;
@ObfuscatedName("dk")
@ObfuscatedGetter(
intValue = -789774913
)
@Export("hintArrowNpcIndex")
static int hintArrowNpcIndex;
@ObfuscatedName("de")
@ObfuscatedGetter(
intValue = -1385232855
)
@Export("hintArrowPlayerIndex")
static int hintArrowPlayerIndex;
@ObfuscatedName("df")
@ObfuscatedGetter(
intValue = -1355919591
)
@Export("hintArrowX")
static int hintArrowX;
@ObfuscatedName("dh")
@ObfuscatedGetter(
intValue = 686364275
)
@Export("hintArrowY")
static int hintArrowY;
@ObfuscatedName("dn")
@ObfuscatedGetter(
intValue = -1327714015
)
@Export("hintArrowHeight")
static int hintArrowHeight;
@ObfuscatedName("dx")
@ObfuscatedGetter(
intValue = -521195687
)
@Export("hintArrowSubX")
static int hintArrowSubX;
@ObfuscatedName("dp")
@ObfuscatedGetter(
intValue = -1689030643
)
@Export("hintArrowSubY")
static int hintArrowSubY;
@ObfuscatedName("dq")
@ObfuscatedSignature(
descriptor = "Lca;"
)
@Export("playerAttackOption")
static AttackOption playerAttackOption;
@ObfuscatedName("db")
@ObfuscatedSignature(
descriptor = "Lca;"
)
@Export("npcAttackOption")
static AttackOption npcAttackOption;
@ObfuscatedName("du")
@ObfuscatedGetter(
intValue = -799405801
)
@Export("titleLoadingStage")
static int titleLoadingStage;
@ObfuscatedName("dg")
@ObfuscatedGetter(
intValue = -1227560011
)
@Export("js5ConnectState")
static int js5ConnectState;
@ObfuscatedName("di")
@ObfuscatedGetter(
intValue = 856515511
)
static int field517;
@ObfuscatedName("ex")
@ObfuscatedGetter(
intValue = -323349495
)
@Export("js5Errors")
static int js5Errors;
@ObfuscatedName("es")
@ObfuscatedGetter(
intValue = 993112849
)
@Export("loginState")
static int loginState;
@ObfuscatedName("eb")
@ObfuscatedGetter(
intValue = -1252225801
)
static int field545;
@ObfuscatedName("ey")
@ObfuscatedGetter(
intValue = 670531889
)
static int field541;
@ObfuscatedName("eq")
@ObfuscatedGetter(
intValue = 1972488979
)
static int field506;
@ObfuscatedName("ew")
@ObfuscatedSignature(
descriptor = "Ldd;"
)
static class122 field507;
@ObfuscatedName("ff")
@ObfuscatedSignature(
descriptor = "Lpf;"
)
static class422 field508;
@ObfuscatedName("fl")
@Export("Login_isUsernameRemembered")
static boolean Login_isUsernameRemembered;
@ObfuscatedName("fy")
@ObfuscatedSignature(
descriptor = "Lbh;"
)
@Export("secureRandomFuture")
static SecureRandomFuture secureRandomFuture;
@ObfuscatedName("fm")
@Export("randomDatData")
static byte[] randomDatData;
@ObfuscatedName("gf")
@ObfuscatedSignature(
descriptor = "[Lcr;"
)
@Export("npcs")
static NPC[] npcs;
@ObfuscatedName("gv")
@ObfuscatedGetter(
intValue = 1929700921
)
@Export("npcCount")
static int npcCount;
@ObfuscatedName("gj")
@Export("npcIndices")
static int[] npcIndices;
@ObfuscatedName("gm")
@ObfuscatedGetter(
intValue = 1848423267
)
static int field520;
@ObfuscatedName("gw")
static int[] field605;
@ObfuscatedName("gs")
@ObfuscatedSignature(
descriptor = "Lch;"
)
@Export("packetWriter")
public static final PacketWriter packetWriter;
@ObfuscatedName("gb")
@ObfuscatedGetter(
intValue = 1696118819
)
@Export("logoutTimer")
static int logoutTimer;
@ObfuscatedName("gp")
@Export("hadNetworkError")
static boolean hadNetworkError;
@ObfuscatedName("gq")
@Export("useBufferedSocket")
static boolean useBufferedSocket;
@ObfuscatedName("gi")
static boolean field526;
@ObfuscatedName("gy")
@ObfuscatedSignature(
descriptor = "Llg;"
)
@Export("timer")
static Timer timer;
@ObfuscatedName("gc")
@Export("fontsMap")
static HashMap fontsMap;
@ObfuscatedName("hj")
@ObfuscatedGetter(
intValue = -628851273
)
static int field529;
@ObfuscatedName("hp")
@ObfuscatedGetter(
intValue = -747625611
)
static int field530;
@ObfuscatedName("hl")
@ObfuscatedGetter(
intValue = -826572867
)
static int field617;
@ObfuscatedName("hn")
@ObfuscatedGetter(
intValue = -1786172371
)
static int field532;
@ObfuscatedName("hd")
@ObfuscatedGetter(
intValue = 1982308495
)
static int field602;
@ObfuscatedName("hy")
@Export("isInInstance")
static boolean isInInstance;
@ObfuscatedName("hc")
@Export("instanceChunkTemplates")
static int[][][] instanceChunkTemplates;
@ObfuscatedName("hf")
static final int[] field537;
@ObfuscatedName("hz")
@ObfuscatedGetter(
intValue = 374050087
)
static int field538;
@ObfuscatedName("it")
@Export("selectedItemName")
static String selectedItemName;
@ObfuscatedName("ig")
@ObfuscatedGetter(
intValue = 327781137
)
static int field693;
@ObfuscatedName("im")
@ObfuscatedGetter(
intValue = -331478875
)
static int field716;
@ObfuscatedName("ib")
@ObfuscatedGetter(
intValue = -979832185
)
static int field509;
@ObfuscatedName("ia")
@ObfuscatedGetter(
intValue = 321039709
)
static int field544;
@ObfuscatedName("ik")
static boolean field543;
@ObfuscatedName("iy")
@ObfuscatedGetter(
intValue = -83589583
)
@Export("alternativeScrollbarWidth")
static int alternativeScrollbarWidth;
@ObfuscatedName("if")
@ObfuscatedGetter(
intValue = 2024018565
)
@Export("camAngleX")
static int camAngleX;
@ObfuscatedName("iw")
@ObfuscatedGetter(
intValue = 576864047
)
@Export("camAngleY")
static int camAngleY;
@ObfuscatedName("ir")
@ObfuscatedGetter(
intValue = 1332183157
)
@Export("camAngleDY")
static int camAngleDY;
@ObfuscatedName("ih")
@ObfuscatedGetter(
intValue = 1090882813
)
@Export("camAngleDX")
static int camAngleDX;
@ObfuscatedName("ii")
@ObfuscatedGetter(
intValue = -229171215
)
@Export("mouseCamClickedX")
static int mouseCamClickedX;
@ObfuscatedName("il")
@ObfuscatedGetter(
intValue = -939566641
)
@Export("mouseCamClickedY")
static int mouseCamClickedY;
@ObfuscatedName("jd")
@ObfuscatedGetter(
intValue = 964987821
)
@Export("oculusOrbState")
static int oculusOrbState;
@ObfuscatedName("jp")
@ObfuscatedGetter(
intValue = 579441507
)
@Export("camFollowHeight")
static int camFollowHeight;
@ObfuscatedName("jk")
@ObfuscatedGetter(
intValue = 1740034233
)
static int field542;
@ObfuscatedName("jq")
@ObfuscatedGetter(
intValue = 1436075295
)
static int field584;
@ObfuscatedName("jc")
@ObfuscatedGetter(
intValue = -890677005
)
static int field555;
@ObfuscatedName("jh")
@ObfuscatedGetter(
intValue = -535945653
)
@Export("oculusOrbNormalSpeed")
static int oculusOrbNormalSpeed;
@ObfuscatedName("jx")
@ObfuscatedGetter(
intValue = 1403293651
)
@Export("oculusOrbSlowedSpeed")
static int oculusOrbSlowedSpeed;
@ObfuscatedName("jf")
@ObfuscatedGetter(
intValue = 1420477321
)
static int field607;
@ObfuscatedName("jz")
static boolean field612;
@ObfuscatedName("jj")
@ObfuscatedGetter(
intValue = -1475270389
)
static int field560;
@ObfuscatedName("jr")
static boolean field561;
@ObfuscatedName("jg")
@ObfuscatedGetter(
intValue = -26905361
)
static int field562;
@ObfuscatedName("ju")
@ObfuscatedGetter(
intValue = -773892707
)
@Export("overheadTextCount")
static int overheadTextCount;
@ObfuscatedName("jn")
@ObfuscatedGetter(
intValue = -1644053899
)
@Export("overheadTextLimit")
static int overheadTextLimit;
@ObfuscatedName("jo")
@Export("overheadTextXs")
static int[] overheadTextXs;
@ObfuscatedName("jb")
@Export("overheadTextYs")
static int[] overheadTextYs;
@ObfuscatedName("jm")
@Export("overheadTextAscents")
static int[] overheadTextAscents;
@ObfuscatedName("je")
@Export("overheadTextXOffsets")
static int[] overheadTextXOffsets;
@ObfuscatedName("ja")
@Export("overheadTextColors")
static int[] overheadTextColors;
@ObfuscatedName("jy")
@Export("overheadTextEffects")
static int[] overheadTextEffects;
@ObfuscatedName("ji")
@Export("overheadTextCyclesRemaining")
static int[] overheadTextCyclesRemaining;
@ObfuscatedName("js")
@Export("overheadText")
static String[] overheadText;
@ObfuscatedName("kf")
@Export("tileLastDrawnActor")
static int[][] tileLastDrawnActor;
@ObfuscatedName("ks")
@ObfuscatedGetter(
intValue = 1916144699
)
@Export("viewportDrawCount")
static int viewportDrawCount;
@ObfuscatedName("kt")
@ObfuscatedGetter(
intValue = 840193893
)
@Export("viewportTempX")
static int viewportTempX;
@ObfuscatedName("kd")
@ObfuscatedGetter(
intValue = -1886866651
)
@Export("viewportTempY")
static int viewportTempY;
@ObfuscatedName("ko")
@ObfuscatedGetter(
intValue = 1160360799
)
@Export("mouseCrossX")
static int mouseCrossX;
@ObfuscatedName("ky")
@ObfuscatedGetter(
intValue = 1838440319
)
@Export("mouseCrossY")
static int mouseCrossY;
@ObfuscatedName("kp")
@ObfuscatedGetter(
intValue = 1581021399
)
@Export("mouseCrossState")
static int mouseCrossState;
@ObfuscatedName("kn")
@ObfuscatedGetter(
intValue = 1288921139
)
@Export("mouseCrossColor")
static int mouseCrossColor;
@ObfuscatedName("kl")
@Export("showMouseCross")
static boolean showMouseCross;
@ObfuscatedName("kw")
@ObfuscatedGetter(
intValue = 1920336167
)
static int field582;
@ObfuscatedName("km")
@ObfuscatedGetter(
intValue = -1813426121
)
static int field599;
@ObfuscatedName("kx")
@ObfuscatedGetter(
intValue = 968662689
)
@Export("dragItemSlotSource")
static int dragItemSlotSource;
@ObfuscatedName("ku")
@ObfuscatedGetter(
intValue = 304129153
)
@Export("draggedWidgetX")
static int draggedWidgetX;
@ObfuscatedName("kg")
@ObfuscatedGetter(
intValue = 403550005
)
@Export("draggedWidgetY")
static int draggedWidgetY;
@ObfuscatedName("ka")
@ObfuscatedGetter(
intValue = 1141132311
)
@Export("dragItemSlotDestination")
static int dragItemSlotDestination;
@ObfuscatedName("kh")
static boolean field572;
@ObfuscatedName("ki")
@ObfuscatedGetter(
intValue = 316645859
)
@Export("itemDragDuration")
static int itemDragDuration;
@ObfuscatedName("kc")
@ObfuscatedGetter(
intValue = -1256248427
)
static int field590;
@ObfuscatedName("kv")
@Export("showLoadingMessages")
static boolean showLoadingMessages;
@ObfuscatedName("kb")
@ObfuscatedSignature(
descriptor = "[Lck;"
)
@Export("players")
static Player[] players;
@ObfuscatedName("lw")
@ObfuscatedGetter(
intValue = 74597849
)
@Export("localPlayerIndex")
static int localPlayerIndex;
@ObfuscatedName("lp")
@ObfuscatedGetter(
intValue = -1592996163
)
static int field594;
@ObfuscatedName("li")
@Export("renderSelf")
static boolean renderSelf;
@ObfuscatedName("lh")
@ObfuscatedGetter(
intValue = 1840251113
)
@Export("drawPlayerNames")
static int drawPlayerNames;
@ObfuscatedName("lk")
@ObfuscatedGetter(
intValue = 1123511093
)
static int field597;
@ObfuscatedName("lr")
static int[] field598;
@ObfuscatedName("lo")
@Export("playerMenuOpcodes")
static final int[] playerMenuOpcodes;
@ObfuscatedName("ls")
@Export("playerMenuActions")
static String[] playerMenuActions;
@ObfuscatedName("lx")
@Export("playerOptionsPriorities")
static boolean[] playerOptionsPriorities;
@ObfuscatedName("lm")
@Export("defaultRotations")
static int[] defaultRotations;
@ObfuscatedName("lv")
@ObfuscatedGetter(
intValue = -1073316529
)
@Export("combatTargetPlayerIndex")
static int combatTargetPlayerIndex;
@ObfuscatedName("lt")
@ObfuscatedSignature(
descriptor = "[[[Llh;"
)
@Export("groundItems")
static NodeDeque[][][] groundItems;
@ObfuscatedName("ly")
@ObfuscatedSignature(
descriptor = "Llh;"
)
@Export("pendingSpawns")
static NodeDeque pendingSpawns;
@ObfuscatedName("lu")
@ObfuscatedSignature(
descriptor = "Llh;"
)
@Export("projectiles")
static NodeDeque projectiles;
@ObfuscatedName("ld")
@ObfuscatedSignature(
descriptor = "Llh;"
)
@Export("graphicsObjects")
static NodeDeque graphicsObjects;
@ObfuscatedName("le")
@Export("currentLevels")
static int[] currentLevels;
@ObfuscatedName("lb")
@Export("levels")
static int[] levels;
@ObfuscatedName("lj")
@Export("experience")
static int[] experience;
@ObfuscatedName("ln")
@ObfuscatedGetter(
intValue = -2127848453
)
@Export("leftClickOpensMenu")
static int leftClickOpensMenu;
@ObfuscatedName("lg")
@Export("isMenuOpen")
static boolean isMenuOpen;
@ObfuscatedName("mz")
@ObfuscatedGetter(
intValue = 423776093
)
@Export("menuOptionsCount")
static int menuOptionsCount;
@ObfuscatedName("mm")
@Export("menuArguments1")
static int[] menuArguments1;
@ObfuscatedName("mw")
@Export("menuArguments2")
static int[] menuArguments2;
@ObfuscatedName("mc")
@Export("menuOpcodes")
static int[] menuOpcodes;
@ObfuscatedName("ml")
@Export("menuIdentifiers")
static int[] menuIdentifiers;
@ObfuscatedName("mx")
@Export("menuActions")
static String[] menuActions;
@ObfuscatedName("mv")
@Export("menuTargets")
static String[] menuTargets;
@ObfuscatedName("mn")
@Export("menuShiftClick")
static boolean[] menuShiftClick;
@ObfuscatedName("mo")
@Export("followerOpsLowPriority")
static boolean followerOpsLowPriority;
@ObfuscatedName("mp")
@Export("shiftClickDrop")
static boolean shiftClickDrop;
@ObfuscatedName("mu")
@Export("tapToDrop")
static boolean tapToDrop;
@ObfuscatedName("md")
@Export("showMouseOverText")
static boolean showMouseOverText;
@ObfuscatedName("mg")
@ObfuscatedGetter(
intValue = -1753321203
)
@Export("viewportX")
static int viewportX;
@ObfuscatedName("mr")
@ObfuscatedGetter(
intValue = 1204843373
)
@Export("viewportY")
static int viewportY;
@ObfuscatedName("mh")
@ObfuscatedGetter(
intValue = -1381888941
)
static int field714;
@ObfuscatedName("me")
@ObfuscatedGetter(
intValue = 289077449
)
static int field628;
@ObfuscatedName("mt")
@ObfuscatedGetter(
intValue = -1313040449
)
@Export("isItemSelected")
static int isItemSelected;
@ObfuscatedName("ns")
@Export("isSpellSelected")
static boolean isSpellSelected;
@ObfuscatedName("nu")
@ObfuscatedGetter(
intValue = -2020933549
)
@Export("selectedSpellChildIndex")
static int selectedSpellChildIndex;
@ObfuscatedName("nr")
@ObfuscatedGetter(
intValue = 170882311
)
static int field633;
@ObfuscatedName("nq")
@Export("selectedSpellActionName")
static String selectedSpellActionName;
@ObfuscatedName("nl")
@Export("selectedSpellName")
static String selectedSpellName;
@ObfuscatedName("nv")
@ObfuscatedGetter(
intValue = 1900367295
)
@Export("rootInterface")
static int rootInterface;
@ObfuscatedName("np")
@ObfuscatedSignature(
descriptor = "Lon;"
)
@Export("interfaceParents")
static NodeHashTable interfaceParents;
@ObfuscatedName("nf")
@ObfuscatedGetter(
intValue = 862490937
)
static int field638;
@ObfuscatedName("nk")
@ObfuscatedGetter(
intValue = 957984195
)
static int field639;
@ObfuscatedName("nz")
@ObfuscatedGetter(
intValue = -1526655765
)
@Export("chatEffects")
static int chatEffects;
@ObfuscatedName("nc")
@ObfuscatedGetter(
intValue = 32014173
)
static int field641;
@ObfuscatedName("nx")
@ObfuscatedSignature(
descriptor = "Ljm;"
)
@Export("meslayerContinueWidget")
static Widget meslayerContinueWidget;
@ObfuscatedName("nm")
@ObfuscatedGetter(
intValue = 2084747083
)
@Export("runEnergy")
static int runEnergy;
@ObfuscatedName("nd")
@ObfuscatedGetter(
intValue = 1192464333
)
@Export("weight")
static int weight;
@ObfuscatedName("nj")
@ObfuscatedGetter(
intValue = 1043298277
)
@Export("staffModLevel")
public static int staffModLevel;
@ObfuscatedName("nw")
@ObfuscatedGetter(
intValue = -730109587
)
@Export("followerIndex")
static int followerIndex;
@ObfuscatedName("na")
@Export("playerMod")
static boolean playerMod;
@ObfuscatedName("nn")
@ObfuscatedSignature(
descriptor = "Ljm;"
)
@Export("viewportWidget")
static Widget viewportWidget;
@ObfuscatedName("nb")
@ObfuscatedSignature(
descriptor = "Ljm;"
)
@Export("clickedWidget")
static Widget clickedWidget;
@ObfuscatedName("ok")
@ObfuscatedSignature(
descriptor = "Ljm;"
)
@Export("clickedWidgetParent")
static Widget clickedWidgetParent;
@ObfuscatedName("ov")
@ObfuscatedGetter(
intValue = -1392233693
)
@Export("widgetClickX")
static int widgetClickX;
@ObfuscatedName("oh")
@ObfuscatedGetter(
intValue = -1441412951
)
@Export("widgetClickY")
static int widgetClickY;
@ObfuscatedName("ot")
@ObfuscatedSignature(
descriptor = "Ljm;"
)
@Export("draggedOnWidget")
static Widget draggedOnWidget;
@ObfuscatedName("or")
static boolean field531;
@ObfuscatedName("oz")
@ObfuscatedGetter(
intValue = 1396470941
)
static int field681;
@ObfuscatedName("on")
@ObfuscatedGetter(
intValue = -1204222991
)
static int field659;
@ObfuscatedName("oc")
static boolean field657;
@ObfuscatedName("om")
@ObfuscatedGetter(
intValue = 446488355
)
static int field658;
@ObfuscatedName("ow")
@ObfuscatedGetter(
intValue = 22597875
)
static int field660;
@ObfuscatedName("ol")
@Export("isDraggingWidget")
static boolean isDraggingWidget;
@ObfuscatedName("oq")
@ObfuscatedGetter(
intValue = -697121075
)
@Export("cycleCntr")
static int cycleCntr;
@ObfuscatedName("os")
@Export("changedVarps")
static int[] changedVarps;
@ObfuscatedName("od")
@ObfuscatedGetter(
intValue = -1549689841
)
@Export("changedVarpCount")
static int changedVarpCount;
@ObfuscatedName("oi")
@Export("changedItemContainers")
static int[] changedItemContainers;
@ObfuscatedName("oj")
@ObfuscatedGetter(
intValue = 840565577
)
static int field665;
@ObfuscatedName("ob")
@Export("changedSkills")
static int[] changedSkills;
@ObfuscatedName("ox")
@ObfuscatedGetter(
intValue = -1130299111
)
@Export("changedSkillsCount")
static int changedSkillsCount;
@ObfuscatedName("oy")
static int[] field695;
@ObfuscatedName("op")
@ObfuscatedGetter(
intValue = -441533413
)
static int field734;
@ObfuscatedName("py")
@ObfuscatedGetter(
intValue = -439883039
)
@Export("chatCycle")
static int chatCycle;
@ObfuscatedName("pj")
@ObfuscatedGetter(
intValue = 985856881
)
static int field671;
@ObfuscatedName("pi")
@ObfuscatedGetter(
intValue = 1529981945
)
static int field672;
@ObfuscatedName("pk")
@ObfuscatedGetter(
intValue = -1376380489
)
static int field673;
@ObfuscatedName("ps")
@ObfuscatedGetter(
intValue = -223800901
)
static int field583;
@ObfuscatedName("pp")
@ObfuscatedGetter(
intValue = 1659284265
)
static int field675;
@ObfuscatedName("pf")
@ObfuscatedGetter(
intValue = 1108839673
)
static int field669;
@ObfuscatedName("pd")
@ObfuscatedGetter(
intValue = 45782605
)
static int field471;
@ObfuscatedName("pg")
@ObfuscatedGetter(
intValue = 1320259871
)
@Export("mouseWheelRotation")
static int mouseWheelRotation;
@ObfuscatedName("pa")
@ObfuscatedSignature(
descriptor = "Llh;"
)
@Export("scriptEvents")
static NodeDeque scriptEvents;
@ObfuscatedName("pl")
@ObfuscatedSignature(
descriptor = "Llh;"
)
static NodeDeque field680;
@ObfuscatedName("px")
@ObfuscatedSignature(
descriptor = "Llh;"
)
static NodeDeque field579;
@ObfuscatedName("pe")
@ObfuscatedSignature(
descriptor = "Lon;"
)
@Export("widgetFlags")
static NodeHashTable widgetFlags;
@ObfuscatedName("pc")
@ObfuscatedGetter(
intValue = 1020186199
)
@Export("rootWidgetCount")
static int rootWidgetCount;
@ObfuscatedName("pt")
@ObfuscatedGetter(
intValue = -140051155
)
static int field684;
@ObfuscatedName("pu")
static boolean[] field504;
@ObfuscatedName("pv")
static boolean[] field686;
@ObfuscatedName("po")
static boolean[] field687;
@ObfuscatedName("pm")
@Export("rootWidgetXs")
static int[] rootWidgetXs;
@ObfuscatedName("pb")
@Export("rootWidgetYs")
static int[] rootWidgetYs;
@ObfuscatedName("qg")
@Export("rootWidgetWidths")
static int[] rootWidgetWidths;
@ObfuscatedName("fd")
String field576;
@ObfuscatedName("fq")
@ObfuscatedSignature(
descriptor = "Lg;"
)
class14 field510;
@ObfuscatedName("fz")
@ObfuscatedSignature(
descriptor = "Lf;"
)
class19 field613;
@ObfuscatedName("fp")
@ObfuscatedSignature(
descriptor = "Lpi;"
)
Buffer field710;
@ObfuscatedName("fn")
@ObfuscatedSignature(
descriptor = "Lw;"
)
class7 field515;
static {
field713 = true;
worldId = 1;
worldProperties = 0;
gameBuild = 0;
isMembersWorld = false;
isLowDetail = false;
field473 = -1;
clientType = -1;
field499 = -1;
onMobile = false;
gameState = 0;
isLoading = true;
cycle = 0;
mouseLastLastPressedTimeMillis = -1L;
field483 = -1;
field746 = -1;
field485 = -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;
field517 = 0;
js5Errors = 0;
loginState = 0;
field545 = 0;
field541 = 0;
field506 = 0;
field507 = class122.field1473;
field508 = class422.field4523;
Login_isUsernameRemembered = false;
secureRandomFuture = new SecureRandomFuture();
randomDatData = null;
npcs = new NPC[32768];
npcCount = 0;
npcIndices = new int[32768];
field520 = 0;
field605 = new int[250];
packetWriter = new PacketWriter();
logoutTimer = 0;
hadNetworkError = false;
useBufferedSocket = true;
field526 = false;
timer = new Timer();
fontsMap = new HashMap();
field529 = 0;
field530 = 1;
field617 = 0;
field532 = 1;
field602 = 0;
collisionMaps = new CollisionMap[4];
isInInstance = false;
instanceChunkTemplates = new int[4][13][13];
field537 = 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};
field538 = 0;
field693 = 2301979;
field716 = 5063219;
field509 = 3353893;
field544 = 7759444;
field543 = false;
alternativeScrollbarWidth = 0;
camAngleX = 128;
camAngleY = 0;
camAngleDY = 0;
camAngleDX = 0;
mouseCamClickedX = 0;
mouseCamClickedY = 0;
oculusOrbState = 0;
camFollowHeight = 50;
field542 = 0;
field584 = 0;
field555 = 0;
oculusOrbNormalSpeed = 12;
oculusOrbSlowedSpeed = 6;
field607 = 0;
field612 = false;
field560 = 0;
field561 = false;
field562 = 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;
field582 = 0;
field599 = 0;
dragItemSlotSource = 0;
draggedWidgetX = 0;
draggedWidgetY = 0;
dragItemSlotDestination = 0;
field572 = false;
itemDragDuration = 0;
field590 = 0;
showLoadingMessages = true;
players = new Player[2048];
localPlayerIndex = -1;
field594 = 0;
renderSelf = true;
drawPlayerNames = 0;
field597 = 0;
field598 = 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;
field714 = 0;
field628 = 50;
isItemSelected = 0;
selectedItemName = null;
isSpellSelected = false;
selectedSpellChildIndex = -1;
field633 = -1;
selectedSpellActionName = null;
selectedSpellName = null;
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
field638 = 0;
field639 = -1;
chatEffects = 0;
field641 = 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;
field531 = false;
field681 = -1;
field659 = -1;
field657 = false;
field658 = -1;
field660 = -1;
isDraggingWidget = false;
cycleCntr = 1;
changedVarps = new int[32];
changedVarpCount = 0;
changedItemContainers = new int[32];
field665 = 0;
changedSkills = new int[32];
changedSkillsCount = 0;
field695 = new int[32];
field734 = 0;
chatCycle = 0;
field671 = 0;
field672 = 0;
field673 = 0;
field583 = 0;
field675 = 0;
field669 = 0;
field471 = 0;
mouseWheelRotation = 0;
scriptEvents = new NodeDeque();
field680 = new NodeDeque();
field579 = new NodeDeque();
widgetFlags = new NodeHashTable(512);
rootWidgetCount = 0;
field684 = -2;
field504 = new boolean[100];
field686 = new boolean[100];
field687 = new boolean[100];
rootWidgetXs = new int[100];
rootWidgetYs = new int[100];
rootWidgetWidths = new int[100];
rootWidgetHeights = new int[100];
gameDrawingMode = 0;
field514 = 0L;
isResizable = true;
field749 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215};
publicChatMode = 0;
tradeChatMode = 0;
field645 = "";
crossWorldMessageIds = new long[100];
crossWorldMessageIdsIndex = 0;
field701 = 0;
field758 = new int[128];
field522 = new int[128];
field676 = -1L;
currentClanSettings = new ClanSettings[2];
currentClanChannels = new ClanChannel[2];
field570 = -1;
mapIconCount = 0;
mapIconXs = new int[1000];
mapIconYs = new int[1000];
mapIcons = new SpritePixels[1000];
destinationX = 0;
destinationY = 0;
minimapState = 0;
currentTrackGroupId = -1;
field743 = false;
soundEffectCount = 0;
soundEffectIds = new int[50];
queuedSoundEffectLoops = new int[50];
queuedSoundEffectDelays = new int[50];
soundLocations = new int[50];
soundEffects = new SoundEffect[50];
isCameraLocked = false;
field724 = false;
field725 = new boolean[5];
field726 = new int[5];
field679 = new int[5];
field618 = new int[5];
field729 = new int[5];
field690 = 256;
field707 = 205;
zoomHeight = 256;
zoomWidth = 320;
field619 = 1;
field735 = 32767;
field736 = 1;
field737 = 32767;
viewportOffsetX = 0;
viewportOffsetY = 0;
viewportWidth = 0;
viewportHeight = 0;
viewportZoom = 0;
playerAppearance = new PlayerComposition();
field744 = -1;
field571 = -1;
platformInfoProvider = new DesktopPlatformInfoProvider();
grandExchangeOffers = new GrandExchangeOffer[8];
GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator();
field559 = -1;
archiveLoaders = new ArrayList(10);
archiveLoadersDone = 0;
field753 = 0;
field754 = new ApproximateRouteStrategy();
field755 = new int[50];
field756 = new int[50];
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-2122855875"
)
@Export("resizeGame")
protected final void resizeGame() {
field514 = Ignored.method6459() + 500L;
this.resizeJS();
if (rootInterface != -1) {
this.resizeRoot(true);
}
}
@ObfuscatedName("z")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "264122801"
)
@Export("setUp")
protected final void setUp() {
int[] var1 = new int[]{20, 260, 10000};
int[] var2 = new int[]{1000, 100, 500};
if (var1 != null && var2 != null) {
SoundCache.ByteArrayPool_alternativeSizes = var1;
ApproximateRouteStrategy.ByteArrayPool_altSizeArrayCounts = new int[var1.length];
World.ByteArrayPool_arrays = new byte[var1.length][][];
for (int var3 = 0; var3 < SoundCache.ByteArrayPool_alternativeSizes.length; ++var3) {
World.ByteArrayPool_arrays[var3] = new byte[var2[var3]][];
ByteArrayPool.field4035.add(var1[var3]);
}
Collections.sort(ByteArrayPool.field4035);
} else {
SoundCache.ByteArrayPool_alternativeSizes = null;
ApproximateRouteStrategy.ByteArrayPool_altSizeArrayCounts = null;
World.ByteArrayPool_arrays = null;
ByteArrayPool.field4035.clear();
ByteArrayPool.field4035.add(100);
ByteArrayPool.field4035.add(5000);
ByteArrayPool.field4035.add(10000);
ByteArrayPool.field4035.add(30000);
}
GameObject.worldPort = gameBuild == 0 ? 43594 : worldId + 40000;
class133.js5Port = gameBuild == 0 ? 443 : worldId + 50000;
class129.currentPort = GameObject.worldPort;
PlayerComposition.field3197 = class279.field3209;
class114.field1382 = class279.field3208;
class132.field1540 = class279.field3211;
PlayerComposition.field3203 = class279.field3210;
WorldMapData_1.urlRequester = new UrlRequester();
this.setUpKeyboard();
this.method472();
WorldMapDecorationType.mouseWheel = this.mouseWheel();
ParamComposition.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000);
AccessFile var4 = null;
ClientPreferences var5 = new ClientPreferences();
try {
var4 = class231.getPreferencesFile("", class338.field4054.name, false);
byte[] var6 = new byte[(int)var4.length()];
int var8;
for (int var7 = 0; var7 < var6.length; var7 += var8) {
var8 = var4.read(var6, var7, var6.length - var7);
if (var8 == -1) {
throw new IOException();
}
}
var5 = new ClientPreferences(new Buffer(var6));
} catch (Exception var11) {
}
try {
if (var4 != null) {
var4.close();
}
} catch (Exception var10) {
}
SecureRandomFuture.clientPreferences = var5;
this.setUpClipboard();
String var12 = GrandExchangeOfferAgeComparator.field3882;
class29.field172 = this;
if (var12 != null) {
class29.field177 = var12;
}
if (gameBuild != 0) {
displayFps = true;
}
Occluder.setWindowedMode(SecureRandomFuture.clientPreferences.windowMode);
GameEngine.friendSystem = new FriendSystem(class194.loginType);
this.field510 = new class14("tokenRequest", 1, 1);
}
@ObfuscatedName("i")
@ObfuscatedSignature(
descriptor = "(S)V",
garbageValue = "-24240"
)
@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) {
class91.method2336();
class148.playPcmPlayers();
int var45;
synchronized(KeyHandler.KeyHandler_instance) {
++KeyHandler.KeyHandler_idleCycles;
KeyHandler.field143 = KeyHandler.field145;
KeyHandler.field140 = 0;
KeyHandler.field142 = 0;
Arrays.fill(KeyHandler.field132, false);
Arrays.fill(KeyHandler.field130, false);
if (KeyHandler.field120 < 0) {
Arrays.fill(KeyHandler.KeyHandler_pressedKeys, false);
KeyHandler.field120 = KeyHandler.field135;
} else {
while (KeyHandler.field120 != KeyHandler.field135) {
var45 = KeyHandler.field134[KeyHandler.field135];
KeyHandler.field135 = KeyHandler.field135 + 1 & 127;
if (var45 < 0) {
var45 = ~var45;
if (KeyHandler.KeyHandler_pressedKeys[var45]) {
KeyHandler.KeyHandler_pressedKeys[var45] = false;
KeyHandler.field130[var45] = true;
KeyHandler.field141[KeyHandler.field142] = var45;
++KeyHandler.field142;
}
} else {
if (!KeyHandler.KeyHandler_pressedKeys[var45] && KeyHandler.field140 < KeyHandler.field139.length - 1) {
KeyHandler.field132[var45] = true;
KeyHandler.field139[++KeyHandler.field140 - 1] = var45;
}
KeyHandler.KeyHandler_pressedKeys[var45] = true;
}
}
}
if (KeyHandler.field140 > 0) {
KeyHandler.KeyHandler_idleCycles = 0;
}
KeyHandler.field145 = KeyHandler.field144;
}
MenuAction.method1961();
int var46;
if (WorldMapDecorationType.mouseWheel != null) {
var46 = WorldMapDecorationType.mouseWheel.useRotation();
mouseWheelRotation = var46;
}
if (gameState == 0) {
UserComparator10.load();
class17.method292();
} else if (gameState == 5) {
Skeleton.method3947(this, class114.fontPlain12);
UserComparator10.load();
class91.clock.mark();
for (var46 = 0; var46 < 32; ++var46) {
GameEngine.graphicsTickTimes[var46] = 0L;
}
for (var46 = 0; var46 < 32; ++var46) {
GameEngine.clientTickTimes[var46] = 0L;
}
GameEngine.gameCyclesToDo = 0;
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
Skeleton.method3947(this, class114.fontPlain12);
this.doCycleLoggedOut();
} else if (gameState == 25) {
ClientPacket.method5001(false);
field529 = 0;
boolean var77 = true;
for (var45 = 0; var45 < TileItem.regionLandArchives.length; ++var45) {
if (Tiles.regionMapArchiveIds[var45] != -1 && TileItem.regionLandArchives[var45] == null) {
TileItem.regionLandArchives[var45] = class140.archive5.takeFile(Tiles.regionMapArchiveIds[var45], 0);
if (TileItem.regionLandArchives[var45] == null) {
var77 = false;
++field529;
}
}
if (class10.regionLandArchiveIds[var45] != -1 && VarpDefinition.regionMapArchives[var45] == null) {
VarpDefinition.regionMapArchives[var45] = class140.archive5.takeFileEncrypted(class10.regionLandArchiveIds[var45], 0, WorldMapID.xteaKeys[var45]);
if (VarpDefinition.regionMapArchives[var45] == null) {
var77 = false;
++field529;
}
}
}
if (!var77) {
field602 = 1;
} else {
field617 = 0;
var77 = true;
int var5;
boolean var8;
Buffer var9;
int var10;
int var11;
int var12;
int var14;
int var15;
int var16;
int var17;
int var18;
int var19;
int var47;
for (var45 = 0; var45 < TileItem.regionLandArchives.length; ++var45) {
byte[] var3 = VarpDefinition.regionMapArchives[var45];
if (var3 != null) {
var47 = (class269.regions[var45] >> 8) * 64 - class131.baseX;
var5 = (class269.regions[var45] & 255) * 64 - TileItem.baseY;
if (isInInstance) {
var47 = 10;
var5 = 10;
}
var8 = true;
var9 = new Buffer(var3);
var10 = -1;
label1403:
while (true) {
var11 = var9.method7378();
if (var11 == 0) {
var77 &= var8;
break;
}
var10 += var11;
var12 = 0;
boolean var13 = false;
while (true) {
while (!var13) {
var14 = var9.readUShortSmart();
if (var14 == 0) {
continue label1403;
}
var12 += var14 - 1;
var15 = var12 & 63;
var16 = var12 >> 6 & 63;
var17 = var9.readUnsignedByte() >> 2;
var18 = var16 + var47;
var19 = var15 + var5;
if (var18 > 0 && var19 > 0 && var18 < 103 && var19 < 103) {
ObjectComposition var20 = class148.getObjectDefinition(var10);
if (var17 != 22 || !isLowDetail || var20.int1 != 0 || var20.interactType == 1 || var20.boolean2) {
if (!var20.needsModelFiles()) {
++field617;
var8 = false;
}
var13 = true;
}
}
}
var14 = var9.readUShortSmart();
if (var14 == 0) {
break;
}
var9.readUnsignedByte();
}
}
}
}
if (!var77) {
field602 = 2;
} else {
if (field602 != 0) {
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true);
}
class148.playPcmPlayers();
class7.scene.clear();
for (var45 = 0; var45 < 4; ++var45) {
collisionMaps[var45].clear();
}
int var48;
for (var45 = 0; var45 < 4; ++var45) {
for (var48 = 0; var48 < 104; ++var48) {
for (var47 = 0; var47 < 104; ++var47) {
Tiles.Tiles_renderFlags[var45][var48][var47] = 0;
}
}
}
class148.playPcmPlayers();
class118.method2686();
var45 = TileItem.regionLandArchives.length;
GrandExchangeEvent.method5760();
ClientPacket.method5001(true);
int var6;
int var21;
int var22;
int var52;
int var72;
if (!isInInstance) {
byte[] var49;
for (var48 = 0; var48 < var45; ++var48) {
var47 = (class269.regions[var48] >> 8) * 64 - class131.baseX;
var5 = (class269.regions[var48] & 255) * 64 - TileItem.baseY;
var49 = TileItem.regionLandArchives[var48];
if (var49 != null) {
class148.playPcmPlayers();
class10.method119(var49, var47, var5, Messages.field1277 * 8 - 48, class4.field9 * 8 - 48, collisionMaps);
}
}
for (var48 = 0; var48 < var45; ++var48) {
var47 = (class269.regions[var48] >> 8) * 64 - class131.baseX;
var5 = (class269.regions[var48] & 255) * 64 - TileItem.baseY;
var49 = TileItem.regionLandArchives[var48];
if (var49 == null && class4.field9 < 800) {
class148.playPcmPlayers();
class112.method2572(var47, var5, 64, 64);
}
}
ClientPacket.method5001(true);
for (var48 = 0; var48 < var45; ++var48) {
byte[] var4 = VarpDefinition.regionMapArchives[var48];
if (var4 != null) {
var5 = (class269.regions[var48] >> 8) * 64 - class131.baseX;
var6 = (class269.regions[var48] & 255) * 64 - TileItem.baseY;
class148.playPcmPlayers();
Scene var50 = class7.scene;
CollisionMap[] var51 = collisionMaps;
var9 = new Buffer(var4);
var10 = -1;
while (true) {
var11 = var9.method7378();
if (var11 == 0) {
break;
}
var10 += var11;
var12 = 0;
while (true) {
var72 = var9.readUShortSmart();
if (var72 == 0) {
break;
}
var12 += var72 - 1;
var14 = var12 & 63;
var15 = var12 >> 6 & 63;
var16 = var12 >> 12;
var17 = var9.readUnsignedByte();
var18 = var17 >> 2;
var19 = var17 & 3;
var52 = var5 + var15;
var21 = var6 + var14;
if (var52 > 0 && var21 > 0 && var52 < 103 && var21 < 103) {
var22 = var16;
if ((Tiles.Tiles_renderFlags[1][var52][var21] & 2) == 2) {
var22 = var16 - 1;
}
CollisionMap var23 = null;
if (var22 >= 0) {
var23 = var51[var22];
}
ClanChannel.method2996(var16, var52, var21, var10, var19, var18, var50, var23);
}
}
}
}
}
}
int var7;
int[] var10000;
int var25;
int var26;
int var27;
int var28;
int var29;
int var30;
int var33;
int var34;
int var35;
int var36;
int var37;
int var39;
int var40;
int var41;
int var53;
int var56;
int var59;
int var69;
if (isInInstance) {
var48 = 0;
label1308:
while (true) {
int var38;
CollisionMap[] var55;
Buffer var73;
if (var48 >= 4) {
for (var48 = 0; var48 < 13; ++var48) {
for (var47 = 0; var47 < 13; ++var47) {
var5 = instanceChunkTemplates[0][var48][var47];
if (var5 == -1) {
class112.method2572(var48 * 8, var47 * 8, 8, 8);
}
}
}
ClientPacket.method5001(true);
var48 = 0;
while (true) {
if (var48 >= 4) {
break label1308;
}
class148.playPcmPlayers();
for (var47 = 0; var47 < 13; ++var47) {
label1231:
for (var5 = 0; var5 < 13; ++var5) {
var6 = instanceChunkTemplates[var48][var47][var5];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var69 = var6 >> 1 & 3;
var53 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var53 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < class269.regions.length; ++var12) {
if (class269.regions[var12] == var11 && VarpDefinition.regionMapArchives[var12] != null) {
byte[] var57 = VarpDefinition.regionMapArchives[var12];
var14 = var47 * 8;
var15 = var5 * 8;
var16 = (var53 & 7) * 8;
var17 = (var10 & 7) * 8;
Scene var58 = class7.scene;
var55 = collisionMaps;
var73 = new Buffer(var57);
var21 = -1;
while (true) {
var22 = var73.method7378();
if (var22 == 0) {
continue label1231;
}
var21 += var22;
var56 = 0;
while (true) {
var59 = var73.readUShortSmart();
if (var59 == 0) {
break;
}
var56 += var59 - 1;
var25 = var56 & 63;
var26 = var56 >> 6 & 63;
var27 = var56 >> 12;
var28 = var73.readUnsignedByte();
var29 = var28 >> 2;
var30 = var28 & 3;
if (var27 == var7 && var26 >= var16 && var26 < var16 + 8 && var25 >= var17 && var25 < var17 + 8) {
ObjectComposition var31 = class148.getObjectDefinition(var21);
var34 = var26 & 7;
var35 = var25 & 7;
var37 = var31.sizeX;
var38 = var31.sizeY;
if ((var30 & 1) == 1) {
var39 = var37;
var37 = var38;
var38 = var39;
}
var36 = var69 & 3;
if (var36 == 0) {
var33 = var34;
} else if (var36 == 1) {
var33 = var35;
} else if (var36 == 2) {
var33 = 7 - var34 - (var37 - 1);
} else {
var33 = 7 - var35 - (var38 - 1);
}
var39 = var33 + var14;
Object var10001 = null;
var40 = var15 + Calendar.method5320(var26 & 7, var25 & 7, var69, var31.sizeX, var31.sizeY, var30);
if (var39 > 0 && var40 > 0 && var39 < 103 && var40 < 103) {
var41 = var48;
if ((Tiles.Tiles_renderFlags[1][var39][var40] & 2) == 2) {
var41 = var48 - 1;
}
CollisionMap var42 = null;
if (var41 >= 0) {
var42 = var55[var41];
}
ClanChannel.method2996(var48, var39, var40, var21, var69 + var30 & 3, var29, var58, var42);
}
}
}
}
}
}
}
}
}
++var48;
}
}
class148.playPcmPlayers();
for (var47 = 0; var47 < 13; ++var47) {
for (var5 = 0; var5 < 13; ++var5) {
boolean var67 = false;
var7 = instanceChunkTemplates[var48][var47][var5];
if (var7 != -1) {
var69 = var7 >> 24 & 3;
var53 = var7 >> 1 & 3;
var10 = var7 >> 14 & 1023;
var11 = var7 >> 3 & 2047;
var12 = (var10 / 8 << 8) + var11 / 8;
for (var72 = 0; var72 < class269.regions.length; ++var72) {
if (class269.regions[var72] == var12 && TileItem.regionLandArchives[var72] != null) {
byte[] var54 = TileItem.regionLandArchives[var72];
var15 = var47 * 8;
var16 = var5 * 8;
var17 = (var10 & 7) * 8;
var18 = (var11 & 7) * 8;
var55 = collisionMaps;
for (var52 = 0; var52 < 8; ++var52) {
for (var21 = 0; var21 < 8; ++var21) {
if (var52 + var15 > 0 && var15 + var52 < 103 && var16 + var21 > 0 && var16 + var21 < 103) {
var10000 = var55[var48].flags[var15 + var52];
var10000[var16 + var21] &= -16777217;
}
}
}
var73 = new Buffer(var54);
for (var21 = 0; var21 < 4; ++var21) {
for (var22 = 0; var22 < 64; ++var22) {
for (var56 = 0; var56 < 64; ++var56) {
if (var69 == var21 && var22 >= var17 && var22 < var17 + 8 && var56 >= var18 && var56 < var18 + 8) {
var28 = var22 & 7;
var29 = var56 & 7;
var30 = var53 & 3;
if (var30 == 0) {
var27 = var28;
} else if (var30 == 1) {
var27 = var29;
} else if (var30 == 2) {
var27 = 7 - var28;
} else {
var27 = 7 - var29;
}
var33 = var15 + var27;
var36 = var22 & 7;
var37 = var56 & 7;
var38 = var53 & 3;
if (var38 == 0) {
var35 = var37;
} else if (var38 == 1) {
var35 = 7 - var36;
} else if (var38 == 2) {
var35 = 7 - var37;
} else {
var35 = var36;
}
ScriptFrame.loadTerrain(var73, var48, var33, var16 + var35, 0, 0, var53);
} else {
ScriptFrame.loadTerrain(var73, 0, -1, -1, 0, 0, 0);
}
}
}
}
var67 = true;
break;
}
}
}
if (!var67) {
MenuAction.method1959(var48, var47 * 8, var5 * 8);
}
}
}
++var48;
}
}
ClientPacket.method5001(true);
class148.playPcmPlayers();
Scene var65 = class7.scene;
CollisionMap[] var66 = collisionMaps;
for (var5 = 0; var5 < 4; ++var5) {
for (var6 = 0; var6 < 104; ++var6) {
for (var7 = 0; var7 < 104; ++var7) {
if ((Tiles.Tiles_renderFlags[var5][var6][var7] & 1) == 1) {
var69 = var5;
if ((Tiles.Tiles_renderFlags[1][var6][var7] & 2) == 2) {
var69 = var5 - 1;
}
if (var69 >= 0) {
var66[var69].setBlockedByFloor(var6, var7);
}
}
}
}
}
Tiles.rndHue += (int)(Math.random() * 5.0D) - 2;
if (Tiles.rndHue < -8) {
Tiles.rndHue = -8;
}
if (Tiles.rndHue > 8) {
Tiles.rndHue = 8;
}
Tiles.rndLightness += (int)(Math.random() * 5.0D) - 2;
if (Tiles.rndLightness < -16) {
Tiles.rndLightness = -16;
}
if (Tiles.rndLightness > 16) {
Tiles.rndLightness = 16;
}
for (var5 = 0; var5 < 4; ++var5) {
byte[][] var78 = SoundCache.field321[var5];
boolean var68 = true;
var8 = true;
boolean var81 = true;
boolean var70 = true;
boolean var71 = true;
var12 = (int)Math.sqrt(5100.0D);
var72 = var12 * 768 >> 8;
for (var14 = 1; var14 < 103; ++var14) {
for (var15 = 1; var15 < 103; ++var15) {
var16 = Tiles.Tiles_heights[var5][var15 + 1][var14] - Tiles.Tiles_heights[var5][var15 - 1][var14];
var17 = Tiles.Tiles_heights[var5][var15][var14 + 1] - Tiles.Tiles_heights[var5][var15][var14 - 1];
var18 = (int)Math.sqrt((double)(var17 * var17 + var16 * var16 + 65536));
var19 = (var16 << 8) / var18;
var52 = 65536 / var18;
var21 = (var17 << 8) / var18;
var22 = (var19 * -50 + var21 * -50 + var52 * -10) / var72 + 96;
var56 = (var78[var15 - 1][var14] >> 2) + (var78[var15][var14 - 1] >> 2) + (var78[var15 + 1][var14] >> 3) + (var78[var15][var14 + 1] >> 3) + (var78[var15][var14] >> 1);
class194.field2280[var15][var14] = var22 - var56;
}
}
for (var14 = 0; var14 < 104; ++var14) {
Tiles.Tiles_hue[var14] = 0;
User.Tiles_saturation[var14] = 0;
Tiles.Tiles_lightness[var14] = 0;
UserComparator5.Tiles_hueMultiplier[var14] = 0;
VerticalAlignment.field1874[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 = Tiles.Tiles_underlays[var5][var16][var15] & 255;
if (var17 > 0) {
FloorUnderlayDefinition var83 = InterfaceParent.method2144(var17 - 1);
var10000 = Tiles.Tiles_hue;
var10000[var15] += var83.hue;
var10000 = User.Tiles_saturation;
var10000[var15] += var83.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var15] += var83.lightness;
var10000 = UserComparator5.Tiles_hueMultiplier;
var10000[var15] += var83.hueMultiplier;
var10002 = VerticalAlignment.field1874[var15]++;
}
}
var17 = var14 - 5;
if (var17 >= 0 && var17 < 104) {
var18 = Tiles.Tiles_underlays[var5][var17][var15] & 255;
if (var18 > 0) {
FloorUnderlayDefinition var82 = InterfaceParent.method2144(var18 - 1);
var10000 = Tiles.Tiles_hue;
var10000[var15] -= var82.hue;
var10000 = User.Tiles_saturation;
var10000[var15] -= var82.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var15] -= var82.lightness;
var10000 = UserComparator5.Tiles_hueMultiplier;
var10000[var15] -= var82.hueMultiplier;
var10002 = VerticalAlignment.field1874[var15]--;
}
}
}
if (var14 >= 1 && var14 < 103) {
var15 = 0;
var16 = 0;
var17 = 0;
var18 = 0;
var19 = 0;
for (var52 = -5; var52 < 109; ++var52) {
var21 = var52 + 5;
if (var21 >= 0 && var21 < 104) {
var15 += Tiles.Tiles_hue[var21];
var16 += User.Tiles_saturation[var21];
var17 += Tiles.Tiles_lightness[var21];
var18 += UserComparator5.Tiles_hueMultiplier[var21];
var19 += VerticalAlignment.field1874[var21];
}
var22 = var52 - 5;
if (var22 >= 0 && var22 < 104) {
var15 -= Tiles.Tiles_hue[var22];
var16 -= User.Tiles_saturation[var22];
var17 -= Tiles.Tiles_lightness[var22];
var18 -= UserComparator5.Tiles_hueMultiplier[var22];
var19 -= VerticalAlignment.field1874[var22];
}
if (var52 >= 1 && var52 < 103 && (!isLowDetail || (Tiles.Tiles_renderFlags[0][var14][var52] & 2) != 0 || (Tiles.Tiles_renderFlags[var5][var14][var52] & 16) == 0)) {
if (var5 < Tiles.Tiles_minPlane) {
Tiles.Tiles_minPlane = var5;
}
var56 = Tiles.Tiles_underlays[var5][var14][var52] & 255;
var59 = Tiles.Tiles_overlays[var5][var14][var52] & 255;
if (var56 > 0 || var59 > 0) {
var25 = Tiles.Tiles_heights[var5][var14][var52];
var26 = Tiles.Tiles_heights[var5][var14 + 1][var52];
var27 = Tiles.Tiles_heights[var5][var14 + 1][var52 + 1];
var28 = Tiles.Tiles_heights[var5][var14][var52 + 1];
var29 = class194.field2280[var14][var52];
var30 = class194.field2280[var14 + 1][var52];
int var60 = class194.field2280[var14 + 1][var52 + 1];
int var32 = class194.field2280[var14][var52 + 1];
var33 = -1;
var34 = -1;
if (var56 > 0) {
var35 = var15 * 256 / var18;
var36 = var16 / var19;
var37 = var17 / var19;
var33 = MusicPatchNode2.hslToRgb(var35, var36, var37);
var35 = var35 + Tiles.rndHue & 255;
var37 += Tiles.rndLightness;
if (var37 < 0) {
var37 = 0;
} else if (var37 > 255) {
var37 = 255;
}
var34 = MusicPatchNode2.hslToRgb(var35, var36, var37);
}
if (var5 > 0) {
boolean var75 = true;
if (var56 == 0 && Tiles.Tiles_shapes[var5][var14][var52] != 0) {
var75 = false;
}
if (var59 > 0 && !class18.method302(var59 - 1).hideUnderlay) {
var75 = false;
}
if (var75 && var25 == var26 && var25 == var27 && var25 == var28) {
var10000 = ClanChannelMember.field1504[var5][var14];
var10000[var52] |= 2340;
}
}
var35 = 0;
if (var34 != -1) {
var35 = Rasterizer3D.Rasterizer3D_colorPalette[Login.method1995(var34, 96)];
}
if (var59 == 0) {
var65.addTile(var5, var14, var52, 0, 0, -1, var25, var26, var27, var28, Login.method1995(var33, var29), Login.method1995(var33, var30), Login.method1995(var33, var60), Login.method1995(var33, var32), 0, 0, 0, 0, var35, 0);
} else {
var36 = Tiles.Tiles_shapes[var5][var14][var52] + 1;
byte var76 = WorldMapLabelSize.field2580[var5][var14][var52];
FloorOverlayDefinition var61 = class18.method302(var59 - 1);
var39 = var61.texture;
int var43;
int var62;
if (var39 >= 0) {
var41 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var39);
var40 = -1;
} else if (var61.primaryRgb == 16711935) {
var40 = -2;
var39 = -1;
var41 = -2;
} else {
var40 = MusicPatchNode2.hslToRgb(var61.hue, var61.saturation, var61.lightness);
var62 = var61.hue + Tiles.rndHue & 255;
var43 = var61.lightness + Tiles.rndLightness;
if (var43 < 0) {
var43 = 0;
} else if (var43 > 255) {
var43 = 255;
}
var41 = MusicPatchNode2.hslToRgb(var62, var61.saturation, var43);
}
var62 = 0;
if (var41 != -2) {
var62 = Rasterizer3D.Rasterizer3D_colorPalette[PendingSpawn.method2223(var41, 96)];
}
if (var61.secondaryRgb != -1) {
var43 = var61.secondaryHue + Tiles.rndHue & 255;
int var44 = var61.secondaryLightness + Tiles.rndLightness;
if (var44 < 0) {
var44 = 0;
} else if (var44 > 255) {
var44 = 255;
}
var41 = MusicPatchNode2.hslToRgb(var43, var61.secondarySaturation, var44);
var62 = Rasterizer3D.Rasterizer3D_colorPalette[PendingSpawn.method2223(var41, 96)];
}
var65.addTile(var5, var14, var52, var36, var76, var39, var25, var26, var27, var28, Login.method1995(var33, var29), Login.method1995(var33, var30), Login.method1995(var33, var60), Login.method1995(var33, var32), PendingSpawn.method2223(var40, var29), PendingSpawn.method2223(var40, var30), PendingSpawn.method2223(var40, var60), PendingSpawn.method2223(var40, var32), var35, var62);
}
}
}
}
}
}
for (var14 = 1; var14 < 103; ++var14) {
for (var15 = 1; var15 < 103; ++var15) {
var65.setTileMinPlane(var5, var15, var14, Login.method1993(var5, var15, var14));
}
}
Tiles.Tiles_underlays[var5] = null;
Tiles.Tiles_overlays[var5] = null;
Tiles.Tiles_shapes[var5] = null;
WorldMapLabelSize.field2580[var5] = null;
SoundCache.field321[var5] = null;
}
var65.method3981(-50, -10, -50);
for (var5 = 0; var5 < 104; ++var5) {
for (var6 = 0; var6 < 104; ++var6) {
if ((Tiles.Tiles_renderFlags[1][var5][var6] & 2) == 2) {
var65.setLinkBelow(var5, var6);
}
}
}
var5 = 1;
var6 = 2;
var7 = 4;
for (var69 = 0; var69 < 4; ++var69) {
if (var69 > 0) {
var5 <<= 3;
var6 <<= 3;
var7 <<= 3;
}
for (var53 = 0; var53 <= var69; ++var53) {
for (var10 = 0; var10 <= 104; ++var10) {
for (var11 = 0; var11 <= 104; ++var11) {
short var74;
if ((ClanChannelMember.field1504[var53][var11][var10] & var5) != 0) {
var12 = var10;
var72 = var10;
var14 = var53;
for (var15 = var53; var12 > 0 && (ClanChannelMember.field1504[var53][var11][var12 - 1] & var5) != 0; --var12) {
}
while (var72 < 104 && (ClanChannelMember.field1504[var53][var11][var72 + 1] & var5) != 0) {
++var72;
}
label957:
while (var14 > 0) {
for (var16 = var12; var16 <= var72; ++var16) {
if ((ClanChannelMember.field1504[var14 - 1][var11][var16] & var5) == 0) {
break label957;
}
}
--var14;
}
label946:
while (var15 < var69) {
for (var16 = var12; var16 <= var72; ++var16) {
if ((ClanChannelMember.field1504[var15 + 1][var11][var16] & var5) == 0) {
break label946;
}
}
++var15;
}
var16 = (var15 + 1 - var14) * (var72 - var12 + 1);
if (var16 >= 8) {
var74 = 240;
var18 = Tiles.Tiles_heights[var15][var11][var12] - var74;
var19 = Tiles.Tiles_heights[var14][var11][var12];
Scene.Scene_addOccluder(var69, 1, var11 * 128, var11 * 128, var12 * 128, var72 * 128 + 128, var18, var19);
for (var52 = var14; var52 <= var15; ++var52) {
for (var21 = var12; var21 <= var72; ++var21) {
var10000 = ClanChannelMember.field1504[var52][var11];
var10000[var21] &= ~var5;
}
}
}
}
if ((ClanChannelMember.field1504[var53][var11][var10] & var6) != 0) {
var12 = var11;
var72 = var11;
var14 = var53;
for (var15 = var53; var12 > 0 && (ClanChannelMember.field1504[var53][var12 - 1][var10] & var6) != 0; --var12) {
}
while (var72 < 104 && (ClanChannelMember.field1504[var53][var72 + 1][var10] & var6) != 0) {
++var72;
}
label1010:
while (var14 > 0) {
for (var16 = var12; var16 <= var72; ++var16) {
if ((ClanChannelMember.field1504[var14 - 1][var16][var10] & var6) == 0) {
break label1010;
}
}
--var14;
}
label999:
while (var15 < var69) {
for (var16 = var12; var16 <= var72; ++var16) {
if ((ClanChannelMember.field1504[var15 + 1][var16][var10] & var6) == 0) {
break label999;
}
}
++var15;
}
var16 = (var15 + 1 - var14) * (var72 - var12 + 1);
if (var16 >= 8) {
var74 = 240;
var18 = Tiles.Tiles_heights[var15][var12][var10] - var74;
var19 = Tiles.Tiles_heights[var14][var12][var10];
Scene.Scene_addOccluder(var69, 2, var12 * 128, var72 * 128 + 128, var10 * 128, var10 * 128, var18, var19);
for (var52 = var14; var52 <= var15; ++var52) {
for (var21 = var12; var21 <= var72; ++var21) {
var10000 = ClanChannelMember.field1504[var52][var21];
var10000[var10] &= ~var6;
}
}
}
}
if ((ClanChannelMember.field1504[var53][var11][var10] & var7) != 0) {
var12 = var11;
var72 = var11;
var14 = var10;
for (var15 = var10; var14 > 0 && (ClanChannelMember.field1504[var53][var11][var14 - 1] & var7) != 0; --var14) {
}
while (var15 < 104 && (ClanChannelMember.field1504[var53][var11][var15 + 1] & var7) != 0) {
++var15;
}
label1063:
while (var12 > 0) {
for (var16 = var14; var16 <= var15; ++var16) {
if ((ClanChannelMember.field1504[var53][var12 - 1][var16] & var7) == 0) {
break label1063;
}
}
--var12;
}
label1052:
while (var72 < 104) {
for (var16 = var14; var16 <= var15; ++var16) {
if ((ClanChannelMember.field1504[var53][var72 + 1][var16] & var7) == 0) {
break label1052;
}
}
++var72;
}
if ((var72 - var12 + 1) * (var15 - var14 + 1) >= 4) {
var16 = Tiles.Tiles_heights[var53][var12][var14];
Scene.Scene_addOccluder(var69, 4, var12 * 128, var72 * 128 + 128, var14 * 128, var15 * 128 + 128, var16, var16);
for (var17 = var12; var17 <= var72; ++var17) {
for (var18 = var14; var18 <= var15; ++var18) {
var10000 = ClanChannelMember.field1504[var53][var17];
var10000[var18] &= ~var7;
}
}
}
}
}
}
}
}
ClientPacket.method5001(true);
var5 = Tiles.Tiles_minPlane;
if (var5 > class20.Client_plane) {
var5 = class20.Client_plane;
}
if (var5 < class20.Client_plane - 1) {
var5 = class20.Client_plane - 1;
}
if (isLowDetail) {
class7.scene.init(Tiles.Tiles_minPlane);
} else {
class7.scene.init(0);
}
for (var6 = 0; var6 < 104; ++var6) {
for (var7 = 0; var7 < 104; ++var7) {
MouseHandler.updateItemPile(var6, var7);
}
}
class148.playPcmPlayers();
for (PendingSpawn var79 = (PendingSpawn)pendingSpawns.last(); var79 != null; var79 = (PendingSpawn)pendingSpawns.previous()) {
if (var79.hitpoints == -1) {
var79.delay = 0;
class4.method26(var79);
} else {
var79.remove();
}
}
ObjectComposition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var80;
if (class295.client.hasFrame()) {
var80 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2879, packetWriter.isaacCipher);
var80.packetBuffer.writeInt(1057001181);
packetWriter.addNode(var80);
}
if (!isInInstance) {
var6 = (Messages.field1277 - 6) / 8;
var7 = (Messages.field1277 + 6) / 8;
var69 = (class4.field9 - 6) / 8;
var53 = (class4.field9 + 6) / 8;
for (var10 = var6 - 1; var10 <= var7 + 1; ++var10) {
for (var11 = var69 - 1; var11 <= var53 + 1; ++var11) {
if (var10 < var6 || var10 > var7 || var11 < var69 || var11 > var53) {
class140.archive5.loadRegionFromName("m" + var10 + "_" + var11);
class140.archive5.loadRegionFromName("l" + var10 + "_" + var11);
}
}
}
}
VertexNormal.updateGameState(30);
class148.playPcmPlayers();
class119.method2689();
var80 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2848, packetWriter.isaacCipher);
packetWriter.addNode(var80);
class17.method292();
}
}
}
} else {
Skeleton.method3947(this, class114.fontPlain12);
}
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("y")
@ObfuscatedSignature(
descriptor = "(ZI)V",
garbageValue = "549681271"
)
@Export("draw")
protected final void draw(boolean var1) {
boolean var2;
label168: {
try {
if (class260.musicPlayerStatus == 2) {
if (class21.musicTrack == null) {
class21.musicTrack = MusicTrack.readTrack(class124.musicTrackArchive, VarcInt.musicTrackGroupId, class260.musicTrackFileId);
if (class21.musicTrack == null) {
var2 = false;
break label168;
}
}
if (class257.soundCache == null) {
class257.soundCache = new SoundCache(class260.soundEffectsArchive, class331.musicSamplesArchive);
}
if (class260.midiPcmStream.loadMusicTrack(class21.musicTrack, class260.musicPatchesArchive, class257.soundCache, 22050)) {
class260.midiPcmStream.clearAll();
class260.midiPcmStream.setPcmStreamVolume(ChatChannel.musicTrackVolume);
class260.midiPcmStream.setMusicTrack(class21.musicTrack, DynamicObject.musicTrackBoolean);
class260.musicPlayerStatus = 0;
class21.musicTrack = null;
class257.soundCache = null;
class124.musicTrackArchive = null;
var2 = true;
break label168;
}
}
} catch (Exception var6) {
var6.printStackTrace();
class260.midiPcmStream.clear();
class260.musicPlayerStatus = 0;
class21.musicTrack = null;
class257.soundCache = null;
class124.musicTrackArchive = null;
}
var2 = false;
}
if (var2 && field743 && JagexCache.pcmPlayer0 != null) {
JagexCache.pcmPlayer0.tryDiscard();
}
if ((gameState == 10 || gameState == 20 || gameState == 30) && field514 != 0L && Ignored.method6459() > field514) {
Occluder.setWindowedMode(class143.getWindowedMode());
}
int var4;
if (var1) {
for (var4 = 0; var4 < 100; ++var4) {
field504[var4] = true;
}
}
if (gameState == 0) {
this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1);
} else if (gameState == 5) {
class253.drawTitle(class136.fontBold12, class307.fontPlain11, class114.fontPlain12);
} else if (gameState != 10 && gameState != 11) {
if (gameState == 20) {
class253.drawTitle(class136.fontBold12, class307.fontPlain11, class114.fontPlain12);
} else if (gameState == 25) {
if (field602 == 1) {
if (field529 > field530) {
field530 = field529;
}
var4 = (field530 * 50 - field529 * 50) / field530;
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
} else if (field602 == 2) {
if (field617 > field532) {
field532 = field617;
}
var4 = (field532 * 50 - field617 * 50) / field532 + 50;
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false);
} else {
ArchiveDiskActionHandler.drawLoadingMessage("Loading - please wait.", false);
}
} else if (gameState == 30) {
this.drawLoggedIn();
} else if (gameState == 40) {
ArchiveDiskActionHandler.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false);
} else if (gameState == 45) {
ArchiveDiskActionHandler.drawLoadingMessage("Please wait...", false);
}
} else {
class253.drawTitle(class136.fontBold12, class307.fontPlain11, class114.fontPlain12);
}
if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) {
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
if (field686[var4]) {
class19.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]);
field686[var4] = false;
}
}
} else if (gameState > 0) {
class19.rasterProvider.drawFull(0, 0);
for (var4 = 0; var4 < rootWidgetCount; ++var4) {
field686[var4] = false;
}
}
}
@ObfuscatedName("ah")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1665222357"
)
@Export("kill0")
protected final void kill0() {
if (class339.varcs.hasUnwrittenChanges()) {
class339.varcs.write();
}
if (mouseRecorder != null) {
mouseRecorder.isRunning = false;
}
mouseRecorder = null;
packetWriter.close();
GrandExchangeEvents.method5716();
Friend.method6294();
WorldMapDecorationType.mouseWheel = null;
if (JagexCache.pcmPlayer0 != null) {
JagexCache.pcmPlayer0.shutdown();
}
if (PacketWriter.pcmPlayer1 != null) {
PacketWriter.pcmPlayer1.shutdown();
}
GraphicsObject.method1956();
class213.method4356();
if (WorldMapData_1.urlRequester != null) {
WorldMapData_1.urlRequester.close();
WorldMapData_1.urlRequester = null;
}
try {
JagexCache.JagexCache_dat2File.close();
for (int var1 = 0; var1 < class143.idxCount; ++var1) {
JagexCache.JagexCache_idxFiles[var1].close();
}
JagexCache.JagexCache_idx255File.close();
JagexCache.JagexCache_randomDat.close();
} catch (Exception var3) {
}
this.field510.method206();
}
@ObfuscatedName("av")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "-3"
)
protected final void vmethod1151() {
}
@ObfuscatedName("ey")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "1448065083"
)
boolean method1154() {
return WorldMapAreaData.field2772 != null && !WorldMapAreaData.field2772.trim().isEmpty();
}
@ObfuscatedName("eq")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;B)V",
garbageValue = "-82"
)
void method1625(String var1) throws MalformedURLException, IOException {
class10 var2 = new class10(new URL(class257.field3044 + "public/v1/games/YCfdbvr2pM1zUYMxJRexZY/play"), class9.field36);
var2.method121("Authorization", "Bearer " + var1);
this.field613 = this.field510.method213(var2);
}
@ObfuscatedName("ff")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "139044598"
)
@Export("doCycleJs5")
void doCycleJs5() {
if (gameState != 1000) {
boolean var1 = class295.method5515();
if (!var1) {
this.doCycleJs5Connect();
}
}
}
@ObfuscatedName("ft")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1295917828"
)
@Export("doCycleJs5Connect")
void doCycleJs5Connect() {
if (NetCache.NetCache_crcMismatches >= 4) {
this.error("js5crc");
VertexNormal.updateGameState(1000);
} else {
if (NetCache.NetCache_ioExceptions >= 4) {
if (gameState <= 5) {
this.error("js5io");
VertexNormal.updateGameState(1000);
return;
}
field517 = 3000;
NetCache.NetCache_ioExceptions = 3;
}
if (--field517 + 1 <= 0) {
try {
if (js5ConnectState == 0) {
ScriptEvent.js5SocketTask = GameEngine.taskHandler.newSocketTask(class185.worldHost, class129.currentPort);
++js5ConnectState;
}
if (js5ConnectState == 1) {
if (ScriptEvent.js5SocketTask.status == 2) {
this.js5Error(-1);
return;
}
if (ScriptEvent.js5SocketTask.status == 1) {
++js5ConnectState;
}
}
if (js5ConnectState == 2) {
if (useBufferedSocket) {
FontName.js5Socket = Login.method1965((Socket)ScriptEvent.js5SocketTask.result, 40000, 5000);
} else {
FontName.js5Socket = new NetSocket((Socket)ScriptEvent.js5SocketTask.result, GameEngine.taskHandler, 5000);
}
Buffer var1 = new Buffer(5);
var1.writeByte(15);
var1.writeInt(202);
FontName.js5Socket.write(var1.array, 0, 5);
++js5ConnectState;
class120.field1450 = Ignored.method6459();
}
if (js5ConnectState == 3) {
if (FontName.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) {
int var5 = FontName.js5Socket.readUnsignedByte();
if (var5 != 0) {
this.js5Error(var5);
return;
}
++js5ConnectState;
} else if (Ignored.method6459() - class120.field1450 > 30000L) {
this.js5Error(-2);
return;
}
}
if (js5ConnectState == 4) {
AbstractSocket var10 = FontName.js5Socket;
boolean var2 = gameState > 20;
if (NetCache.NetCache_socket != null) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var8) {
}
NetCache.NetCache_socket = null;
}
NetCache.NetCache_socket = var10;
ClientPreferences.method2297(var2);
NetCache.NetCache_responseHeaderBuffer.offset = 0;
class279.NetCache_currentResponse = null;
class149.NetCache_responseArchiveBuffer = null;
NetCache.field3863 = 0;
while (true) {
NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first();
if (var3 == null) {
while (true) {
var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first();
if (var3 == null) {
if (NetCache.field3866 != 0) {
try {
Buffer var11 = new Buffer(4);
var11.writeByte(4);
var11.writeByte(NetCache.field3866);
var11.writeShort(0);
NetCache.NetCache_socket.write(var11.array, 0, 4);
} catch (IOException var7) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var6) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
NetCache.NetCache_loadTime = 0;
UserComparator7.field1319 = Ignored.method6459();
ScriptEvent.js5SocketTask = null;
FontName.js5Socket = null;
js5ConnectState = 0;
js5Errors = 0;
return;
}
NetCache.NetCache_pendingWritesQueue.addLast(var3);
NetCache.NetCache_pendingWrites.put(var3, var3.key);
++NetCache.NetCache_pendingWritesCount;
--NetCache.NetCache_pendingResponsesCount;
}
}
NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key);
++NetCache.NetCache_pendingPriorityWritesCount;
--NetCache.NetCache_pendingPriorityResponsesCount;
}
}
} catch (IOException var9) {
this.js5Error(-3);
}
}
}
}
@ObfuscatedName("fk")
@ObfuscatedSignature(
descriptor = "(IB)V",
garbageValue = "99"
)
@Export("js5Error")
void js5Error(int var1) {
ScriptEvent.js5SocketTask = null;
FontName.js5Socket = null;
js5ConnectState = 0;
if (GameObject.worldPort == class129.currentPort) {
class129.currentPort = class133.js5Port;
} else {
class129.currentPort = GameObject.worldPort;
}
++js5Errors;
if (js5Errors < 2 || var1 != 7 && var1 != 9) {
if (js5Errors >= 2 && var1 == 6) {
this.error("js5connect_outofdate");
VertexNormal.updateGameState(1000);
} else if (js5Errors >= 4) {
if (gameState <= 5) {
this.error("js5connect");
VertexNormal.updateGameState(1000);
} else {
field517 = 3000;
}
}
} else if (gameState <= 5) {
this.error("js5connect_full");
VertexNormal.updateGameState(1000);
} else {
field517 = 3000;
}
}
@ObfuscatedName("fg")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "0"
)
@Export("doCycleLoggedOut")
final void doCycleLoggedOut() {
Object var1 = packetWriter.getSocket();
PacketBuffer var2 = packetWriter.packetBuffer;
try {
if (loginState == 0) {
if (class19.secureRandom == null && (secureRandomFuture.isDone() || field545 > 250)) {
class19.secureRandom = secureRandomFuture.get();
secureRandomFuture.shutdown();
secureRandomFuture = null;
}
if (class19.secureRandom != null) {
if (var1 != null) {
((AbstractSocket)var1).close();
var1 = null;
}
class334.socketTask = null;
hadNetworkError = false;
field545 = 0;
if (field508.method7605()) {
try {
this.method1625(WorldMapAreaData.field2772);
PacketBufferNode.method5016(20);
} catch (Throwable var21) {
AccessFile.RunException_sendStackTrace((String)null, var21);
class29.getLoginError(65);
return;
}
} else {
PacketBufferNode.method5016(1);
}
}
}
if (loginState == 20) {
if (!this.field613.method309()) {
return;
}
if (this.field613.method331()) {
AccessFile.RunException_sendStackTrace(this.field613.method307(), (Throwable)null);
class29.getLoginError(65);
return;
}
class21 var3 = this.field613.method310();
if (var3.method338() != 200) {
AccessFile.RunException_sendStackTrace("Response code: " + var3.method338() + "Response body: " + var3.method339(), (Throwable)null);
class29.getLoginError(65);
return;
}
field545 = 0;
this.field576 = var3.method339();
PacketBufferNode.method5016(1);
}
if (loginState == 1) {
if (class334.socketTask == null) {
class334.socketTask = GameEngine.taskHandler.newSocketTask(class185.worldHost, class129.currentPort);
}
if (class334.socketTask.status == 2) {
throw new IOException();
}
if (class334.socketTask.status == 1) {
if (useBufferedSocket) {
var1 = Login.method1965((Socket)class334.socketTask.result, 40000, 5000);
} else {
var1 = new NetSocket((Socket)class334.socketTask.result, GameEngine.taskHandler, 5000);
}
packetWriter.setSocket((AbstractSocket)var1);
class334.socketTask = null;
PacketBufferNode.method5016(2);
}
}
PacketBufferNode var23;
if (loginState == 2) {
packetWriter.clearBuffer();
var23 = class231.method4802();
var23.packetBuffer.writeByte(LoginPacket.field3032.id);
packetWriter.addNode(var23);
packetWriter.flush();
var2.offset = 0;
PacketBufferNode.method5016(3);
}
int var4;
boolean var12;
if (loginState == 3) {
if (JagexCache.pcmPlayer0 != null) {
JagexCache.pcmPlayer0.method747();
}
if (PacketWriter.pcmPlayer1 != null) {
PacketWriter.pcmPlayer1.method747();
}
var12 = true;
if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) {
var12 = false;
}
if (var12) {
var4 = ((AbstractSocket)var1).readUnsignedByte();
if (JagexCache.pcmPlayer0 != null) {
JagexCache.pcmPlayer0.method747();
}
if (PacketWriter.pcmPlayer1 != null) {
PacketWriter.pcmPlayer1.method747();
}
if (var4 != 0) {
class29.getLoginError(var4);
return;
}
var2.offset = 0;
PacketBufferNode.method5016(4);
}
}
int var34;
if (loginState == 4) {
if (var2.offset < 8) {
var34 = ((AbstractSocket)var1).available();
if (var34 > 8 - var2.offset) {
var34 = 8 - var2.offset;
}
if (var34 > 0) {
((AbstractSocket)var1).read(var2.array, var2.offset, var34);
var2.offset += var34;
}
}
if (var2.offset == 8) {
var2.offset = 0;
Messages.field1272 = var2.readLong();
PacketBufferNode.method5016(5);
}
}
int var7;
int var9;
int var14;
if (loginState == 5) {
packetWriter.packetBuffer.offset = 0;
packetWriter.clearBuffer();
PacketBuffer var24 = new PacketBuffer(500);
int[] var13 = new int[]{class19.secureRandom.nextInt(), class19.secureRandom.nextInt(), class19.secureRandom.nextInt(), class19.secureRandom.nextInt()};
var24.offset = 0;
var24.writeByte(1);
var24.writeInt(var13[0]);
var24.writeInt(var13[1]);
var24.writeInt(var13[2]);
var24.writeInt(var13[3]);
var24.writeLong(Messages.field1272);
int var10;
if (gameState == 40) {
var24.writeInt(ArchiveLoader.field984[0]);
var24.writeInt(ArchiveLoader.field984[1]);
var24.writeInt(ArchiveLoader.field984[2]);
var24.writeInt(ArchiveLoader.field984[3]);
} else {
var24.writeByte(field507.rsOrdinal());
switch(field507.field1475) {
case 0:
case 3:
var24.writeMedium(class148.field1651);
++var24.offset;
break;
case 1:
LinkedHashMap var6 = SecureRandomFuture.clientPreferences.parameters;
String var8 = Login.Login_username;
var9 = var8.length();
var10 = 0;
for (int var11 = 0; var11 < var9; ++var11) {
var10 = (var10 << 5) - var10 + var8.charAt(var11);
}
var24.writeInt((Integer)var6.get(var10));
break;
case 2:
var24.offset += 4;
}
if (field508.method7605()) {
var24.writeByte(class422.field4524.rsOrdinal());
var24.writeStringCp1252NullTerminated(this.field576);
} else {
var24.writeByte(class422.field4523.rsOrdinal());
var24.writeStringCp1252NullTerminated(Login.Login_password);
}
}
var24.encryptRsa(class67.field856, class67.field857);
ArchiveLoader.field984 = var13;
PacketBufferNode var5 = class231.method4802();
var5.packetBuffer.offset = 0;
if (gameState == 40) {
var5.packetBuffer.writeByte(LoginPacket.field3037.id);
} else {
var5.packetBuffer.writeByte(LoginPacket.field3038.id);
}
var5.packetBuffer.writeShort(0);
var14 = var5.packetBuffer.offset;
var5.packetBuffer.writeInt(202);
var5.packetBuffer.writeInt(1);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeByte(field499);
var5.packetBuffer.writeBytes(var24.array, 0, var24.offset);
var7 = var5.packetBuffer.offset;
var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username);
var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0));
var5.packetBuffer.writeShort(class186.canvasWidth);
var5.packetBuffer.writeShort(BoundaryObject.canvasHeight);
Decimator.method1082(var5.packetBuffer);
var5.packetBuffer.writeStringCp1252NullTerminated(class1.field3);
var5.packetBuffer.writeInt(FriendLoginUpdate.field4096);
Buffer var32 = new Buffer(Interpreter.platformInfo.size());
Interpreter.platformInfo.write(var32);
var5.packetBuffer.writeBytes(var32.array, 0, var32.array.length);
var5.packetBuffer.writeByte(clientType);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.writeInt(0);
var5.packetBuffer.method7407(WorldMapScaleHandler.archive6.hash);
var5.packetBuffer.writeIntME(class9.archive1.hash);
var5.packetBuffer.method7407(ChatChannel.archive14.hash);
var5.packetBuffer.method7527(class1.archive13.hash);
var5.packetBuffer.writeInt(TaskHandler.archive12.hash);
var5.packetBuffer.writeInt(class148.archive19.hash);
var5.packetBuffer.method7407(class133.archive15.hash);
var5.packetBuffer.writeIntME(class19.archive3.hash);
var5.packetBuffer.writeIntME(UserComparator6.archive8.hash);
var5.packetBuffer.method7527(class126.archive17.hash);
var5.packetBuffer.writeIntME(class115.archive7.hash);
var5.packetBuffer.writeInt(Players.archive11.hash);
var5.packetBuffer.method7407(VertexNormal.archive18.hash);
var5.packetBuffer.writeInt(class140.archive5.hash);
var5.packetBuffer.writeIntME(class131.archive2.hash);
var5.packetBuffer.method7407(KeyHandler.archive4.hash);
var5.packetBuffer.writeIntME(NetSocket.archive9.hash);
var5.packetBuffer.writeInt(class257.archive10.hash);
var5.packetBuffer.method7407(HealthBarUpdate.archive20.hash);
var5.packetBuffer.method7407(class115.archive0.hash);
var5.packetBuffer.xteaEncrypt(var13, var7, var5.packetBuffer.offset);
var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var14);
packetWriter.addNode(var5);
packetWriter.flush();
packetWriter.isaacCipher = new IsaacCipher(var13);
int[] var15 = new int[4];
for (var10 = 0; var10 < 4; ++var10) {
var15[var10] = var13[var10] + 50;
}
var2.newIsaacCipher(var15);
PacketBufferNode.method5016(6);
}
if (loginState == 6 && ((AbstractSocket)var1).available() > 0) {
var34 = ((AbstractSocket)var1).readUnsignedByte();
if (var34 == 21 && gameState == 20) {
PacketBufferNode.method5016(12);
} else if (var34 == 2) {
PacketBufferNode.method5016(14);
} else if (var34 == 15 && gameState == 40) {
packetWriter.serverPacketLength = -1;
PacketBufferNode.method5016(19);
} else if (var34 == 64) {
PacketBufferNode.method5016(10);
} else if (var34 == 23 && field541 < 1) {
++field541;
PacketBufferNode.method5016(0);
} else if (var34 == 29) {
PacketBufferNode.method5016(17);
} else {
if (var34 != 69) {
class29.getLoginError(var34);
return;
}
PacketBufferNode.method5016(7);
}
}
if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) {
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
WorldMapSection2.field2601 = var2.readUnsignedShort();
PacketBufferNode.method5016(8);
}
if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapSection2.field2601) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, var2.offset, WorldMapSection2.field2601);
class6 var25 = FontName.method7075()[var2.readUnsignedByte()];
try {
class3 var35 = KitDefinition.method3238(var25);
this.field515 = new class7(var2, var35);
PacketBufferNode.method5016(9);
} catch (Exception var20) {
class29.getLoginError(22);
return;
}
}
if (loginState == 9 && this.field515.method61()) {
this.field710 = this.field515.method75();
this.field515.method65();
this.field515 = null;
if (this.field710 == null) {
class29.getLoginError(22);
return;
}
packetWriter.clearBuffer();
var23 = class231.method4802();
var23.packetBuffer.writeByte(LoginPacket.field3034.id);
var23.packetBuffer.writeShort(this.field710.offset);
var23.packetBuffer.method7356(this.field710);
packetWriter.addNode(var23);
packetWriter.flush();
this.field710 = null;
PacketBufferNode.method5016(6);
}
if (loginState == 10 && ((AbstractSocket)var1).available() > 0) {
class10.field59 = ((AbstractSocket)var1).readUnsignedByte();
PacketBufferNode.method5016(11);
}
if (loginState == 11 && ((AbstractSocket)var1).available() >= class10.field59) {
((AbstractSocket)var1).read(var2.array, 0, class10.field59);
var2.offset = 0;
PacketBufferNode.method5016(6);
}
if (loginState == 12 && ((AbstractSocket)var1).available() > 0) {
field506 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60;
PacketBufferNode.method5016(13);
}
if (loginState == 13) {
field545 = 0;
class19.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field506 / 60 + " seconds.");
if (--field506 <= 0) {
PacketBufferNode.method5016(0);
}
} else {
if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) {
Canvas.field163 = ((AbstractSocket)var1).readUnsignedByte();
PacketBufferNode.method5016(15);
}
if (loginState == 15 && ((AbstractSocket)var1).available() >= Canvas.field163) {
var12 = ((AbstractSocket)var1).readUnsignedByte() == 1;
((AbstractSocket)var1).read(var2.array, 0, 4);
var2.offset = 0;
boolean var26 = false;
if (var12) {
var4 = var2.readByteIsaac() << 24;
var4 |= var2.readByteIsaac() << 16;
var4 |= var2.readByteIsaac() << 8;
var4 |= var2.readByteIsaac();
String var31 = Login.Login_username;
var7 = var31.length();
int var16 = 0;
var9 = 0;
while (true) {
if (var9 >= var7) {
if (SecureRandomFuture.clientPreferences.parameters.size() >= 10 && !SecureRandomFuture.clientPreferences.parameters.containsKey(var16)) {
Iterator var33 = SecureRandomFuture.clientPreferences.parameters.entrySet().iterator();
var33.next();
var33.remove();
}
SecureRandomFuture.clientPreferences.parameters.put(var16, var4);
break;
}
var16 = (var16 << 5) - var16 + var31.charAt(var9);
++var9;
}
}
if (Login_isUsernameRemembered) {
SecureRandomFuture.clientPreferences.rememberedUsername = Login.Login_username;
} else {
SecureRandomFuture.clientPreferences.rememberedUsername = null;
}
class127.savePreferences();
staffModLevel = ((AbstractSocket)var1).readUnsignedByte();
playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1;
localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte();
localPlayerIndex <<= 8;
localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte();
field594 = ((AbstractSocket)var1).readUnsignedByte();
((AbstractSocket)var1).read(var2.array, 0, 1);
var2.offset = 0;
ServerPacket[] var28 = class129.ServerPacket_values();
var14 = var2.readSmartByteShortIsaac();
if (var14 < 0 || var14 >= var28.length) {
throw new IOException(var14 + " " + var2.offset);
}
packetWriter.serverPacket = var28[var14];
packetWriter.serverPacketLength = packetWriter.serverPacket.length;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
try {
Client var18 = class295.client;
JSObject.getWindow(var18).call("zap", (Object[])null);
} catch (Throwable var19) {
}
PacketBufferNode.method5016(16);
}
if (loginState != 16) {
if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
class126.field1497 = var2.readUnsignedShort();
PacketBufferNode.method5016(18);
}
if (loginState == 18 && ((AbstractSocket)var1).available() >= class126.field1497) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, class126.field1497);
var2.offset = 0;
String var29 = var2.readStringCp1252NullTerminated();
String var37 = var2.readStringCp1252NullTerminated();
String var30 = var2.readStringCp1252NullTerminated();
class19.setLoginResponseString(var29, var37, var30);
VertexNormal.updateGameState(10);
}
if (loginState == 19) {
if (packetWriter.serverPacketLength == -1) {
if (((AbstractSocket)var1).available() < 2) {
return;
}
((AbstractSocket)var1).read(var2.array, 0, 2);
var2.offset = 0;
packetWriter.serverPacketLength = var2.readUnsignedShort();
}
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
var2.offset = 0;
var34 = packetWriter.serverPacketLength;
timer.method6244();
class116.method2662();
HorizontalAlignment.updatePlayer(var2);
if (var34 != var2.offset) {
throw new RuntimeException();
}
}
} else {
++field545;
if (field545 > 2000) {
if (field541 < 1) {
if (GameObject.worldPort == class129.currentPort) {
class129.currentPort = class133.js5Port;
} else {
class129.currentPort = GameObject.worldPort;
}
++field541;
PacketBufferNode.method5016(0);
} else {
class29.getLoginError(-3);
}
}
}
} else {
if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) {
var2.offset = 0;
((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength);
timer.method6234();
mouseLastLastPressedTimeMillis = -1L;
mouseRecorder.index = 0;
World.hasFocus = true;
hadFocus = true;
field676 = -1L;
class33.reflectionChecks = new IterableNodeDeque();
packetWriter.clearBuffer();
packetWriter.packetBuffer.offset = 0;
packetWriter.serverPacket = null;
packetWriter.field1289 = null;
packetWriter.field1290 = null;
packetWriter.field1291 = null;
packetWriter.serverPacketLength = 0;
packetWriter.field1287 = 0;
rebootTimer = 0;
logoutTimer = 0;
hintArrowType = 0;
UrlRequest.method2489();
class123.method2746(0);
class123.method2745();
isItemSelected = 0;
isSpellSelected = false;
soundEffectCount = 0;
camAngleY = 0;
oculusOrbState = 0;
Messages.field1273 = null;
minimapState = 0;
field570 = -1;
destinationX = 0;
destinationY = 0;
playerAttackOption = AttackOption.AttackOption_hidden;
npcAttackOption = AttackOption.AttackOption_hidden;
npcCount = 0;
Players.Players_count = 0;
for (var34 = 0; var34 < 2048; ++var34) {
Players.field1248[var34] = null;
Players.field1246[var34] = class185.field2123;
}
for (var34 = 0; var34 < 2048; ++var34) {
players[var34] = null;
}
for (var34 = 0; var34 < 32768; ++var34) {
npcs[var34] = null;
}
combatTargetPlayerIndex = -1;
projectiles.clear();
graphicsObjects.clear();
for (var34 = 0; var34 < 4; ++var34) {
for (var4 = 0; var4 < 104; ++var4) {
for (int var17 = 0; var17 < 104; ++var17) {
groundItems[var34][var4][var17] = null;
}
}
}
pendingSpawns = new NodeDeque();
GameEngine.friendSystem.clear();
for (var34 = 0; var34 < class433.VarpDefinition_fileCount; ++var34) {
VarpDefinition var36 = SecureRandomCallable.VarpDefinition_get(var34);
if (var36 != null) {
Varps.Varps_temp[var34] = 0;
Varps.Varps_main[var34] = 0;
}
}
class339.varcs.clearTransient();
followerIndex = -1;
if (rootInterface != -1) {
class273.method5333(rootInterface);
}
for (InterfaceParent var27 = (InterfaceParent)interfaceParents.first(); var27 != null; var27 = (InterfaceParent)interfaceParents.next()) {
class10.closeInterface(var27, true);
}
rootInterface = -1;
interfaceParents = new NodeHashTable(8);
meslayerContinueWidget = null;
UrlRequest.method2489();
playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1);
for (var34 = 0; var34 < 8; ++var34) {
playerMenuActions[var34] = null;
playerOptionsPriorities[var34] = false;
}
ItemContainer.itemContainers = new NodeHashTable(32);
isLoading = true;
for (var34 = 0; var34 < 100; ++var34) {
field504[var34] = true;
}
var23 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2824, packetWriter.isaacCipher);
var23.packetBuffer.writeByte(class143.getWindowedMode());
var23.packetBuffer.writeShort(class186.canvasWidth);
var23.packetBuffer.writeShort(BoundaryObject.canvasHeight);
packetWriter.addNode(var23);
Players.friendsChat = null;
class222.guestClanSettings = null;
Arrays.fill(currentClanSettings, (Object)null);
UserComparator5.guestClanChannel = null;
Arrays.fill(currentClanChannels, (Object)null);
for (var34 = 0; var34 < 8; ++var34) {
grandExchangeOffers[var34] = new GrandExchangeOffer();
}
grandExchangeEvents = null;
HorizontalAlignment.updatePlayer(var2);
Messages.field1277 = -1;
DevicePcmPlayerProvider.loadRegions(false, var2);
packetWriter.serverPacket = null;
}
}
}
} catch (IOException var22) {
if (field541 < 1) {
if (class129.currentPort == GameObject.worldPort) {
class129.currentPort = class133.js5Port;
} else {
class129.currentPort = GameObject.worldPort;
}
++field541;
PacketBufferNode.method5016(0);
} else {
class29.getLoginError(-2);
}
}
}
@ObfuscatedName("fo")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1374404947"
)
@Export("doCycleLoggedIn")
final void doCycleLoggedIn() {
if (rebootTimer > 1) {
--rebootTimer;
}
if (logoutTimer > 0) {
--logoutTimer;
}
if (hadNetworkError) {
hadNetworkError = false;
Varcs.method2411();
} else {
if (!isMenuOpen) {
WorldMapElement.addCancelMenuEntry();
}
int var1;
for (var1 = 0; var1 < 100 && this.method1394(packetWriter); ++var1) {
}
if (gameState == 30) {
while (true) {
ReflectionCheck var2 = (ReflectionCheck)class33.reflectionChecks.last();
boolean var30;
if (var2 == null) {
var30 = false;
} else {
var30 = true;
}
int var3;
PacketBufferNode var31;
if (!var30) {
PacketBufferNode var14;
int var15;
if (timer.field4043) {
var14 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2907, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
var15 = var14.packetBuffer.offset;
timer.write(var14.packetBuffer);
var14.packetBuffer.method7357(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
timer.method6238();
}
int var4;
int var5;
int var6;
int var7;
int var8;
int var9;
int var10;
int var11;
int var12;
PacketBuffer var10000;
synchronized(mouseRecorder.lock) {
if (!field713) {
mouseRecorder.index = 0;
} else if (MouseHandler.MouseHandler_lastButton != 0 || mouseRecorder.index >= 40) {
var31 = null;
var3 = 0;
var4 = 0;
var5 = 0;
var6 = 0;
for (var7 = 0; var7 < mouseRecorder.index && (var31 == null || var31.packetBuffer.offset - var3 < 246); ++var7) {
var4 = var7;
var8 = mouseRecorder.ys[var7];
if (var8 < -1) {
var8 = -1;
} else if (var8 > 65534) {
var8 = 65534;
}
var9 = mouseRecorder.xs[var7];
if (var9 < -1) {
var9 = -1;
} else if (var9 > 65534) {
var9 = 65534;
}
if (var9 != field483 || var8 != field746) {
if (var31 == null) {
var31 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2889, packetWriter.isaacCipher);
var31.packetBuffer.writeByte(0);
var3 = var31.packetBuffer.offset;
var10000 = var31.packetBuffer;
var10000.offset += 2;
var5 = 0;
var6 = 0;
}
if (field485 != -1L) {
var10 = var9 - field483;
var11 = var8 - field746;
var12 = (int)((mouseRecorder.millis[var7] - field485) / 20L);
var5 = (int)((long)var5 + (mouseRecorder.millis[var7] - field485) % 20L);
} else {
var10 = var9;
var11 = var8;
var12 = Integer.MAX_VALUE;
}
field483 = var9;
field746 = var8;
if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) {
var10 += 32;
var11 += 32;
var31.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6));
} else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) {
var10 += 128;
var11 += 128;
var31.packetBuffer.writeByte(var12 + 128);
var31.packetBuffer.writeShort(var11 + (var10 << 8));
} else if (var12 < 32) {
var31.packetBuffer.writeByte(var12 + 192);
if (var9 != -1 && var8 != -1) {
var31.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var31.packetBuffer.writeInt(Integer.MIN_VALUE);
}
} else {
var31.packetBuffer.writeShort((var12 & 8191) + 57344);
if (var9 != -1 && var8 != -1) {
var31.packetBuffer.writeInt(var9 | var8 << 16);
} else {
var31.packetBuffer.writeInt(Integer.MIN_VALUE);
}
}
++var6;
field485 = mouseRecorder.millis[var7];
}
}
if (var31 != null) {
var31.packetBuffer.method7357(var31.packetBuffer.offset - var3);
var7 = var31.packetBuffer.offset;
var31.packetBuffer.offset = var3;
var31.packetBuffer.writeByte(var5 / var6);
var31.packetBuffer.writeByte(var5 % var6);
var31.packetBuffer.offset = var7;
packetWriter.addNode(var31);
}
if (var4 >= mouseRecorder.index) {
mouseRecorder.index = 0;
} else {
MouseRecorder var43 = mouseRecorder;
var43.index -= var4;
System.arraycopy(mouseRecorder.xs, var4, mouseRecorder.xs, 0, mouseRecorder.index);
System.arraycopy(mouseRecorder.ys, var4, mouseRecorder.ys, 0, mouseRecorder.index);
System.arraycopy(mouseRecorder.millis, var4, mouseRecorder.millis, 0, mouseRecorder.index);
}
}
}
PacketBufferNode var18;
if (MouseHandler.MouseHandler_lastButton == 1 || !class150.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) {
long var16 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis;
if (var16 > 32767L) {
var16 = 32767L;
}
mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis;
var3 = MouseHandler.MouseHandler_lastPressedY;
if (var3 < 0) {
var3 = 0;
} else if (var3 > BoundaryObject.canvasHeight) {
var3 = BoundaryObject.canvasHeight;
}
var4 = MouseHandler.MouseHandler_lastPressedX;
if (var4 < 0) {
var4 = 0;
} else if (var4 > class186.canvasWidth) {
var4 = class186.canvasWidth;
}
var5 = (int)var16;
var18 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2894, 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.field140 > 0) {
var14 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2899, packetWriter.isaacCipher);
var14.packetBuffer.writeShort(0);
var15 = var14.packetBuffer.offset;
long var19 = Ignored.method6459();
for (var5 = 0; var5 < KeyHandler.field140; ++var5) {
long var21 = var19 - field676;
if (var21 > 16777215L) {
var21 = 16777215L;
}
field676 = var19;
var14.packetBuffer.writeMedium((int)var21);
var14.packetBuffer.method7362(KeyHandler.field139[var5]);
}
var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15);
packetWriter.addNode(var14);
}
if (field560 > 0) {
--field560;
}
if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) {
field561 = true;
}
if (field561 && field560 <= 0) {
field560 = 20;
field561 = false;
var14 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2869, packetWriter.isaacCipher);
var14.packetBuffer.method7493(camAngleX);
var14.packetBuffer.method7398(camAngleY);
packetWriter.addNode(var14);
}
if (World.hasFocus && !hadFocus) {
hadFocus = true;
var14 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2861, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(1);
packetWriter.addNode(var14);
}
if (!World.hasFocus && hadFocus) {
hadFocus = false;
var14 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2861, packetWriter.isaacCipher);
var14.packetBuffer.writeByte(0);
packetWriter.addNode(var14);
}
if (Varcs.worldMap != null) {
Varcs.worldMap.method6902();
}
class65.method1958();
class117.method2682();
class145.method2985();
if (gameState != 30) {
return;
}
AbstractArchive.method5693();
int var10002;
for (var1 = 0; var1 < soundEffectCount; ++var1) {
var10002 = queuedSoundEffectDelays[var1]--;
if (queuedSoundEffectDelays[var1] >= -10) {
SoundEffect var32 = soundEffects[var1];
if (var32 == null) {
var10000 = null;
var32 = SoundEffect.readSoundEffect(KeyHandler.archive4, soundEffectIds[var1], 0);
if (var32 == null) {
continue;
}
int[] var44 = queuedSoundEffectDelays;
var44[var1] += var32.calculateDelay();
soundEffects[var1] = var32;
}
if (queuedSoundEffectDelays[var1] < 0) {
if (soundLocations[var1] != 0) {
var4 = (soundLocations[var1] & 255) * 128;
var5 = soundLocations[var1] >> 16 & 255;
var6 = var5 * 128 + 64 - class340.localPlayer.x;
if (var6 < 0) {
var6 = -var6;
}
var7 = soundLocations[var1] >> 8 & 255;
var8 = var7 * 128 + 64 - class340.localPlayer.y;
if (var8 < 0) {
var8 = -var8;
}
var9 = var8 + var6 - 128;
if (var9 > var4) {
queuedSoundEffectDelays[var1] = -100;
continue;
}
if (var9 < 0) {
var9 = 0;
}
var3 = (var4 - var9) * SecureRandomFuture.clientPreferences.areaSoundEffectsVolume / var4;
} else {
var3 = SecureRandomFuture.clientPreferences.soundEffectsVolume;
}
if (var3 > 0) {
RawSound var23 = var32.toRawSound().resample(BoundaryObject.decimator);
RawPcmStream var24 = RawPcmStream.createRawPcmStream(var23, 100, var3);
var24.setNumLoops(queuedSoundEffectLoops[var1] - 1);
class281.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 (field743 && !Projectile.method2008()) {
if (SecureRandomFuture.clientPreferences.musicVolume != 0 && currentTrackGroupId != -1) {
NetSocket.method3118(WorldMapScaleHandler.archive6, currentTrackGroupId, 0, SecureRandomFuture.clientPreferences.musicVolume, false);
}
field743 = false;
}
++packetWriter.field1287;
if (packetWriter.field1287 > 750) {
Varcs.method2411();
return;
}
class341.method6257();
Canvas.method406();
class91.method2337();
++field538;
if (mouseCrossColor != 0) {
mouseCrossState += 20;
if (mouseCrossState >= 400) {
mouseCrossColor = 0;
}
}
if (WorldMapDecoration.field2722 != null) {
++field582;
if (field582 >= 15) {
SecureRandomCallable.invalidateWidget(WorldMapDecoration.field2722);
WorldMapDecoration.field2722 = null;
}
}
Widget var38 = class4.mousedOverWidgetIf1;
Widget var33 = class281.field3375;
class4.mousedOverWidgetIf1 = null;
class281.field3375 = null;
draggedOnWidget = null;
field657 = false;
field531 = false;
field701 = 0;
while (NPCComposition.isKeyDown() && field701 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && Players.field1247 == 66) {
String var25 = method1668();
class295.client.method492(var25);
} else if (oculusOrbState != 1 || ModeWhere.field3954 <= 0) {
field522[field701] = Players.field1247;
field758[field701] = ModeWhere.field3954;
++field701;
}
}
boolean var34 = staffModLevel >= 2;
if (var34 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) {
var4 = class340.localPlayer.plane - mouseWheelRotation;
if (var4 < 0) {
var4 = 0;
} else if (var4 > 3) {
var4 = 3;
}
if (var4 != class340.localPlayer.plane) {
BuddyRankComparator.method2547(class340.localPlayer.pathX[0] + class131.baseX, class340.localPlayer.pathY[0] + TileItem.baseY, var4, false);
}
mouseWheelRotation = 0;
}
if (rootInterface != -1) {
class13.updateRootInterface(rootInterface, 0, 0, class186.canvasWidth, BoundaryObject.canvasHeight, 0, 0);
}
++cycleCntr;
while (true) {
Widget var39;
ScriptEvent var40;
Widget var41;
do {
var40 = (ScriptEvent)field680.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)field579.removeLast();
if (var40 == null) {
while (true) {
do {
var40 = (ScriptEvent)scriptEvents.removeLast();
if (var40 == null) {
this.menu();
WorldMapLabelSize.method4358();
if (clickedWidget != null) {
this.method1174();
}
if (class143.dragInventoryWidget != null) {
SecureRandomCallable.invalidateWidget(class143.dragInventoryWidget);
++itemDragDuration;
if (MouseHandler.MouseHandler_currentButton == 0) {
if (field572) {
if (class143.dragInventoryWidget == FloorOverlayDefinition.hoveredItemContainer && dragItemSlotDestination != dragItemSlotSource) {
Widget var42 = class143.dragInventoryWidget;
byte var35 = 0;
if (field641 == 1 && var42.contentType == 206) {
var35 = 1;
}
if (var42.itemIds[dragItemSlotDestination] <= 0) {
var35 = 0;
}
if (MouseHandler.method649(class363.getWidgetFlags(var42))) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
var42.itemIds[var7] = var42.itemIds[var6];
var42.itemQuantities[var7] = var42.itemQuantities[var6];
var42.itemIds[var6] = -1;
var42.itemQuantities[var6] = 0;
} else if (var35 == 1) {
var6 = dragItemSlotSource;
var7 = dragItemSlotDestination;
while (var6 != var7) {
if (var6 > var7) {
var42.swapItems(var6 - 1, var6);
--var6;
} else if (var6 < var7) {
var42.swapItems(var6 + 1, var6);
++var6;
}
}
} else {
var42.swapItems(dragItemSlotDestination, dragItemSlotSource);
}
var18 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2811, packetWriter.isaacCipher);
var18.packetBuffer.method7398(dragItemSlotDestination);
var18.packetBuffer.method7362(var35);
var18.packetBuffer.method7407(class143.dragInventoryWidget.id);
var18.packetBuffer.method7493(dragItemSlotSource);
packetWriter.addNode(var18);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(draggedWidgetX, draggedWidgetY);
} else if (menuOptionsCount > 0) {
var4 = draggedWidgetX;
var5 = draggedWidgetY;
WorldMapIcon_1.method4385(class87.tempMenuAction, var4, var5);
class87.tempMenuAction = null;
}
field582 = 10;
MouseHandler.MouseHandler_lastButton = 0;
class143.dragInventoryWidget = null;
} else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) {
field572 = true;
}
}
if (Scene.shouldSendWalk()) {
var4 = Scene.Scene_selectedX;
var5 = Scene.Scene_selectedY;
var18 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2859, packetWriter.isaacCipher);
var18.packetBuffer.writeByte(5);
var18.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0);
var18.packetBuffer.method7493(var5 + TileItem.baseY);
var18.packetBuffer.method7349(var4 + class131.baseX);
packetWriter.addNode(var18);
Scene.method3990();
mouseCrossX = MouseHandler.MouseHandler_lastPressedX;
mouseCrossY = MouseHandler.MouseHandler_lastPressedY;
mouseCrossColor = 1;
mouseCrossState = 0;
destinationX = var4;
destinationY = var5;
}
if (var38 != class4.mousedOverWidgetIf1) {
if (var38 != null) {
SecureRandomCallable.invalidateWidget(var38);
}
if (class4.mousedOverWidgetIf1 != null) {
SecureRandomCallable.invalidateWidget(class4.mousedOverWidgetIf1);
}
}
if (var33 != class281.field3375 && field628 == field714) {
if (var33 != null) {
SecureRandomCallable.invalidateWidget(var33);
}
if (class281.field3375 != null) {
SecureRandomCallable.invalidateWidget(class281.field3375);
}
}
if (class281.field3375 != null) {
if (field714 < field628) {
++field714;
if (field714 == field628) {
SecureRandomCallable.invalidateWidget(class281.field3375);
}
}
} else if (field714 > 0) {
--field714;
}
if (oculusOrbState == 0) {
var4 = class340.localPlayer.x;
var5 = class340.localPlayer.y;
if (class7.oculusOrbFocalPointX - var4 < -500 || class7.oculusOrbFocalPointX - var4 > 500 || Actor.oculusOrbFocalPointY - var5 < -500 || Actor.oculusOrbFocalPointY - var5 > 500) {
class7.oculusOrbFocalPointX = var4;
Actor.oculusOrbFocalPointY = var5;
}
if (var4 != class7.oculusOrbFocalPointX) {
class7.oculusOrbFocalPointX += (var4 - class7.oculusOrbFocalPointX) / 16;
}
if (var5 != Actor.oculusOrbFocalPointY) {
Actor.oculusOrbFocalPointY += (var5 - Actor.oculusOrbFocalPointY) / 16;
}
var6 = class7.oculusOrbFocalPointX >> 7;
var7 = Actor.oculusOrbFocalPointY >> 7;
var8 = FaceNormal.getTileHeight(class7.oculusOrbFocalPointX, Actor.oculusOrbFocalPointY, class20.Client_plane);
var9 = 0;
if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) {
for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) {
for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) {
var12 = class20.Client_plane;
if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) {
++var12;
}
int var26 = var8 - Tiles.Tiles_heights[var12][var10][var11];
if (var26 > var9) {
var9 = var26;
}
}
}
}
var10 = var9 * 192;
if (var10 > 98048) {
var10 = 98048;
}
if (var10 < 32768) {
var10 = 32768;
}
if (var10 > field562) {
field562 += (var10 - field562) / 24;
} else if (var10 < field562) {
field562 += (var10 - field562) / 80;
}
MouseHandler.field231 = FaceNormal.getTileHeight(class340.localPlayer.x, class340.localPlayer.y, class20.Client_plane) - camFollowHeight;
} else if (oculusOrbState == 1) {
if (field612 && class340.localPlayer != null) {
var4 = class340.localPlayer.pathX[0];
var5 = class340.localPlayer.pathY[0];
if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) {
class7.oculusOrbFocalPointX = class340.localPlayer.x;
var6 = FaceNormal.getTileHeight(class340.localPlayer.x, class340.localPlayer.y, class20.Client_plane) - camFollowHeight;
if (var6 < MouseHandler.field231) {
MouseHandler.field231 = var6;
}
Actor.oculusOrbFocalPointY = class340.localPlayer.y;
field612 = false;
}
}
short var36 = -1;
if (KeyHandler.KeyHandler_pressedKeys[33]) {
var36 = 0;
} else if (KeyHandler.KeyHandler_pressedKeys[49]) {
var36 = 1024;
}
if (KeyHandler.KeyHandler_pressedKeys[48]) {
if (var36 == 0) {
var36 = 1792;
} else if (var36 == 1024) {
var36 = 1280;
} else {
var36 = 1536;
}
} else if (KeyHandler.KeyHandler_pressedKeys[50]) {
if (var36 == 0) {
var36 = 256;
} else if (var36 == 1024) {
var36 = 768;
} else {
var36 = 512;
}
}
byte var37 = 0;
if (KeyHandler.KeyHandler_pressedKeys[35]) {
var37 = -1;
} else if (KeyHandler.KeyHandler_pressedKeys[51]) {
var37 = 1;
}
var6 = 0;
if (var36 >= 0 || var37 != 0) {
var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed * 1403293651 * 97493083 : oculusOrbNormalSpeed * -535945653 * -682804381;
var6 *= 16;
field584 = var36;
field555 = var37;
}
if (field542 < var6) {
field542 += var6 / 8;
if (field542 > var6) {
field542 = var6;
}
} else if (field542 > var6) {
field542 = field542 * 9 / 10;
}
if (field542 > 0) {
var7 = field542 / 16;
if (field584 >= 0) {
var4 = field584 - class379.cameraYaw & 2047;
var8 = Rasterizer3D.Rasterizer3D_sine[var4];
var9 = Rasterizer3D.Rasterizer3D_cosine[var4];
class7.oculusOrbFocalPointX += var8 * var7 / 65536;
Actor.oculusOrbFocalPointY += var7 * var9 / 65536;
}
if (field555 != 0) {
MouseHandler.field231 += var7 * field555;
if (MouseHandler.field231 > 0) {
MouseHandler.field231 = 0;
}
}
} else {
field584 = -1;
field555 = -1;
}
if (KeyHandler.KeyHandler_pressedKeys[13]) {
packetWriter.addNode(HitSplatDefinition.getPacketBufferNode(ClientPacket.field2867, packetWriter.isaacCipher));
oculusOrbState = 0;
}
}
if (MouseHandler.MouseHandler_currentButton == 4 && class150.mouseCam) {
var4 = MouseHandler.MouseHandler_y - mouseCamClickedY;
camAngleDX = var4 * 2;
mouseCamClickedY = var4 != -1 && var4 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y * 84217699 * -688068021;
var5 = mouseCamClickedX - MouseHandler.MouseHandler_x;
camAngleDY = var5 * 2;
mouseCamClickedX = var5 != -1 && var5 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x * 635129293 * -971872507;
} 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 (field724) {
GrandExchangeOfferOwnWorldComparator.method1148();
} else if (isCameraLocked) {
var4 = class167.field1811 * 128 + 64;
var5 = VarpDefinition.field1748 * 128 + 64;
var6 = FaceNormal.getTileHeight(var4, var5, class20.Client_plane) - UserComparator9.field1335;
class1.method12(var4, var6, var5);
var4 = PlayerComposition.field3193 * 128 + 64;
var5 = MusicPatchNode.field3150 * 128 + 64;
var6 = FaceNormal.getTileHeight(var4, var5, class20.Client_plane) - ModeWhere.field3951;
var7 = var4 - UserComparator7.cameraX;
var8 = var6 - AbstractByteArrayCopier.cameraY;
var9 = var5 - UserComparator10.cameraZ;
var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9));
var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.9490051269531D) & 2047;
var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.9490051269531D) & 2047;
SecureRandomFuture.method2025(var11, var12);
}
for (var4 = 0; var4 < 5; ++var4) {
var10002 = field729[var4]++;
}
class339.varcs.tryWrite();
var4 = ++MouseHandler.MouseHandler_idleCycles - 1;
var6 = KeyHandler.KeyHandler_idleCycles;
PacketBufferNode var27;
if (var4 > 15000 && var6 > 15000) {
logoutTimer = 250;
class123.method2746(14500);
var27 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2837, packetWriter.isaacCipher);
packetWriter.addNode(var27);
}
GameEngine.friendSystem.processFriendUpdates();
++packetWriter.pendingWrites;
if (packetWriter.pendingWrites > 50) {
var27 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2814, packetWriter.isaacCipher);
packetWriter.addNode(var27);
}
try {
packetWriter.flush();
} catch (IOException var28) {
Varcs.method2411();
}
return;
}
var41 = var40.widget;
if (var41.childIndex < 0) {
break;
}
var39 = ChatChannel.getWidget(var41.parentId);
} while(var39 == null || var39.children == null || var41.childIndex >= var39.children.length || var41 != var39.children[var41.childIndex]);
class285.runScriptEvent(var40);
}
}
var41 = var40.widget;
if (var41.childIndex < 0) {
break;
}
var39 = ChatChannel.getWidget(var41.parentId);
} while(var39 == null || var39.children == null || var41.childIndex >= var39.children.length || var41 != var39.children[var41.childIndex]);
class285.runScriptEvent(var40);
}
}
var41 = var40.widget;
if (var41.childIndex < 0) {
break;
}
var39 = ChatChannel.getWidget(var41.parentId);
} while(var39 == null || var39.children == null || var41.childIndex >= var39.children.length || var41 != var39.children[var41.childIndex]);
class285.runScriptEvent(var40);
}
}
var31 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2852, packetWriter.isaacCipher);
var31.packetBuffer.writeByte(0);
var3 = var31.packetBuffer.offset;
UserComparator3.performReflectionCheck(var31.packetBuffer);
var31.packetBuffer.method7357(var31.packetBuffer.offset - var3);
packetWriter.addNode(var31);
}
}
}
}
@ObfuscatedName("gh")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "-5"
)
@Export("resizeJS")
void resizeJS() {
int var1 = class186.canvasWidth;
int var2 = BoundaryObject.canvasHeight;
if (super.contentWidth < var1) {
var1 = super.contentWidth;
}
if (super.contentHeight < var2) {
var2 = super.contentHeight;
}
if (SecureRandomFuture.clientPreferences != null) {
try {
Client var3 = class295.client;
Object[] var4 = new Object[]{class143.getWindowedMode()};
JSObject.getWindow(var3).call("resize", var4);
} catch (Throwable var5) {
}
}
}
@ObfuscatedName("gg")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-2013418749"
)
@Export("drawLoggedIn")
final void drawLoggedIn() {
if (rootInterface != -1) {
GraphicsObject.method1955(rootInterface);
}
int var1;
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field504[var1]) {
field686[var1] = true;
}
field687[var1] = field504[var1];
field504[var1] = false;
}
field684 = cycle;
viewportX = -1;
viewportY = -1;
FloorOverlayDefinition.hoveredItemContainer = null;
if (rootInterface != -1) {
rootWidgetCount = 0;
class12.drawWidgets(rootInterface, 0, 0, class186.canvasWidth, BoundaryObject.canvasHeight, 0, 0, -1);
}
Rasterizer2D.Rasterizer2D_resetClip();
if (showMouseCross) {
if (mouseCrossColor == 1) {
UserComparator5.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
if (mouseCrossColor == 2) {
UserComparator5.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8);
}
}
if (!isMenuOpen) {
if (viewportX != -1) {
Friend.method6288(viewportX, viewportY);
}
} else {
class4.method25();
}
if (gameDrawingMode == 3) {
for (var1 = 0; var1 < rootWidgetCount; ++var1) {
if (field687[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128);
} else if (field686[var1]) {
Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128);
}
}
}
var1 = class20.Client_plane;
int var2 = class340.localPlayer.x;
int var3 = class340.localPlayer.y;
int var4 = field538;
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.maxX) {
var6 += var2 - var5.maxX;
} else if (var2 < var5.x) {
var6 += var5.x - var2;
}
if (var3 > var5.maxY) {
var6 += var3 - var5.maxY;
} else if (var3 < var5.y) {
var6 += var5.y - var3;
}
if (var6 - 64 <= var5.field793 && SecureRandomFuture.clientPreferences.areaSoundEffectsVolume != 0 && var1 == var5.plane) {
var6 -= 64;
if (var6 < 0) {
var6 = 0;
}
int var7 = (var5.field793 - var6) * SecureRandomFuture.clientPreferences.areaSoundEffectsVolume / var5.field793;
Object var10000;
if (var5.stream1 == null) {
if (var5.soundEffectId >= 0) {
var10000 = null;
SoundEffect var8 = SoundEffect.readSoundEffect(KeyHandler.archive4, var5.soundEffectId, 0);
if (var8 != null) {
RawSound var9 = var8.toRawSound().resample(BoundaryObject.decimator);
RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var7);
var10.setNumLoops(-1);
class281.pcmStreamMixer.addSubStream(var10);
var5.stream1 = var10;
}
}
} else {
var5.stream1.method843(var7);
}
if (var5.stream2 == null) {
if (var5.soundEffectIds != null && (var5.field789 -= var4) <= 0) {
int var12 = (int)(Math.random() * (double)var5.soundEffectIds.length);
var10000 = null;
SoundEffect var13 = SoundEffect.readSoundEffect(KeyHandler.archive4, var5.soundEffectIds[var12], 0);
if (var13 != null) {
RawSound var14 = var13.toRawSound().resample(BoundaryObject.decimator);
RawPcmStream var11 = RawPcmStream.createRawPcmStream(var14, 100, var7);
var11.setNumLoops(0);
class281.pcmStreamMixer.addSubStream(var11);
var5.stream2 = var11;
var5.field789 = var5.field796 + (int)(Math.random() * (double)(var5.field797 - var5.field796));
}
}
} else {
var5.stream2.method843(var7);
if (!var5.stream2.hasNext()) {
var5.stream2 = null;
}
}
} else {
if (var5.stream1 != null) {
class281.pcmStreamMixer.removeSubStream(var5.stream1);
var5.stream1 = null;
}
if (var5.stream2 != null) {
class281.pcmStreamMixer.removeSubStream(var5.stream2);
var5.stream2 = null;
}
}
}
}
field538 = 0;
}
@ObfuscatedName("hf")
@ObfuscatedSignature(
descriptor = "(Lch;I)Z",
garbageValue = "-1371711107"
)
final boolean method1394(PacketWriter var1) {
AbstractSocket var2 = var1.getSocket();
PacketBuffer var3 = var1.packetBuffer;
if (var2 == null) {
return false;
} else {
int var6;
String var19;
try {
int var5;
if (var1.serverPacket == null) {
if (var1.field1278) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 0, 1);
var1.field1287 = 0;
var1.field1278 = false;
}
var3.offset = 0;
if (var3.method7311()) {
if (!var2.isAvailable(1)) {
return false;
}
var2.read(var1.packetBuffer.array, 1, 1);
var1.field1287 = 0;
}
var1.field1278 = true;
ServerPacket[] var4 = class129.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.field1287 = 0;
timer.method6253();
var1.field1291 = var1.field1290;
var1.field1290 = var1.field1289;
var1.field1289 = var1.serverPacket;
int var7;
int var17;
Widget var52;
if (ServerPacket.field2978 == var1.serverPacket) {
var17 = var3.method7403();
var5 = var3.method7411();
var6 = var3.readUnsignedShort();
var7 = var3.method7403();
var52 = ChatChannel.getWidget(var5);
if (var17 != var52.modelAngleX || var6 != var52.modelAngleY || var7 != var52.modelZoom) {
var52.modelAngleX = var17;
var52.modelAngleY = var6;
var52.modelZoom = var7;
SecureRandomCallable.invalidateWidget(var52);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3011 == var1.serverPacket) {
var17 = var3.readUnsignedShort();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedShort();
LoginScreenAnimation.queueSoundEffect(var17, var5, var6);
var1.serverPacket = null;
return true;
}
Widget var18;
if (ServerPacket.field2952 == var1.serverPacket) {
var17 = var3.method7411();
var5 = var3.readShort();
var18 = ChatChannel.getWidget(var17);
if (var5 != var18.sequenceId || var5 == -1) {
var18.sequenceId = var5;
var18.modelFrame = 0;
var18.modelFrameCycle = 0;
SecureRandomCallable.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2972 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2915);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3002 == var1.serverPacket) {
if (BuddyRankComparator.field1342 == null) {
BuddyRankComparator.field1342 = new class370(Ignored.HitSplatDefinition_cached);
}
class426 var49 = Ignored.HitSplatDefinition_cached.method6761(var3);
BuddyRankComparator.field1342.field4221.vmethod7129(var49.field4539, var49.field4537);
field695[++field734 - 1 & 31] = var49.field4539;
var1.serverPacket = null;
return true;
}
int var15;
String var24;
byte var68;
if (ServerPacket.field3005 == var1.serverPacket) {
var68 = var3.readByte();
var19 = var3.readStringCp1252NullTerminated();
long var20 = (long)var3.readUnsignedShort();
long var22 = (long)var3.readMedium();
PlayerType var55 = (PlayerType)class130.findEnumerated(SpotAnimationDefinition.PlayerType_values(), var3.readUnsignedByte());
long var11 = (var20 << 32) + var22;
boolean var56 = false;
ClanChannel var14 = null;
var14 = var68 >= 0 ? currentClanChannels[var68] : UserComparator5.guestClanChannel;
if (var14 == null) {
var56 = true;
} else {
var15 = 0;
while (true) {
if (var15 >= 100) {
if (var55.isUser && GameEngine.friendSystem.isIgnored(new Username(var19, class194.loginType))) {
var56 = true;
}
break;
}
if (crossWorldMessageIds[var15] == var11) {
var56 = true;
break;
}
++var15;
}
}
if (!var56) {
crossWorldMessageIds[crossWorldMessageIdsIndex] = var11;
crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100;
var24 = AbstractFont.escapeBrackets(SequenceDefinition.method3689(var3));
int var16 = var68 >= 0 ? 41 : 44;
if (var55.modIcon != -1) {
DevicePcmPlayerProvider.addChatMessage(var16, class221.method4705(var55.modIcon) + var19, var24, var14.name);
} else {
DevicePcmPlayerProvider.addChatMessage(var16, var19, var24, var14.name);
}
}
var1.serverPacket = null;
return true;
}
String var45;
if (ServerPacket.field3001 == var1.serverPacket) {
var45 = var3.readStringCp1252NullTerminated();
Object[] var67 = new Object[var45.length() + 1];
for (var6 = var45.length() - 1; var6 >= 0; --var6) {
if (var45.charAt(var6) == 's') {
var67[var6 + 1] = var3.readStringCp1252NullTerminated();
} else {
var67[var6 + 1] = new Integer(var3.readInt());
}
}
var67[0] = new Integer(var3.readInt());
ScriptEvent var72 = new ScriptEvent();
var72.args = var67;
class285.runScriptEvent(var72);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2980 == var1.serverPacket) {
UserComparator6.method2551();
weight = var3.readShort();
field471 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3023 == 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.field2930 == var1.serverPacket) {
var17 = var3.readInt();
var5 = var3.readInt();
var6 = class143.getGcDuration();
PacketBufferNode var73 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2890, packetWriter.isaacCipher);
var73.packetBuffer.writeByte(GameEngine.fps);
var73.packetBuffer.method7343(var6);
var73.packetBuffer.method7407(var17);
var73.packetBuffer.writeIntME(var5);
packetWriter.addNode(var73);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2955 == var1.serverPacket) {
if (Players.friendsChat != null) {
Players.friendsChat.method6305(var3);
}
class334.method6216();
var1.serverPacket = null;
return true;
}
Widget var25;
if (ServerPacket.field2960 == var1.serverPacket) {
var17 = var3.readShort();
var5 = var3.readInt();
var6 = var3.method7405();
var25 = ChatChannel.getWidget(var5);
if (var17 != var25.rawX || var6 != var25.rawY || var25.xAlignment != 0 || var25.yAlignment != 0) {
var25.rawX = var17;
var25.rawY = var6;
var25.xAlignment = 0;
var25.yAlignment = 0;
SecureRandomCallable.invalidateWidget(var25);
this.alignWidget(var25);
if (var25.type == 0) {
class115.revalidateWidgetScroll(MouseRecorder.Widget_interfaceComponents[var5 >> 16], var25, false);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2996 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2918);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2998 == var1.serverPacket) {
BuddyRankComparator.field1342 = null;
var1.serverPacket = null;
return true;
}
int var9;
long var12;
int var26;
int var27;
InterfaceParent var71;
if (ServerPacket.field3021 == var1.serverPacket) {
var17 = var3.offset + var1.serverPacketLength;
var5 = var3.readUnsignedShort();
var6 = var3.readUnsignedShort();
if (var5 != rootInterface) {
rootInterface = var5;
this.resizeRoot(false);
class140.Widget_resetModelFrames(rootInterface);
class33.runWidgetOnLoadListener(rootInterface);
for (var7 = 0; var7 < 100; ++var7) {
field504[var7] = true;
}
}
InterfaceParent var54;
for (; var6-- > 0; var54.field1014 = true) {
var7 = var3.readInt();
var26 = var3.readUnsignedShort();
var9 = var3.readUnsignedByte();
var54 = (InterfaceParent)interfaceParents.get((long)var7);
if (var54 != null && var26 != var54.group) {
class10.closeInterface(var54, true);
var54 = null;
}
if (var54 == null) {
var54 = ChatChannel.method2058(var7, var26, var9);
}
}
for (var71 = (InterfaceParent)interfaceParents.first(); var71 != null; var71 = (InterfaceParent)interfaceParents.next()) {
if (var71.field1014) {
var71.field1014 = false;
} else {
class10.closeInterface(var71, true);
}
}
widgetFlags = new NodeHashTable(512);
while (var3.offset < var17) {
var7 = var3.readInt();
var26 = var3.readUnsignedShort();
var9 = var3.readUnsignedShort();
var27 = var3.readInt();
for (int var74 = var26; var74 <= var9; ++var74) {
var12 = (long)var74 + ((long)var7 << 32);
widgetFlags.put(new IntegerNode(var27), var12);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3018 == var1.serverPacket) {
var17 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var17 < -70000) {
var5 += 32768;
}
if (var17 >= 0) {
var18 = ChatChannel.getWidget(var17);
} else {
var18 = null;
}
if (var18 != null) {
for (var7 = 0; var7 < var18.itemIds.length; ++var7) {
var18.itemIds[var7] = 0;
var18.itemQuantities[var7] = 0;
}
}
class141.clearItemContainer(var5);
var7 = var3.readUnsignedShort();
for (var26 = 0; var26 < var7; ++var26) {
var9 = var3.method7392();
if (var9 == 255) {
var9 = var3.readInt();
}
var27 = var3.method7401();
if (var18 != null && var26 < var18.itemIds.length) {
var18.itemIds[var26] = var27;
var18.itemQuantities[var26] = var9;
}
GraphicsObject.itemContainerSetItem(var5, var26, var27 - 1, var9);
}
if (var18 != null) {
SecureRandomCallable.invalidateWidget(var18);
}
UserComparator6.method2551();
changedItemContainers[++field665 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2944 == var1.serverPacket) {
var17 = var3.readUnsignedByte();
VarpDefinition.method3168(var17);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3027 == var1.serverPacket && isCameraLocked) {
field724 = true;
Renderable.field2358 = var3.readUnsignedByte();
ItemComposition.field2012 = var3.readUnsignedByte();
WorldMapSection1.field2755 = var3.readUnsignedByte();
ChatChannel.field956 = var3.readUnsignedByte();
for (var17 = 0; var17 < 5; ++var17) {
field725[var17] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2949 == var1.serverPacket) {
World var48 = new World();
var48.host = var3.readStringCp1252NullTerminated();
var48.id = var3.readUnsignedShort();
var5 = var3.readInt();
var48.properties = var5;
VertexNormal.updateGameState(45);
var2.close();
var2 = null;
BoundaryObject.changeWorld(var48);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2984 == var1.serverPacket) {
DevicePcmPlayerProvider.loadRegions(false, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2940 == var1.serverPacket) {
field583 = cycleCntr;
var68 = var3.readByte();
class143 var65 = new class143(var3);
ClanChannel var70;
if (var68 >= 0) {
var70 = currentClanChannels[var68];
} else {
var70 = UserComparator5.guestClanChannel;
}
var65.method2960(var70);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2938 == var1.serverPacket) {
var17 = var3.readUnsignedShort();
rootInterface = var17;
this.resizeRoot(false);
class140.Widget_resetModelFrames(var17);
class33.runWidgetOnLoadListener(rootInterface);
for (var5 = 0; var5 < 100; ++var5) {
field504[var5] = true;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3029 == var1.serverPacket) {
var17 = var3.readInt();
var5 = var3.readInt();
InterfaceParent var69 = (InterfaceParent)interfaceParents.get((long)var17);
var71 = (InterfaceParent)interfaceParents.get((long)var5);
if (var71 != null) {
class10.closeInterface(var71, var69 == null || var71.group != var69.group);
}
if (var69 != null) {
var69.remove();
interfaceParents.put(var69, (long)var5);
}
var52 = ChatChannel.getWidget(var17);
if (var52 != null) {
SecureRandomCallable.invalidateWidget(var52);
}
var52 = ChatChannel.getWidget(var5);
if (var52 != null) {
SecureRandomCallable.invalidateWidget(var52);
class115.revalidateWidgetScroll(MouseRecorder.Widget_interfaceComponents[var52.id >>> 16], var52, true);
}
if (rootInterface != -1) {
Message.runIntfCloseListeners(rootInterface, 1);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2937 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2919);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2934 == var1.serverPacket) {
if (var1.serverPacketLength == 0) {
Players.friendsChat = null;
} else {
if (Players.friendsChat == null) {
Players.friendsChat = new FriendsChat(class194.loginType, class295.client);
}
Players.friendsChat.readUpdate(var3);
}
class334.method6216();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2989 == var1.serverPacket) {
UserComparator6.method2551();
runEnergy = var3.readUnsignedByte();
field471 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2961 == var1.serverPacket) {
for (var17 = 0; var17 < class433.VarpDefinition_fileCount; ++var17) {
VarpDefinition var64 = SecureRandomCallable.VarpDefinition_get(var17);
if (var64 != null) {
Varps.Varps_temp[var17] = 0;
Varps.Varps_main[var17] = 0;
}
}
UserComparator6.method2551();
changedVarpCount += 32;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2982 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2913);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3016 == var1.serverPacket) {
class167.field1813 = var3.method7520();
class17.field90 = var3.readUnsignedByte();
while (var3.offset < var1.serverPacketLength) {
var17 = var3.readUnsignedByte();
class253 var63 = Timer.method6230()[var17];
DirectByteArrayCopier.method5328(var63);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2991 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2914);
var1.serverPacket = null;
return true;
}
long var29;
long var31;
long var33;
if (ServerPacket.field2931 == var1.serverPacket) {
var45 = var3.readStringCp1252NullTerminated();
var29 = var3.readLong();
var31 = (long)var3.readUnsignedShort();
var33 = (long)var3.readMedium();
PlayerType var75 = (PlayerType)class130.findEnumerated(SpotAnimationDefinition.PlayerType_values(), var3.readUnsignedByte());
var12 = var33 + (var31 << 32);
boolean var77 = false;
for (var15 = 0; var15 < 100; ++var15) {
if (var12 == crossWorldMessageIds[var15]) {
var77 = true;
break;
}
}
if (var75.isUser && GameEngine.friendSystem.isIgnored(new Username(var45, class194.loginType))) {
var77 = true;
}
if (!var77 && field590 == 0) {
crossWorldMessageIds[crossWorldMessageIdsIndex] = var12;
crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100;
var24 = AbstractFont.escapeBrackets(class412.method7287(SequenceDefinition.method3689(var3)));
if (var75.modIcon != -1) {
DevicePcmPlayerProvider.addChatMessage(9, class221.method4705(var75.modIcon) + var45, var24, GraphicsDefaults.base37DecodeLong(var29));
} else {
DevicePcmPlayerProvider.addChatMessage(9, var45, var24, GraphicsDefaults.base37DecodeLong(var29));
}
}
var1.serverPacket = null;
return true;
}
boolean var66;
if (ServerPacket.field3017 == var1.serverPacket) {
var66 = var3.readUnsignedByte() == 1;
var5 = var3.method7411();
var18 = ChatChannel.getWidget(var5);
if (var66 != var18.isHidden) {
var18.isHidden = var66;
SecureRandomCallable.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2965 == var1.serverPacket) {
isCameraLocked = false;
for (var17 = 0; var17 < 5; ++var17) {
field725[var17] = false;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2986 == var1.serverPacket) {
if (rootInterface != -1) {
Message.runIntfCloseListeners(rootInterface, 0);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3000 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2912);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2948 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2916);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3004 == var1.serverPacket) {
GrandExchangeOfferOwnWorldComparator.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2968 == var1.serverPacket) {
GameEngine.friendSystem.readUpdate(var3, var1.serverPacketLength);
field671 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2957 == var1.serverPacket) {
var17 = var3.method7401();
var5 = var3.method7411();
var18 = ChatChannel.getWidget(var5);
if (var18 != null && var18.type == 0) {
if (var17 > var18.scrollHeight - var18.height) {
var17 = var18.scrollHeight - var18.height;
}
if (var17 < 0) {
var17 = 0;
}
if (var17 != var18.scrollY) {
var18.scrollY = var17;
SecureRandomCallable.invalidateWidget(var18);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2994 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2920);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3026 == var1.serverPacket) {
GameEngine.friendSystem.ignoreList.read(var3, var1.serverPacketLength);
Skeleton.FriendSystem_invalidateIgnoreds();
field671 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2970 == var1.serverPacket) {
var17 = var3.readInt();
var5 = var3.readUnsignedShort();
if (var17 < -70000) {
var5 += 32768;
}
if (var17 >= 0) {
var18 = ChatChannel.getWidget(var17);
} else {
var18 = null;
}
for (; var3.offset < var1.serverPacketLength; GraphicsObject.itemContainerSetItem(var5, var7, var26 - 1, var9)) {
var7 = var3.readUShortSmart();
var26 = var3.readUnsignedShort();
var9 = 0;
if (var26 != 0) {
var9 = var3.readUnsignedByte();
if (var9 == 255) {
var9 = var3.readInt();
}
}
if (var18 != null && var7 >= 0 && var7 < var18.itemIds.length) {
var18.itemIds[var7] = var26;
var18.itemQuantities[var7] = var9;
}
}
if (var18 != null) {
SecureRandomCallable.invalidateWidget(var18);
}
UserComparator6.method2551();
changedItemContainers[++field665 - 1 & 31] = var5 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2942 == var1.serverPacket) {
isCameraLocked = true;
field724 = false;
PlayerComposition.field3193 = var3.readUnsignedByte();
MusicPatchNode.field3150 = var3.readUnsignedByte();
ModeWhere.field3951 = var3.readUnsignedShort();
WorldMapSection1.field2755 = var3.readUnsignedByte();
ChatChannel.field956 = var3.readUnsignedByte();
if (ChatChannel.field956 >= 100) {
var17 = PlayerComposition.field3193 * 128 + 64;
var5 = MusicPatchNode.field3150 * 128 + 64;
var6 = FaceNormal.getTileHeight(var17, var5, class20.Client_plane) - ModeWhere.field3951;
var7 = var17 - UserComparator7.cameraX;
var26 = var6 - AbstractByteArrayCopier.cameraY;
var9 = var5 - UserComparator10.cameraZ;
var27 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9));
UserComparator7.cameraPitch = (int)(Math.atan2((double)var26, (double)var27) * 325.9490051269531D) & 2047;
class379.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.9490051269531D) & 2047;
if (UserComparator7.cameraPitch < 128) {
UserComparator7.cameraPitch = 128;
}
if (UserComparator7.cameraPitch > 383) {
UserComparator7.cameraPitch = 383;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3007 == var1.serverPacket) {
isCameraLocked = true;
field724 = false;
class167.field1811 = var3.readUnsignedByte();
VarpDefinition.field1748 = var3.readUnsignedByte();
UserComparator9.field1335 = var3.readUnsignedShort();
Renderable.field2358 = var3.readUnsignedByte();
ItemComposition.field2012 = var3.readUnsignedByte();
if (ItemComposition.field2012 >= 100) {
UserComparator7.cameraX = class167.field1811 * 128 + 64;
UserComparator10.cameraZ = VarpDefinition.field1748 * 128 + 64;
AbstractByteArrayCopier.cameraY = FaceNormal.getTileHeight(UserComparator7.cameraX, UserComparator10.cameraZ, class20.Client_plane) - UserComparator9.field1335;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2983 == var1.serverPacket) {
var17 = var3.method7401();
var5 = var3.method7394();
var6 = var3.readInt();
var71 = (InterfaceParent)interfaceParents.get((long)var6);
if (var71 != null) {
class10.closeInterface(var71, var17 != var71.group);
}
ChatChannel.method2058(var6, var17, var5);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3020 == var1.serverPacket) {
class12.field72 = true;
GrandExchangeOfferOwnWorldComparator.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2990 == var1.serverPacket) {
var17 = var3.readUnsignedByte();
if (var3.readUnsignedByte() == 0) {
grandExchangeOffers[var17] = new GrandExchangeOffer();
var3.offset += 18;
} else {
--var3.offset;
grandExchangeOffers[var17] = new GrandExchangeOffer(var3, false);
}
field675 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2951 == var1.serverPacket) {
Strings.method5509();
var68 = var3.readByte();
if (var1.serverPacketLength == 1) {
if (var68 >= 0) {
currentClanSettings[var68] = null;
} else {
class222.guestClanSettings = null;
}
var1.serverPacket = null;
return true;
}
if (var68 >= 0) {
currentClanSettings[var68] = new ClanSettings(var3);
} else {
class222.guestClanSettings = new ClanSettings(var3);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2993 == var1.serverPacket) {
Strings.method5509();
var68 = var3.readByte();
class129 var61 = new class129(var3);
ClanSettings var62;
if (var68 >= 0) {
var62 = currentClanSettings[var68];
} else {
var62 = class222.guestClanSettings;
}
var61.method2781(var62);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2939 == var1.serverPacket) {
class167.field1813 = var3.readUnsignedByte();
class17.field90 = var3.method7394();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2973 == var1.serverPacket) {
DevicePcmPlayerProvider.loadRegions(true, var1.packetBuffer);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2932 == var1.serverPacket) {
hintArrowType = var3.readUnsignedByte();
if (hintArrowType == 1) {
hintArrowNpcIndex = var3.readUnsignedShort();
}
if (hintArrowType >= 2 && hintArrowType <= 6) {
if (hintArrowType == 2) {
hintArrowSubX = 64;
hintArrowSubY = 64;
}
if (hintArrowType == 3) {
hintArrowSubX = 0;
hintArrowSubY = 64;
}
if (hintArrowType == 4) {
hintArrowSubX = 128;
hintArrowSubY = 64;
}
if (hintArrowType == 5) {
hintArrowSubX = 64;
hintArrowSubY = 0;
}
if (hintArrowType == 6) {
hintArrowSubX = 64;
hintArrowSubY = 128;
}
hintArrowType = 2;
hintArrowX = var3.readUnsignedShort();
hintArrowY = var3.readUnsignedShort();
hintArrowHeight = var3.readUnsignedByte();
}
if (hintArrowType == 10) {
hintArrowPlayerIndex = var3.readUnsignedShort();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2935 == var1.serverPacket) {
var17 = var3.method7412();
var5 = var3.method7411();
var6 = var3.method7401();
if (var6 == 65535) {
var6 = -1;
}
var25 = ChatChannel.getWidget(var5);
ItemComposition var51;
if (!var25.isIf3) {
if (var6 == -1) {
var25.modelType = 0;
var1.serverPacket = null;
return true;
}
var51 = UserComparator6.ItemDefinition_get(var6);
var25.modelType = 4;
var25.modelId = var6;
var25.modelAngleX = var51.xan2d;
var25.modelAngleY = var51.yan2d;
var25.modelZoom = var51.zoom2d * 100 / var17;
SecureRandomCallable.invalidateWidget(var25);
} else {
var25.itemId = var6;
var25.itemQuantity = var17;
var51 = UserComparator6.ItemDefinition_get(var6);
var25.modelAngleX = var51.xan2d;
var25.modelAngleY = var51.yan2d;
var25.modelAngleZ = var51.zan2d;
var25.modelOffsetX = var51.offsetX2d;
var25.modelOffsetY = var51.offsetY2d;
var25.modelZoom = var51.zoom2d;
if (var51.isStackable == 1) {
var25.itemQuantityMode = 1;
} else {
var25.itemQuantityMode = 2;
}
if (var25.field3280 > 0) {
var25.modelZoom = var25.modelZoom * 32 / var25.field3280;
} else if (var25.rawWidth > 0) {
var25.modelZoom = var25.modelZoom * 32 / var25.rawWidth;
}
SecureRandomCallable.invalidateWidget(var25);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2988 == var1.serverPacket) {
var17 = var3.method7412();
var5 = var3.method7401();
if (var5 == 65535) {
var5 = -1;
}
var6 = var3.method7401();
if (var6 == 65535) {
var6 = -1;
}
var7 = var3.readInt();
for (var26 = var5; var26 <= var6; ++var26) {
var33 = ((long)var7 << 32) + (long)var26;
Node var35 = widgetFlags.get(var33);
if (var35 != null) {
var35.remove();
}
widgetFlags.put(new IntegerNode(var17), var33);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2967 == var1.serverPacket) {
class12.field72 = true;
GrandExchangeOfferOwnWorldComparator.updateNpcs(false, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2943 == var1.serverPacket) {
GameEngine.friendSystem.method1764();
field671 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2981 == var1.serverPacket) {
BuddyRankComparator.field1342 = new class370(Ignored.HitSplatDefinition_cached);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2945 == var1.serverPacket) {
rebootTimer = var3.readUnsignedShort() * 30;
field471 = cycleCntr;
var1.serverPacket = null;
return true;
}
Widget var58;
if (ServerPacket.field2985 == var1.serverPacket) {
var17 = var3.method7412();
var58 = ChatChannel.getWidget(var17);
for (var6 = 0; var6 < var58.itemIds.length; ++var6) {
var58.itemIds[var6] = -1;
var58.itemIds[var6] = 0;
}
SecureRandomCallable.invalidateWidget(var58);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3008 == var1.serverPacket) {
var45 = var3.readStringCp1252NullTerminated();
var5 = var3.method7568();
var18 = ChatChannel.getWidget(var5);
if (!var45.equals(var18.text)) {
var18.text = var45;
SecureRandomCallable.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2963 == var1.serverPacket) {
var17 = var3.readUnsignedByte();
var5 = var3.readUnsignedByte();
var6 = var3.readUnsignedByte();
var7 = var3.readUnsignedByte();
field725[var17] = true;
field726[var17] = var5;
field679[var17] = var6;
field618[var17] = var7;
field729[var17] = 0;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2958 == var1.serverPacket) {
for (var17 = 0; var17 < players.length; ++var17) {
if (players[var17] != null) {
players[var17].sequence = -1;
}
}
for (var17 = 0; var17 < npcs.length; ++var17) {
if (npcs[var17] != null) {
npcs[var17].sequence = -1;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3015 == var1.serverPacket) {
Projectile.privateChatMode = WorldMapData_0.method4353(var3.readUnsignedByte());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2976 == var1.serverPacket) {
var17 = var3.readInt();
if (var17 != field607) {
field607 = var17;
class291.method5502();
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2969 == var1.serverPacket) {
UserComparator4.method2499(var3.readStringCp1252NullTerminated());
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2962 == var1.serverPacket) {
publicChatMode = var3.readUnsignedByte();
tradeChatMode = var3.method7520();
var1.serverPacket = null;
return true;
}
String var57;
if (ServerPacket.field2999 == var1.serverPacket) {
var17 = var3.readUShortSmart();
boolean var53 = var3.readUnsignedByte() == 1;
var57 = "";
boolean var50 = false;
if (var53) {
var57 = var3.readStringCp1252NullTerminated();
if (GameEngine.friendSystem.isIgnored(new Username(var57, class194.loginType))) {
var50 = true;
}
}
String var8 = var3.readStringCp1252NullTerminated();
if (!var50) {
class194.addGameMessage(var17, var57, var8);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3009 == var1.serverPacket) {
var66 = var3.readBoolean();
if (var66) {
if (Messages.field1273 == null) {
Messages.field1273 = new class312();
}
} else {
Messages.field1273 = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2953 == var1.serverPacket) {
var17 = var3.method7411();
var5 = var3.method7403();
var6 = var3.readUnsignedShort();
var25 = ChatChannel.getWidget(var17);
var25.field3260 = var6 + (var5 << 16);
var1.serverPacket = null;
return true;
}
int var13;
String var41;
if (ServerPacket.field3012 == var1.serverPacket) {
var45 = var3.readStringCp1252NullTerminated();
var29 = (long)var3.readUnsignedShort();
var31 = (long)var3.readMedium();
PlayerType var37 = (PlayerType)class130.findEnumerated(SpotAnimationDefinition.PlayerType_values(), var3.readUnsignedByte());
long var38 = (var29 << 32) + var31;
boolean var40 = false;
for (var13 = 0; var13 < 100; ++var13) {
if (crossWorldMessageIds[var13] == var38) {
var40 = true;
break;
}
}
if (GameEngine.friendSystem.isIgnored(new Username(var45, class194.loginType))) {
var40 = true;
}
if (!var40 && field590 == 0) {
crossWorldMessageIds[crossWorldMessageIdsIndex] = var38;
crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100;
var41 = AbstractFont.escapeBrackets(class412.method7287(SequenceDefinition.method3689(var3)));
byte var76;
if (var37.isPrivileged) {
var76 = 7;
} else {
var76 = 3;
}
if (var37.modIcon != -1) {
class194.addGameMessage(var76, class221.method4705(var37.modIcon) + var45, var41);
} else {
class194.addGameMessage(var76, var45, var41);
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3025 == var1.serverPacket) {
LoginScreenAnimation.logOut();
var1.serverPacket = null;
return false;
}
if (ServerPacket.field3024 == var1.serverPacket) {
var68 = var3.method7465();
var5 = var3.readUnsignedShort();
Varps.Varps_temp[var5] = var68;
if (Varps.Varps_main[var5] != var68) {
Varps.Varps_main[var5] = var68;
}
class281.changeGameOptions(var5);
changedVarps[++changedVarpCount - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2971 == var1.serverPacket) {
var17 = var3.method7392();
var5 = var3.method7392();
var57 = var3.readStringCp1252NullTerminated();
if (var5 >= 1 && var5 <= 8) {
if (var57.equalsIgnoreCase("null")) {
var57 = null;
}
playerMenuActions[var5 - 1] = var57;
playerOptionsPriorities[var5 - 1] = var17 == 0;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2979 == var1.serverPacket) {
var68 = var3.readByte();
var29 = (long)var3.readUnsignedShort();
var31 = (long)var3.readMedium();
var33 = (var29 << 32) + var31;
boolean var28 = false;
ClanChannel var42 = var68 >= 0 ? currentClanChannels[var68] : UserComparator5.guestClanChannel;
if (var42 == null) {
var28 = true;
} else {
for (var13 = 0; var13 < 100; ++var13) {
if (var33 == crossWorldMessageIds[var13]) {
var28 = true;
break;
}
}
}
if (!var28) {
crossWorldMessageIds[crossWorldMessageIdsIndex] = var33;
crossWorldMessageIdsIndex = (crossWorldMessageIdsIndex + 1) % 100;
var41 = SequenceDefinition.method3689(var3);
int var36 = var68 >= 0 ? 43 : 46;
DevicePcmPlayerProvider.addChatMessage(var36, "", var41, var42.name);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3014 == var1.serverPacket) {
minimapState = var3.readUnsignedByte();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2997 == var1.serverPacket) {
GrandExchangeOfferOwnWorldComparator.updateNpcs(true, var3);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3022 == var1.serverPacket) {
field583 = cycleCntr;
var68 = var3.readByte();
if (var1.serverPacketLength == 1) {
if (var68 >= 0) {
currentClanChannels[var68] = null;
} else {
UserComparator5.guestClanChannel = null;
}
var1.serverPacket = null;
return true;
}
if (var68 >= 0) {
currentClanChannels[var68] = new ClanChannel(var3);
} else {
UserComparator5.guestClanChannel = new ClanChannel(var3);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3013 == var1.serverPacket) {
var17 = var3.method7411();
var5 = var3.method7403();
Varps.Varps_temp[var5] = var17;
if (Varps.Varps_main[var5] != var17) {
Varps.Varps_main[var5] = var17;
}
class281.changeGameOptions(var5);
changedVarps[++changedVarpCount - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2933 == var1.serverPacket) {
var66 = var3.readUnsignedByte() == 1;
if (var66) {
WorldMapSprite.field2727 = Ignored.method6459() - var3.readLong();
grandExchangeEvents = new GrandExchangeEvents(var3, true);
} else {
grandExchangeEvents = null;
}
field669 = cycleCntr;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2946 == var1.serverPacket) {
class17.field90 = var3.method7392();
class167.field1813 = var3.readUnsignedByte();
for (var17 = class17.field90; var17 < class17.field90 + 8; ++var17) {
for (var5 = class167.field1813; var5 < class167.field1813 + 8; ++var5) {
if (groundItems[class20.Client_plane][var17][var5] != null) {
groundItems[class20.Client_plane][var17][var5] = null;
MouseHandler.updateItemPile(var17, var5);
}
}
}
for (PendingSpawn var47 = (PendingSpawn)pendingSpawns.last(); var47 != null; var47 = (PendingSpawn)pendingSpawns.previous()) {
if (var47.x >= class17.field90 && var47.x < class17.field90 + 8 && var47.y >= class167.field1813 && var47.y < class167.field1813 + 8 && var47.plane == class20.Client_plane) {
var47.hitpoints = 0;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3019 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2911);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3006 == var1.serverPacket) {
var17 = var3.readInt();
InterfaceParent var60 = (InterfaceParent)interfaceParents.get((long)var17);
if (var60 != null) {
class10.closeInterface(var60, true);
}
if (meslayerContinueWidget != null) {
SecureRandomCallable.invalidateWidget(meslayerContinueWidget);
meslayerContinueWidget = null;
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2947 == var1.serverPacket) {
byte[] var46 = new byte[var1.serverPacketLength];
var3.method7312(var46, 0, var46.length);
Buffer var59 = new Buffer(var46);
var57 = var59.readStringCp1252NullTerminated();
WorldMapSprite.openURL(var57, true, false);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2959 == var1.serverPacket) {
var17 = var3.method7411();
var5 = var3.method7499();
var18 = ChatChannel.getWidget(var17);
if (var18.modelType != 2 || var5 != var18.modelId) {
var18.modelType = 2;
var18.modelId = var5;
SecureRandomCallable.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2936 == var1.serverPacket) {
for (var17 = 0; var17 < Varps.Varps_main.length; ++var17) {
if (Varps.Varps_temp[var17] != Varps.Varps_main[var17]) {
Varps.Varps_main[var17] = Varps.Varps_temp[var17];
class281.changeGameOptions(var17);
changedVarps[++changedVarpCount - 1 & 31] = var17;
}
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2974 == var1.serverPacket) {
var17 = var3.method7412();
var58 = ChatChannel.getWidget(var17);
var58.modelType = 3;
var58.modelId = class340.localPlayer.appearance.getChatHeadId();
SecureRandomCallable.invalidateWidget(var58);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3010 == var1.serverPacket) {
updatePlayers(var3, var1.serverPacketLength);
WorldMapLabelSize.method4373();
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2966 == var1.serverPacket) {
ObjectSound.readReflectionCheck(var3, var1.serverPacketLength);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2964 == var1.serverPacket) {
UserComparator6.method2551();
var17 = var3.readUnsignedByte();
var5 = var3.method7394();
var6 = var3.method7411();
experience[var5] = var6;
currentLevels[var5] = var17;
levels[var5] = 1;
for (var7 = 0; var7 < 98; ++var7) {
if (var6 >= Skills.Skills_experienceTable[var7]) {
levels[var5] = var7 + 2;
}
}
changedSkills[++changedSkillsCount - 1 & 31] = var5;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2995 == var1.serverPacket) {
var3.offset += 28;
if (var3.checkCrc()) {
ObjectComposition.method3541(var3, var3.offset - 28);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2975 == var1.serverPacket) {
var17 = var3.readUnsignedShort();
if (var17 == 65535) {
var17 = -1;
}
class18.playSong(var17);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field3003 == var1.serverPacket) {
var17 = var3.method7508();
var5 = var3.method7401();
if (var5 == 65535) {
var5 = -1;
}
class315.method5822(var5, var17);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2987 == var1.serverPacket) {
var17 = var3.readUnsignedShort();
var5 = var3.method7411();
var18 = ChatChannel.getWidget(var5);
if (var18.modelType != 1 || var17 != var18.modelId) {
var18.modelType = 1;
var18.modelId = var17;
SecureRandomCallable.invalidateWidget(var18);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2941 == var1.serverPacket) {
var17 = var3.method7401();
ReflectionCheck.method662(var17);
changedItemContainers[++field665 - 1 & 31] = var17 & 32767;
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2950 == var1.serverPacket) {
var17 = var3.readUnsignedByte();
SecureRandomFuture.forceDisconnect(var17);
var1.serverPacket = null;
return false;
}
if (ServerPacket.field2992 == var1.serverPacket) {
var17 = var3.method7412();
var5 = var3.method7401();
var6 = var5 >> 10 & 31;
var7 = var5 >> 5 & 31;
var26 = var5 & 31;
var9 = (var7 << 11) + (var6 << 19) + (var26 << 3);
Widget var10 = ChatChannel.getWidget(var17);
if (var9 != var10.color) {
var10.color = var9;
SecureRandomCallable.invalidateWidget(var10);
}
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2954 == var1.serverPacket) {
var45 = var3.readStringCp1252NullTerminated();
var19 = AbstractFont.escapeBrackets(class412.method7287(SequenceDefinition.method3689(var3)));
class194.addGameMessage(6, var45, var19);
var1.serverPacket = null;
return true;
}
if (ServerPacket.field2956 == var1.serverPacket) {
DirectByteArrayCopier.method5328(class253.field2917);
var1.serverPacket = null;
return true;
}
AccessFile.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * -836596687 * 884821201 : -1) + "," + (var1.field1290 != null ? var1.field1290.id * -836596687 * 884821201 : -1) + "," + (var1.field1291 != null ? var1.field1291.id * -836596687 * 884821201 : -1) + "," + var1.serverPacketLength, (Throwable)null);
LoginScreenAnimation.logOut();
} catch (IOException var43) {
Varcs.method2411();
} catch (Exception var44) {
var19 = "" + (var1.serverPacket != null ? var1.serverPacket.id * -836596687 * 884821201 : -1) + "," + (var1.field1290 != null ? var1.field1290.id * -836596687 * 884821201 : -1) + "," + (var1.field1291 != null ? var1.field1291.id * -836596687 * 884821201 : -1) + "," + var1.serverPacketLength + "," + (class340.localPlayer.pathX[0] + class131.baseX) + "," + (class340.localPlayer.pathY[0] + TileItem.baseY) + ",";
for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) {
var19 = var19 + var3.array[var6] + ",";
}
AccessFile.RunException_sendStackTrace(var19, var44);
LoginScreenAnimation.logOut();
}
return true;
}
}
@ObfuscatedName("ip")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "49"
)
@Export("menu")
final void menu() {
Message.incrementMenuEntries();
if (class143.dragInventoryWidget == null) {
if (clickedWidget == null) {
int var1 = MouseHandler.MouseHandler_lastButton;
int var2;
int var3;
int var4;
int var5;
int var7;
int var8;
if (isMenuOpen) {
if (var1 != 1 && (class150.mouseCam || var1 != 4)) {
var2 = MouseHandler.MouseHandler_x;
var3 = MouseHandler.MouseHandler_y;
if (var2 < ModeWhere.menuX - 10 || var2 > GameObject.menuWidth + ModeWhere.menuX + 10 || var3 < BufferedSink.menuY - 10 || var3 > BufferedSink.menuY + UserComparator3.menuHeight + 10) {
isMenuOpen = false;
class10.method124(ModeWhere.menuX, BufferedSink.menuY, GameObject.menuWidth, UserComparator3.menuHeight);
}
}
if (var1 == 1 || !class150.mouseCam && var1 == 4) {
var2 = ModeWhere.menuX;
var3 = BufferedSink.menuY;
var4 = GameObject.menuWidth;
var5 = MouseHandler.MouseHandler_lastPressedX;
int var10 = MouseHandler.MouseHandler_lastPressedY;
var7 = -1;
for (var8 = 0; var8 < menuOptionsCount; ++var8) {
int var9 = var3 + (menuOptionsCount - 1 - var8) * 15 + 31;
if (var5 > var2 && var5 < var4 + var2 && var10 > var9 - 13 && var10 < var9 + 3) {
var7 = var8;
}
}
if (var7 != -1) {
class17.method291(var7);
}
isMenuOpen = false;
class10.method124(ModeWhere.menuX, BufferedSink.menuY, GameObject.menuWidth, UserComparator3.menuHeight);
}
} else {
var2 = UserComparator10.method2543();
if ((var1 == 1 || !class150.mouseCam && var1 == 4) && var2 >= 0) {
var3 = menuOpcodes[var2];
if (var3 == 39 || var3 == 40 || var3 == 41 || var3 == 42 || var3 == 43 || var3 == 33 || var3 == 34 || var3 == 35 || var3 == 36 || var3 == 37 || var3 == 38 || var3 == 1005) {
var4 = menuArguments1[var2];
var5 = menuArguments2[var2];
Widget var6 = ChatChannel.getWidget(var5);
if (class257.method5020(class363.getWidgetFlags(var6)) || MouseHandler.method649(class363.getWidgetFlags(var6))) {
if (class143.dragInventoryWidget != null && !field572 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) {
var7 = draggedWidgetX;
var8 = draggedWidgetY;
WorldMapIcon_1.method4385(class87.tempMenuAction, var7, var8);
class87.tempMenuAction = null;
}
field572 = false;
itemDragDuration = 0;
if (class143.dragInventoryWidget != null) {
SecureRandomCallable.invalidateWidget(class143.dragInventoryWidget);
}
class143.dragInventoryWidget = ChatChannel.getWidget(var5);
dragItemSlotSource = var4;
draggedWidgetX = MouseHandler.MouseHandler_lastPressedX;
draggedWidgetY = MouseHandler.MouseHandler_lastPressedY;
if (var2 >= 0) {
class16.method239(var2);
}
SecureRandomCallable.invalidateWidget(class143.dragInventoryWidget);
return;
}
}
}
if ((var1 == 1 || !class150.mouseCam && var1 == 4) && this.shouldLeftClickOpenMenu()) {
var1 = 2;
}
if ((var1 == 1 || !class150.mouseCam && var1 == 4) && menuOptionsCount > 0) {
class17.method291(var2);
}
if (var1 == 2 && menuOptionsCount > 0) {
this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY);
}
}
}
}
}
@ObfuscatedName("ig")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "-2019357274"
)
@Export("shouldLeftClickOpenMenu")
final boolean shouldLeftClickOpenMenu() {
int var1 = UserComparator10.method2543();
boolean var2 = leftClickOpensMenu == 1 && menuOptionsCount > 2;
if (!var2) {
boolean var3;
if (var1 < 0) {
var3 = false;
} else {
int var4 = menuOpcodes[var1];
if (var4 >= 2000) {
var4 -= 2000;
}
if (var4 == 1007) {
var3 = true;
} else {
var3 = false;
}
}
var2 = var3;
}
return var2 && !menuShiftClick[var1];
}
@ObfuscatedName("im")
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "-193534652"
)
@Export("openMenu")
final void openMenu(int var1, int var2) {
MouseHandler.method646(var1, var2);
class7.scene.menuOpen(class20.Client_plane, var1, var2, false);
isMenuOpen = true;
}
@ObfuscatedName("jq")
@ObfuscatedSignature(
descriptor = "(ZB)V",
garbageValue = "-48"
)
@Export("resizeRoot")
final void resizeRoot(boolean var1) {
class18.method297(rootInterface, class186.canvasWidth, BoundaryObject.canvasHeight, var1);
}
@ObfuscatedName("jc")
@ObfuscatedSignature(
descriptor = "(Ljm;I)V",
garbageValue = "-1768383258"
)
@Export("alignWidget")
void alignWidget(Widget var1) {
Widget var2 = var1.parentId == -1 ? null : ChatChannel.getWidget(var1.parentId);
int var3;
int var4;
if (var2 == null) {
var3 = class186.canvasWidth;
var4 = BoundaryObject.canvasHeight;
} else {
var3 = var2.width;
var4 = var2.height;
}
class29.alignWidgetSize(var1, var3, var4, false);
MouseHandler.alignWidgetPosition(var1, var3, var4);
}
@ObfuscatedName("kd")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1117157787"
)
final void method1174() {
SecureRandomCallable.invalidateWidget(clickedWidget);
++class87.widgetDragDuration;
if (field657 && field531) {
int var1 = MouseHandler.MouseHandler_x;
int var2 = MouseHandler.MouseHandler_y;
var1 -= widgetClickX;
var2 -= widgetClickY;
if (var1 < field681) {
var1 = field681;
}
if (var1 + clickedWidget.width > field681 + clickedWidgetParent.width) {
var1 = field681 + clickedWidgetParent.width - clickedWidget.width;
}
if (var2 < field659) {
var2 = field659;
}
if (var2 + clickedWidget.height > field659 + clickedWidgetParent.height) {
var2 = field659 + clickedWidgetParent.height - clickedWidget.height;
}
int var3 = var1 - field658;
int var4 = var2 - field660;
int var5 = clickedWidget.dragZoneSize;
if (class87.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) {
isDraggingWidget = true;
}
int var6 = var1 - field681 + clickedWidgetParent.scrollX;
int var7 = var2 - field659 + 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;
class285.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;
class285.runScriptEvent(var8);
}
if (draggedOnWidget != null && SpotAnimationDefinition.method3340(clickedWidget) != null) {
PacketBufferNode var11 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2816, packetWriter.isaacCipher);
var11.packetBuffer.method7407(draggedOnWidget.id);
var11.packetBuffer.method7398(clickedWidget.childIndex);
var11.packetBuffer.method7493(draggedOnWidget.itemId);
var11.packetBuffer.method7493(draggedOnWidget.childIndex);
var11.packetBuffer.writeShort(clickedWidget.itemId);
var11.packetBuffer.writeInt(clickedWidget.id);
packetWriter.addNode(var11);
}
} else if (this.shouldLeftClickOpenMenu()) {
this.openMenu(field658 + widgetClickX, widgetClickY + field660);
} else if (menuOptionsCount > 0) {
int var10 = widgetClickX + field658;
int var9 = widgetClickY + field660;
WorldMapIcon_1.method4385(class87.tempMenuAction, var10, var9);
class87.tempMenuAction = null;
}
clickedWidget = null;
}
} else {
if (class87.widgetDragDuration > 1) {
clickedWidget = null;
}
}
}
@ObfuscatedName("lu")
@ObfuscatedSignature(
descriptor = "(I)Lpo;",
garbageValue = "-1191894118"
)
@Export("username")
public Username username() {
return class340.localPlayer != null ? class340.localPlayer.username : null;
}
public final void init() {
try {
if (this.checkHost()) {
int var7;
for (int var1 = 0; var1 <= 27; ++var1) {
String var2 = this.getParameter(Integer.toString(var1));
if (var2 != null) {
switch(var1) {
case 1:
useBufferedSocket = Integer.parseInt(var2) != 0;
case 2:
case 13:
case 16:
case 18:
case 19:
case 20:
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:
ScriptFrame.clientLanguage = Language.method5826(Integer.parseInt(var2));
break;
case 7:
int var4 = Integer.parseInt(var2);
GameBuild[] var5 = new GameBuild[]{GameBuild.BUILDLIVE, GameBuild.RC, GameBuild.LIVE, GameBuild.WIP};
GameBuild[] var6 = var5;
var7 = 0;
GameBuild var3;
while (true) {
if (var7 >= var6.length) {
var3 = null;
break;
}
GameBuild var8 = var6[var7];
if (var4 == var8.buildId) {
var3 = var8;
break;
}
++var7;
}
StudioGame.field3456 = var3;
break;
case 8:
if (var2.equalsIgnoreCase("true")) {
}
break;
case 9:
class1.field3 = var2;
break;
case 10:
class338.field4054 = (StudioGame)class130.findEnumerated(WorldMapAreaData.method4894(), Integer.parseInt(var2));
if (class338.field4054 == StudioGame.oldscape) {
class194.loginType = LoginType.oldscape;
} else {
class194.loginType = LoginType.field4405;
}
break;
case 11:
class257.field3044 = var2;
break;
case 12:
worldId = Integer.parseInt(var2);
break;
case 14:
FriendLoginUpdate.field4096 = Integer.parseInt(var2);
break;
case 15:
gameBuild = Integer.parseInt(var2);
break;
case 17:
AbstractWorldMapIcon.field2761 = var2;
break;
case 21:
field473 = Integer.parseInt(var2);
break;
case 22:
field526 = Integer.parseInt(var2) != 0;
}
}
}
Scene.Scene_isLowDetail = false;
isLowDetail = false;
class185.worldHost = this.getCodeBase().getHost();
String var17 = StudioGame.field3456.name;
byte var18 = 0;
try {
class143.idxCount = 21;
UserComparator3.cacheGamebuild = var18;
try {
Coord.operatingSystemName = System.getProperty("os.name");
} catch (Exception var32) {
Coord.operatingSystemName = "Unknown";
}
JagexCache.formattedOperatingSystemName = Coord.operatingSystemName.toLowerCase();
try {
class409.userHomeDirectory = System.getProperty("user.home");
if (class409.userHomeDirectory != null) {
class409.userHomeDirectory = class409.userHomeDirectory + "/";
}
} catch (Exception var31) {
}
try {
if (JagexCache.formattedOperatingSystemName.startsWith("win")) {
if (class409.userHomeDirectory == null) {
class409.userHomeDirectory = System.getenv("USERPROFILE");
}
} else if (class409.userHomeDirectory == null) {
class409.userHomeDirectory = System.getenv("HOME");
}
if (class409.userHomeDirectory != null) {
class409.userHomeDirectory = class409.userHomeDirectory + "/";
}
} catch (Exception var30) {
}
if (class409.userHomeDirectory == null) {
class409.userHomeDirectory = "~/";
}
UserComparator3.cacheParentPaths = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", class409.userHomeDirectory, "/tmp/", ""};
BufferedSource.cacheSubPaths = new String[]{".jagex_cache_" + UserComparator3.cacheGamebuild, ".file_store_" + UserComparator3.cacheGamebuild};
int var19 = 0;
label275:
while (var19 < 4) {
String var37 = var19 == 0 ? "" : "" + var19;
Huffman.JagexCache_locationFile = new File(class409.userHomeDirectory, "jagex_cl_oldschool_" + var17 + var37 + ".dat");
String var39 = null;
String var20 = null;
boolean var21 = false;
File var42;
if (Huffman.JagexCache_locationFile.exists()) {
try {
AccessFile var9 = new AccessFile(Huffman.JagexCache_locationFile, "rw", 10000L);
Buffer var10;
int var11;
for (var10 = new Buffer((int)var9.length()); var10.offset < var10.array.length; var10.offset += var11) {
var11 = var9.read(var10.array, var10.offset, var10.array.length - var10.offset);
if (var11 == -1) {
throw new IOException();
}
}
var10.offset = 0;
var11 = var10.readUnsignedByte();
if (var11 < 1 || var11 > 3) {
throw new IOException("" + var11);
}
int var12 = 0;
if (var11 > 1) {
var12 = var10.readUnsignedByte();
}
if (var11 <= 2) {
var39 = var10.readStringCp1252NullCircumfixed();
if (var12 == 1) {
var20 = var10.readStringCp1252NullCircumfixed();
}
} else {
var39 = var10.readCESU8();
if (var12 == 1) {
var20 = var10.readCESU8();
}
}
var9.close();
} catch (IOException var34) {
var34.printStackTrace();
}
if (var39 != null) {
var42 = new File(var39);
if (!var42.exists()) {
var39 = null;
}
}
if (var39 != null) {
var42 = new File(var39, "test.dat");
if (!BoundaryObject.method4321(var42, true)) {
var39 = null;
}
}
}
if (var39 == null && var19 == 0) {
label250:
for (int var22 = 0; var22 < BufferedSource.cacheSubPaths.length; ++var22) {
for (int var23 = 0; var23 < UserComparator3.cacheParentPaths.length; ++var23) {
File var24 = new File(UserComparator3.cacheParentPaths[var23] + BufferedSource.cacheSubPaths[var22] + File.separatorChar + "oldschool" + File.separatorChar);
if (var24.exists()) {
File var13 = new File(var24, "test.dat");
boolean var44;
try {
RandomAccessFile var14 = new RandomAccessFile(var13, "rw");
int var15 = var14.read();
var14.seek(0L);
var14.write(var15);
var14.seek(0L);
var14.close();
var13.delete();
var44 = true;
} catch (Exception var29) {
var44 = false;
}
if (var44) {
var39 = var24.toString();
var21 = true;
break label250;
}
}
}
}
}
if (var39 == null) {
var39 = class409.userHomeDirectory + File.separatorChar + "jagexcache" + var37 + File.separatorChar + "oldschool" + File.separatorChar + var17 + File.separatorChar;
var21 = true;
}
if (var20 != null) {
File var41 = new File(var20);
var42 = new File(var39);
try {
File[] var46 = var41.listFiles();
File[] var25 = var46;
for (int var26 = 0; var26 < var25.length; ++var26) {
File var45 = var25[var26];
File var27 = new File(var42, var45.getName());
boolean var16 = var45.renameTo(var27);
if (!var16) {
throw new IOException();
}
}
} catch (Exception var33) {
var33.printStackTrace();
}
var21 = true;
}
if (var21) {
MusicPatchPcmStream.method5272(new File(var39), (File)null);
}
File var28 = new File(var39);
class13.cacheDir = var28;
if (!class13.cacheDir.exists()) {
class13.cacheDir.mkdirs();
}
File[] var38 = class13.cacheDir.listFiles();
if (var38 != null) {
File[] var43 = var38;
for (var7 = 0; var7 < var43.length; ++var7) {
File var40 = var43[var7];
if (!BoundaryObject.method4321(var40, false)) {
++var19;
continue label275;
}
}
}
break;
}
MusicPatchNode2.method5048(class13.cacheDir);
class368.method6744();
JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(GameEngine.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(GameEngine.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
JagexCache.JagexCache_idxFiles = new BufferedFile[class143.idxCount];
for (var19 = 0; var19 < class143.idxCount; ++var19) {
JagexCache.JagexCache_idxFiles[var19] = new BufferedFile(new AccessFile(GameEngine.getFile("main_file_cache.idx" + var19), "rw", 1048576L), 6000, 0);
}
} catch (Exception var35) {
AccessFile.RunException_sendStackTrace((String)null, var35);
}
class295.client = this;
class398.clientType = clientType;
if (field499 == -1) {
field499 = 0;
}
WorldMapAreaData.field2772 = System.getenv("JX_ACCESS_TOKEN");
System.getenv("JX_REFRESH_TOKEN");
this.startThread(765, 503, 202);
}
} catch (RuntimeException var36) {
throw class139.newRunException(var36, "client.init(" + ')');
}
}
public void setOAuthTokens(String var1, String var2) {
if (var1 != null && !var1.trim().isEmpty() && var2 != null && !var2.trim().isEmpty()) {
WorldMapAreaData.field2772 = var1;
PlayerType.method5521(10);
}
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(II)V",
garbageValue = "242484540"
)
static void method1623(int var0) {
class366.field4192 = var0;
class366.field4191 = new class366[var0];
class149.field1663 = 0;
}
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "(Lpj;II)V",
garbageValue = "-925897416"
)
@Export("updatePlayers")
static final void updatePlayers(PacketBuffer var0, int var1) {
int var2 = var0.offset;
Players.Players_pendingUpdateCount = 0;
int var3 = 0;
var0.importIndex();
byte[] var10000;
int var4;
int var6;
int var7;
for (var4 = 0; var4 < Players.Players_count; ++var4) {
var7 = Players.Players_indices[var4];
if ((Players.field1243[var7] & 1) == 0) {
if (var3 > 0) {
--var3;
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
var6 = var0.readBits(1);
if (var6 == 0) {
var3 = class124.method2747(var0);
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
class231.readPlayerUpdate(var0, var7);
}
}
}
}
var0.exportIndex();
if (var3 != 0) {
throw new RuntimeException();
} else {
var0.importIndex();
for (var4 = 0; var4 < Players.Players_count; ++var4) {
var7 = Players.Players_indices[var4];
if ((Players.field1243[var7] & 1) != 0) {
if (var3 > 0) {
--var3;
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
var6 = var0.readBits(1);
if (var6 == 0) {
var3 = class124.method2747(var0);
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
class231.readPlayerUpdate(var0, var7);
}
}
}
}
var0.exportIndex();
if (var3 != 0) {
throw new RuntimeException();
} else {
var0.importIndex();
for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) {
var7 = Players.Players_emptyIndices[var4];
if ((Players.field1243[var7] & 1) != 0) {
if (var3 > 0) {
--var3;
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
var6 = var0.readBits(1);
if (var6 == 0) {
var3 = class124.method2747(var0);
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else if (Decimator.updateExternalPlayer(var0, var7)) {
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
}
}
}
}
var0.exportIndex();
if (var3 != 0) {
throw new RuntimeException();
} else {
var0.importIndex();
for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) {
var7 = Players.Players_emptyIndices[var4];
if ((Players.field1243[var7] & 1) == 0) {
if (var3 > 0) {
--var3;
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else {
var6 = var0.readBits(1);
if (var6 == 0) {
var3 = class124.method2747(var0);
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
} else if (Decimator.updateExternalPlayer(var0, var7)) {
var10000 = Players.field1243;
var10000[var7] = (byte)(var10000[var7] | 2);
}
}
}
}
var0.exportIndex();
if (var3 != 0) {
throw new RuntimeException();
} else {
Players.Players_count = 0;
Players.Players_emptyIdxCount = 0;
Player var5;
for (var4 = 1; var4 < 2048; ++var4) {
var10000 = Players.field1243;
var10000[var4] = (byte)(var10000[var4] >> 1);
var5 = players[var4];
if (var5 != null) {
Players.Players_indices[++Players.Players_count - 1] = var4;
} else {
Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var4;
}
}
for (var3 = 0; var3 < Players.Players_pendingUpdateCount; ++var3) {
var4 = Players.Players_pendingUpdateIndices[var3];
var5 = players[var4];
var6 = var0.readUnsignedByte();
if ((var6 & 16) != 0) {
var6 += var0.readUnsignedByte() << 8;
}
class65.method1957(var0, var4, var5, var6);
}
if (var0.offset - var2 != var1) {
throw new RuntimeException(var0.offset - var2 + " " + var1);
}
}
}
}
}
}
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;I)V",
garbageValue = "1203328056"
)
static final void method1662(String var0) {
StringBuilder var10000 = new StringBuilder();
Object var10001 = null;
var10000 = var10000.append("Please remove ").append(var0);
var10001 = null;
String var1 = var10000.append(" from your ignore list first").toString();
class194.addGameMessage(30, "", var1);
}
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(I)Ljava/lang/String;",
garbageValue = "-2037672270"
)
static String method1668() {
String var0 = "";
Message var2;
for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') {
var2 = (Message)var1.next();
}
return var0;
}
@ObfuscatedName("as")
@ObfuscatedSignature(
descriptor = "(ILbn;ZB)I",
garbageValue = "-56"
)
static int method1667(int var0, Script var1, boolean var2) {
if (var0 == 6800) {
Interpreter.Interpreter_stringStack[++class13.Interpreter_stringStackSize - 1] = "";
return 1;
} else if (var0 != 6801 && var0 != 6802) {
if (var0 == 6850) {
Interpreter.Interpreter_stringStack[++class13.Interpreter_stringStackSize - 1] = "";
return 1;
} else if (var0 != 6851 && var0 != 6852) {
if (var0 == 6853) {
Interpreter.Interpreter_intStack[++IsaacCipher.Interpreter_intStackSize - 1] = 0;
return 1;
} else {
return 2;
}
} else {
Interpreter.Interpreter_intStack[++IsaacCipher.Interpreter_intStackSize - 1] = -1;
return 1;
}
} else {
Interpreter.Interpreter_intStack[++IsaacCipher.Interpreter_intStackSize - 1] = -1;
return 1;
}
}
@ObfuscatedName("jb")
@ObfuscatedSignature(
descriptor = "(Ljm;III)V",
garbageValue = "-1503401807"
)
@Export("Widget_addToMenu")
static final void Widget_addToMenu(Widget var0, int var1, int var2) {
if (var0.buttonType == 1) {
class11.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id);
}
String var3;
if (var0.buttonType == 2 && !isSpellSelected) {
var3 = SecureRandomFuture.Widget_getSpellActionName(var0);
if (var3 != null) {
class11.insertMenuItemNoShift(var3, UserComparator5.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id);
}
}
if (var0.buttonType == 3) {
class11.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id);
}
if (var0.buttonType == 4) {
class11.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id);
}
if (var0.buttonType == 5) {
class11.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id);
}
if (var0.buttonType == 6 && meslayerContinueWidget == null) {
class11.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id);
}
int var4;
int var19;
if (var0.type == 2) {
var19 = 0;
for (var4 = 0; var4 < var0.height; ++var4) {
for (int var21 = 0; var21 < var0.width; ++var21) {
int var22 = (var0.paddingX + 32) * var21;
int var7 = (var0.paddingY + 32) * var4;
if (var19 < 20) {
var22 += var0.inventoryXOffsets[var19];
var7 += var0.inventoryYOffsets[var19];
}
if (var1 >= var22 && var2 >= var7 && var1 < var22 + 32 && var2 < var7 + 32) {
dragItemSlotDestination = var19;
FloorOverlayDefinition.hoveredItemContainer = var0;
if (var0.itemIds[var19] > 0) {
label365: {
ItemComposition var8 = UserComparator6.ItemDefinition_get(var0.itemIds[var19] - 1);
boolean var9;
int var10;
if (isItemSelected == 1) {
var10 = class363.getWidgetFlags(var0);
var9 = (var10 >> 30 & 1) != 0;
if (var9) {
if (var0.id != MidiPcmStream.selectedItemWidget || var19 != Calendar.selectedItemSlot) {
class11.insertMenuItemNoShift("Use", selectedItemName + " " + "->" + " " + UserComparator5.colorStartTag(16748608) + var8.name, 31, var8.id, var19, var0.id);
}
break label365;
}
}
if (isSpellSelected) {
var10 = class363.getWidgetFlags(var0);
var9 = (var10 >> 30 & 1) != 0;
if (var9) {
if ((class91.selectedSpellFlags & 16) == 16) {
class11.insertMenuItemNoShift(selectedSpellActionName, selectedSpellName + " " + "->" + " " + UserComparator5.colorStartTag(16748608) + var8.name, 32, var8.id, var19, var0.id);
}
break label365;
}
}
String[] var23 = var8.inventoryActions;
var10 = -1;
if (shiftClickDrop && ArchiveLoader.method2125()) {
var10 = var8.getShiftClickIndex();
}
int var12 = class363.getWidgetFlags(var0);
boolean var11 = (var12 >> 30 & 1) != 0;
if (var11) {
for (int var13 = 4; var13 >= 3; --var13) {
if (var13 != var10) {
VarbitComposition.addWidgetItemMenuItem(var0, var8, var19, var13, false);
}
}
}
int var14 = class363.getWidgetFlags(var0);
boolean var24 = (var14 >> 31 & 1) != 0;
if (var24) {
class11.insertMenuItemNoShift("Use", UserComparator5.colorStartTag(16748608) + var8.name, 38, var8.id, var19, var0.id);
}
int var16 = class363.getWidgetFlags(var0);
boolean var15 = (var16 >> 30 & 1) != 0;
int var17;
if (var15) {
for (var17 = 2; var17 >= 0; --var17) {
if (var17 != var10) {
VarbitComposition.addWidgetItemMenuItem(var0, var8, var19, var17, false);
}
}
if (var10 >= 0) {
VarbitComposition.addWidgetItemMenuItem(var0, var8, var19, var10, true);
}
}
var23 = var0.itemActions;
if (var23 != null) {
for (var17 = 4; var17 >= 0; --var17) {
if (var23[var17] != null) {
byte var18 = 0;
if (var17 == 0) {
var18 = 39;
}
if (var17 == 1) {
var18 = 40;
}
if (var17 == 2) {
var18 = 41;
}
if (var17 == 3) {
var18 = 42;
}
if (var17 == 4) {
var18 = 43;
}
class11.insertMenuItemNoShift(var23[var17], UserComparator5.colorStartTag(16748608) + var8.name, var18, var8.id, var19, var0.id);
}
}
}
class11.insertMenuItemNoShift("Examine", UserComparator5.colorStartTag(16748608) + var8.name, 1005, var8.id, var19, var0.id);
}
}
}
++var19;
}
}
}
if (var0.isIf3) {
if (isSpellSelected) {
var4 = class363.getWidgetFlags(var0);
boolean var25 = (var4 >> 21 & 1) != 0;
if (var25 && (class91.selectedSpellFlags & 32) == 32) {
class11.insertMenuItemNoShift(selectedSpellActionName, selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id);
}
} else {
for (var19 = 9; var19 >= 5; --var19) {
String var20;
if (!WorldMapCacheName.method4864(class363.getWidgetFlags(var0), var19) && var0.onOp == null) {
var20 = null;
} else if (var0.actions != null && var0.actions.length > var19 && var0.actions[var19] != null && var0.actions[var19].trim().length() != 0) {
var20 = var0.actions[var19];
} else {
var20 = null;
}
if (var20 != null) {
class11.insertMenuItemNoShift(var20, var0.dataText, 1007, var19 + 1, var0.childIndex, var0.id);
}
}
var3 = SecureRandomFuture.Widget_getSpellActionName(var0);
if (var3 != null) {
class11.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id);
}
for (var4 = 4; var4 >= 0; --var4) {
String var5;
if (!WorldMapCacheName.method4864(class363.getWidgetFlags(var0), var4) && var0.onOp == null) {
var5 = null;
} else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) {
var5 = var0.actions[var4];
} else {
var5 = null;
}
if (var5 != null) {
class21.insertMenuItem(var5, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.prioritizeMenuEntry);
}
}
if (class20.method332(class363.getWidgetFlags(var0))) {
class11.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id);
}
}
}
}
}