import java.io.File; import java.io.IOException; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import netscape.javascript.JSObject; @Implements("Client") @ObfuscatedName("client") public final class Client extends GameShell implements Usernamed { @ObfuscatedName("mm") @ObfuscatedGetter( intValue = -783816509 ) @Export("rootWidgetGroup") static int rootWidgetGroup; @ObfuscatedName("mc") @ObfuscatedSignature( signature = "Lho;" ) @Export("clickedWidget") static Widget clickedWidget; @ObfuscatedName("oo") @ObfuscatedGetter( intValue = 1348053843 ) static int field98; @ObfuscatedName("os") @ObfuscatedGetter( intValue = -546798303 ) @Export("rootWidgetCount") static int rootWidgetCount; @ObfuscatedName("oa") @ObfuscatedGetter( longValue = 8818983958751331899L ) static long field99; @ObfuscatedName("od") static boolean[] field100; @ObfuscatedName("oq") static boolean[] field101; @ObfuscatedName("ot") static boolean[] field102; @ObfuscatedName("nt") static boolean field103; @ObfuscatedName("ng") @ObfuscatedGetter( intValue = -1379876433 ) @Export("cycleCntr") static int cycleCntr; @ObfuscatedName("or") @Export("isResizable") static boolean isResizable; @ObfuscatedName("ss") @ObfuscatedGetter( intValue = -451622431 ) public static int field104; @ObfuscatedName("na") @ObfuscatedGetter( intValue = -934082817 ) static int field105; @ObfuscatedName("nn") static boolean field106; @ObfuscatedName("qq") static boolean field107; @ObfuscatedName("mt") @ObfuscatedGetter( intValue = -1972775883 ) @Export("widgetClickX") static int widgetClickX; @ObfuscatedName("me") @ObfuscatedGetter( intValue = 1052276727 ) @Export("widgetClickY") static int widgetClickY; @ObfuscatedName("nw") @ObfuscatedGetter( intValue = -843739713 ) static int field108; @ObfuscatedName("mr") @ObfuscatedSignature( signature = "Lho;" ) @Export("clickedWidgetParent") static Widget clickedWidgetParent; @ObfuscatedName("oj") @Export("rootWidgetWidths") static int[] rootWidgetWidths; @ObfuscatedName("mj") @ObfuscatedSignature( signature = "Lld;" ) @Export("widgetGroupParents") static NodeHashTable widgetGroupParents; @ObfuscatedName("oy") @Export("rootWidgetXs") static int[] rootWidgetXs; @ObfuscatedName("nl") @ObfuscatedGetter( intValue = 1939745821 ) static int field109; @ObfuscatedName("mx") @ObfuscatedSignature( signature = "Lho;" ) @Export("viewportWidget") static Widget viewportWidget; @ObfuscatedName("oz") @ObfuscatedGetter( intValue = -12672775 ) @Export("gameDrawingMode") static int gameDrawingMode; @ObfuscatedName("ox") @Export("rootWidgetHeights") static int[] rootWidgetHeights; @ObfuscatedName("mw") @ObfuscatedGetter( intValue = 821563709 ) @Export("rights") static int rights; @ObfuscatedName("oi") @Export("rootWidgetYs") static int[] rootWidgetYs; @ObfuscatedName("qz") @Export("isCameraLocked") static boolean isCameraLocked; @ObfuscatedName("on") @ObfuscatedSignature( signature = "Lld;" ) @Export("widgetClickMasks") static NodeHashTable widgetClickMasks; @ObfuscatedName("tb") @ObfuscatedSignature( signature = "Lbl;" ) static final class65 field895; @ObfuscatedName("og") @ObfuscatedSignature( signature = "Lje;" ) @Export("scriptEvents") static NodeDeque scriptEvents; @ObfuscatedName("nk") @ObfuscatedGetter( intValue = 1019025247 ) static int field110; @ObfuscatedName("np") @ObfuscatedGetter( intValue = 1881890525 ) static int field111; @ObfuscatedName("pd") @ObfuscatedGetter( intValue = -362336323 ) @Export("destinationX") static int destinationX; @ObfuscatedName("pk") @ObfuscatedGetter( intValue = 1298845031 ) @Export("destinationY") static int destinationY; @ObfuscatedName("qy") @ObfuscatedGetter( intValue = -34294211 ) static int field112; @ObfuscatedName("tp") static int[] field113; @ObfuscatedName("th") static int[] field114; @ObfuscatedName("ny") @Export("isDraggingWidget") static boolean isDraggingWidget; @ObfuscatedName("oe") @ObfuscatedGetter( intValue = -1628183831 ) @Export("mouseWheelRotation") static int mouseWheelRotation; @ObfuscatedName("mk") @Export("selectedSpellActionName") static String selectedSpellActionName; @ObfuscatedName("mi") @ObfuscatedGetter( intValue = 933910819 ) @Export("runEnergy") static int runEnergy; @ObfuscatedName("mv") @ObfuscatedGetter( intValue = 36001423 ) @Export("weight") static int weight; @ObfuscatedName("mu") @Export("selectedSpellName") static String selectedSpellName; @ObfuscatedName("qc") @ObfuscatedGetter( intValue = -818676431 ) static int field115; @ObfuscatedName("nz") static int[] field116; @ObfuscatedName("ns") @ObfuscatedGetter( intValue = 743073293 ) static int field117; @ObfuscatedName("sd") @ObfuscatedGetter( intValue = 944933439 ) static int field118; @ObfuscatedName("ru") @ObfuscatedSignature( signature = "Lhi;" ) static PlayerAppearance field119; @ObfuscatedName("qa") @ObfuscatedGetter( intValue = -1481002083 ) @Export("soundEffectCount") static int soundEffectCount; @ObfuscatedName("sb") @ObfuscatedSignature( signature = "[Lx;" ) @Export("grandExchangeOffers") static GrandExchangeOffer[] grandExchangeOffers; @ObfuscatedName("qv") @Export("soundEffectIds") static int[] soundEffectIds; @ObfuscatedName("sy") @Export("indexCacheLoaders") static ArrayList indexCacheLoaders; @ObfuscatedName("sl") @ObfuscatedGetter( intValue = -1605855913 ) static int field120; @ObfuscatedName("md") @ObfuscatedSignature( signature = "Lho;" ) @Export("draggedOnWidget") static Widget draggedOnWidget; @ObfuscatedName("sq") @ObfuscatedGetter( intValue = -1546210597 ) @Export("indexCacheLoaderIndex") static int indexCacheLoaderIndex; @ObfuscatedName("qn") @Export("queuedSoundEffectLoops") static int[] queuedSoundEffectLoops; @ObfuscatedName("qd") @Export("queuedSoundEffectDelays") static int[] queuedSoundEffectDelays; @ObfuscatedName("nr") static int[] field121; @ObfuscatedName("nv") @ObfuscatedGetter( intValue = -758575207 ) static int field122; @ObfuscatedName("nd") @ObfuscatedGetter( intValue = 760022015 ) static int field123; @ObfuscatedName("ni") @ObfuscatedGetter( intValue = 1990512261 ) static int field124; @ObfuscatedName("qe") @ObfuscatedSignature( signature = "[Lci;" ) @Export("soundEffects") static SoundEffect[] soundEffects; @ObfuscatedName("qk") @Export("soundLocations") static int[] soundLocations; @ObfuscatedName("qm") @ObfuscatedGetter( intValue = -137788125 ) @Export("minimapState") static int minimapState; @ObfuscatedName("ph") @ObfuscatedGetter( intValue = 587773171 ) static int field125; @ObfuscatedName("pp") @ObfuscatedGetter( longValue = -1704358328771670975L ) static long field126; @ObfuscatedName("sk") @ObfuscatedSignature( signature = "Llm;" ) @Export("platformInfoProvider") static PlatformInfoProvider platformInfoProvider; @ObfuscatedName("mo") @ObfuscatedSignature( signature = "Lho;" ) static Widget field127; @ObfuscatedName("qf") @ObfuscatedGetter( intValue = 1365951359 ) static int field128; @ObfuscatedName("nh") @ObfuscatedGetter( intValue = -278874973 ) static int field129; @ObfuscatedName("rw") static short field130; @ObfuscatedName("qp") @ObfuscatedGetter( intValue = -1352723865 ) @Export("soundEffectVolume") static int soundEffectVolume; @ObfuscatedName("rm") static short field131; @ObfuscatedName("rs") static short field132; @ObfuscatedName("rp") static short field133; @ObfuscatedName("ri") static short field134; @ObfuscatedName("pi") @ObfuscatedGetter( intValue = 864673321 ) @Export("mapIconCount") static int mapIconCount; @ObfuscatedName("rz") @ObfuscatedGetter( intValue = 541065633 ) @Export("viewportZoom") static int viewportZoom; @ObfuscatedName("rv") static short field135; @ObfuscatedName("ry") @ObfuscatedGetter( intValue = 2035623995 ) @Export("viewportWidth") static int viewportWidth; @ObfuscatedName("rx") @ObfuscatedGetter( intValue = -629885193 ) @Export("viewportHeight") static int viewportHeight; @ObfuscatedName("ps") @Export("mapIconXs") static int[] mapIconXs; @ObfuscatedName("pw") @Export("mapIconYs") static int[] mapIconYs; @ObfuscatedName("mg") @ObfuscatedGetter( intValue = 247245677 ) @Export("chatEffects") static int chatEffects; @ObfuscatedName("po") @ObfuscatedSignature( signature = "[Lln;" ) @Export("mapIcons") static Sprite[] mapIcons; @ObfuscatedName("mb") @ObfuscatedGetter( intValue = 1694810089 ) static int field136; @ObfuscatedName("rr") @ObfuscatedGetter( intValue = 386331251 ) @Export("viewportOffsetX") static int viewportOffsetX; @ObfuscatedName("rn") @ObfuscatedGetter( intValue = 992721193 ) @Export("viewportOffsetY") static int viewportOffsetY; @ObfuscatedName("pm") @ObfuscatedGetter( intValue = -460406997 ) static int field137; @ObfuscatedName("pl") @ObfuscatedGetter( intValue = -1362734353 ) static int field138; @ObfuscatedName("rh") static boolean[] field139; @ObfuscatedName("ml") @ObfuscatedGetter( intValue = 1602665191 ) @Export("followerIndex") static int followerIndex; @ObfuscatedName("pt") @ObfuscatedGetter( intValue = -1802494233 ) @Export("publicChatMode") static int publicChatMode; @ObfuscatedName("sx") @ObfuscatedGetter( intValue = 206275573 ) static int field140; @ObfuscatedName("rd") static int[] field141; @ObfuscatedName("rl") static int[] field142; @ObfuscatedName("rj") static int[] field143; @ObfuscatedName("rk") static int[] field144; @ObfuscatedName("pn") static int[] field145; @ObfuscatedName("pq") static int[] field146; @ObfuscatedName("oh") @ObfuscatedSignature( signature = "Lje;" ) static NodeDeque field147; @ObfuscatedName("oc") @ObfuscatedSignature( signature = "Lje;" ) static NodeDeque field148; @ObfuscatedName("rb") static short field149; @ObfuscatedName("re") static short field150; @ObfuscatedName("mf") @ObfuscatedGetter( intValue = -1715020411 ) static int field151; @ObfuscatedName("pu") static long[] field152; @ObfuscatedName("ms") @ObfuscatedGetter( intValue = 2128395635 ) static int field153; @ObfuscatedName("nc") @ObfuscatedGetter( intValue = 344308849 ) static int field154; @ObfuscatedName("nf") @Export("changedSkills") static int[] changedSkills; @ObfuscatedName("nx") @ObfuscatedGetter( intValue = 1132932607 ) @Export("changedSkillsCount") static int changedSkillsCount; @ObfuscatedName("mn") static boolean field155; @ObfuscatedName("pb") @ObfuscatedGetter( intValue = 1230692157 ) static int field156; @ObfuscatedName("nq") @ObfuscatedGetter( intValue = 1467519791 ) @Export("chatCycle") static int chatCycle; @ObfuscatedName("mh") @ObfuscatedGetter( intValue = 535219347 ) static int field157; @ObfuscatedName("pz") static String field158; @ObfuscatedName("sj") @ObfuscatedSignature( signature = "Lbj;" ) static OwnWorldComparator field159; @ObfuscatedName("pv") static int[] field160; @ObfuscatedName("w") @ObfuscatedSignature( signature = "[Lfy;" ) @Export("collisionMaps") static CollisionMap[] collisionMaps; @ObfuscatedName("ai") static boolean field161; @ObfuscatedName("ba") @ObfuscatedGetter( intValue = 1412639841 ) @Export("worldId") public static int worldId; @ObfuscatedName("bb") @ObfuscatedGetter( intValue = 352819683 ) @Export("worldProperties") static int worldProperties; @ObfuscatedName("bq") @ObfuscatedGetter( intValue = 1186004739 ) @Export("gameBuild") static int gameBuild; @ObfuscatedName("bd") @Export("isMembersWorld") public static boolean isMembersWorld; @ObfuscatedName("bc") @Export("isLowDetail") static boolean isLowDetail; @ObfuscatedName("bo") @ObfuscatedGetter( intValue = 2068355509 ) @Export("language") static int language; @ObfuscatedName("bm") @ObfuscatedGetter( intValue = 1678472241 ) @Export("clientType") static int clientType; @ObfuscatedName("bl") static boolean field162; @ObfuscatedName("br") @ObfuscatedGetter( intValue = 244995961 ) @Export("gameState") static int gameState; @ObfuscatedName("cj") @Export("isLoading") static boolean isLoading; @ObfuscatedName("cu") @ObfuscatedGetter( intValue = 1909006131 ) @Export("cycle") static int cycle; @ObfuscatedName("cb") @ObfuscatedGetter( longValue = 8445874050676184263L ) @Export("mouseLastLastPressedTimeMillis") static long mouseLastLastPressedTimeMillis; @ObfuscatedName("cn") @ObfuscatedGetter( intValue = -1731573291 ) static int field163; @ObfuscatedName("cq") @ObfuscatedGetter( intValue = -1313705721 ) static int field164; @ObfuscatedName("ch") @ObfuscatedGetter( longValue = -6574384275386813769L ) static long field165; @ObfuscatedName("cw") static boolean field166; @ObfuscatedName("cg") @Export("displayFps") static boolean displayFps; @ObfuscatedName("cf") @ObfuscatedGetter( intValue = -1792536059 ) @Export("rebootTimer") static int rebootTimer; @ObfuscatedName("cp") @ObfuscatedGetter( intValue = -871534943 ) @Export("hintArrowType") static int hintArrowType; @ObfuscatedName("cl") @ObfuscatedGetter( intValue = 1485594821 ) @Export("hintArrowNpcIndex") static int hintArrowNpcIndex; @ObfuscatedName("ct") @ObfuscatedGetter( intValue = -1036874153 ) @Export("hintArrowPlayerIndex") static int hintArrowPlayerIndex; @ObfuscatedName("cz") @ObfuscatedGetter( intValue = -1757834373 ) @Export("hintArrowX") static int hintArrowX; @ObfuscatedName("cc") @ObfuscatedGetter( intValue = -123748133 ) @Export("hintArrowY") static int hintArrowY; @ObfuscatedName("ci") @ObfuscatedGetter( intValue = -627650567 ) @Export("hintArrowHeight") static int hintArrowHeight; @ObfuscatedName("cd") @ObfuscatedGetter( intValue = 749254081 ) @Export("hintArrowSubX") static int hintArrowSubX; @ObfuscatedName("cx") @ObfuscatedGetter( intValue = 1393270633 ) @Export("hintArrowSubY") static int hintArrowSubY; @ObfuscatedName("co") @ObfuscatedSignature( signature = "Lcj;" ) @Export("playerAttackOption") static AttackOption playerAttackOption; @ObfuscatedName("de") @ObfuscatedSignature( signature = "Lcj;" ) @Export("npcAttackOption") static AttackOption npcAttackOption; @ObfuscatedName("dt") @ObfuscatedGetter( intValue = -1520594673 ) @Export("titleLoadingStage") static int titleLoadingStage; @ObfuscatedName("da") @ObfuscatedGetter( intValue = -1431050759 ) @Export("js5ConnectState") static int js5ConnectState; @ObfuscatedName("dp") @ObfuscatedGetter( intValue = 1154760205 ) static int field167; @ObfuscatedName("ek") @ObfuscatedGetter( intValue = 1791955261 ) @Export("js5Errors") static int js5Errors; @ObfuscatedName("ed") @ObfuscatedGetter( intValue = -163579343 ) @Export("loginState") static int loginState; @ObfuscatedName("ex") @ObfuscatedGetter( intValue = 755300107 ) static int field168; @ObfuscatedName("ej") @ObfuscatedGetter( intValue = -964416527 ) static int field169; @ObfuscatedName("el") @ObfuscatedGetter( intValue = 689094231 ) static int field170; @ObfuscatedName("en") @ObfuscatedSignature( signature = "Lfc;" ) static class159 field658; @ObfuscatedName("eo") @ObfuscatedGetter( intValue = -447055355 ) static int field171; @ObfuscatedName("ew") @Export("Login_isUsernameRemembered") static boolean Login_isUsernameRemembered; @ObfuscatedName("eu") @ObfuscatedSignature( signature = "Lcn;" ) @Export("secureRandomFuture") static SecureRandomFuture secureRandomFuture; @ObfuscatedName("ev") static byte[] field172; @ObfuscatedName("ez") @ObfuscatedSignature( signature = "[Lcv;" ) @Export("npcs") static NPC[] npcs; @ObfuscatedName("ep") @ObfuscatedGetter( intValue = -1569269731 ) @Export("npcCount") static int npcCount; @ObfuscatedName("fq") @Export("npcIndices") static int[] npcIndices; @ObfuscatedName("fw") @ObfuscatedGetter( intValue = 516059665 ) static int field173; @ObfuscatedName("fg") static int[] field174; @ObfuscatedName("fj") @ObfuscatedSignature( signature = "Lcl;" ) @Export("packetWriter") public static final PacketWriter packetWriter; @ObfuscatedName("fd") @ObfuscatedGetter( intValue = -1050480853 ) static int field175; @ObfuscatedName("fh") static boolean field176; @ObfuscatedName("fx") @Export("useBufferedSocket") static boolean useBufferedSocket; @ObfuscatedName("fm") @ObfuscatedSignature( signature = "Ljo;" ) @Export("timer") static Timer timer; @ObfuscatedName("ft") @Export("fontsMap") static HashMap fontsMap; @ObfuscatedName("fe") @ObfuscatedGetter( intValue = 829228151 ) static int field177; @ObfuscatedName("fn") @ObfuscatedGetter( intValue = -597100741 ) static int field178; @ObfuscatedName("fk") @ObfuscatedGetter( intValue = 8470625 ) static int field179; @ObfuscatedName("gp") @ObfuscatedGetter( intValue = 685418907 ) static int field180; @ObfuscatedName("gh") @ObfuscatedGetter( intValue = -1456975367 ) static int field181; @ObfuscatedName("gg") @Export("isInInstance") static boolean isInInstance; @ObfuscatedName("gq") @Export("instanceChunkTemplates") static int[][][] instanceChunkTemplates; @ObfuscatedName("gd") static final int[] field182; @ObfuscatedName("gy") @ObfuscatedGetter( intValue = -134014371 ) static int field183; @ObfuscatedName("hx") @ObfuscatedGetter( intValue = -1406125895 ) static int field184; @ObfuscatedName("hn") @ObfuscatedGetter( intValue = -516933613 ) static int field185; @ObfuscatedName("hr") @ObfuscatedGetter( intValue = 1664350313 ) static int field186; @ObfuscatedName("hg") @ObfuscatedGetter( intValue = 1658018867 ) static int field187; @ObfuscatedName("hh") static boolean field188; @ObfuscatedName("hd") @ObfuscatedGetter( intValue = 438998245 ) static int field189; @ObfuscatedName("hw") @ObfuscatedGetter( intValue = 410614005 ) @Export("cameraPitchTarget") static int cameraPitchTarget; @ObfuscatedName("hp") @ObfuscatedGetter( intValue = -1163038981 ) @Export("minimapOrientation") static int minimapOrientation; @ObfuscatedName("hv") @ObfuscatedGetter( intValue = 218086227 ) static int field190; @ObfuscatedName("hu") @ObfuscatedGetter( intValue = -480633777 ) static int field191; @ObfuscatedName("hi") @ObfuscatedGetter( intValue = 402871301 ) static int field192; @ObfuscatedName("ht") @ObfuscatedGetter( intValue = 1502058429 ) static int field193; @ObfuscatedName("hj") @ObfuscatedGetter( intValue = -1420078475 ) @Export("oculusOrbState") static int oculusOrbState; @ObfuscatedName("ho") @ObfuscatedGetter( intValue = 1005832199 ) @Export("cameraFollowHeight") static int cameraFollowHeight; @ObfuscatedName("hc") @ObfuscatedGetter( intValue = -441913785 ) static int field194; @ObfuscatedName("hk") @ObfuscatedGetter( intValue = -1149138989 ) static int field195; @ObfuscatedName("if") @ObfuscatedGetter( intValue = -952172003 ) static int field196; @ObfuscatedName("ie") @ObfuscatedGetter( intValue = 236939601 ) @Export("oculusOrbNormalSpeed") static int oculusOrbNormalSpeed; @ObfuscatedName("in") @ObfuscatedGetter( intValue = 351193663 ) static int field197; @ObfuscatedName("il") @ObfuscatedGetter( intValue = -1063713523 ) public static int field198; @ObfuscatedName("ij") static boolean field199; @ObfuscatedName("iy") @ObfuscatedGetter( intValue = -1213062413 ) static int field200; @ObfuscatedName("is") static boolean field201; @ObfuscatedName("ik") @ObfuscatedGetter( intValue = 910983131 ) static int field202; @ObfuscatedName("ir") @ObfuscatedGetter( intValue = 616180377 ) @Export("overheadTextCount") static int overheadTextCount; @ObfuscatedName("iv") @ObfuscatedGetter( intValue = 1889277277 ) @Export("overheadTextLimit") static int overheadTextLimit; @ObfuscatedName("it") @Export("selectedItemName") static String selectedItemName; @ObfuscatedName("iq") @Export("overheadTextXs") static int[] overheadTextXs; @ObfuscatedName("iu") @Export("overheadTextYs") static int[] overheadTextYs; @ObfuscatedName("ip") @Export("overheadTextAscents") static int[] overheadTextAscents; @ObfuscatedName("ib") @Export("overheadTextXOffsets") static int[] overheadTextXOffsets; @ObfuscatedName("ic") @Export("overheadTextColors") static int[] overheadTextColors; @ObfuscatedName("iw") @Export("overheadTextEffects") static int[] overheadTextEffects; @ObfuscatedName("io") @Export("overheadTextCyclesRemaining") static int[] overheadTextCyclesRemaining; @ObfuscatedName("ih") @Export("overheadText") static String[] overheadText; @ObfuscatedName("im") @Export("tileLastDrawnActor") static int[][] tileLastDrawnActor; @ObfuscatedName("ii") @ObfuscatedGetter( intValue = 289477221 ) @Export("viewportDrawCount") static int viewportDrawCount; @ObfuscatedName("ig") @ObfuscatedGetter( intValue = 424442889 ) @Export("viewportTempX") static int viewportTempX; @ObfuscatedName("ia") @ObfuscatedGetter( intValue = -81902865 ) @Export("viewportTempY") static int viewportTempY; @ObfuscatedName("jb") @ObfuscatedGetter( intValue = 202604997 ) @Export("mouseCrossX") static int mouseCrossX; @ObfuscatedName("jq") @ObfuscatedGetter( intValue = -1984048653 ) @Export("mouseCrossY") static int mouseCrossY; @ObfuscatedName("jw") @ObfuscatedGetter( intValue = -1302827103 ) @Export("mouseCrossState") static int mouseCrossState; @ObfuscatedName("jm") @ObfuscatedGetter( intValue = 233318639 ) @Export("mouseCrossColor") static int mouseCrossColor; @ObfuscatedName("jr") @Export("showMouseCross") static boolean showMouseCross; @ObfuscatedName("ju") @ObfuscatedGetter( intValue = 1691923909 ) static int field203; @ObfuscatedName("jz") @ObfuscatedGetter( intValue = -1267243587 ) static int field204; @ObfuscatedName("jp") @ObfuscatedGetter( intValue = 485534011 ) @Export("dragItemSlotSource") static int dragItemSlotSource; @ObfuscatedName("ja") @ObfuscatedGetter( intValue = 813973829 ) static int field205; @ObfuscatedName("je") @ObfuscatedGetter( intValue = 1959822241 ) static int field206; @ObfuscatedName("jy") @ObfuscatedGetter( intValue = -836653679 ) @Export("dragItemSlotDestination") static int dragItemSlotDestination; @ObfuscatedName("jl") static boolean field207; @ObfuscatedName("jt") @ObfuscatedGetter( intValue = 1486366835 ) @Export("itemDragDuration") static int itemDragDuration; @ObfuscatedName("jc") @ObfuscatedGetter( intValue = 1084498299 ) static int field208; @ObfuscatedName("jj") @Export("showLoadingMessages") static boolean showLoadingMessages; @ObfuscatedName("jd") @ObfuscatedSignature( signature = "[Lbr;" ) @Export("players") static Player[] players; @ObfuscatedName("ji") @ObfuscatedGetter( intValue = -1869532553 ) @Export("localPlayerIndex") static int localPlayerIndex; @ObfuscatedName("jo") @ObfuscatedGetter( intValue = -836962805 ) static int field209; @ObfuscatedName("js") @Export("renderSelf") static boolean renderSelf; @ObfuscatedName("ke") @ObfuscatedGetter( intValue = -1208823721 ) static int field210; @ObfuscatedName("ky") @ObfuscatedGetter( intValue = -64320473 ) static int field211; @ObfuscatedName("kd") static int[] field212; @ObfuscatedName("kp") @Export("playerMenuOpcodes") static final int[] playerMenuOpcodes; @ObfuscatedName("kq") @Export("playerMenuActions") static String[] playerMenuActions; @ObfuscatedName("kv") @Export("playerOptionsPriorities") static boolean[] playerOptionsPriorities; @ObfuscatedName("kn") static int[] field213; @ObfuscatedName("kx") @ObfuscatedGetter( intValue = -1309758309 ) @Export("combatTargetPlayerIndex") static int combatTargetPlayerIndex; @ObfuscatedName("kz") @ObfuscatedSignature( signature = "[[[Lje;" ) @Export("groundItems") static NodeDeque[][][] groundItems; @ObfuscatedName("kh") @ObfuscatedSignature( signature = "Lje;" ) @Export("pendingSpawns") static NodeDeque pendingSpawns; @ObfuscatedName("kk") @ObfuscatedSignature( signature = "Lje;" ) @Export("projectiles") static NodeDeque projectiles; @ObfuscatedName("kt") @ObfuscatedSignature( signature = "Lje;" ) @Export("graphicsObjects") static NodeDeque graphicsObjects; @ObfuscatedName("ki") @Export("currentLevels") static int[] currentLevels; @ObfuscatedName("kr") @Export("levels") static int[] levels; @ObfuscatedName("kb") @Export("experience") static int[] experience; @ObfuscatedName("ku") @ObfuscatedGetter( intValue = -898263359 ) static int field215; @ObfuscatedName("kc") @Export("isMenuOpen") static boolean isMenuOpen; @ObfuscatedName("ll") @ObfuscatedGetter( intValue = -1749538901 ) @Export("menuOptionsCount") static int menuOptionsCount; @ObfuscatedName("ly") @Export("menuArguments1") static int[] menuArguments1; @ObfuscatedName("li") @Export("menuArguments2") static int[] menuArguments2; @ObfuscatedName("lh") @Export("menuOpcodes") static int[] menuOpcodes; @ObfuscatedName("lk") @Export("menuArguments0") static int[] menuArguments0; @ObfuscatedName("ld") @Export("menuActions") static String[] menuActions; @ObfuscatedName("la") @Export("menuTargetNames") static String[] menuTargetNames; @ObfuscatedName("lt") @Export("menuShiftClick") static boolean[] menuShiftClick; @ObfuscatedName("lw") @Export("followerOpsLowPriority") static boolean followerOpsLowPriority; @ObfuscatedName("lf") @Export("shiftClickDrop") static boolean shiftClickDrop; @ObfuscatedName("lp") @Export("tapToDrop") static boolean tapToDrop; @ObfuscatedName("lj") @Export("showMouseOverText") static boolean showMouseOverText; @ObfuscatedName("lq") @ObfuscatedGetter( intValue = 26099827 ) static int field216; @ObfuscatedName("ln") @ObfuscatedGetter( intValue = 885052255 ) static int field217; @ObfuscatedName("lb") @ObfuscatedGetter( intValue = 699084605 ) static int field218; @ObfuscatedName("ls") @ObfuscatedGetter( intValue = -274968037 ) static int field219; @ObfuscatedName("lz") @ObfuscatedGetter( intValue = 1630772923 ) @Export("isItemSelected") static int isItemSelected; @ObfuscatedName("lv") @Export("isSpellSelected") static boolean isSpellSelected; @ObfuscatedName("lc") @ObfuscatedGetter( intValue = 196309625 ) static int field220; @ObfuscatedName("j") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-1773624745" ) protected final void vmethod107() { field99 = class203.currentTimeMs() + 500L; this.method84(); if (rootWidgetGroup != -1) { this.method87(true); } } @ObfuscatedName("aw") @ObfuscatedSignature( signature = "(I)V", garbageValue = "1297880469" ) @Export("setUp") protected final void setUp() { WorldMapCacheName.method633(new int[]{20, 260, 10000}, new int[]{1000, 100, 500}); class2.port1 = gameBuild == 0 ? 43594 : worldId + 40000; WorldMapArea.port2 = gameBuild == 0 ? 443 : worldId + 50000; class203.port3 = class2.port1; PlayerAppearance.field726 = class226.field1132; class229.field1137 = class226.field1133; class227.field1136 = class226.field1134; IndexCacheLoader.field406 = class226.field1135; TriBool.urlRequester = new UrlRequester(); this.setUpKeyboard(); this.setUpMouse(); class16.mouseWheel = this.mouseWheel(); Fonts.indexStore255 = new IndexStore(255, class168.dat2File, class168.idx255File, 500000); ReflectionCheck.clientPreferences = class306.method5780(); this.setUpClipboard(); String var1 = Ignored.field402; class50.field1159 = this; if (var1 != null) { class50.field1160 = var1; } if (gameBuild != 0) { displayFps = true; } GroundItem.method2095(ReflectionCheck.clientPreferences.windowMode); WorldMapArea.friendSystem = new FriendSystem(KeyHandler.loginType); } @ObfuscatedName("al") @ObfuscatedSignature( signature = "(I)V", garbageValue = "1445885427" ) protected final void vmethod112() { ++cycle; this.doCycleJs5(); class3.method41(); int var1; try { if (class214.field1129 == 1) { var1 = class214.midiPcmStream.method170(); if (var1 > 0 && class214.midiPcmStream.isReady()) { var1 -= FaceNormal.field344; if (var1 < 0) { var1 = 0; } class214.midiPcmStream.method169(var1); } else { class214.midiPcmStream.clear(); class214.midiPcmStream.removeAll(); if (class214.field1130 != null) { class214.field1129 = 2; } else { class214.field1129 = 0; } class13.musicTrack = null; class307.soundCache = null; } } } catch (Exception var54) { var54.printStackTrace(); class214.midiPcmStream.clear(); class214.field1129 = 0; class13.musicTrack = null; class307.soundCache = null; class214.field1130 = null; } class13.playPcmPlayers(); class171.method3498(); MouseHandler var2 = MouseHandler.MouseHandler_instance; synchronized(MouseHandler.MouseHandler_instance) { MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButton0; MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_x0; MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_y0; MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_millis0; MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButton0; MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedX0; MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedY0; MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis0; MouseHandler.MouseHandler_lastButton0 = 0; } if (class16.mouseWheel != null) { var1 = class16.mouseWheel.useRotation(); mouseWheelRotation = var1; } if (gameState == 0) { class171.method3497(); class11.method145(); } else if (gameState == 5) { class54.method1092(this); class171.method3497(); class11.method145(); } else if (gameState != 10 && gameState != 11) { if (gameState == 20) { class54.method1092(this); this.doCycleLoggedOut(); } else if (gameState == 25) { UserComparator10.method3352(false); field177 = 0; boolean var3 = true; int var4; for (var4 = 0; var4 < class40.regionLandArchives.length; ++var4) { if (IndexCacheLoader.regionMapArchiveIds[var4] != -1 && class40.regionLandArchives[var4] == null) { class40.regionLandArchives[var4] = SecureRandomFuture.indexCache5.takeRecord(IndexCacheLoader.regionMapArchiveIds[var4], 0); if (class40.regionLandArchives[var4] == null) { var3 = false; ++field177; } } if (MouseHandler.regionLandArchiveIds[var4] != -1 && HealthBarUpdate.regionMapArchives[var4] == null) { HealthBarUpdate.regionMapArchives[var4] = SecureRandomFuture.indexCache5.takeRecordEncrypted(MouseHandler.regionLandArchiveIds[var4], 0, class190.xteaKeys[var4]); if (HealthBarUpdate.regionMapArchives[var4] == null) { var3 = false; ++field177; } } } if (!var3) { field181 = 1; } else { field179 = 0; var3 = true; int var5; int var6; for (var4 = 0; var4 < class40.regionLandArchives.length; ++var4) { byte[] var7 = HealthBarUpdate.regionMapArchives[var4]; if (var7 != null) { var5 = (class308.regions[var4] >> 8) * 64 - class50.baseX; var6 = (class308.regions[var4] & 255) * 64 - GraphicsObject.baseY; if (isInInstance) { var5 = 10; var6 = 10; } var3 &= TextureProvider.method2774(var7, var5, var6); } } if (!var3) { field181 = 2; } else { if (field181 != 0) { PendingSpawn.drawLoadingMessage("Loading - please wait.
(100%)", true); } class13.playPcmPlayers(); class65.scene.clear(); for (var4 = 0; var4 < 4; ++var4) { collisionMaps[var4].clear(); } int var55; for (var4 = 0; var4 < 4; ++var4) { for (var55 = 0; var55 < 104; ++var55) { for (var5 = 0; var5 < 104; ++var5) { Tiles.Tiles_renderFlags[var4][var55][var5] = 0; } } } class13.playPcmPlayers(); Tiles.Tiles_minPlane = 99; Tiles.field908 = new byte[4][104][104]; Fonts.field350 = new byte[4][104][104]; class32.field1157 = new byte[4][104][104]; class307.field1155 = new byte[4][104][104]; Tiles.field910 = new int[4][105][105]; Tiles.field909 = new byte[4][105][105]; Huffman.field398 = new int[105][105]; class13.field1112 = new int[104]; Formatting.field353 = new int[104]; class214.field1131 = new int[104]; WorldMapSectionType.field1104 = new int[104]; Message.field490 = new int[104]; var4 = class40.regionLandArchives.length; SpriteMask.method4390(); UserComparator10.method3352(true); int var8; int var9; int var10; int var11; int var12; int var13; int var14; int var15; int var16; int var17; int var18; int var19; int var20; int var21; if (!isInInstance) { byte[] var22; for (var55 = 0; var55 < var4; ++var55) { var5 = (class308.regions[var55] >> 8) * 64 - class50.baseX; var6 = (class308.regions[var55] & 255) * 64 - GraphicsObject.baseY; var22 = class40.regionLandArchives[var55]; if (var22 != null) { class13.playPcmPlayers(); Varcs.method2166(var22, var5, var6, GameObject.field359 * 8 - 48, WorldMapLabelSize.field1041 * 8 - 48, collisionMaps); } } for (var55 = 0; var55 < var4; ++var55) { var5 = (class308.regions[var55] >> 8) * 64 - class50.baseX; var6 = (class308.regions[var55] & 255) * 64 - GraphicsObject.baseY; var22 = class40.regionLandArchives[var55]; if (var22 == null && WorldMapLabelSize.field1041 < 800) { class13.playPcmPlayers(); UserComparator6.method3390(var5, var6, 64, 64); } } UserComparator10.method3352(true); for (var55 = 0; var55 < var4; ++var55) { byte[] var23 = HealthBarUpdate.regionMapArchives[var55]; if (var23 != null) { var6 = (class308.regions[var55] >> 8) * 64 - class50.baseX; var21 = (class308.regions[var55] & 255) * 64 - GraphicsObject.baseY; class13.playPcmPlayers(); Scene var24 = class65.scene; CollisionMap[] var25 = collisionMaps; Buffer var26 = new Buffer(var23); var8 = -1; while (true) { var9 = var26.method49(); if (var9 == 0) { break; } var8 += var9; var10 = 0; while (true) { var11 = var26.method48(); if (var11 == 0) { break; } var10 += var11 - 1; var12 = var10 & 63; var13 = var10 >> 6 & 63; var14 = var10 >> 12; var15 = var26.readUnsignedByte(); var16 = var15 >> 2; var17 = var15 & 3; var18 = var6 + var13; var19 = var12 + var21; if (var18 > 0 && var19 > 0 && var18 < 103 && var19 < 103) { var20 = var14; if ((Tiles.Tiles_renderFlags[1][var18][var19] & 2) == 2) { var20 = var14 - 1; } CollisionMap var27 = null; if (var20 >= 0) { var27 = var25[var20]; } class227.method4446(var14, var18, var19, var8, var17, var16, var24, var27); } } } } } } int var56; int var57; int var58; if (isInInstance) { var55 = 0; label998: while (true) { if (var55 >= 4) { for (var55 = 0; var55 < 13; ++var55) { for (var5 = 0; var5 < 13; ++var5) { var6 = instanceChunkTemplates[0][var55][var5]; if (var6 == -1) { UserComparator6.method3390(var55 * 8, var5 * 8, 8, 8); } } } UserComparator10.method3352(true); var55 = 0; while (true) { if (var55 >= 4) { break label998; } class13.playPcmPlayers(); for (var5 = 0; var5 < 13; ++var5) { for (var6 = 0; var6 < 13; ++var6) { var21 = instanceChunkTemplates[var55][var5][var6]; if (var21 != -1) { var56 = var21 >> 24 & 3; var57 = var21 >> 1 & 3; var58 = var21 >> 14 & 1023; var8 = var21 >> 3 & 2047; var9 = (var58 / 8 << 8) + var8 / 8; for (var10 = 0; var10 < class308.regions.length; ++var10) { if (class308.regions[var10] == var9 && HealthBarUpdate.regionMapArchives[var10] != null) { ServerPacket.method3662(HealthBarUpdate.regionMapArchives[var10], var55, var5 * 8, var6 * 8, var56, (var58 & 7) * 8, (var8 & 7) * 8, var57, class65.scene, collisionMaps); break; } } } } } ++var55; } } class13.playPcmPlayers(); for (var5 = 0; var5 < 13; ++var5) { for (var6 = 0; var6 < 13; ++var6) { boolean var59 = false; var56 = instanceChunkTemplates[var55][var5][var6]; if (var56 != -1) { var57 = var56 >> 24 & 3; var58 = var56 >> 1 & 3; var8 = var56 >> 14 & 1023; var9 = var56 >> 3 & 2047; var10 = (var8 / 8 << 8) + var9 / 8; for (var11 = 0; var11 < class308.regions.length; ++var11) { if (class308.regions[var11] == var10 && class40.regionLandArchives[var11] != null) { class204.method4013(class40.regionLandArchives[var11], var55, var5 * 8, var6 * 8, var57, (var8 & 7) * 8, (var9 & 7) * 8, var58, collisionMaps); var59 = true; break; } } } if (!var59) { var57 = var55; var58 = var5 * 8; var8 = var6 * 8; for (var9 = 0; var9 < 8; ++var9) { for (var10 = 0; var10 < 8; ++var10) { Tiles.Tiles_heights[var57][var9 + var58][var10 + var8] = 0; } } if (var58 > 0) { for (var9 = 1; var9 < 8; ++var9) { Tiles.Tiles_heights[var57][var58][var8 + var9] = Tiles.Tiles_heights[var57][var58 - 1][var8 + var9]; } } if (var8 > 0) { for (var9 = 1; var9 < 8; ++var9) { Tiles.Tiles_heights[var57][var58 + var9][var8] = Tiles.Tiles_heights[var57][var58 + var9][var8 - 1]; } } if (var58 > 0 && Tiles.Tiles_heights[var57][var58 - 1][var8] != 0) { Tiles.Tiles_heights[var57][var58][var8] = Tiles.Tiles_heights[var57][var58 - 1][var8]; } else if (var8 > 0 && Tiles.Tiles_heights[var57][var58][var8 - 1] != 0) { Tiles.Tiles_heights[var57][var58][var8] = Tiles.Tiles_heights[var57][var58][var8 - 1]; } else if (var58 > 0 && var8 > 0 && Tiles.Tiles_heights[var57][var58 - 1][var8 - 1] != 0) { Tiles.Tiles_heights[var57][var58][var8] = Tiles.Tiles_heights[var57][var58 - 1][var8 - 1]; } } } } ++var55; } } UserComparator10.method3352(true); class13.playPcmPlayers(); Scene var60 = class65.scene; CollisionMap[] var61 = collisionMaps; for (var6 = 0; var6 < 4; ++var6) { for (var21 = 0; var21 < 104; ++var21) { for (var56 = 0; var56 < 104; ++var56) { if ((Tiles.Tiles_renderFlags[var6][var21][var56] & 1) == 1) { var57 = var6; if ((Tiles.Tiles_renderFlags[1][var21][var56] & 2) == 2) { var57 = var6 - 1; } if (var57 >= 0) { var61[var57].method92(var21, var56); } } } } } Tiles.field917 += (int)(Math.random() * 5.0D) - 2; if (Tiles.field917 < -8) { Tiles.field917 = -8; } if (Tiles.field917 > 8) { Tiles.field917 = 8; } Tiles.field918 += (int)(Math.random() * 5.0D) - 2; if (Tiles.field918 < -16) { Tiles.field918 = -16; } if (Tiles.field918 > 16) { Tiles.field918 = 16; } int[] var10000; for (var6 = 0; var6 < 4; ++var6) { byte[][] var62 = Tiles.field909[var6]; var10 = (int)Math.sqrt(5100.0D); var11 = var10 * 768 >> 8; int var28; for (var12 = 1; var12 < 103; ++var12) { for (var13 = 1; var13 < 103; ++var13) { var14 = Tiles.Tiles_heights[var6][var13 + 1][var12] - Tiles.Tiles_heights[var6][var13 - 1][var12]; var15 = Tiles.Tiles_heights[var6][var13][var12 + 1] - Tiles.Tiles_heights[var6][var13][var12 - 1]; var16 = (int)Math.sqrt((double)(var15 * var15 + var14 * var14 + 65536)); var17 = (var14 << 8) / var16; var18 = 65536 / var16; var19 = (var15 << 8) / var16; var20 = (var19 * -50 + var17 * -50 + var18 * -10) / var11 + 96; var28 = (var62[var13 - 1][var12] >> 2) + (var62[var13][var12 - 1] >> 2) + (var62[var13 + 1][var12] >> 3) + (var62[var13][var12 + 1] >> 3) + (var62[var13][var12] >> 1); Huffman.field398[var13][var12] = var20 - var28; } } for (var12 = 0; var12 < 104; ++var12) { class13.field1112[var12] = 0; Formatting.field353[var12] = 0; class214.field1131[var12] = 0; WorldMapSectionType.field1104[var12] = 0; Message.field490[var12] = 0; } for (var12 = -5; var12 < 109; ++var12) { for (var13 = 0; var13 < 104; ++var13) { var14 = var12 + 5; int var10002; UnderlayDefinition var29; if (var14 >= 0 && var14 < 104) { var15 = Tiles.field908[var6][var14][var13] & 255; if (var15 > 0) { var29 = StudioGame.method4550(var15 - 1); var10000 = class13.field1112; var10000[var13] += var29.hue; var10000 = Formatting.field353; var10000[var13] += var29.saturation; var10000 = class214.field1131; var10000[var13] += var29.lightness; var10000 = WorldMapSectionType.field1104; var10000[var13] += var29.hueMultiplier; var10002 = Message.field490[var13]++; } } var15 = var12 - 5; if (var15 >= 0 && var15 < 104) { var16 = Tiles.field908[var6][var15][var13] & 255; if (var16 > 0) { var29 = StudioGame.method4550(var16 - 1); var10000 = class13.field1112; var10000[var13] -= var29.hue; var10000 = Formatting.field353; var10000[var13] -= var29.saturation; var10000 = class214.field1131; var10000[var13] -= var29.lightness; var10000 = WorldMapSectionType.field1104; var10000[var13] -= var29.hueMultiplier; var10002 = Message.field490[var13]--; } } } if (var12 >= 1 && var12 < 103) { var13 = 0; var14 = 0; var15 = 0; var16 = 0; var17 = 0; for (var18 = -5; var18 < 109; ++var18) { var19 = var18 + 5; if (var19 >= 0 && var19 < 104) { var13 += class13.field1112[var19]; var14 += Formatting.field353[var19]; var15 += class214.field1131[var19]; var16 += WorldMapSectionType.field1104[var19]; var17 += Message.field490[var19]; } var20 = var18 - 5; if (var20 >= 0 && var20 < 104) { var13 -= class13.field1112[var20]; var14 -= Formatting.field353[var20]; var15 -= class214.field1131[var20]; var16 -= WorldMapSectionType.field1104[var20]; var17 -= Message.field490[var20]; } if (var18 >= 1 && var18 < 103 && (!isLowDetail || (Tiles.Tiles_renderFlags[0][var12][var18] & 2) != 0 || (Tiles.Tiles_renderFlags[var6][var12][var18] & 16) == 0)) { if (var6 < Tiles.Tiles_minPlane) { Tiles.Tiles_minPlane = var6; } var28 = Tiles.field908[var6][var12][var18] & 255; int var65 = Fonts.field350[var6][var12][var18] & 255; if (var28 > 0 || var65 > 0) { int var30 = Tiles.Tiles_heights[var6][var12][var18]; int var31 = Tiles.Tiles_heights[var6][var12 + 1][var18]; int var32 = Tiles.Tiles_heights[var6][var12 + 1][var18 + 1]; int var33 = Tiles.Tiles_heights[var6][var12][var18 + 1]; int var34 = Huffman.field398[var12][var18]; int var35 = Huffman.field398[var12 + 1][var18]; int var36 = Huffman.field398[var12 + 1][var18 + 1]; int var37 = Huffman.field398[var12][var18 + 1]; int var38 = -1; int var39 = -1; int var40; int var41; int var42; if (var28 > 0) { var40 = var13 * 256 / var16; var41 = var14 / var17; var42 = var15 / var17; var38 = WorldMapAreaData.method712(var40, var41, var42); var40 = var40 + Tiles.field917 & 255; var42 += Tiles.field918; if (var42 < 0) { var42 = 0; } else if (var42 > 255) { var42 = 255; } var39 = WorldMapAreaData.method712(var40, var41, var42); } OverlayDefinition var43; if (var6 > 0) { boolean var44 = true; if (var28 == 0 && class32.field1157[var6][var12][var18] != 0) { var44 = false; } if (var65 > 0) { var42 = var65 - 1; var43 = (OverlayDefinition)OverlayDefinition.field664.get((long)var42); OverlayDefinition var45; if (var43 != null) { var45 = var43; } else { byte[] var46 = OverlayDefinition.field663.takeRecord(4, var42); var43 = new OverlayDefinition(); if (var46 != null) { var43.read(new Buffer(var46), var42); } var43.init(); OverlayDefinition.field664.put(var43, (long)var42); var45 = var43; } if (!var45.field665) { var44 = false; } } if (var44 && var30 == var31 && var30 == var32 && var33 == var30) { var10000 = Tiles.field910[var6][var12]; var10000[var18] |= 2340; } } var40 = 0; if (var39 != -1) { var40 = Rasterizer3D.Rasterizer3D_colorPalette[class15.method183(var39, 96)]; } if (var65 == 0) { var60.addTile(var6, var12, var18, 0, 0, -1, var30, var31, var32, var33, class15.method183(var38, var34), class15.method183(var38, var35), class15.method183(var38, var36), class15.method183(var38, var37), 0, 0, 0, 0, var40, 0); } else { var41 = class32.field1157[var6][var12][var18] + 1; byte var66 = class307.field1155[var6][var12][var18]; int var67 = var65 - 1; OverlayDefinition var68 = (OverlayDefinition)OverlayDefinition.field664.get((long)var67); if (var68 != null) { var43 = var68; } else { byte[] var47 = OverlayDefinition.field663.takeRecord(4, var67); var68 = new OverlayDefinition(); if (var47 != null) { var68.read(new Buffer(var47), var67); } var68.init(); OverlayDefinition.field664.put(var68, (long)var67); var43 = var68; } int var69 = var43.texture; int var48; int var49; int var50; int var51; if (var69 >= 0) { var49 = Rasterizer3D.Rasterizer3D_textureLoader.vmethod324(var69); var48 = -1; } else if (var43.rgb == 16711935) { var48 = -2; var69 = -1; var49 = -2; } else { var48 = WorldMapAreaData.method712(var43.hue, var43.saturation, var43.lightness); var50 = var43.hue + Tiles.field917 & 255; var51 = var43.lightness + Tiles.field918; if (var51 < 0) { var51 = 0; } else if (var51 > 255) { var51 = 255; } var49 = WorldMapAreaData.method712(var50, var43.saturation, var51); } var50 = 0; if (var49 != -2) { var50 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapDecoration.method348(var49, 96)]; } if (var43.rgb2 != -1) { var51 = var43.hue2 + Tiles.field917 & 255; int var52 = var43.lightness2 + Tiles.field918; if (var52 < 0) { var52 = 0; } else if (var52 > 255) { var52 = 255; } var49 = WorldMapAreaData.method712(var51, var43.saturation2, var52); var50 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapDecoration.method348(var49, 96)]; } var60.addTile(var6, var12, var18, var41, var66, var69, var30, var31, var32, var33, class15.method183(var38, var34), class15.method183(var38, var35), class15.method183(var38, var36), class15.method183(var38, var37), WorldMapDecoration.method348(var48, var34), WorldMapDecoration.method348(var48, var35), WorldMapDecoration.method348(var48, var36), WorldMapDecoration.method348(var48, var37), var40, var50); } } } } } } for (var12 = 1; var12 < 103; ++var12) { for (var13 = 1; var13 < 103; ++var13) { if ((Tiles.Tiles_renderFlags[var6][var13][var12] & 8) != 0) { var18 = 0; } else if (var6 > 0 && (Tiles.Tiles_renderFlags[1][var13][var12] & 2) != 0) { var18 = var6 - 1; } else { var18 = var6; } var60.setTileMinPlane(var6, var13, var12, var18); } } Tiles.field908[var6] = (byte[][])null; Fonts.field350[var6] = (byte[][])null; class32.field1157[var6] = (byte[][])null; class307.field1155[var6] = (byte[][])null; Tiles.field909[var6] = (byte[][])null; } var60.method293(-50, -10, -50); for (var6 = 0; var6 < 104; ++var6) { for (var21 = 0; var21 < 104; ++var21) { if ((Tiles.Tiles_renderFlags[1][var6][var21] & 2) == 2) { var60.setLinkBelow(var6, var21); } } } var6 = 1; var21 = 2; var56 = 4; for (var57 = 0; var57 < 4; ++var57) { if (var57 > 0) { var6 <<= 3; var21 <<= 3; var56 <<= 3; } for (var58 = 0; var58 <= var57; ++var58) { for (var8 = 0; var8 <= 104; ++var8) { for (var9 = 0; var9 <= 104; ++var9) { short var63; if ((Tiles.field910[var58][var9][var8] & var6) != 0) { var10 = var8; var11 = var8; var12 = var58; for (var13 = var58; var10 > 0 && (Tiles.field910[var58][var9][var10 - 1] & var6) != 0; --var10) { } while (var11 < 104 && (Tiles.field910[var58][var9][var11 + 1] & var6) != 0) { ++var11; } label649: while (var12 > 0) { for (var14 = var10; var14 <= var11; ++var14) { if ((Tiles.field910[var12 - 1][var9][var14] & var6) == 0) { break label649; } } --var12; } label638: while (var13 < var57) { for (var14 = var10; var14 <= var11; ++var14) { if ((Tiles.field910[var13 + 1][var9][var14] & var6) == 0) { break label638; } } ++var13; } var14 = (var11 - var10 + 1) * (var13 + 1 - var12); if (var14 >= 8) { var63 = 240; var16 = Tiles.Tiles_heights[var13][var9][var10] - var63; var17 = Tiles.Tiles_heights[var12][var9][var10]; Scene.Scene_addOccluder(var57, 1, var9 * 128, var9 * 128, var10 * 128, var11 * 128 + 128, var16, var17); for (var18 = var12; var18 <= var13; ++var18) { for (var19 = var10; var19 <= var11; ++var19) { var10000 = Tiles.field910[var18][var9]; var10000[var19] &= ~var6; } } } } if ((Tiles.field910[var58][var9][var8] & var21) != 0) { var10 = var9; var11 = var9; var12 = var58; for (var13 = var58; var10 > 0 && (Tiles.field910[var58][var10 - 1][var8] & var21) != 0; --var10) { } while (var11 < 104 && (Tiles.field910[var58][var11 + 1][var8] & var21) != 0) { ++var11; } label702: while (var12 > 0) { for (var14 = var10; var14 <= var11; ++var14) { if ((Tiles.field910[var12 - 1][var14][var8] & var21) == 0) { break label702; } } --var12; } label691: while (var13 < var57) { for (var14 = var10; var14 <= var11; ++var14) { if ((Tiles.field910[var13 + 1][var14][var8] & var21) == 0) { break label691; } } ++var13; } var14 = (var11 - var10 + 1) * (var13 + 1 - var12); if (var14 >= 8) { var63 = 240; var16 = Tiles.Tiles_heights[var13][var10][var8] - var63; var17 = Tiles.Tiles_heights[var12][var10][var8]; Scene.Scene_addOccluder(var57, 2, var10 * 128, var11 * 128 + 128, var8 * 128, var8 * 128, var16, var17); for (var18 = var12; var18 <= var13; ++var18) { for (var19 = var10; var19 <= var11; ++var19) { var10000 = Tiles.field910[var18][var19]; var10000[var8] &= ~var21; } } } } if ((Tiles.field910[var58][var9][var8] & var56) != 0) { var10 = var9; var11 = var9; var12 = var8; for (var13 = var8; var12 > 0 && (Tiles.field910[var58][var9][var12 - 1] & var56) != 0; --var12) { } while (var13 < 104 && (Tiles.field910[var58][var9][var13 + 1] & var56) != 0) { ++var13; } label755: while (var10 > 0) { for (var14 = var12; var14 <= var13; ++var14) { if ((Tiles.field910[var58][var10 - 1][var14] & var56) == 0) { break label755; } } --var10; } label744: while (var11 < 104) { for (var14 = var12; var14 <= var13; ++var14) { if ((Tiles.field910[var58][var11 + 1][var14] & var56) == 0) { break label744; } } ++var11; } if ((var13 - var12 + 1) * (var11 - var10 + 1) >= 4) { var14 = Tiles.Tiles_heights[var58][var10][var12]; Scene.Scene_addOccluder(var57, 4, var10 * 128, var11 * 128 + 128, var12 * 128, var13 * 128 + 128, var14, var14); for (var15 = var10; var15 <= var11; ++var15) { for (var16 = var12; var16 <= var13; ++var16) { var10000 = Tiles.field910[var58][var15]; var10000[var16] &= ~var56; } } } } } } } } UserComparator10.method3352(true); var6 = Tiles.Tiles_minPlane; if (var6 > SoundSystem.plane) { var6 = SoundSystem.plane; } if (var6 < SoundSystem.plane - 1) { var6 = SoundSystem.plane - 1; } if (isLowDetail) { class65.scene.init(Tiles.Tiles_minPlane); } else { class65.scene.init(0); } for (var21 = 0; var21 < 104; ++var21) { for (var56 = 0; var56 < 104; ++var56) { TilePaint.updateItemPile(var21, var56); } } class13.playPcmPlayers(); ScriptEvent.method1179(); ObjectDefinition.field641.clear(); PacketBufferNode var64; if (TextureProvider.client.hasFrame()) { var64 = Interpreter.method1915(ClientPacket.field231, packetWriter.isaacCipher); var64.packetBuffer.writeInt(1057001181); packetWriter.method241(var64); } if (!isInInstance) { var21 = (GameObject.field359 - 6) / 8; var56 = (GameObject.field359 + 6) / 8; var57 = (WorldMapLabelSize.field1041 - 6) / 8; var58 = (WorldMapLabelSize.field1041 + 6) / 8; for (var8 = var21 - 1; var8 <= var56 + 1; ++var8) { for (var9 = var57 - 1; var9 <= var58 + 1; ++var9) { if (var8 < var21 || var8 > var56 || var9 < var57 || var9 > var58) { SecureRandomFuture.indexCache5.method10("m" + var8 + "_" + var9); SecureRandomFuture.indexCache5.method10("l" + var8 + "_" + var9); } } } } GameShell.updateGameState(30); class13.playPcmPlayers(); BufferedSink.method3603(); var64 = Interpreter.method1915(ClientPacket.field298, packetWriter.isaacCipher); packetWriter.method241(var64); class11.method145(); } } } } else { class54.method1092(this); } if (gameState == 30) { this.doCycleLoggedIn(); } else if (gameState == 40 || gameState == 45) { this.doCycleLoggedOut(); } } @ObfuscatedName("ab") @ObfuscatedSignature( signature = "(ZI)V", garbageValue = "106302203" ) @Export("methodDraw") protected final void methodDraw(boolean var1) { boolean var2; label139: { try { if (class214.field1129 == 2) { if (class13.musicTrack == null) { class13.musicTrack = MusicTrack.readTrack(class214.field1130, class30.musicTrackArchiveId, GrandExchangeOffer.musicTrackFileId); if (class13.musicTrack == null) { var2 = false; break label139; } } if (class307.soundCache == null) { class307.soundCache = new SoundCache(class214.field1128, class214.field1127); } if (class214.midiPcmStream.loadMusicTrack(class13.musicTrack, class1.field1105, class307.soundCache, 22050)) { class214.midiPcmStream.clearAll(); class214.midiPcmStream.method169(WorldMapLabel.field1039); class214.midiPcmStream.setMusicTrack(class13.musicTrack, RectangleMode.musicTrackBoolean); class214.field1129 = 0; class13.musicTrack = null; class307.soundCache = null; class214.field1130 = null; var2 = true; break label139; } } } catch (Exception var4) { var4.printStackTrace(); class214.midiPcmStream.clear(); class214.field1129 = 0; class13.musicTrack = null; class307.soundCache = null; class214.field1130 = null; } var2 = false; } if (var2 && field107 && WorldMapCacheName.pcmPlayer0 != null) { WorldMapCacheName.pcmPlayer0.tryDiscard(); } if ((gameState == 10 || gameState == 20 || gameState == 30) && field99 != 0L && class203.currentTimeMs() > field99) { GroundItem.method2095(SpotAnimationDefinition.method4822()); } int var3; if (var1) { for (var3 = 0; var3 < 100; ++var3) { field100[var3] = true; } } if (gameState == 0) { this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); } else if (gameState == 5) { IndexCacheLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); } else if (gameState != 10 && gameState != 11) { if (gameState == 20) { IndexCacheLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); } else if (gameState == 25) { if (field181 == 1) { if (field177 > field178) { field178 = field177; } var3 = (field178 * 50 - field177 * 50) / field178; PendingSpawn.drawLoadingMessage("Loading - please wait.
(" + var3 + "%)", false); } else if (field181 == 2) { if (field179 > field180) { field180 = field179; } var3 = (field180 * 50 - field179 * 50) / field180 + 50; PendingSpawn.drawLoadingMessage("Loading - please wait.
(" + var3 + "%)", false); } else { PendingSpawn.drawLoadingMessage("Loading - please wait.", false); } } else if (gameState == 30) { this.drawLoggedIn(); } else if (gameState == 40) { PendingSpawn.drawLoadingMessage("Connection lost
Please wait - attempting to reestablish", false); } else if (gameState == 45) { PendingSpawn.drawLoadingMessage("Please wait...", false); } } else { IndexCacheLoader.drawTitle(class2.fontBold12, ScriptEvent.fontPlain11, DevicePcmPlayerProvider.fontPlain12); } if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { for (var3 = 0; var3 < rootWidgetCount; ++var3) { if (field102[var3]) { class197.rasterProvider.draw(rootWidgetXs[var3], rootWidgetYs[var3], rootWidgetWidths[var3], rootWidgetHeights[var3]); field102[var3] = false; } } } else if (gameState > 0) { class197.rasterProvider.drawFull(0, 0); for (var3 = 0; var3 < rootWidgetCount; ++var3) { field102[var3] = false; } } } @ObfuscatedName("ae") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-1879956387" ) @Export("kill0") protected final void kill0() { if (class196.varcs.hasUnwrittenChanges()) { class196.varcs.write(); } if (Projectile.mouseRecorder != null) { Projectile.mouseRecorder.isRunning = false; } Projectile.mouseRecorder = null; packetWriter.close(); if (KeyHandler.KeyHandler_instance != null) { KeyHandler var1 = KeyHandler.KeyHandler_instance; synchronized(KeyHandler.KeyHandler_instance) { KeyHandler.KeyHandler_instance = null; } } if (MouseHandler.MouseHandler_instance != null) { MouseHandler var8 = MouseHandler.MouseHandler_instance; synchronized(MouseHandler.MouseHandler_instance) { MouseHandler.MouseHandler_instance = null; } } class16.mouseWheel = null; if (WorldMapCacheName.pcmPlayer0 != null) { WorldMapCacheName.pcmPlayer0.shutdown(); } if (AbstractIndexCache.pcmPlayer1 != null) { AbstractIndexCache.pcmPlayer1.shutdown(); } if (NetCache.NetCache_socket != null) { NetCache.NetCache_socket.close(); } RunException.method3431(); if (TriBool.urlRequester != null) { TriBool.urlRequester.close(); TriBool.urlRequester = null; } try { class168.dat2File.close(); for (int var9 = 0; var9 < class168.idxCount; ++var9) { IndexStoreAction.idxFiles[var9].close(); } class168.idx255File.close(); class168.randomDat.close(); } catch (Exception var7) { } } @ObfuscatedName("au") @ObfuscatedSignature( signature = "(I)V", garbageValue = "1860808291" ) protected final void vmethod114() { } @ObfuscatedName("init") public final void vmethod117() { try { if (this.checkHost()) { ClientParameter[] var1 = class4.method47(); int var3 = 0; while (true) { int var2; if (var3 >= var1.length) { class237.method4539(); class50.worldHost = this.getCodeBase().getHost(); String var25 = class15.serverBuild.name; byte var26 = 0; try { class168.idxCount = 21; PacketBuffer.field667 = var26; try { class266.osName = System.getProperty("os.name"); } catch (Exception var20) { class266.osName = "Unknown"; } WorldMapSection3.osNameLowerCase = class266.osName.toLowerCase(); try { WorldMapSection1.userHomeDirectory = System.getProperty("user.home"); if (WorldMapSection1.userHomeDirectory != null) { WorldMapSection1.userHomeDirectory = WorldMapSection1.userHomeDirectory + "/"; } } catch (Exception var19) { } try { if (WorldMapSection3.osNameLowerCase.startsWith("win")) { if (WorldMapSection1.userHomeDirectory == null) { WorldMapSection1.userHomeDirectory = System.getenv("USERPROFILE"); } } else if (WorldMapSection1.userHomeDirectory == null) { WorldMapSection1.userHomeDirectory = System.getenv("HOME"); } if (WorldMapSection1.userHomeDirectory != null) { WorldMapSection1.userHomeDirectory = WorldMapSection1.userHomeDirectory + "/"; } } catch (Exception var18) { } if (WorldMapSection1.userHomeDirectory == null) { WorldMapSection1.userHomeDirectory = "~/"; } WorldMapSection2.cacheDirectoryLocations = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", WorldMapSection1.userHomeDirectory, "/tmp/", ""}; Canvas.field94 = new String[]{".jagex_cache_" + PacketBuffer.field667, ".file_store_" + PacketBuffer.field667}; int var27 = 0; label262: while (var27 < 4) { String var28 = var27 == 0 ? "" : "" + var27; class337.clDat = new File(WorldMapSection1.userHomeDirectory, "jagex_cl_oldschool_" + var25 + var28 + ".dat"); String var30 = null; String var31 = null; boolean var32 = false; int var14; File var33; if (class337.clDat.exists()) { try { AccessFile var11 = new AccessFile(class337.clDat, "rw", 10000L); int var12; Buffer var13; for (var13 = new Buffer((int)var11.length()); var13.index < var13.array.length; var13.index += var12) { var12 = var11.read(var13.array, var13.index, var13.array.length - var13.index); if (var12 == -1) { throw new IOException(); } } var13.index = 0; var12 = var13.readUnsignedByte(); if (var12 < 1 || var12 > 3) { throw new IOException("" + var12); } var14 = 0; if (var12 > 1) { var14 = var13.readUnsignedByte(); } if (var12 <= 2) { var30 = var13.readStringCp1252NullCircumfixed(); if (var14 == 1) { var31 = var13.readStringCp1252NullCircumfixed(); } } else { var30 = var13.method45(); if (var14 == 1) { var31 = var13.method45(); } } var11.close(); } catch (IOException var22) { var22.printStackTrace(); } if (var30 != null) { var33 = new File(var30); if (!var33.exists()) { var30 = null; } } if (var30 != null) { var33 = new File(var30, "test.dat"); if (!DevicePcmPlayerProvider.method847(var33, true)) { var30 = null; } } } if (var30 == null && var27 == 0) { label237: for (var2 = 0; var2 < Canvas.field94.length; ++var2) { for (int var34 = 0; var34 < WorldMapSection2.cacheDirectoryLocations.length; ++var34) { File var37 = new File(WorldMapSection2.cacheDirectoryLocations[var34] + Canvas.field94[var2] + File.separatorChar + "oldschool" + File.separatorChar); if (var37.exists() && DevicePcmPlayerProvider.method847(new File(var37, "test.dat"), true)) { var30 = var37.toString(); var32 = true; break label237; } } } } if (var30 == null) { var30 = WorldMapSection1.userHomeDirectory + File.separatorChar + "jagexcache" + var28 + File.separatorChar + "oldschool" + File.separatorChar + var25 + File.separatorChar; var32 = true; } File var15; File var36; File[] var38; File[] var39; if (var31 != null) { var36 = new File(var31); var33 = new File(var30); try { var38 = var36.listFiles(); var39 = var38; for (var14 = 0; var14 < var39.length; ++var14) { var15 = var39[var14]; File var16 = new File(var33, var15.getName()); boolean var17 = var15.renameTo(var16); if (!var17) { throw new IOException(); } } } catch (Exception var21) { var21.printStackTrace(); } var32 = true; } if (var32) { class14.method167(new File(var30), (File)null); } var36 = new File(var30); class168.field1115 = var36; if (!class168.field1115.exists()) { class168.field1115.mkdirs(); } var38 = class168.field1115.listFiles(); if (var38 != null) { var39 = var38; for (var14 = 0; var14 < var39.length; ++var14) { var15 = var39[var14]; if (!DevicePcmPlayerProvider.method847(var15, false)) { ++var27; continue label262; } } } break; } File var29 = class168.field1115; class171.field1118 = var29; if (!class171.field1118.exists()) { throw new RuntimeException(""); } class171.field1117 = true; Interpreter.method1976(); class168.dat2File = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); class168.idx255File = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); IndexStoreAction.idxFiles = new BufferedFile[class168.idxCount]; for (int var35 = 0; var35 < class168.idxCount; ++var35) { IndexStoreAction.idxFiles[var35] = new BufferedFile(new AccessFile(WorldMapIcon2.method315("main_file_cache.idx" + var35), "rw", 1048576L), 6000, 0); } } catch (Exception var23) { NPCDefinition.sendStackTrace((String)null, var23); } TextureProvider.client = this; RunException.field761 = clientType; this.startThread(765, 503, 180); break; } ClientParameter var4 = var1[var3]; String var5 = this.getParameter(var4.id); if (var5 != null) { switch(Integer.parseInt(var4.id)) { case 1: useBufferedSocket = Integer.parseInt(var5) != 0; case 2: case 11: case 13: case 16: default: break; case 3: if (var5.equalsIgnoreCase("true")) { isMembersWorld = true; } else { isMembersWorld = false; } break; case 4: if (clientType == -1) { clientType = Integer.parseInt(var5); } break; case 5: worldProperties = Integer.parseInt(var5); break; case 6: language = Integer.parseInt(var5); break; case 7: int var6 = Integer.parseInt(var5); ServerBuild[] var7 = new ServerBuild[]{ServerBuild.field786, ServerBuild.field787, ServerBuild.field784, ServerBuild.field785}; ServerBuild[] var8 = var7; var2 = 0; ServerBuild var9; while (true) { if (var2 >= var8.length) { var9 = null; break; } ServerBuild var10 = var8[var2]; if (var6 == var10.id) { var9 = var10; break; } ++var2; } class15.serverBuild = var9; break; case 8: if (var5.equalsIgnoreCase("true")) { } break; case 9: class21.field1123 = var5; break; case 10: class22.studioGame = (StudioGame)ScriptFrame.findEnumerated(ClientPacket.method3664(), Integer.parseInt(var5)); if (class22.studioGame == StudioGame.field892) { KeyHandler.loginType = LoginType.field479; } else { KeyHandler.loginType = LoginType.field487; } break; case 12: worldId = Integer.parseInt(var5); break; case 14: AbstractIndexCache.field2 = Integer.parseInt(var5); break; case 15: gameBuild = Integer.parseInt(var5); break; case 17: ServerBuild.worldsUrl = var5; } } ++var3; } } } catch (RuntimeException var24) { throw Players.method2120(var24, "client.init()"); } } @ObfuscatedName("ef") @ObfuscatedSignature( signature = "(B)V", garbageValue = "-78" ) @Export("doCycleJs5") void doCycleJs5() { if (gameState != 1000) { long var1 = class203.currentTimeMs(); int var3 = (int)(var1 - NetCache.field629); NetCache.field629 = var1; if (var3 > 200) { var3 = 200; } NetCache.field628 += var3; boolean var4; if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { var4 = true; } else if (NetCache.NetCache_socket == null) { var4 = false; } else { try { label205: { if (NetCache.field628 > 30000) { throw new IOException(); } NetFileRequest var5; Buffer var6; while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); var6 = new Buffer(4); var6.writeByte(1); var6.writeMedium((int)var5.key); NetCache.NetCache_socket.write(var6.array, 0, 4); NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key); --NetCache.NetCache_pendingPriorityWritesCount; ++NetCache.NetCache_pendingPriorityResponsesCount; } while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.last(); var6 = new Buffer(4); var6.writeByte(0); var6.writeMedium((int)var5.key); NetCache.NetCache_socket.write(var6.array, 0, 4); var5.removeDual(); NetCache.NetCache_pendingResponses.put(var5, var5.key); --NetCache.NetCache_pendingWritesCount; ++NetCache.NetCache_pendingResponsesCount; } for (int var7 = 0; var7 < 100; ++var7) { int var8 = NetCache.NetCache_socket.available(); if (var8 < 0) { throw new IOException(); } if (var8 == 0) { break; } NetCache.field628 = 0; byte var9 = 0; if (ModelData0.NetCache_currentResponse == null) { var9 = 8; } else if (NetCache.field630 == 0) { var9 = 1; } int var10; int var11; int var12; int var13; byte[] var10000; int var10001; Buffer var24; if (var9 > 0) { var10 = var9 - NetCache.NetCache_responseHeaderBuffer.index; if (var10 > var8) { var10 = var8; } NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.index, var10); if (NetCache.field631 != 0) { for (var11 = 0; var11 < var10; ++var11) { var10000 = NetCache.NetCache_responseHeaderBuffer.array; var10001 = NetCache.NetCache_responseHeaderBuffer.index + var11; var10000[var10001] ^= NetCache.field631; } } var24 = NetCache.NetCache_responseHeaderBuffer; var24.index += var10; if (NetCache.NetCache_responseHeaderBuffer.index < var9) { break; } if (ModelData0.NetCache_currentResponse == null) { NetCache.NetCache_responseHeaderBuffer.index = 0; var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); var12 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); int var14 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); var13 = NetCache.NetCache_responseHeaderBuffer.readInt(); long var15 = (long)(var12 + (var11 << 16)); NetFileRequest var17 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var15); WorldComparator.field988 = true; if (var17 == null) { var17 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var15); WorldComparator.field988 = false; } if (var17 == null) { throw new IOException(); } int var18 = var14 == 0 ? 5 : 9; ModelData0.NetCache_currentResponse = var17; class22.NetCache_responseArchiveBuffer = new Buffer(var13 + var18 + ModelData0.NetCache_currentResponse.padding); class22.NetCache_responseArchiveBuffer.writeByte(var14); class22.NetCache_responseArchiveBuffer.writeInt(var13); NetCache.field630 = 8; NetCache.NetCache_responseHeaderBuffer.index = 0; } else if (NetCache.field630 == 0) { if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { NetCache.field630 = 1; NetCache.NetCache_responseHeaderBuffer.index = 0; } else { ModelData0.NetCache_currentResponse = null; } } } else { var10 = class22.NetCache_responseArchiveBuffer.array.length - ModelData0.NetCache_currentResponse.padding; var11 = 512 - NetCache.field630; if (var11 > var10 - class22.NetCache_responseArchiveBuffer.index) { var11 = var10 - class22.NetCache_responseArchiveBuffer.index; } if (var11 > var8) { var11 = var8; } NetCache.NetCache_socket.read(class22.NetCache_responseArchiveBuffer.array, class22.NetCache_responseArchiveBuffer.index, var11); if (NetCache.field631 != 0) { for (var12 = 0; var12 < var11; ++var12) { var10000 = class22.NetCache_responseArchiveBuffer.array; var10001 = class22.NetCache_responseArchiveBuffer.index + var12; var10000[var10001] ^= NetCache.field631; } } var24 = class22.NetCache_responseArchiveBuffer; var24.index += var11; NetCache.field630 += var11; if (var10 == class22.NetCache_responseArchiveBuffer.index) { if (16711935L == ModelData0.NetCache_currentResponse.key) { Players.NetCache_reference = class22.NetCache_responseArchiveBuffer; for (var12 = 0; var12 < 256; ++var12) { IndexCache var22 = NetCache.NetCache_indexCaches[var12]; if (var22 != null) { Players.NetCache_reference.index = var12 * 8 + 5; var13 = Players.NetCache_reference.readInt(); int var23 = Players.NetCache_reference.readInt(); var22.loadIndexReference(var13, var23); } } } else { NetCache.NetCache_crc.reset(); NetCache.NetCache_crc.update(class22.NetCache_responseArchiveBuffer.array, 0, var10); var12 = (int)NetCache.NetCache_crc.getValue(); if (var12 != ModelData0.NetCache_currentResponse.crc) { try { NetCache.NetCache_socket.close(); } catch (Exception var20) { } ++NetCache.NetCache_crcMismatches; NetCache.NetCache_socket = null; NetCache.field631 = (byte)((int)(Math.random() * 255.0D + 1.0D)); var4 = false; break label205; } NetCache.NetCache_crcMismatches = 0; NetCache.NetCache_ioExceptions = 0; ModelData0.NetCache_currentResponse.indexCache.write((int)(ModelData0.NetCache_currentResponse.key & 65535L), class22.NetCache_responseArchiveBuffer.array, 16711680L == (ModelData0.NetCache_currentResponse.key & 16711680L), WorldComparator.field988); } ModelData0.NetCache_currentResponse.remove(); if (WorldComparator.field988) { --NetCache.NetCache_pendingPriorityResponsesCount; } else { --NetCache.NetCache_pendingResponsesCount; } NetCache.field630 = 0; ModelData0.NetCache_currentResponse = null; class22.NetCache_responseArchiveBuffer = null; } else { if (NetCache.field630 != 512) { break; } NetCache.field630 = 0; } } } var4 = true; } } catch (IOException var21) { try { NetCache.NetCache_socket.close(); } catch (Exception var19) { } ++NetCache.NetCache_ioExceptions; NetCache.NetCache_socket = null; var4 = false; } } if (!var4) { this.doCycleJs5Connect(); } } } @ObfuscatedName("ev") @ObfuscatedSignature( signature = "(B)V", garbageValue = "111" ) @Export("doCycleJs5Connect") void doCycleJs5Connect() { if (NetCache.NetCache_crcMismatches >= 4) { this.error("js5crc"); gameState = 1000; } else { if (NetCache.NetCache_ioExceptions >= 4) { if (gameState <= 5) { this.error("js5io"); gameState = 1000; return; } field167 = 3000; NetCache.NetCache_ioExceptions = 3; } if (--field167 + 1 <= 0) { try { if (js5ConnectState == 0) { class210.js5SocketTask = GameShell.taskHandler.newSocketTask(class50.worldHost, class203.port3); ++js5ConnectState; } if (js5ConnectState == 1) { if (class210.js5SocketTask.status == 2) { this.js5Error(-1); return; } if (class210.js5SocketTask.status == 1) { ++js5ConnectState; } } if (js5ConnectState == 2) { if (useBufferedSocket) { DynamicObject.js5Socket = BufferedFile.method2719((Socket)class210.js5SocketTask.result, 40000, 5000); } else { DynamicObject.js5Socket = new NetSocket((Socket)class210.js5SocketTask.result, GameShell.taskHandler, 5000); } Buffer var1 = new Buffer(5); var1.writeByte(15); var1.writeInt(180); DynamicObject.js5Socket.write(var1.array, 0, 5); ++js5ConnectState; GameObject.js5StartTimeMs = class203.currentTimeMs(); } if (js5ConnectState == 3) { if (DynamicObject.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { int var10 = DynamicObject.js5Socket.readUnsignedByte(); if (var10 != 0) { this.js5Error(var10); return; } ++js5ConnectState; } else if (class203.currentTimeMs() - GameObject.js5StartTimeMs > 30000L) { this.js5Error(-2); return; } } if (js5ConnectState == 4) { AbstractSocket var11 = DynamicObject.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 = var11; UserComparator9.method3343(var2); NetCache.NetCache_responseHeaderBuffer.index = 0; ModelData0.NetCache_currentResponse = null; class22.NetCache_responseArchiveBuffer = null; NetCache.field630 = 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.field631 != 0) { try { Buffer var4 = new Buffer(4); var4.writeByte(4); var4.writeByte(NetCache.field631); var4.writeShort(0); NetCache.NetCache_socket.write(var4.array, 0, 4); } catch (IOException var7) { try { NetCache.NetCache_socket.close(); } catch (Exception var6) { } ++NetCache.NetCache_ioExceptions; NetCache.NetCache_socket = null; } } NetCache.field628 = 0; NetCache.field629 = class203.currentTimeMs(); class210.js5SocketTask = null; DynamicObject.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("ea") @ObfuscatedSignature( signature = "(IS)V", garbageValue = "2348" ) @Export("js5Error") void js5Error(int var1) { class210.js5SocketTask = null; DynamicObject.js5Socket = null; js5ConnectState = 0; if (class2.port1 == class203.port3) { class203.port3 = WorldMapArea.port2; } else { class203.port3 = class2.port1; } ++js5Errors; if (js5Errors < 2 || var1 != 7 && var1 != 9) { if (js5Errors >= 2 && var1 == 6) { this.error("js5connect_outofdate"); gameState = 1000; } else if (js5Errors >= 4) { if (gameState <= 5) { this.error("js5connect"); gameState = 1000; } else { field167 = 3000; } } } else if (gameState <= 5) { this.error("js5connect_full"); gameState = 1000; } else { field167 = 3000; } } @ObfuscatedName("fg") @ObfuscatedSignature( signature = "(B)V", garbageValue = "-110" ) @Export("doCycleLoggedOut") final void doCycleLoggedOut() { Object var1 = packetWriter.getSocket(); PacketBuffer var2 = packetWriter.packetBuffer; try { if (loginState == 0) { if (WorldMapIcon1.secureRandom == null && (secureRandomFuture.isDone() || field168 > 250)) { WorldMapIcon1.secureRandom = secureRandomFuture.get(); secureRandomFuture.shutdown(); secureRandomFuture = null; } if (WorldMapIcon1.secureRandom != null) { if (var1 != null) { ((AbstractSocket)var1).close(); var1 = null; } UserComparator3.socketTask = null; field176 = false; field168 = 0; loginState = 1; } } if (loginState == 1) { if (UserComparator3.socketTask == null) { UserComparator3.socketTask = GameShell.taskHandler.newSocketTask(class50.worldHost, class203.port3); } if (UserComparator3.socketTask.status == 2) { throw new IOException(); } if (UserComparator3.socketTask.status == 1) { if (useBufferedSocket) { var1 = BufferedFile.method2719((Socket)UserComparator3.socketTask.result, 40000, 5000); } else { var1 = new NetSocket((Socket)UserComparator3.socketTask.result, GameShell.taskHandler, 5000); } packetWriter.setSocket((AbstractSocket)var1); UserComparator3.socketTask = null; loginState = 2; } } if (loginState == 2) { packetWriter.method239(); PacketBufferNode var3; if (PacketBufferNode.field668 == 0) { var3 = new PacketBufferNode(); } else { var3 = PacketBufferNode.packetBufferNodes[--PacketBufferNode.field668]; } var3.field669 = null; var3.field670 = 0; var3.packetBuffer = new PacketBuffer(5000); var3.packetBuffer.writeByte(LoginPacket.field473.id); packetWriter.method241(var3); packetWriter.method240(); var2.index = 0; loginState = 3; } int var4; boolean var16; if (loginState == 3) { if (WorldMapCacheName.pcmPlayer0 != null) { WorldMapCacheName.pcmPlayer0.method242(); } if (AbstractIndexCache.pcmPlayer1 != null) { AbstractIndexCache.pcmPlayer1.method242(); } var16 = true; if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { var16 = false; } if (var16) { var4 = ((AbstractSocket)var1).readUnsignedByte(); if (WorldMapCacheName.pcmPlayer0 != null) { WorldMapCacheName.pcmPlayer0.method242(); } if (AbstractIndexCache.pcmPlayer1 != null) { AbstractIndexCache.pcmPlayer1.method242(); } if (var4 != 0) { IsaacCipher.method4093(var4); return; } var2.index = 0; loginState = 4; } } int var5; if (loginState == 4) { if (var2.index < 8) { var5 = ((AbstractSocket)var1).available(); if (var5 > 8 - var2.index) { var5 = 8 - var2.index; } if (var5 > 0) { ((AbstractSocket)var1).read(var2.array, var2.index, var5); var2.index += var5; } } if (var2.index == 8) { var2.index = 0; MusicPatchNode2.field592 = var2.readLong(); loginState = 5; } } if (loginState == 5) { packetWriter.packetBuffer.index = 0; packetWriter.method239(); PacketBuffer var6 = new PacketBuffer(500); int[] var7 = new int[]{WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt(), WorldMapIcon1.secureRandom.nextInt()}; var6.index = 0; var6.writeByte(1); var6.writeInt(var7[0]); var6.writeInt(var7[1]); var6.writeInt(var7[2]); var6.writeInt(var7[3]); var6.writeLong(MusicPatchNode2.field592); if (gameState == 40) { var6.writeInt(Skills.field875[0]); var6.writeInt(Skills.field875[1]); var6.writeInt(Skills.field875[2]); var6.writeInt(Skills.field875[3]); } else { var6.writeByte(field658.rsOrdinal()); switch(field658.field1984) { case 0: case 3: var6.writeMedium(class13.otpInt); ++var6.index; break; case 1: var6.index += 4; break; case 2: var6.writeInt((Integer)ReflectionCheck.clientPreferences.parameters.get(class279.method5357(Login.Login_username))); } var6.writeByte(class313.field3834.rsOrdinal()); var6.writeStringCp1252NullTerminated(Login.Login_password); } var6.encryptRsa(class83.field1165, class83.field1166); Skills.field875 = var7; PacketBufferNode var8; if (PacketBufferNode.field668 == 0) { var8 = new PacketBufferNode(); } else { var8 = PacketBufferNode.packetBufferNodes[--PacketBufferNode.field668]; } var8.field669 = null; var8.field670 = 0; var8.packetBuffer = new PacketBuffer(5000); var8.packetBuffer.index = 0; if (gameState == 40) { var8.packetBuffer.writeByte(LoginPacket.field476.id); } else { var8.packetBuffer.writeByte(LoginPacket.field475.id); } var8.packetBuffer.writeShort(0); int var9 = var8.packetBuffer.index; var8.packetBuffer.writeInt(180); var8.packetBuffer.writeInt(1); var8.packetBuffer.writeByte(clientType); var8.packetBuffer.method38(var6.array, 0, var6.index); int var10 = var8.packetBuffer.index; var8.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); var8.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); var8.packetBuffer.writeShort(SoundCache.canvasWidth); var8.packetBuffer.writeShort(Huffman.canvasHeight); Varps.method4400(var8.packetBuffer); var8.packetBuffer.writeStringCp1252NullTerminated(class21.field1123); var8.packetBuffer.writeInt(AbstractIndexCache.field2); Buffer var11 = new Buffer(WorldMapLabelSize.platformInfo.size()); WorldMapLabelSize.platformInfo.write(var11); var8.packetBuffer.method38(var11.array, 0, var11.array.length); var8.packetBuffer.writeByte(clientType); var8.packetBuffer.writeInt(0); var8.packetBuffer.writeInt(AbstractIndexCache.indexCache0.hash); var8.packetBuffer.writeInt(Skeleton.indexCache1.hash); var8.packetBuffer.writeInt(ObjectSound.indexCache2.hash); var8.packetBuffer.writeInt(WorldMapIcon1.indexCache3.hash); var8.packetBuffer.writeInt(WorldMapDecoration.indexCache4.hash); var8.packetBuffer.writeInt(SecureRandomFuture.indexCache5.hash); var8.packetBuffer.writeInt(UserComparator3.indexCache6.hash); var8.packetBuffer.writeInt(class40.indexCache7.hash); var8.packetBuffer.writeInt(WorldMapSection3.indexCache8.hash); var8.packetBuffer.writeInt(class238.indexCache9.hash); var8.packetBuffer.writeInt(class16.indexCache10.hash); var8.packetBuffer.writeInt(Login.indexCache11.hash); var8.packetBuffer.writeInt(Formatting.indexCache12.hash); var8.packetBuffer.writeInt(ByteArrayPool.indexCache13.hash); var8.packetBuffer.writeInt(class2.indexCache14.hash); var8.packetBuffer.writeInt(WorldMapSection1.indexCache15.hash); var8.packetBuffer.writeInt(0); var8.packetBuffer.writeInt(class22.indexCache16.hash); var8.packetBuffer.writeInt(WorldMapLabelSize.field1040.hash); var8.packetBuffer.writeInt(ItemContainer.field434.hash); var8.packetBuffer.writeInt(AbstractByteArrayCopier.field0.hash); var8.packetBuffer.xteaEncrypt(var7, var10, var8.packetBuffer.index); var8.packetBuffer.method40(var8.packetBuffer.index - var9); packetWriter.method241(var8); packetWriter.method240(); packetWriter.isaacCipher = new IsaacCipher(var7); int[] var12 = new int[4]; for (int var13 = 0; var13 < 4; ++var13) { var12[var13] = var7[var13] + 50; } var2.newIsaacCipher(var12); loginState = 6; } if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { var5 = ((AbstractSocket)var1).readUnsignedByte(); if (var5 == 21 && gameState == 20) { loginState = 9; } else if (var5 == 2) { loginState = 11; } else if (var5 == 15 && gameState == 40) { packetWriter.serverPacket0Length = -1; loginState = 16; } else if (var5 == 64) { loginState = 7; } else if (var5 == 23 && field169 < 1) { ++field169; loginState = 0; } else { if (var5 != 29) { IsaacCipher.method4093(var5); return; } loginState = 14; } } if (loginState == 7 && ((AbstractSocket)var1).available() > 0) { WorldMapSection1.field1071 = ((AbstractSocket)var1).readUnsignedByte(); loginState = 8; } if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapSection1.field1071) { ((AbstractSocket)var1).read(var2.array, 0, WorldMapSection1.field1071); var2.index = 0; loginState = 6; } if (loginState == 9 && ((AbstractSocket)var1).available() > 0) { field170 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; loginState = 10; } if (loginState == 10) { field168 = 0; class54.method1089("You have only just left another world.", "Your profile will be transferred in:", field170 / 60 + " seconds."); if (--field170 <= 0) { loginState = 0; } } else { if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) { field171 = ((AbstractSocket)var1).readUnsignedByte(); loginState = 12; } if (loginState == 12 && ((AbstractSocket)var1).available() >= field171) { var16 = ((AbstractSocket)var1).readUnsignedByte() == 1; ((AbstractSocket)var1).read(var2.array, 0, 4); var2.index = 0; boolean var17 = false; if (var16) { var4 = var2.readByteIsaac() << 24; var4 |= var2.readByteIsaac() << 16; var4 |= var2.readByteIsaac() << 8; var4 |= var2.readByteIsaac(); int var20 = class279.method5357(Login.Login_username); if (ReflectionCheck.clientPreferences.parameters.size() >= 10 && !ReflectionCheck.clientPreferences.parameters.containsKey(var20)) { Iterator var23 = ReflectionCheck.clientPreferences.parameters.entrySet().iterator(); var23.next(); var23.remove(); } ReflectionCheck.clientPreferences.parameters.put(var20, var4); } if (Login_isUsernameRemembered) { ReflectionCheck.clientPreferences.rememberedUsername = Login.Login_username; } else { ReflectionCheck.clientPreferences.rememberedUsername = null; } WorldMapSection0.savePreferences(); rights = ((AbstractSocket)var1).readUnsignedByte(); field155 = ((AbstractSocket)var1).readUnsignedByte() == 1; localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); localPlayerIndex <<= 8; localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); field209 = ((AbstractSocket)var1).readUnsignedByte(); ((AbstractSocket)var1).read(var2.array, 0, 1); var2.index = 0; ServerPacket[] var21 = class27.method429(); int var24 = var2.readSmartByteShortIsaac(); if (var24 < 0 || var24 >= var21.length) { throw new IOException(var24 + " " + var2.index); } packetWriter.serverPacket0 = var21[var24]; packetWriter.serverPacket0Length = packetWriter.serverPacket0.length; ((AbstractSocket)var1).read(var2.array, 0, 2); var2.index = 0; packetWriter.serverPacket0Length = var2.readUnsignedShort(); try { Client var25 = TextureProvider.client; JSObject.getWindow(var25).call("zap", (Object[])null); } catch (Throwable var14) { } loginState = 13; } if (loginState == 13) { if (((AbstractSocket)var1).available() >= packetWriter.serverPacket0Length) { var2.index = 0; ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacket0Length); timer.method332(); WorldMapSection1.method808(); class11.updatePlayer(var2); GameObject.field359 = -1; class50.loadRegions(false, var2); packetWriter.serverPacket0 = null; } } else { if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) { var2.index = 0; ((AbstractSocket)var1).read(var2.array, 0, 2); var2.index = 0; IndexCacheLoader.field407 = var2.readUnsignedShort(); loginState = 15; } if (loginState == 15 && ((AbstractSocket)var1).available() >= IndexCacheLoader.field407) { var2.index = 0; ((AbstractSocket)var1).read(var2.array, 0, IndexCacheLoader.field407); var2.index = 0; String var18 = var2.readStringCp1252NullTerminated(); String var22 = var2.readStringCp1252NullTerminated(); String var26 = var2.readStringCp1252NullTerminated(); class54.method1089(var18, var22, var26); GameShell.updateGameState(10); } if (loginState != 16) { ++field168; if (field168 > 2000) { if (field169 < 1) { if (class203.port3 == class2.port1) { class203.port3 = WorldMapArea.port2; } else { class203.port3 = class2.port1; } ++field169; loginState = 0; } else { IsaacCipher.method4093(-3); } } } else { if (packetWriter.serverPacket0Length == -1) { if (((AbstractSocket)var1).available() < 2) { return; } ((AbstractSocket)var1).read(var2.array, 0, 2); var2.index = 0; packetWriter.serverPacket0Length = var2.readUnsignedShort(); } if (((AbstractSocket)var1).available() >= packetWriter.serverPacket0Length) { ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacket0Length); var2.index = 0; var5 = packetWriter.serverPacket0Length; timer.method334(); packetWriter.method239(); packetWriter.packetBuffer.index = 0; packetWriter.serverPacket0 = null; packetWriter.field676 = null; packetWriter.field677 = null; packetWriter.field678 = null; packetWriter.serverPacket0Length = 0; packetWriter.field674 = 0; rebootTimer = 0; menuOptionsCount = 0; isMenuOpen = false; minimapState = 0; destinationX = 0; for (var4 = 0; var4 < 2048; ++var4) { players[var4] = null; } Canvas.localPlayer = null; for (var4 = 0; var4 < npcs.length; ++var4) { NPC var19 = npcs[var4]; if (var19 != null) { var19.targetIndex = -1; var19.false0 = false; } } SpriteMask.method4389(); GameShell.updateGameState(30); for (var4 = 0; var4 < 100; ++var4) { field100[var4] = true; } AbstractByteArrayCopier.method4024(); class11.updatePlayer(var2); if (var5 != var2.index) { throw new RuntimeException(); } } } } } } catch (IOException var15) { if (field169 < 1) { if (class2.port1 == class203.port3) { class203.port3 = WorldMapArea.port2; } else { class203.port3 = class2.port1; } ++field169; loginState = 0; } else { IsaacCipher.method4093(-2); } } } @ObfuscatedName("fx") @ObfuscatedSignature( signature = "(I)V", garbageValue = "1646308927" ) @Export("doCycleLoggedIn") final void doCycleLoggedIn() { if (rebootTimer > 1) { --rebootTimer; } if (field175 > 0) { --field175; } if (field176) { field176 = false; class48.method868(); } else { if (!isMenuOpen) { class30.resetMenuEntries(); } int var1; for (var1 = 0; var1 < 100 && this.method85(packetWriter); ++var1) { } if (gameState == 30) { while (true) { ReflectionCheck var2 = (ReflectionCheck)class322.reflectionChecks.last(); boolean var3; if (var2 == null) { var3 = false; } else { var3 = true; } int var4; PacketBufferNode var5; if (!var3) { PacketBufferNode var6; int var7; if (timer.field921) { var6 = Interpreter.method1915(ClientPacket.field226, packetWriter.isaacCipher); var6.packetBuffer.writeByte(0); var7 = var6.packetBuffer.index; timer.write(var6.packetBuffer); var6.packetBuffer.method41(var6.packetBuffer.index - var7); packetWriter.method241(var6); timer.method333(); } Object var8 = Projectile.mouseRecorder.lock; int var9; int var10; int var11; int var12; int var13; int var14; int var15; int var16; int var17; synchronized(Projectile.mouseRecorder.lock) { if (!field161) { Projectile.mouseRecorder.index = 0; } else if (MouseHandler.MouseHandler_lastButton != 0 || Projectile.mouseRecorder.index >= 40) { var5 = null; var4 = 0; var9 = 0; var10 = 0; var11 = 0; for (var12 = 0; var12 < Projectile.mouseRecorder.index && (var5 == null || var5.packetBuffer.index - var4 < 246); ++var12) { var9 = var12; var13 = Projectile.mouseRecorder.ys[var12]; if (var13 < -1) { var13 = -1; } else if (var13 > 65534) { var13 = 65534; } var14 = Projectile.mouseRecorder.xs[var12]; if (var14 < -1) { var14 = -1; } else if (var14 > 65534) { var14 = 65534; } if (var14 != field163 || var13 != field164) { if (var5 == null) { var5 = Interpreter.method1915(ClientPacket.field256, packetWriter.isaacCipher); var5.packetBuffer.writeByte(0); var4 = var5.packetBuffer.index; PacketBuffer var10000 = var5.packetBuffer; var10000.index += 2; var10 = 0; var11 = 0; } if (-1L != field165) { var15 = var14 - field163; var16 = var13 - field164; var17 = (int)((Projectile.mouseRecorder.millis[var12] - field165) / 20L); var10 = (int)((long)var10 + (Projectile.mouseRecorder.millis[var12] - field165) % 20L); } else { var15 = var14; var16 = var13; var17 = Integer.MAX_VALUE; } field163 = var14; field164 = var13; if (var17 < 8 && var15 >= -32 && var15 <= 31 && var16 >= -32 && var16 <= 31) { var15 += 32; var16 += 32; var5.packetBuffer.writeShort((var17 << 12) + var16 + (var15 << 6)); } else if (var17 < 32 && var15 >= -128 && var15 <= 127 && var16 >= -128 && var16 <= 127) { var15 += 128; var16 += 128; var5.packetBuffer.writeByte(var17 + 128); var5.packetBuffer.writeShort(var16 + (var15 << 8)); } else if (var17 < 32) { var5.packetBuffer.writeByte(var17 + 192); if (var14 != -1 && var13 != -1) { var5.packetBuffer.writeInt(var14 | var13 << 16); } else { var5.packetBuffer.writeInt(Integer.MIN_VALUE); } } else { var5.packetBuffer.writeShort((var17 & 8191) + 57344); if (var14 != -1 && var13 != -1) { var5.packetBuffer.writeInt(var14 | var13 << 16); } else { var5.packetBuffer.writeInt(Integer.MIN_VALUE); } } ++var11; field165 = Projectile.mouseRecorder.millis[var12]; } } if (var5 != null) { var5.packetBuffer.method41(var5.packetBuffer.index - var4); var12 = var5.packetBuffer.index; var5.packetBuffer.index = var4; var5.packetBuffer.writeByte(var10 / var11); var5.packetBuffer.writeByte(var10 % var11); var5.packetBuffer.index = var12; packetWriter.method241(var5); } if (var9 >= Projectile.mouseRecorder.index) { Projectile.mouseRecorder.index = 0; } else { MouseRecorder var36 = Projectile.mouseRecorder; var36.index -= var9; System.arraycopy(Projectile.mouseRecorder.xs, var9, Projectile.mouseRecorder.xs, 0, Projectile.mouseRecorder.index); System.arraycopy(Projectile.mouseRecorder.ys, var9, Projectile.mouseRecorder.ys, 0, Projectile.mouseRecorder.index); System.arraycopy(Projectile.mouseRecorder.millis, var9, Projectile.mouseRecorder.millis, 0, Projectile.mouseRecorder.index); } } } PacketBufferNode var18; long var19; if (MouseHandler.MouseHandler_lastButton == 1 || !AbstractRasterProvider.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { var19 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; if (var19 > 4095L) { var19 = 4095L; } mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; var4 = MouseHandler.MouseHandler_lastPressedY; if (var4 < 0) { var4 = 0; } else if (var4 > Huffman.canvasHeight) { var4 = Huffman.canvasHeight; } var9 = MouseHandler.MouseHandler_lastPressedX; if (var9 < 0) { var9 = 0; } else if (var9 > SoundCache.canvasWidth) { var9 = SoundCache.canvasWidth; } var10 = (int)var19; var18 = Interpreter.method1915(ClientPacket.field263, packetWriter.isaacCipher); var18.packetBuffer.writeShort((var10 << 1) + (MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0)); var18.packetBuffer.writeShort(var9); var18.packetBuffer.writeShort(var4); packetWriter.method241(var18); } if (KeyHandler.field452 > 0) { var6 = Interpreter.method1915(ClientPacket.field289, packetWriter.isaacCipher); var6.packetBuffer.writeShort(0); var7 = var6.packetBuffer.index; var19 = class203.currentTimeMs(); for (var10 = 0; var10 < KeyHandler.field452; ++var10) { long var21 = var19 - field126; if (var21 > 16777215L) { var21 = 16777215L; } field126 = var19; var6.packetBuffer.method56(KeyHandler.field451[var10]); var6.packetBuffer.writeMedium((int)var21); } var6.packetBuffer.method40(var6.packetBuffer.index - var7); packetWriter.method241(var6); } if (field200 > 0) { --field200; } if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { field201 = true; } if (field201 && field200 <= 0) { field200 = 20; field201 = false; var6 = Interpreter.method1915(ClientPacket.field261, packetWriter.isaacCipher); var6.packetBuffer.method64(cameraPitchTarget); var6.packetBuffer.writeShortLE(minimapOrientation); packetWriter.method241(var6); } if (class230.field1138 && !field166) { field166 = true; var6 = Interpreter.method1915(ClientPacket.field295, packetWriter.isaacCipher); var6.packetBuffer.writeByte(1); packetWriter.method241(var6); } if (!class230.field1138 && field166) { field166 = false; var6 = Interpreter.method1915(ClientPacket.field295, packetWriter.isaacCipher); var6.packetBuffer.writeByte(0); packetWriter.method241(var6); } if (class60.worldMap0 != null) { class60.worldMap0.method360(); } class266.method5120(); Message.method1228(); if (gameState != 30) { return; } Canvas.method855(); WorldMapIcon1.method212(); ++packetWriter.field674; if (packetWriter.field674 > 750) { class48.method868(); return; } var1 = Players.Players_count; int[] var30 = Players.Players_indices; for (var4 = 0; var4 < var1; ++var4) { Player var20 = players[var30[var4]]; if (var20 != null) { class65.method1232(var20, 1); } } for (var1 = 0; var1 < npcCount; ++var1) { var7 = npcIndices[var1]; NPC var31 = npcs[var7]; if (var31 != null) { class65.method1232(var31, var31.definition.size); } } Buddy.processOverheadText(); ++field183; if (mouseCrossColor != 0) { mouseCrossState += 20; if (mouseCrossState >= 400) { mouseCrossColor = 0; } } if (BoundaryObject.field40 != null) { ++field203; if (field203 >= 15) { class22.method295(BoundaryObject.field40); BoundaryObject.field40 = null; } } Widget var32 = Clock.mousedOverWidgetIf1; Widget var33 = AccessFile.field8; Clock.mousedOverWidgetIf1 = null; AccessFile.field8 = null; draggedOnWidget = null; field103 = false; field106 = false; field137 = 0; while (Decimator.method2490() && field137 < 128) { if (rights >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && IndexStoreAction.field411 == 66) { String var22 = KeyHandler.method839(); TextureProvider.client.clipboardSetString(var22); } else if (oculusOrbState != 1 || GzipDecompressor.field378 <= 0) { field145[field137] = IndexStoreAction.field411; field146[field137] = GzipDecompressor.field378; ++field137; } } if (FriendSystem.jmodCheck() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { var4 = Canvas.localPlayer.plane - mouseWheelRotation; if (var4 < 0) { var4 = 0; } else if (var4 > 3) { var4 = 3; } if (var4 != Canvas.localPlayer.plane) { var9 = Canvas.localPlayer.pathX[0] + class50.baseX; var10 = Canvas.localPlayer.pathY[0] + GraphicsObject.baseY; var18 = Interpreter.method1915(ClientPacket.field283, packetWriter.isaacCipher); var18.packetBuffer.writeIntME(0); var18.packetBuffer.writeShortLE(var10); var18.packetBuffer.method56(var4); var18.packetBuffer.writeShort(var9); packetWriter.method241(var18); } mouseWheelRotation = 0; } if (rootWidgetGroup != -1) { WorldMapDecorationType.method4517(rootWidgetGroup, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0); } ++cycleCntr; while (true) { Widget var23; ScriptEvent var24; Widget var34; do { var24 = (ScriptEvent)field147.removeLast(); if (var24 == null) { while (true) { do { var24 = (ScriptEvent)field148.removeLast(); if (var24 == null) { while (true) { do { var24 = (ScriptEvent)scriptEvents.removeLast(); if (var24 == null) { this.method86(); WorldMapSectionType.method254(); if (clickedWidget != null) { this.method88(); } PacketBufferNode var25; if (DevicePcmPlayerProvider.dragInventoryWidget != null) { class22.method295(DevicePcmPlayerProvider.dragInventoryWidget); ++itemDragDuration; if (MouseHandler.MouseHandler_currentButton == 0) { if (field207) { if (UserComparator6.field937 == DevicePcmPlayerProvider.dragInventoryWidget && dragItemSlotSource != dragItemSlotDestination) { Widget var26 = DevicePcmPlayerProvider.dragInventoryWidget; byte var27 = 0; if (field136 == 1 && var26.contentType == 206) { var27 = 1; } if (var26.itemIds[dragItemSlotDestination] <= 0) { var27 = 0; } if (class168.method3461(class1.getWidgetClickMask(var26))) { var10 = dragItemSlotSource; var11 = dragItemSlotDestination; var26.itemIds[var11] = var26.itemIds[var10]; var26.itemQuantities[var11] = var26.itemQuantities[var10]; var26.itemIds[var10] = -1; var26.itemQuantities[var10] = 0; } else if (var27 == 1) { var10 = dragItemSlotSource; var11 = dragItemSlotDestination; while (var10 != var11) { if (var10 > var11) { var26.swapItems(var10 - 1, var10); --var10; } else if (var10 < var11) { var26.swapItems(var10 + 1, var10); ++var10; } } } else { var26.swapItems(dragItemSlotDestination, dragItemSlotSource); } var25 = Interpreter.method1915(ClientPacket.field302, packetWriter.isaacCipher); var25.packetBuffer.writeShort(dragItemSlotDestination); var25.packetBuffer.writeShortLE(dragItemSlotSource); var25.packetBuffer.writeInt(DevicePcmPlayerProvider.dragInventoryWidget.id); var25.packetBuffer.method56(var27); packetWriter.method241(var25); } } else if (this.shouldLeftClickOpenMenu()) { this.openMenu(field205, field206); } else if (menuOptionsCount > 0) { var4 = field205; var9 = field206; WorldMapDecorationType.processTempMenuAction(UnitPriceComparator.tempMenuAction, var4, var9); UnitPriceComparator.tempMenuAction = null; } field203 = 10; MouseHandler.MouseHandler_lastButton = 0; DevicePcmPlayerProvider.dragInventoryWidget = null; } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field205 + 5 || MouseHandler.MouseHandler_x < field205 - 5 || MouseHandler.MouseHandler_y > field206 + 5 || MouseHandler.MouseHandler_y < field206 - 5)) { field207 = true; } } if (Scene.method3187()) { var4 = Scene.Scene_selectedX; var9 = Scene.Scene_selectedY; var25 = Interpreter.method1915(ClientPacket.field318, packetWriter.isaacCipher); var25.packetBuffer.writeByte(5); var25.packetBuffer.method63(var9 + GraphicsObject.baseY); var25.packetBuffer.method63(var4 + class50.baseX); var25.packetBuffer.method55(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); packetWriter.method241(var25); Scene.method3103(); mouseCrossX = MouseHandler.MouseHandler_lastPressedX; mouseCrossY = MouseHandler.MouseHandler_lastPressedY; mouseCrossColor = 1; mouseCrossState = 0; destinationX = var4; destinationY = var9; } if (var32 != Clock.mousedOverWidgetIf1) { if (var32 != null) { class22.method295(var32); } if (Clock.mousedOverWidgetIf1 != null) { class22.method295(Clock.mousedOverWidgetIf1); } } if (var33 != AccessFile.field8 && field218 == field219) { if (var33 != null) { class22.method295(var33); } if (AccessFile.field8 != null) { class22.method295(AccessFile.field8); } } if (AccessFile.field8 != null) { if (field218 < field219) { ++field218; if (field219 == field218) { class22.method295(AccessFile.field8); } } } else if (field218 > 0) { --field218; } class54.method1091(); if (isCameraLocked) { var4 = class3.field1146 * 128 + 64; var9 = MusicPatchPcmStream.field602 * 128 + 64; var10 = class32.getTileHeight(var4, var9, SoundSystem.plane) - AbstractWorldMapIcon.field4; if (WorldMapSection1.cameraX < var4) { WorldMapSection1.cameraX = (var4 - WorldMapSection1.cameraX) * class30.field1148 / 1000 + WorldMapSection1.cameraX + ClientPacket.field221; if (WorldMapSection1.cameraX > var4) { WorldMapSection1.cameraX = var4; } } if (WorldMapSection1.cameraX > var4) { WorldMapSection1.cameraX -= class30.field1148 * (WorldMapSection1.cameraX - var4) / 1000 + ClientPacket.field221; if (WorldMapSection1.cameraX < var4) { WorldMapSection1.cameraX = var4; } } if (GrandExchangeEvents.cameraY < var10) { GrandExchangeEvents.cameraY = (var10 - GrandExchangeEvents.cameraY) * class30.field1148 / 1000 + GrandExchangeEvents.cameraY + ClientPacket.field221; if (GrandExchangeEvents.cameraY > var10) { GrandExchangeEvents.cameraY = var10; } } if (GrandExchangeEvents.cameraY > var10) { GrandExchangeEvents.cameraY -= class30.field1148 * (GrandExchangeEvents.cameraY - var10) / 1000 + ClientPacket.field221; if (GrandExchangeEvents.cameraY < var10) { GrandExchangeEvents.cameraY = var10; } } if (class11.cameraZ < var9) { class11.cameraZ = (var9 - class11.cameraZ) * class30.field1148 / 1000 + class11.cameraZ + ClientPacket.field221; if (class11.cameraZ > var9) { class11.cameraZ = var9; } } if (class11.cameraZ > var9) { class11.cameraZ -= class30.field1148 * (class11.cameraZ - var9) / 1000 + ClientPacket.field221; if (class11.cameraZ < var9) { class11.cameraZ = var9; } } var4 = GrandExchangeOffer.field376 * 128 + 64; var9 = KeyHandler.field445 * 128 + 64; var10 = class32.getTileHeight(var4, var9, SoundSystem.plane) - IndexStoreAction.field410; var11 = var4 - WorldMapSection1.cameraX; var12 = var10 - GrandExchangeEvents.cameraY; var13 = var9 - class11.cameraZ; var14 = (int)Math.sqrt((double)(var13 * var13 + var11 * var11)); var15 = (int)(Math.atan2((double)var12, (double)var14) * 325.949D) & 2047; var16 = (int)(Math.atan2((double)var11, (double)var13) * -325.949D) & 2047; if (var15 < 128) { var15 = 128; } if (var15 > 383) { var15 = 383; } if (WorldMapIcon1.cameraPitch < var15) { WorldMapIcon1.cameraPitch = (var15 - WorldMapIcon1.cameraPitch) * class171.field1116 / 1000 + WorldMapIcon1.cameraPitch + VertexNormal.field946; if (WorldMapIcon1.cameraPitch > var15) { WorldMapIcon1.cameraPitch = var15; } } if (WorldMapIcon1.cameraPitch > var15) { WorldMapIcon1.cameraPitch -= class171.field1116 * (WorldMapIcon1.cameraPitch - var15) / 1000 + VertexNormal.field946; if (WorldMapIcon1.cameraPitch < var15) { WorldMapIcon1.cameraPitch = var15; } } var17 = var16 - MusicPatchNode.cameraYaw; if (var17 > 1024) { var17 -= 2048; } if (var17 < -1024) { var17 += 2048; } if (var17 > 0) { MusicPatchNode.cameraYaw = MusicPatchNode.cameraYaw + VertexNormal.field946 + var17 * class171.field1116 / 1000; MusicPatchNode.cameraYaw &= 2047; } if (var17 < 0) { MusicPatchNode.cameraYaw -= VertexNormal.field946 + -var17 * class171.field1116 / 1000; MusicPatchNode.cameraYaw &= 2047; } int var35 = var16 - MusicPatchNode.cameraYaw; if (var35 > 1024) { var35 -= 2048; } if (var35 < -1024) { var35 += 2048; } if (var35 < 0 && var17 > 0 || var35 > 0 && var17 < 0) { MusicPatchNode.cameraYaw = var16; } } for (var4 = 0; var4 < 5; ++var4) { int var10002 = field144[var4]++; } class196.varcs.tryWrite(); var4 = class22.method297(); var9 = KeyHandler.KeyHandler_idleCycles; if (var4 > 15000 && var9 > 15000) { field175 = 250; MouseHandler.MouseHandler_idleCycles = 14500; var18 = Interpreter.method1915(ClientPacket.field271, packetWriter.isaacCipher); packetWriter.method241(var18); } WorldMapArea.friendSystem.method102(); ++packetWriter.field675; if (packetWriter.field675 > 50) { var18 = Interpreter.method1915(ClientPacket.field244, packetWriter.isaacCipher); packetWriter.method241(var18); } try { packetWriter.method240(); } catch (IOException var28) { class48.method868(); } return; } var23 = var24.widget; if (var23.childIndex < 0) { break; } var34 = Huffman.getWidget(var23.parentId); } while(var34 == null || var34.children == null || var23.childIndex >= var34.children.length || var23 != var34.children[var23.childIndex]); AbstractIndexCache.runScript(var24); } } var23 = var24.widget; if (var23.childIndex < 0) { break; } var34 = Huffman.getWidget(var23.parentId); } while(var34 == null || var34.children == null || var23.childIndex >= var34.children.length || var23 != var34.children[var23.childIndex]); AbstractIndexCache.runScript(var24); } } var23 = var24.widget; if (var23.childIndex < 0) { break; } var34 = Huffman.getWidget(var23.parentId); } while(var34 == null || var34.children == null || var23.childIndex >= var34.children.length || var23 != var34.children[var23.childIndex]); AbstractIndexCache.runScript(var24); } } var5 = Interpreter.method1915(ClientPacket.field313, packetWriter.isaacCipher); var5.packetBuffer.writeByte(0); var4 = var5.packetBuffer.index; WorldMapLabel.method443(var5.packetBuffer); var5.packetBuffer.method41(var5.packetBuffer.index - var4); packetWriter.method241(var5); } } } } @ObfuscatedName("ge") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-1792846917" ) void method84() { int var1 = SoundCache.canvasWidth; int var2 = Huffman.canvasHeight; if (super.contentWidth < var1) { var1 = super.contentWidth; } if (super.contentHeight < var2) { var2 = super.contentHeight; } if (ReflectionCheck.clientPreferences != null) { try { Client var3 = TextureProvider.client; Object[] var4 = new Object[]{SpotAnimationDefinition.method4822()}; JSObject.getWindow(var3).call("resize", var4); } catch (Throwable var5) { } } } @ObfuscatedName("gs") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-1433182492" ) @Export("drawLoggedIn") final void drawLoggedIn() { if (rootWidgetGroup != -1) { ClientPreferences.method1809(rootWidgetGroup); } int var1; for (var1 = 0; var1 < rootWidgetCount; ++var1) { if (field100[var1]) { field102[var1] = true; } field101[var1] = field100[var1]; field100[var1] = false; } field98 = cycle; field216 = -1; field217 = -1; UserComparator6.field937 = null; if (rootWidgetGroup != -1) { rootWidgetCount = 0; Interpreter.drawWidgets(rootWidgetGroup, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0, -1); } Rasterizer2D.Rasterizer2D_resetClip(); if (showMouseCross) { if (mouseCrossColor == 1) { KeyHandler.crossSprites[mouseCrossState / 100].drawAt2(mouseCrossX - 8, mouseCrossY - 8); } if (mouseCrossColor == 2) { KeyHandler.crossSprites[mouseCrossState / 100 + 4].drawAt2(mouseCrossX - 8, mouseCrossY - 8); } } int var2; int var3; int var4; int var5; int var6; int var7; if (!isMenuOpen) { if (field216 != -1) { class39.drawMenuActionTextAt(field216, field217); } } else { var1 = WorldMapDecoration.menuX; var2 = GameShell.menuY; var3 = class214.menuWidth; var4 = AbstractWorldMapIcon.menuHeight; int var8 = 6116423; Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var8); Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); class2.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var8, -1); var5 = MouseHandler.MouseHandler_x; var6 = MouseHandler.MouseHandler_y; int var9; int var10; for (var7 = 0; var7 < menuOptionsCount; ++var7) { var9 = var2 + (menuOptionsCount - 1 - var7) * 15 + 31; var10 = 16777215; if (var5 > var1 && var5 < var3 + var1 && var6 > var9 - 13 && var6 < var9 + 3) { var10 = 16776960; } Font var11 = class2.fontBold12; String var12; if (var7 < 0) { var12 = ""; } else if (menuTargetNames[var7].length() > 0) { var12 = menuActions[var7] + " " + menuTargetNames[var7]; } else { var12 = menuActions[var7]; } var11.draw(var12, var1 + 3, var9, var10, 0); } var7 = WorldMapDecoration.menuX; var9 = GameShell.menuY; var10 = class214.menuWidth; int var15 = AbstractWorldMapIcon.menuHeight; for (int var18 = 0; var18 < rootWidgetCount; ++var18) { if (rootWidgetXs[var18] + rootWidgetWidths[var18] > var7 && rootWidgetXs[var18] < var7 + var10 && rootWidgetYs[var18] + rootWidgetHeights[var18] > var9 && rootWidgetYs[var18] < var9 + var15) { field102[var18] = true; } } } if (gameDrawingMode == 3) { for (var1 = 0; var1 < rootWidgetCount; ++var1) { if (field101[var1]) { Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); } else if (field102[var1]) { Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); } } } var1 = SoundSystem.plane; var2 = Canvas.localPlayer.x; var3 = Canvas.localPlayer.y; var4 = field183; for (ObjectSound var13 = (ObjectSound)ObjectSound.objectSounds.last(); var13 != null; var13 = (ObjectSound)ObjectSound.objectSounds.previous()) { if (var13.soundEffectId != -1 || var13.soundEffectIds != null) { var5 = 0; if (var2 > var13.field650) { var5 += var2 - var13.field650; } else if (var2 < var13.field648) { var5 += var13.field648 - var2; } if (var3 > var13.field651) { var5 += var3 - var13.field651; } else if (var3 < var13.field649) { var5 += var13.field649 - var3; } if (var5 - 64 <= var13.field652 && field115 != 0 && var1 == var13.field647) { var5 -= 64; if (var5 < 0) { var5 = 0; } var6 = (var13.field652 - var5) * field115 / var13.field652; Object var14; SoundEffect var16; RawSound var17; RawPcmStream var19; if (var13.stream1 == null) { if (var13.soundEffectId >= 0) { var14 = null; var16 = SoundEffect.readSoundEffect(WorldMapDecoration.indexCache4, var13.soundEffectId, 0); if (var16 != null) { var17 = var16.toRawSound().resample(MilliClock.decimator); var19 = RawPcmStream.createRawPcmStream(var17, 100, var6); var19.setNumLoops(-1); TaskHandler.pcmStreamMixer.addSubStream(var19); var13.stream1 = var19; } } } else { var13.stream1.method265(var6); } if (var13.stream2 == null) { if (var13.soundEffectIds != null && (var13.field655 -= var4) <= 0) { var7 = (int)(Math.random() * (double)var13.soundEffectIds.length); var14 = null; var16 = SoundEffect.readSoundEffect(WorldMapDecoration.indexCache4, var13.soundEffectIds[var7], 0); if (var16 != null) { var17 = var16.toRawSound().resample(MilliClock.decimator); var19 = RawPcmStream.createRawPcmStream(var17, 100, var6); var19.setNumLoops(0); TaskHandler.pcmStreamMixer.addSubStream(var19); var13.stream2 = var19; var13.field655 = var13.field653 + (int)(Math.random() * (double)(var13.field654 - var13.field653)); } } } else { var13.stream2.method265(var6); if (!var13.stream2.hasNext()) { var13.stream2 = null; } } } else { if (var13.stream1 != null) { TaskHandler.pcmStreamMixer.removeSubStream(var13.stream1); var13.stream1 = null; } if (var13.stream2 != null) { TaskHandler.pcmStreamMixer.removeSubStream(var13.stream2); var13.stream2 = null; } } } } field183 = 0; } @ObfuscatedName("hg") @ObfuscatedSignature( signature = "(Lcl;I)Z", garbageValue = "1488446149" ) final boolean method85(PacketWriter var1) { AbstractSocket var2 = var1.getSocket(); PacketBuffer var3 = var1.packetBuffer; if (var2 == null) { return false; } else { String var4; int var5; try { int var6; if (var1.serverPacket0 == null) { if (var1.field673) { if (!var2.isAvailable(1)) { return false; } var2.read(var1.packetBuffer.array, 0, 1); var1.field674 = 0; var1.field673 = false; } var3.index = 0; if (var3.method236()) { if (!var2.isAvailable(1)) { return false; } var2.read(var1.packetBuffer.array, 1, 1); var1.field674 = 0; } var1.field673 = true; ServerPacket[] var7 = class27.method429(); var6 = var3.readSmartByteShortIsaac(); if (var6 < 0 || var6 >= var7.length) { throw new IOException(var6 + " " + var3.index); } var1.serverPacket0 = var7[var6]; var1.serverPacket0Length = var1.serverPacket0.length; } if (var1.serverPacket0Length == -1) { if (!var2.isAvailable(1)) { return false; } var1.getSocket().read(var3.array, 0, 1); var1.serverPacket0Length = var3.array[0] & 255; } if (var1.serverPacket0Length == -2) { if (!var2.isAvailable(2)) { return false; } var1.getSocket().read(var3.array, 0, 2); var3.index = 0; var1.serverPacket0Length = var3.readUnsignedShort(); } if (!var2.isAvailable(var1.serverPacket0Length)) { return false; } var3.index = 0; var2.read(var3.array, 0, var1.serverPacket0Length); var1.field674 = 0; timer.method329(); var1.field678 = var1.field677; var1.field677 = var1.field676; var1.field676 = var1.serverPacket0; if (ServerPacket.field838 == var1.serverPacket0) { class16.method189(class190.field2344); var1.serverPacket0 = null; return true; } if (ServerPacket.field864 == var1.serverPacket0) { isCameraLocked = true; class3.field1146 = var3.readUnsignedByte(); MusicPatchPcmStream.field602 = var3.readUnsignedByte(); AbstractWorldMapIcon.field4 = var3.readUnsignedShort(); ClientPacket.field221 = var3.readUnsignedByte(); class30.field1148 = var3.readUnsignedByte(); if (class30.field1148 >= 100) { WorldMapSection1.cameraX = class3.field1146 * 128 + 64; class11.cameraZ = MusicPatchPcmStream.field602 * 128 + 64; GrandExchangeEvents.cameraY = class32.getTileHeight(WorldMapSection1.cameraX, class11.cameraZ, SoundSystem.plane) - AbstractWorldMapIcon.field4; } var1.serverPacket0 = null; return true; } int var37; if (ServerPacket.field817 == var1.serverPacket0) { for (var37 = 0; var37 < players.length; ++var37) { if (players[var37] != null) { players[var37].sequence = -1; } } for (var37 = 0; var37 < npcs.length; ++var37) { if (npcs[var37] != null) { npcs[var37].sequence = -1; } } var1.serverPacket0 = null; return true; } if (ServerPacket.field806 == var1.serverPacket0) { Canvas.field95 = var3.method59(); WorldMapSection3.field1089 = var3.readUnsignedByteNegate(); while (var3.index < var1.serverPacket0Length) { var37 = var3.readUnsignedByte(); class190 var38 = RunException.method3430()[var37]; class16.method189(var38); } var1.serverPacket0 = null; return true; } Widget var8; if (ServerPacket.field850 == var1.serverPacket0) { var37 = var3.method44(); var6 = var3.method73(); var8 = Huffman.getWidget(var6); if (var37 != var8.sequenceId || var37 == -1) { var8.sequenceId = var37; var8.modelFrame = 0; var8.modelFrameCycle = 0; class22.method295(var8); } var1.serverPacket0 = null; return true; } Widget var9; if (ServerPacket.field819 == var1.serverPacket0) { var37 = var3.method73(); var9 = Huffman.getWidget(var37); var9.modelType = 3; var9.modelId = Canvas.localPlayer.appearance.getChatHeadId(); class22.method295(var9); var1.serverPacket0 = null; return true; } if (ServerPacket.field790 == var1.serverPacket0) { TextureProvider.method2773(); var1.serverPacket0 = null; return false; } if (ServerPacket.field796 == var1.serverPacket0) { var37 = var3.method72(); var9 = Huffman.getWidget(var37); for (var5 = 0; var5 < var9.itemIds.length; ++var5) { var9.itemIds[var5] = -1; var9.itemIds[var5] = 0; } class22.method295(var9); var1.serverPacket0 = null; return true; } int var10; int var11; int var12; int var13; if (ServerPacket.field859 == var1.serverPacket0) { var37 = var3.readInt(); var6 = var3.readUnsignedShort(); if (var37 < -70000) { var6 += 32768; } if (var37 >= 0) { var8 = Huffman.getWidget(var37); } else { var8 = null; } if (var8 != null) { for (var10 = 0; var10 < var8.itemIds.length; ++var10) { var8.itemIds[var10] = 0; var8.itemQuantities[var10] = 0; } } PlayerType.clearItemContainer(var6); var10 = var3.readUnsignedShort(); for (var11 = 0; var11 < var10; ++var11) { var12 = var3.readUnsignedShort(); var13 = var3.readUnsignedByte(); if (var13 == 255) { var13 = var3.method73(); } if (var8 != null && var11 < var8.itemIds.length) { var8.itemIds[var11] = var12; var8.itemQuantities[var11] = var13; } WorldMapManager.itemContainerSetItem(var6, var11, var12 - 1, var13); } if (var8 != null) { class22.method295(var8); } class12.method159(); field116[++field117 - 1 & 31] = var6 & 32767; var1.serverPacket0 = null; return true; } if (ServerPacket.field797 == var1.serverPacket0) { class16.method189(class190.field2341); var1.serverPacket0 = null; return true; } if (ServerPacket.field842 == var1.serverPacket0) { UserComparator7.method3360(var3, var1.serverPacket0Length); var1.serverPacket0 = null; return true; } if (ServerPacket.field853 == var1.serverPacket0) { WorldMapSection3.field1089 = var3.readUnsignedByteNegate(); Canvas.field95 = var3.method59(); var1.serverPacket0 = null; return true; } boolean var14; if (ServerPacket.field810 == var1.serverPacket0) { var37 = var3.readInt(); var14 = var3.readUnsignedByte() == 1; var8 = Huffman.getWidget(var37); if (var14 != var8.isHidden) { var8.isHidden = var14; class22.method295(var8); } var1.serverPacket0 = null; return true; } if (ServerPacket.field852 == var1.serverPacket0) { byte var39 = var3.method60(); var6 = var3.method66(); Varps.Varps_temp[var6] = var39; if (Varps.Varps_main[var6] != var39) { Varps.Varps_main[var6] = var39; } IndexCache.method4703(var6); field121[++field123 - 1 & 31] = var6; var1.serverPacket0 = null; return true; } if (ServerPacket.field803 == var1.serverPacket0) { class16.method189(class190.field2347); var1.serverPacket0 = null; return true; } if (ServerPacket.field844 == var1.serverPacket0) { var37 = var3.readUnsignedByte(); if (var3.readUnsignedByte() == 0) { grandExchangeOffers[var37] = new GrandExchangeOffer(); var3.index += 18; } else { --var3.index; grandExchangeOffers[var37] = new GrandExchangeOffer(var3, false); } field122 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field873 == var1.serverPacket0) { var37 = var3.method67(); rootWidgetGroup = var37; this.method87(false); DevicePcmPlayerProvider.method845(var37); WorldMapSection3.runWidgetOnLoadListener(rootWidgetGroup); for (var6 = 0; var6 < 100; ++var6) { field100[var6] = true; } var1.serverPacket0 = null; return true; } if (ServerPacket.field849 == var1.serverPacket0) { class12.method159(); runEnergy = var3.readUnsignedByte(); field124 = cycleCntr; var1.serverPacket0 = null; return true; } Widget var15; if (ServerPacket.field839 == var1.serverPacket0) { var37 = var3.method67(); var6 = var3.method67(); var5 = var3.method67(); var10 = var3.method73(); var15 = Huffman.getWidget(var10); if (var37 != var15.modelAngleX || var5 != var15.modelAngleY || var6 != var15.modelZoom) { var15.modelAngleX = var37; var15.modelAngleY = var5; var15.modelZoom = var6; class22.method295(var15); } var1.serverPacket0 = null; return true; } if (ServerPacket.field825 == var1.serverPacket0) { 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.serverPacket0 = null; return true; } if (ServerPacket.field868 == var1.serverPacket0) { Skeleton.method3062(var3, var1.serverPacket0Length); ScriptFrame.method1138(); var1.serverPacket0 = null; return true; } if (ServerPacket.field789 == var1.serverPacket0) { class50.loadRegions(false, var1.packetBuffer); var1.serverPacket0 = null; return true; } Widget var16; if (ServerPacket.field830 == var1.serverPacket0) { var37 = var3.method66(); var6 = var3.method65(); var5 = var3.method72(); var16 = Huffman.getWidget(var5); var16.field963 = var37 + (var6 << 16); var1.serverPacket0 = null; return true; } if (ServerPacket.field841 == var1.serverPacket0) { if (rootWidgetGroup != -1) { GrandExchangeEvents.method74(rootWidgetGroup, 0); } var1.serverPacket0 = null; return true; } if (ServerPacket.field809 == var1.serverPacket0) { var37 = var3.readInt(); var6 = var3.readUnsignedShort(); if (var6 == 65535) { var6 = -1; } var5 = var3.method73(); var16 = Huffman.getWidget(var37); ItemDefinition var40; if (!var16.isIf3) { if (var6 == -1) { var16.modelType = 0; var1.serverPacket0 = null; return true; } var40 = Skills.getItemDefinition(var6); var16.modelType = 4; var16.modelId = var6; var16.modelAngleX = var40.xan2d; var16.modelAngleY = var40.yan2d; var16.modelZoom = var40.zoom2d * 100 / var5; class22.method295(var16); } else { var16.itemId = var6; var16.itemQuantity = var5; var40 = Skills.getItemDefinition(var6); var16.modelAngleX = var40.xan2d; var16.modelAngleY = var40.yan2d; var16.modelAngleZ = var40.zan2d; var16.modelOffsetX = var40.offsetX2d; var16.modelOffsetY = var40.offsetY2d; var16.modelZoom = var40.zoom2d; if (var40.isStackable == 1) { var16.itemQuantityMode = 1; } else { var16.itemQuantityMode = 2; } if (var16.field962 > 0) { var16.modelZoom = var16.modelZoom * 32 / var16.field962; } else if (var16.rawWidth > 0) { var16.modelZoom = var16.modelZoom * 32 / var16.rawWidth; } class22.method295(var16); } var1.serverPacket0 = null; return true; } String var17; boolean var18; if (ServerPacket.field792 == var1.serverPacket0) { var37 = var3.method48(); var14 = var3.readUnsignedByte() == 1; var17 = ""; var18 = false; if (var14) { var17 = var3.readStringCp1252NullTerminated(); if (WorldMapArea.friendSystem.isIgnored(new Username(var17, KeyHandler.loginType))) { var18 = true; } } String var41 = var3.readStringCp1252NullTerminated(); if (!var18) { WorldMapIcon1.addGameMessage(var37, var17, var41); } var1.serverPacket0 = null; return true; } if (ServerPacket.field857 == var1.serverPacket0) { IndexCacheLoader.field512 = WorldMapElement.method4783(var3.readUnsignedByte()); var1.serverPacket0 = null; return true; } if (ServerPacket.field801 == var1.serverPacket0) { class16.method189(class190.field2345); var1.serverPacket0 = null; return true; } if (ServerPacket.field805 == var1.serverPacket0) { var18 = var3.readBoolean(); if (var18) { if (ClientParameter.field3645 == null) { ClientParameter.field3645 = new class248(); } } else { ClientParameter.field3645 = null; } var1.serverPacket0 = null; return true; } long var19; if (ServerPacket.field837 == var1.serverPacket0) { var37 = var3.method71(); var6 = var3.method66(); if (var6 == 65535) { var6 = -1; } var5 = var3.method73(); var10 = var3.readUnsignedShort(); if (var10 == 65535) { var10 = -1; } for (var11 = var10; var11 <= var6; ++var11) { var19 = (long)var11 + ((long)var5 << 32); Node var42 = widgetClickMasks.get(var19); if (var42 != null) { var42.remove(); } widgetClickMasks.put(new IntegerNode(var37), var19); } var1.serverPacket0 = null; return true; } if (ServerPacket.field870 == var1.serverPacket0) { class3.updateNpcs(true, var3); var1.serverPacket0 = null; return true; } if (ServerPacket.field834 == var1.serverPacket0) { if (PacketWriter.clanChat != null) { PacketWriter.clanChat.method78(var3); } UserComparator8.method3349(); var1.serverPacket0 = null; return true; } if (ServerPacket.field804 == var1.serverPacket0) { class16.method189(class190.field2346); var1.serverPacket0 = null; return true; } String var21; if (ServerPacket.field851 == var1.serverPacket0) { var21 = var3.readStringCp1252NullTerminated(); Object[] var46 = new Object[var21.length() + 1]; for (var5 = var21.length() - 1; var5 >= 0; --var5) { if (var21.charAt(var5) == 's') { var46[var5 + 1] = var3.readStringCp1252NullTerminated(); } else { var46[var5 + 1] = new Integer(var3.readInt()); } } var46[0] = new Integer(var3.readInt()); ScriptEvent var49 = new ScriptEvent(); var49.args0 = var46; AbstractIndexCache.runScript(var49); var1.serverPacket0 = null; return true; } if (ServerPacket.field815 == var1.serverPacket0) { class16.method189(class190.field2343); var1.serverPacket0 = null; return true; } if (ServerPacket.field802 == var1.serverPacket0) { class16.method189(class190.field2350); var1.serverPacket0 = null; return true; } if (ServerPacket.field856 == var1.serverPacket0) { destinationX = var3.readUnsignedByte(); if (destinationX == 255) { destinationX = 0; } destinationY = var3.readUnsignedByte(); if (destinationY == 255) { destinationY = 0; } var1.serverPacket0 = null; return true; } if (ServerPacket.field867 == var1.serverPacket0) { for (var37 = 0; var37 < VarpDefinition.field944; ++var37) { VarpDefinition var44 = SecureRandomCallable.method1140(var37); if (var44 != null) { Varps.Varps_temp[var37] = 0; Varps.Varps_main[var37] = 0; } } class12.method159(); field123 += 32; var1.serverPacket0 = null; return true; } if (ServerPacket.field833 == var1.serverPacket0) { var37 = var3.readInt(); var6 = var3.readUnsignedShort(); if (var37 < -70000) { var6 += 32768; } if (var37 >= 0) { var8 = Huffman.getWidget(var37); } else { var8 = null; } for (; var3.index < var1.serverPacket0Length; WorldMapManager.itemContainerSetItem(var6, var10, var11 - 1, var12)) { var10 = var3.method48(); var11 = var3.readUnsignedShort(); var12 = 0; if (var11 != 0) { var12 = var3.readUnsignedByte(); if (var12 == 255) { var12 = var3.readInt(); } } if (var8 != null && var10 >= 0 && var10 < var8.itemIds.length) { var8.itemIds[var10] = var11; var8.itemQuantities[var10] = var12; } } if (var8 != null) { class22.method295(var8); } class12.method159(); field116[++field117 - 1 & 31] = var6 & 32767; var1.serverPacket0 = null; return true; } if (ServerPacket.field854 == var1.serverPacket0) { var37 = var3.readUnsignedShort(); var6 = var3.readUnsignedByte(); var5 = var3.readUnsignedShort(); Ignored.queueSoundEffect(var37, var6, var5); var1.serverPacket0 = null; return true; } if (ServerPacket.field848 == var1.serverPacket0) { var37 = var3.method72(); var6 = var3.method69(); var5 = var3.method68(); var16 = Huffman.getWidget(var37); if (var5 != var16.rawX || var6 != var16.rawY || var16.xAlignment != 0 || var16.yAlignment != 0) { var16.rawX = var5; var16.rawY = var6; var16.xAlignment = 0; var16.yAlignment = 0; class22.method295(var16); this.alignWidget(var16); if (var16.type == 0) { class39.revalidateWidgetScroll(Widget.widgets[var37 >> 16], var16, false); } } var1.serverPacket0 = null; return true; } if (ServerPacket.field824 == var1.serverPacket0) { var37 = var3.method67(); var6 = var3.method73(); var8 = Huffman.getWidget(var6); if (var8.modelType != 2 || var37 != var8.modelId) { var8.modelType = 2; var8.modelId = var37; class22.method295(var8); } var1.serverPacket0 = null; return true; } if (ServerPacket.field836 == var1.serverPacket0) { World var43 = new World(); var43.host = var3.readStringCp1252NullTerminated(); var43.id = var3.readUnsignedShort(); var6 = var3.readInt(); var43.properties = var6; GameShell.updateGameState(45); var2.close(); var2 = null; class31.changeWorld(var43); var1.serverPacket0 = null; return false; } if (ServerPacket.field821 == var1.serverPacket0) { WorldMapArea.friendSystem.ignoreList.read(var3, var1.serverPacket0Length); class229.method4512(); field105 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field822 == var1.serverPacket0) { class3.updateNpcs(false, var3); var1.serverPacket0 = null; return true; } WidgetGroupParent var22; if (ServerPacket.field871 == var1.serverPacket0) { var37 = var3.readInt(); var6 = var3.readInt(); WidgetGroupParent var48 = (WidgetGroupParent)widgetGroupParents.get((long)var6); var22 = (WidgetGroupParent)widgetGroupParents.get((long)var37); if (var22 != null) { MenuAction.closeWidgetGroup(var22, var48 == null || var48.group != var22.group); } if (var48 != null) { var48.remove(); widgetGroupParents.put(var48, (long)var37); } var15 = Huffman.getWidget(var6); if (var15 != null) { class22.method295(var15); } var15 = Huffman.getWidget(var37); if (var15 != null) { class22.method295(var15); class39.revalidateWidgetScroll(Widget.widgets[var15.id >>> 16], var15, true); } if (rootWidgetGroup != -1) { GrandExchangeEvents.method74(rootWidgetGroup, 1); } var1.serverPacket0 = null; return true; } if (ServerPacket.field813 == var1.serverPacket0) { var37 = var3.method72(); var6 = var3.method66(); var5 = var6 >> 10 & 31; var10 = var6 >> 5 & 31; var11 = var6 & 31; var12 = (var10 << 11) + (var5 << 19) + (var11 << 3); Widget var47 = Huffman.getWidget(var37); if (var12 != var47.color) { var47.color = var12; class22.method295(var47); } var1.serverPacket0 = null; return true; } if (ServerPacket.field828 == var1.serverPacket0) { var37 = var3.readUnsignedByte(); var6 = var3.readUnsignedByte(); var5 = var3.readUnsignedByte(); var10 = var3.readUnsignedByte(); field139[var37] = true; field141[var37] = var6; field142[var37] = var5; field143[var37] = var10; field144[var37] = 0; var1.serverPacket0 = null; return true; } if (ServerPacket.field869 == var1.serverPacket0) { field138 = var3.readUnsignedByteNegate(); publicChatMode = var3.readUnsignedByteNegate(); var1.serverPacket0 = null; return true; } if (ServerPacket.field861 == var1.serverPacket0) { rebootTimer = var3.readUnsignedShort() * 30; field124 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field814 == var1.serverPacket0) { Canvas.field95 = var3.readUnsignedByteNegate(); WorldMapSection3.field1089 = var3.readUnsignedByte(); for (var37 = WorldMapSection3.field1089; var37 < WorldMapSection3.field1089 + 8; ++var37) { for (var6 = Canvas.field95; var6 < Canvas.field95 + 8; ++var6) { if (groundItems[SoundSystem.plane][var37][var6] != null) { groundItems[SoundSystem.plane][var37][var6] = null; TilePaint.updateItemPile(var37, var6); } } } for (PendingSpawn var45 = (PendingSpawn) pendingSpawns.last(); var45 != null; var45 = (PendingSpawn) pendingSpawns.previous()) { if (var45.x >= WorldMapSection3.field1089 && var45.x < WorldMapSection3.field1089 + 8 && var45.y >= Canvas.field95 && var45.y < Canvas.field95 + 8 && var45.level == SoundSystem.plane) { var45.hitpoints = 0; } } var1.serverPacket0 = null; return true; } if (ServerPacket.field820 == var1.serverPacket0) { var37 = var3.method73(); var6 = var3.method67(); var8 = Huffman.getWidget(var37); if (var8.modelType != 1 || var6 != var8.modelId) { var8.modelType = 1; var8.modelId = var6; class22.method295(var8); } var1.serverPacket0 = null; return true; } if (ServerPacket.field823 == var1.serverPacket0) { var37 = var3.readUnsignedByte(); BufferedNetSocket.method3500(var37); var1.serverPacket0 = null; return true; } long var23; long var25; long var27; PlayerType var29; if (ServerPacket.field843 == var1.serverPacket0) { var21 = var3.readStringCp1252NullTerminated(); var25 = var3.readLong(); var27 = (long)var3.readUnsignedShort(); var19 = (long)var3.readMedium(); var29 = (PlayerType)ScriptFrame.findEnumerated(class48.method865(), var3.readUnsignedByte()); var23 = (var27 << 32) + var19; boolean var53 = false; for (int var31 = 0; var31 < 100; ++var31) { if (field152[var31] == var23) { var53 = true; break; } } if (var29.isUser && WorldMapArea.friendSystem.isIgnored(new Username(var21, KeyHandler.loginType))) { var53 = true; } if (!var53 && field208 == 0) { field152[field156] = var23; field156 = (field156 + 1) % 100; String var55 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); if (var29.modIcon != -1) { GrandExchangeEvents.addChatMessage(9, ItemContainer.method1170(var29.modIcon) + var21, var55, Clock.method3534(var25)); } else { GrandExchangeEvents.addChatMessage(9, var21, var55, Clock.method3534(var25)); } } var1.serverPacket0 = null; return true; } if (ServerPacket.field831 == var1.serverPacket0) { class16.method189(class190.field2342); var1.serverPacket0 = null; return true; } if (ServerPacket.field808 == var1.serverPacket0) { var37 = var3.readInt(); var4 = var3.readStringCp1252NullTerminated(); var8 = Huffman.getWidget(var37); if (!var4.equals(var8.text)) { var8.text = var4; class22.method295(var8); } var1.serverPacket0 = null; return true; } if (ServerPacket.field840 == var1.serverPacket0) { class50.loadRegions(true, var1.packetBuffer); var1.serverPacket0 = null; return true; } if (ServerPacket.field791 == var1.serverPacket0) { isCameraLocked = false; for (var37 = 0; var37 < 5; ++var37) { field139[var37] = false; } var1.serverPacket0 = null; return true; } if (ServerPacket.field872 == var1.serverPacket0) { isCameraLocked = true; GrandExchangeOffer.field376 = var3.readUnsignedByte(); KeyHandler.field445 = var3.readUnsignedByte(); IndexStoreAction.field410 = var3.readUnsignedShort(); VertexNormal.field946 = var3.readUnsignedByte(); class171.field1116 = var3.readUnsignedByte(); if (class171.field1116 >= 100) { var37 = GrandExchangeOffer.field376 * 128 + 64; var6 = KeyHandler.field445 * 128 + 64; var5 = class32.getTileHeight(var37, var6, SoundSystem.plane) - IndexStoreAction.field410; var10 = var37 - WorldMapSection1.cameraX; var11 = var5 - GrandExchangeEvents.cameraY; var12 = var6 - class11.cameraZ; var13 = (int)Math.sqrt((double)(var12 * var12 + var10 * var10)); WorldMapIcon1.cameraPitch = (int)(Math.atan2((double)var11, (double)var13) * 325.949D) & 2047; MusicPatchNode.cameraYaw = (int)(Math.atan2((double)var10, (double)var12) * -325.949D) & 2047; if (WorldMapIcon1.cameraPitch < 128) { WorldMapIcon1.cameraPitch = 128; } if (WorldMapIcon1.cameraPitch > 383) { WorldMapIcon1.cameraPitch = 383; } } var1.serverPacket0 = null; return true; } if (ServerPacket.field865 == var1.serverPacket0) { var37 = var3.method73(); var6 = var3.method67(); var8 = Huffman.getWidget(var37); if (var8 != null && var8.type == 0) { if (var6 > var8.scrollHeight - var8.height) { var6 = var8.scrollHeight - var8.height; } if (var6 < 0) { var6 = 0; } if (var6 != var8.scrollY) { var8.scrollY = var6; class22.method295(var8); } } var1.serverPacket0 = null; return true; } if (ServerPacket.field835 == var1.serverPacket0) { var37 = var3.method65(); Script.method2216(var37); field116[++field117 - 1 & 31] = var37 & 32767; var1.serverPacket0 = null; return true; } if (ServerPacket.field846 == var1.serverPacket0) { var3.index += 28; if (var3.method54()) { class234.method4535(var3, var3.index - 28); } var1.serverPacket0 = null; return true; } if (ServerPacket.field811 == var1.serverPacket0) { class12.method159(); var37 = var3.method71(); var6 = var3.readUnsignedByteNegate(); var5 = var3.readUnsignedByte(); experience[var6] = var37; currentLevels[var6] = var5; levels[var6] = 1; for (var10 = 0; var10 < 98; ++var10) { if (var37 >= Skills.Skills_experienceTable[var10]) { levels[var6] = var10 + 2; } } changedSkills[++changedSkillsCount - 1 & 31] = var6; var1.serverPacket0 = null; return true; } if (ServerPacket.field858 == var1.serverPacket0) { var37 = var3.readInt(); var6 = var3.readInt(); var5 = DynamicObject.method2222(); PacketBufferNode var56 = Interpreter.method1915(ClientPacket.field233, packetWriter.isaacCipher); var56.packetBuffer.method56(var5); var56.packetBuffer.writeByte(GameShell.fps); var56.packetBuffer.writeIntME(var37); var56.packetBuffer.writeIntLE(var6); packetWriter.method241(var56); var1.serverPacket0 = null; return true; } if (ServerPacket.field860 == var1.serverPacket0) { class12.method159(); weight = var3.method44(); field124 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field816 == var1.serverPacket0) { var18 = var3.readUnsignedByte() == 1; if (var18) { class15.field1113 = class203.currentTimeMs() - var3.readLong(); FloorDecoration.grandExchangeEvents = new GrandExchangeEvents(var3, true); } else { FloorDecoration.grandExchangeEvents = null; } field154 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field818 == var1.serverPacket0) { WorldMapArea.friendSystem.method100(); field105 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field807 == var1.serverPacket0) { byte[] var54 = new byte[var1.serverPacket0Length]; var3.method237(var54, 0, var54.length); Buffer var52 = new Buffer(var54); var17 = var52.readStringCp1252NullTerminated(); WorldMapCacheName.openURL(var17, true, false); var1.serverPacket0 = null; return true; } if (ServerPacket.field800 == var1.serverPacket0) { class16.method189(class190.field2352); var1.serverPacket0 = null; return true; } WidgetGroupParent var50; if (ServerPacket.field845 == var1.serverPacket0) { var37 = var3.index + var1.serverPacket0Length; var6 = var3.readUnsignedShort(); var5 = var3.readUnsignedShort(); if (var6 != rootWidgetGroup) { rootWidgetGroup = var6; this.method87(false); DevicePcmPlayerProvider.method845(rootWidgetGroup); WorldMapSection3.runWidgetOnLoadListener(rootWidgetGroup); for (var10 = 0; var10 < 100; ++var10) { field100[var10] = true; } } for (; var5-- > 0; var50.keep = true) { var10 = var3.readInt(); var11 = var3.readUnsignedShort(); var12 = var3.readUnsignedByte(); var50 = (WidgetGroupParent)widgetGroupParents.get((long)var10); if (var50 != null && var11 != var50.group) { MenuAction.closeWidgetGroup(var50, true); var50 = null; } if (var50 == null) { var50 = SecureRandomCallable.method1143(var10, var11, var12); } } for (var22 = (WidgetGroupParent)widgetGroupParents.first(); var22 != null; var22 = (WidgetGroupParent)widgetGroupParents.next()) { if (var22.keep) { var22.keep = false; } else { MenuAction.closeWidgetGroup(var22, true); } } widgetClickMasks = new NodeHashTable(512); while (var3.index < var37) { var10 = var3.readInt(); var11 = var3.readUnsignedShort(); var12 = var3.readUnsignedShort(); var13 = var3.readInt(); for (int var51 = var11; var51 <= var12; ++var51) { var23 = (long)var51 + ((long)var10 << 32); widgetClickMasks.put(new IntegerNode(var13), var23); } } var1.serverPacket0 = null; return true; } if (ServerPacket.field855 == var1.serverPacket0) { var37 = var3.method58(); var6 = var3.method58(); var17 = var3.readStringCp1252NullTerminated(); if (var6 >= 1 && var6 <= 8) { if (var17.equalsIgnoreCase("null")) { var17 = null; } playerMenuActions[var6 - 1] = var17; playerOptionsPriorities[var6 - 1] = var37 == 0; } var1.serverPacket0 = null; return true; } if (ServerPacket.field826 == var1.serverPacket0) { Clock.method3533(var3.readStringCp1252NullTerminated()); var1.serverPacket0 = null; return true; } if (ServerPacket.field832 == var1.serverPacket0) { if (var1.serverPacket0Length == 0) { PacketWriter.clanChat = null; } else { if (PacketWriter.clanChat == null) { PacketWriter.clanChat = new ClanChat(KeyHandler.loginType, TextureProvider.client); } PacketWriter.clanChat.readUpdate(var3); } UserComparator8.method3349(); var1.serverPacket0 = null; return true; } if (ServerPacket.field793 == var1.serverPacket0) { var37 = var3.readUnsignedShort(); var6 = var3.readInt(); Varps.Varps_temp[var37] = var6; if (Varps.Varps_main[var37] != var6) { Varps.Varps_main[var37] = var6; } IndexCache.method4703(var37); field121[++field123 - 1 & 31] = var37; var1.serverPacket0 = null; return true; } if (ServerPacket.field795 == var1.serverPacket0) { class16.method189(class190.field2349); var1.serverPacket0 = null; return true; } if (ServerPacket.field798 == var1.serverPacket0) { var37 = var3.readInt(); var50 = (WidgetGroupParent)widgetGroupParents.get((long)var37); if (var50 != null) { MenuAction.closeWidgetGroup(var50, true); } if (field127 != null) { class22.method295(field127); field127 = null; } var1.serverPacket0 = null; return true; } if (ServerPacket.field862 == var1.serverPacket0) { for (var37 = 0; var37 < Varps.Varps_main.length; ++var37) { if (Varps.Varps_temp[var37] != Varps.Varps_main[var37]) { Varps.Varps_main[var37] = Varps.Varps_temp[var37]; IndexCache.method4703(var37); field121[++field123 - 1 & 31] = var37; } } var1.serverPacket0 = null; return true; } if (ServerPacket.field847 == var1.serverPacket0) { WorldMapArea.friendSystem.method101(var3, var1.serverPacket0Length); field105 = cycleCntr; var1.serverPacket0 = null; return true; } if (ServerPacket.field812 == var1.serverPacket0) { var37 = var3.method67(); if (var37 == 65535) { var37 = -1; } AbstractUserComparator.method5437(var37); var1.serverPacket0 = null; return true; } if (ServerPacket.field829 == var1.serverPacket0) { var37 = var3.method70(); var6 = var3.method66(); if (var6 == 65535) { var6 = -1; } HealthBar.method1994(var6, var37); var1.serverPacket0 = null; return true; } if (ServerPacket.field866 == var1.serverPacket0) { var37 = var3.method58(); var6 = var3.method72(); var5 = var3.method67(); var22 = (WidgetGroupParent)widgetGroupParents.get((long)var6); if (var22 != null) { MenuAction.closeWidgetGroup(var22, var5 != var22.group); } SecureRandomCallable.method1143(var6, var5, var37); var1.serverPacket0 = null; return true; } if (ServerPacket.field799 == var1.serverPacket0) { var21 = var3.readStringCp1252NullTerminated(); var25 = (long)var3.readUnsignedShort(); var27 = (long)var3.readMedium(); var29 = (PlayerType)ScriptFrame.findEnumerated(class48.method865(), var3.readUnsignedByte()); long var30 = (var25 << 32) + var27; boolean var32 = false; for (int var33 = 0; var33 < 100; ++var33) { if (var30 == field152[var33]) { var32 = true; break; } } if (WorldMapArea.friendSystem.isIgnored(new Username(var21, KeyHandler.loginType))) { var32 = true; } if (!var32 && field208 == 0) { field152[field156] = var30; field156 = (field156 + 1) % 100; String var57 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); byte var34; if (var29.isPrivileged) { var34 = 7; } else { var34 = 3; } if (var29.modIcon != -1) { WorldMapIcon1.addGameMessage(var34, ItemContainer.method1170(var29.modIcon) + var21, var57); } else { WorldMapIcon1.addGameMessage(var34, var21, var57); } } var1.serverPacket0 = null; return true; } if (ServerPacket.field794 == var1.serverPacket0) { var37 = var3.readInt(); if (var37 != field198) { field198 = var37; WorldMapArea.method428(); } var1.serverPacket0 = null; return true; } if (ServerPacket.field863 == var1.serverPacket0) { minimapState = var3.readUnsignedByte(); var1.serverPacket0 = null; return true; } if (ServerPacket.field827 == var1.serverPacket0) { var21 = var3.readStringCp1252NullTerminated(); var4 = AbstractFont.escapeBrackets(class233.method4527(KitDefinition.method4866(var3))); WorldMapIcon1.addGameMessage(6, var21, var4); var1.serverPacket0 = null; return true; } NPCDefinition.sendStackTrace("" + (var1.serverPacket0 != null ? var1.serverPacket0.id : -1) + "," + (var1.field677 != null ? var1.field677.id : -1) + "," + (var1.field678 != null ? var1.field678.id : -1) + "," + var1.serverPacket0Length, (Throwable)null); TextureProvider.method2773(); } catch (IOException var35) { class48.method868(); } catch (Exception var36) { var4 = "" + (var1.serverPacket0 != null ? var1.serverPacket0.id : -1) + "," + (var1.field677 != null ? var1.field677.id : -1) + "," + (var1.field678 != null ? var1.field678.id : -1) + "," + var1.serverPacket0Length + "," + (Canvas.localPlayer.pathX[0] + class50.baseX) + "," + (Canvas.localPlayer.pathY[0] + GraphicsObject.baseY) + ","; for (var5 = 0; var5 < var1.serverPacket0Length && var5 < 50; ++var5) { var4 = var4 + var3.array[var5] + ","; } NPCDefinition.sendStackTrace(var4, var36); TextureProvider.method2773(); } return true; } } @ObfuscatedName("hi") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-387903382" ) final void method86() { boolean var1 = false; int var2; int var3; while (!var1) { var1 = true; for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { String var4 = menuTargetNames[var2]; menuTargetNames[var2] = menuTargetNames[var2 + 1]; menuTargetNames[var2 + 1] = var4; String var5 = menuActions[var2]; menuActions[var2] = menuActions[var2 + 1]; menuActions[var2 + 1] = var5; var3 = menuOpcodes[var2]; menuOpcodes[var2] = menuOpcodes[var2 + 1]; menuOpcodes[var2 + 1] = var3; var3 = menuArguments1[var2]; menuArguments1[var2] = menuArguments1[var2 + 1]; menuArguments1[var2 + 1] = var3; var3 = menuArguments2[var2]; menuArguments2[var2] = menuArguments2[var2 + 1]; menuArguments2[var2 + 1] = var3; var3 = menuArguments0[var2]; menuArguments0[var2] = menuArguments0[var2 + 1]; menuArguments0[var2 + 1] = var3; boolean var6 = menuShiftClick[var2]; menuShiftClick[var2] = menuShiftClick[var2 + 1]; menuShiftClick[var2 + 1] = var6; var1 = false; } } } if (DevicePcmPlayerProvider.dragInventoryWidget == null && clickedWidget == null) { int var12 = MouseHandler.MouseHandler_lastButton; int var7; int var11; int var13; if (isMenuOpen) { int var14; if (var12 != 1 && (AbstractRasterProvider.mouseCam || var12 != 4)) { var2 = MouseHandler.MouseHandler_x; var14 = MouseHandler.MouseHandler_y; if (var2 < WorldMapDecoration.menuX - 10 || var2 > WorldMapDecoration.menuX + class214.menuWidth + 10 || var14 < GameShell.menuY - 10 || var14 > AbstractWorldMapIcon.menuHeight + GameShell.menuY + 10) { isMenuOpen = false; Players.method2112(WorldMapDecoration.menuX, GameShell.menuY, class214.menuWidth, AbstractWorldMapIcon.menuHeight); } } if (var12 == 1 || !AbstractRasterProvider.mouseCam && var12 == 4) { var2 = WorldMapDecoration.menuX; var14 = GameShell.menuY; var7 = class214.menuWidth; var3 = MouseHandler.MouseHandler_lastPressedX; var11 = MouseHandler.MouseHandler_lastPressedY; int var15 = -1; for (int var16 = 0; var16 < menuOptionsCount; ++var16) { var13 = (menuOptionsCount - 1 - var16) * 15 + var14 + 31; if (var3 > var2 && var3 < var7 + var2 && var11 > var13 - 13 && var11 < var13 + 3) { var15 = var16; } } if (var15 != -1) { WorldMapSection0.method245(var15); } isMenuOpen = false; Players.method2112(WorldMapDecoration.menuX, GameShell.menuY, class214.menuWidth, AbstractWorldMapIcon.menuHeight); } } else { var2 = menuOptionsCount - 1; if ((var12 == 1 || !AbstractRasterProvider.mouseCam && var12 == 4) && var2 >= 0) { var7 = menuOpcodes[var2]; if (var7 == 39 || var7 == 40 || var7 == 41 || var7 == 42 || var7 == 43 || var7 == 33 || var7 == 34 || var7 == 35 || var7 == 36 || var7 == 37 || var7 == 38 || var7 == 1005) { label223: { var3 = menuArguments1[var2]; var11 = menuArguments2[var2]; Widget var8 = Huffman.getWidget(var11); var13 = class1.getWidgetClickMask(var8); boolean var9 = (var13 >> 28 & 1) != 0; if (!var9) { Object var10 = null; if (!class168.method3461(class1.getWidgetClickMask(var8))) { break label223; } } if (DevicePcmPlayerProvider.dragInventoryWidget != null && !field207 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { var12 = field205; var13 = field206; WorldMapDecorationType.processTempMenuAction(UnitPriceComparator.tempMenuAction, var12, var13); UnitPriceComparator.tempMenuAction = null; } field207 = false; itemDragDuration = 0; if (DevicePcmPlayerProvider.dragInventoryWidget != null) { class22.method295(DevicePcmPlayerProvider.dragInventoryWidget); } DevicePcmPlayerProvider.dragInventoryWidget = Huffman.getWidget(var11); dragItemSlotSource = var3; field205 = MouseHandler.MouseHandler_lastPressedX; field206 = MouseHandler.MouseHandler_lastPressedY; if (var2 >= 0) { UnitPriceComparator.tempMenuAction = new MenuAction(); UnitPriceComparator.tempMenuAction.argument1 = menuArguments1[var2]; UnitPriceComparator.tempMenuAction.argument2 = menuArguments2[var2]; UnitPriceComparator.tempMenuAction.opcode = menuOpcodes[var2]; UnitPriceComparator.tempMenuAction.argument0 = menuArguments0[var2]; UnitPriceComparator.tempMenuAction.action = menuActions[var2]; } class22.method295(DevicePcmPlayerProvider.dragInventoryWidget); return; } } } if ((var12 == 1 || !AbstractRasterProvider.mouseCam && var12 == 4) && this.shouldLeftClickOpenMenu()) { var12 = 2; } if ((var12 == 1 || !AbstractRasterProvider.mouseCam && var12 == 4) && menuOptionsCount > 0) { WorldMapSection0.method245(var2); } if (var12 == 2 && menuOptionsCount > 0) { this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); } } } } @ObfuscatedName("ht") @ObfuscatedSignature( signature = "(B)Z", garbageValue = "109" ) @Export("shouldLeftClickOpenMenu") final boolean shouldLeftClickOpenMenu() { int var1 = menuOptionsCount - 1; return (field215 == 1 && menuOptionsCount > 2 || UserComparator7.method3364(var1)) && !menuShiftClick[var1]; } @ObfuscatedName("hj") @ObfuscatedSignature( signature = "(IIB)V", garbageValue = "1" ) @Export("openMenu") final void openMenu(int var1, int var2) { int var3 = class2.fontBold12.stringWidth("Choose Option"); int var4; for (var4 = 0; var4 < menuOptionsCount; ++var4) { Font var5 = class2.fontBold12; String var6; if (var4 < 0) { var6 = ""; } else if (menuTargetNames[var4].length() > 0) { var6 = menuActions[var4] + " " + menuTargetNames[var4]; } else { var6 = menuActions[var4]; } int var7 = var5.stringWidth(var6); if (var7 > var3) { var3 = var7; } } var3 += 8; var4 = menuOptionsCount * 15 + 22; int var8 = var1 - var3 / 2; if (var3 + var8 > SoundCache.canvasWidth) { var8 = SoundCache.canvasWidth - var3; } if (var8 < 0) { var8 = 0; } int var9 = var2; if (var4 + var2 > Huffman.canvasHeight) { var9 = Huffman.canvasHeight - var4; } if (var9 < 0) { var9 = 0; } WorldMapDecoration.menuX = var8; GameShell.menuY = var9; class214.menuWidth = var3; AbstractWorldMapIcon.menuHeight = menuOptionsCount * 15 + 22; class65.scene.menuOpen(SoundSystem.plane, var1, var2, false); isMenuOpen = true; } @ObfuscatedName("iu") @ObfuscatedSignature( signature = "(ZI)V", garbageValue = "-271438207" ) final void method87(boolean var1) { int var2 = rootWidgetGroup; int var3 = SoundCache.canvasWidth; int var4 = Huffman.canvasHeight; if (GroundItemPile.loadWidgetGroup(var2)) { WorldMapRegion.notRevalidateWidgetScroll(Widget.widgets[var2], -1, var3, var4, var1); } } @ObfuscatedName("ip") @ObfuscatedSignature( signature = "(Lho;B)V", garbageValue = "0" ) @Export("alignWidget") void alignWidget(Widget var1) { Widget var2 = var1.parentId == -1 ? null : Huffman.getWidget(var1.parentId); int var3; int var4; if (var2 == null) { var3 = SoundCache.canvasWidth; var4 = Huffman.canvasHeight; } else { var3 = var2.width; var4 = var2.height; } WorldMapSection3.alignWidgetSize(var1, var3, var4, false); OverlayDefinition.alignWidgetPosition(var1, var3, var4); } @ObfuscatedName("jh") @ObfuscatedSignature( signature = "(I)V", garbageValue = "715978124" ) final void method88() { class22.method295(clickedWidget); ++MouseRecorder.widgetDragDuration; if (field103 && field106) { int var1 = MouseHandler.MouseHandler_x; int var2 = MouseHandler.MouseHandler_y; var1 -= widgetClickX; var2 -= widgetClickY; if (var1 < field108) { var1 = field108; } if (var1 + clickedWidget.width > field108 + clickedWidgetParent.width) { var1 = field108 + clickedWidgetParent.width - clickedWidget.width; } if (var2 < field109) { var2 = field109; } if (var2 + clickedWidget.height > field109 + clickedWidgetParent.height) { var2 = field109 + clickedWidgetParent.height - clickedWidget.height; } int var3 = var1 - field110; int var4 = var2 - field111; int var5 = clickedWidget.dragZoneSize; if (MouseRecorder.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { isDraggingWidget = true; } int var6 = var1 - field108 + clickedWidgetParent.scrollX; int var7 = var2 - field109 + clickedWidgetParent.scrollY; ScriptEvent var8; if (clickedWidget.onDrag != null && isDraggingWidget) { var8 = new ScriptEvent(); var8.widget = clickedWidget; var8.mouseX = var6; var8.mouseY = var7; var8.args0 = clickedWidget.onDrag; AbstractIndexCache.runScript(var8); } if (MouseHandler.MouseHandler_currentButton == 0) { int var10; if (isDraggingWidget) { if (clickedWidget.onDragComplete != null) { var8 = new ScriptEvent(); var8.widget = clickedWidget; var8.mouseX = var6; var8.mouseY = var7; var8.dragTarget = draggedOnWidget; var8.args0 = clickedWidget.onDragComplete; AbstractIndexCache.runScript(var8); } if (draggedOnWidget != null) { Widget var13 = clickedWidget; var10 = WorldMapRegion.method568(class1.getWidgetClickMask(var13)); Widget var11; if (var10 == 0) { var11 = null; } else { label100: { for (int var12 = 0; var12 < var10; ++var12) { var13 = Huffman.getWidget(var13.parentId); if (var13 == null) { var11 = null; break label100; } } var11 = var13; } } if (var11 != null) { PacketBufferNode var14 = Interpreter.method1915(ClientPacket.field279, packetWriter.isaacCipher); var14.packetBuffer.method63(clickedWidget.childIndex); var14.packetBuffer.method63(draggedOnWidget.itemId); var14.packetBuffer.writeShort(draggedOnWidget.childIndex); var14.packetBuffer.writeIntLE(clickedWidget.id); var14.packetBuffer.writeIntME(draggedOnWidget.id); var14.packetBuffer.writeShort(clickedWidget.itemId); packetWriter.method241(var14); } } } else if (this.shouldLeftClickOpenMenu()) { this.openMenu(field110 + widgetClickX, field111 + widgetClickY); } else if (menuOptionsCount > 0) { int var9 = widgetClickX + field110; var10 = widgetClickY + field111; WorldMapDecorationType.processTempMenuAction(UnitPriceComparator.tempMenuAction, var9, var10); UnitPriceComparator.tempMenuAction = null; } clickedWidget = null; } } else if (MouseRecorder.widgetDragDuration > 1) { clickedWidget = null; } } @ObfuscatedName("kr") @ObfuscatedSignature( signature = "(B)Lkp;", garbageValue = "-87" ) @Export("username") public Username username() { return Canvas.localPlayer != null ? Canvas.localPlayer.username : null; } @ObfuscatedName("l") @ObfuscatedSignature( signature = "(Ljava/lang/CharSequence;I)I", garbageValue = "-1464358697" ) @Export("hashString") public static int hashString(CharSequence var0) { int var1 = var0.length(); int var2 = 0; for (int var3 = 0; var3 < var1; ++var3) { var2 = (var2 << 5) - var2 + HealthBar.charToByteCp1252(var0.charAt(var3)); } return var2; } @ObfuscatedName("a") @ObfuscatedSignature( signature = "(Ljava/lang/String;B)I", garbageValue = "0" ) public static int method1692(String var0) { return var0.length() + 2; } static { field161 = true; worldId = 1; worldProperties = 0; gameBuild = 0; isMembersWorld = false; isLowDetail = false; language = 0; clientType = -1; field162 = false; gameState = 0; isLoading = true; cycle = 0; mouseLastLastPressedTimeMillis = 1L; field163 = -1; field164 = -1; field165 = -1L; field166 = 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; field167 = 0; js5Errors = 0; loginState = 0; field168 = 0; field169 = 0; field170 = 0; field658 = class159.field1985; Login_isUsernameRemembered = false; secureRandomFuture = new SecureRandomFuture(); field172 = null; npcs = new NPC[32768]; npcCount = 0; npcIndices = new int[32768]; field173 = 0; field174 = new int[250]; packetWriter = new PacketWriter(); field175 = 0; field176 = false; useBufferedSocket = true; timer = new Timer(); fontsMap = new HashMap(); field177 = 0; field178 = 1; field179 = 0; field180 = 1; field181 = 0; collisionMaps = new CollisionMap[4]; isInInstance = false; instanceChunkTemplates = new int[4][13][13]; field182 = 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}; field183 = 0; field184 = 2301979; field185 = 5063219; field186 = 3353893; field187 = 7759444; field188 = false; field189 = 0; cameraPitchTarget = 128; minimapOrientation = 0; field190 = 0; field191 = 0; field192 = 0; field193 = 0; oculusOrbState = 0; cameraFollowHeight = 50; field194 = 0; field195 = 0; field196 = 0; oculusOrbNormalSpeed = 12; field197 = 6; field198 = 0; field199 = false; field200 = 0; field201 = false; field202 = 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; field203 = 0; field204 = 0; dragItemSlotSource = 0; field205 = 0; field206 = 0; dragItemSlotDestination = 0; field207 = false; itemDragDuration = 0; field208 = 0; showLoadingMessages = true; players = new Player[2048]; localPlayerIndex = -1; field209 = 0; renderSelf = true; field210 = 0; field211 = 0; field212 = new int[1000]; playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; playerMenuActions = new String[8]; playerOptionsPriorities = new boolean[8]; field213 = 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]; field215 = 0; isMenuOpen = false; menuOptionsCount = 0; menuArguments1 = new int[500]; menuArguments2 = new int[500]; menuOpcodes = new int[500]; menuArguments0 = new int[500]; menuActions = new String[500]; menuTargetNames = new String[500]; menuShiftClick = new boolean[500]; followerOpsLowPriority = false; shiftClickDrop = false; tapToDrop = false; showMouseOverText = true; field216 = -1; field217 = -1; field218 = 0; field219 = 50; isItemSelected = 0; selectedItemName = null; isSpellSelected = false; field220 = -1; field157 = -1; selectedSpellActionName = null; selectedSpellName = null; rootWidgetGroup = -1; widgetGroupParents = new NodeHashTable(8); field151 = 0; field153 = -1; chatEffects = 0; field136 = 0; field127 = null; runEnergy = 0; weight = 0; rights = 0; followerIndex = -1; field155 = false; viewportWidget = null; clickedWidget = null; clickedWidgetParent = null; widgetClickX = 0; widgetClickY = 0; draggedOnWidget = null; field106 = false; field108 = -1; field109 = -1; field103 = false; field110 = -1; field111 = -1; isDraggingWidget = false; cycleCntr = 1; field121 = new int[32]; field123 = 0; field116 = new int[32]; field117 = 0; changedSkills = new int[32]; changedSkillsCount = 0; chatCycle = 0; field105 = 0; field129 = 0; field122 = 0; field154 = 0; field124 = 0; mouseWheelRotation = 0; scriptEvents = new NodeDeque(); field147 = new NodeDeque(); field148 = new NodeDeque(); widgetClickMasks = new NodeHashTable(512); rootWidgetCount = 0; field98 = -2; field100 = new boolean[100]; field102 = new boolean[100]; field101 = new boolean[100]; rootWidgetXs = new int[100]; rootWidgetYs = new int[100]; rootWidgetWidths = new int[100]; rootWidgetHeights = new int[100]; gameDrawingMode = 0; field99 = 0L; isResizable = true; field160 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; publicChatMode = 0; field138 = 0; field158 = ""; field152 = new long[100]; field156 = 0; field137 = 0; field146 = new int[128]; field145 = new int[128]; field126 = -1L; field125 = -1; mapIconCount = 0; mapIconXs = new int[1000]; mapIconYs = new int[1000]; mapIcons = new Sprite[1000]; destinationX = 0; destinationY = 0; minimapState = 0; field128 = 255; field112 = -1; field107 = false; soundEffectVolume = 127; field115 = 127; soundEffectCount = 0; soundEffectIds = new int[50]; queuedSoundEffectLoops = new int[50]; queuedSoundEffectDelays = new int[50]; soundLocations = new int[50]; soundEffects = new SoundEffect[50]; isCameraLocked = false; field139 = new boolean[5]; field141 = new int[5]; field142 = new int[5]; field143 = new int[5]; field144 = new int[5]; field130 = 256; field131 = 205; field150 = 256; field149 = 320; field135 = 1; field134 = 32767; field132 = 1; field133 = 32767; viewportOffsetX = 0; viewportOffsetY = 0; viewportWidth = 0; viewportHeight = 0; viewportZoom = 0; field119 = new PlayerAppearance(); field118 = -1; field120 = -1; platformInfoProvider = new DesktopPlatformInfoProvider(); grandExchangeOffers = new GrandExchangeOffer[8]; field159 = new OwnWorldComparator(); field104 = -1; indexCacheLoaders = new ArrayList(10); indexCacheLoaderIndex = 0; field140 = 0; field895 = new class65(); field113 = new int[50]; field114 = new int[50]; } }