Thread: Pretty much all "regular" packets identified

Results 1 to 3 of 3
  1. #1 Pretty much all "regular" packets identified 
    Registered Member
    Teemuzz's Avatar
    Join Date
    Oct 2009
    Posts
    2,755
    Thanks given
    1,212
    Thanks received
    422
    Rep Power
    934
    Code:
    						if (JagString.opcode == 162) { // Regular map area XXX
    							Class39.parseMapRegion(false);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 214) { // Constructed map area XXX
    							Class39.parseMapRegion(true);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 26) {// Start location packets TODO
    							Class65.locationPacketX = GraphicEffectConfig.packetStream.g_ubyte_negate();
    							Class107.locationPacketZ = GraphicEffectConfig.packetStream.g_ubyte();
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 230) { // Parse multiple location packets TODO
    							Class107.locationPacketZ = GraphicEffectConfig.packetStream.g_ubyte_add();
    							Class65.locationPacketX = GraphicEffectConfig.packetStream.g_ubyte_subs();
    							while (~Class130.packetSize < ~GraphicEffectConfig.packetStream.position) {
    								JagString.opcode = GraphicEffectConfig.packetStream.g_ubyte();
    								Class39.parseLocationPacket((byte) -82);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (60 == JagString.opcode) {// VarP small XXX
    							int id = GraphicEffectConfig.packetStream.g_ushort_add();
    							byte set = GraphicEffectConfig.packetStream.g_byte_negate();
    							Class3_Sub13_Sub23.setVarP(id, set);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 226) {// VarP big XXX
    							int set = GraphicEffectConfig.packetStream.g_int();
    							int id = GraphicEffectConfig.packetStream.g_ushort_add();
    							Class3_Sub13_Sub23.setVarP(id, set);
    							JagString.opcode = -1;
    							return true;
    						} else if (128 == JagString.opcode) {// Force VarP refresh XXX
    							for (int var = 0; ~Class163_Sub1.varP.length < ~var; ++var) {
    								if (~Class57.updatedVarP[var] != ~Class163_Sub1.varP[var]) {
    									Class163_Sub1.varP[var] = Class57.updatedVarP[var];
    									Class46.refreshMagicVarP(var);
    									Class44.cs2_updatedVarP[ClientScript.and(Class36.varpUpdateCount++, 31)] = var;
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (89 == JagString.opcode) {// Reset transient varp XXX
    							Class3_Sub13_Sub2.resetTransientVarP();
    							CipherStream.method819(false);
    							Class36.varpUpdateCount += 32;
    							JagString.opcode = -1;
    							return true;
    						} else if (37 == JagString.opcode) {// VarBit small XXX
    							int set = GraphicEffectConfig.packetStream.g_ubyte_add();
    							int id = GraphicEffectConfig.packetStream.g_ushort_le();
    							Class163.setVarBit(id, set);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 84) {// VarBit big XXX
    							int set = GraphicEffectConfig.packetStream.g_int_le();
    							int id = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							Class163.setVarBit(id, set);
    							JagString.opcode = -1;
    							return true;
    						} else if (65 == JagString.opcode) {// VarC small XXX
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le();
    							int set = GraphicEffectConfig.packetStream.g_ubyte_negate();
    							int varId = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateVarC(varId, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 69) {// VarC big XXX
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int set = GraphicEffectConfig.packetStream.g_int();
    							int varId = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateVarC(varId, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 123) {// XXX
    							int id = GraphicEffectConfig.packetStream.g_ushort_le();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							JagString set = GraphicEffectConfig.packetStream.gjstr();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateVarString(id, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 48) {// XXX
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort();
    							JagString set = GraphicEffectConfig.packetStream.gjstr();
    							int id = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateVarString(id, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 171) { // XXX
    							int id = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							JagString text = GraphicEffectConfig.packetStream.gjstr();
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								RefreshRequest.setWidgetText(id, text);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 130) {// Model on interface XXX
    							int ptr = GraphicEffectConfig.packetStream.g_int_le();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int id = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (id == 65535) {
    								id = -1;
    							}
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateWidgetMedia(ptr, 1, id, -1);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 73) {// Npc on interface XXX
    							int id = GraphicEffectConfig.packetStream.g_ushort_add();
    							int ptr = GraphicEffectConfig.packetStream.g_int_le();
    							if (id == 65535) {
    								id = -1;
    							}
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateWidgetMedia(ptr, 2, id, -1);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 66) { // Player on interface XXX
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int ptr = GraphicEffectConfig.packetStream.g_int_inverse();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								int set = 0;
    								if (RSTextureLoader.localPlayer.identityKit != null) {
    									set = RSTextureLoader.localPlayer.identityKit.method1163(-24861);
    								}
    								RefreshRequest.updateWidgetMedia(ptr, 3, set, -1);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 111) {// Generate chat head from body parts TODO
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int ptr = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int set1 = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int set = GraphicEffectConfig.packetStream.g_ushort_le();
    							int set2 = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateWidgetMedia(ptr, 7, set << -311274832 | set2, set1);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 36) {// Type 5 XXX
    							int pointer = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int value = GraphicEffectConfig.packetStream.g_short_le();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateWidgetAnimation(pointer, value);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 2) {// RGB XXX
    							int ptr = GraphicEffectConfig.packetStream.g_int_inverse();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int set = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								// color = (blue << 3) + (green << 11) + (red << 19);
    								RefreshRequest.updateColor(ptr, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 21) {// Set widget visibility XXX
    							int set = GraphicEffectConfig.packetStream.g_ubyte_negate();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort();
    							int pointer = GraphicEffectConfig.packetStream.g_int_le();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateVisibility(pointer, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 132) {// set pitch, yaw and scale TODO
    							int pitch = GraphicEffectConfig.packetStream.g_ushort();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int scale = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int yaw = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int ptr = GraphicEffectConfig.packetStream.g_int();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.updateView(ptr, pitch, scale, yaw);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (50 == JagString.opcode) {// Item on widget XXX
    							int slot = GraphicEffectConfig.packetStream.g_int();
    							int ptr = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int itemId = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (itemId == 65535) {
    								itemId = -1;
    							}
    							int tracker = GraphicEffectConfig.packetStream.g_ushort_le();
    							if (AbstractWheelListener.setPacketTracker(tracker)) {
    								Widget widget = Class7.getWidget(ptr);
    								ItemDefinition itemDef;
    								if (widget.aBoolean233) {
    									RefreshRequest.update9(ptr, itemId, slot);
    									itemDef = ItemDefinition.load(itemId);
    									RefreshRequest.updateView(ptr, itemDef.iconPitch, itemDef.iconScale, itemDef.iconYaw);
    									Class84.method1420(ptr, itemDef.iconRoll, itemDef.iconOffsetY, itemDef.iconOffsetX,
    											(byte) -85);
    								} else {
    									if (-1 == itemId) {
    										widget.mediaType = 0;
    										JagString.opcode = -1;
    										return true;
    									}
    									itemDef = ItemDefinition.load(itemId);
    									widget.pitch = itemDef.iconPitch;
    									widget.scale = 100 * itemDef.iconScale / slot;
    									widget.mediaType = 4;
    									widget.mediaId = itemId;
    									widget.yaw = itemDef.iconYaw;
    									Class20.method909(117, widget);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 119) {// Reposition child? TODO: Unsure
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int ptr = GraphicEffectConfig.packetStream.g_int_le();
    							int set = GraphicEffectConfig.packetStream.g_short();
    							int set1 = GraphicEffectConfig.packetStream.g_short_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.update11(ptr, set, set1);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 220) {// Set scroll bar XXX: 
    							int ptr = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int set = GraphicEffectConfig.packetStream.g_ushort_le();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.update12(ptr, set);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 207) {//Changes yaw and pitch related to client tick TODO: ???
    							int ptr = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int pitchStep = GraphicEffectConfig.packetStream.g_ushort();
    							int yawStep = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								RefreshRequest.showcaseRoll(ptr, yawStep + (pitchStep << 16));
    							}
    
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 105) {// Init inventory XXX
    							int ptr = GraphicEffectConfig.packetStream.g_int();
    							int invId = GraphicEffectConfig.packetStream.g_ushort();
    							if (~ptr > 69999) {
    								invId += '\u8000';
    							}
    							Widget parent = null;
    							if (0 <= ptr) {
    								parent = Class7.getWidget(ptr);
    							}
    							if (parent != null) {
    								for (int slot = 0; parent.inventoryId.length > slot; ++slot) {
    									parent.inventoryId[slot] = 0;
    									parent.inventoryAmt[slot] = 0;
    								}
    							}
    							Class10.resetInventory(invId);
    							int len = GraphicEffectConfig.packetStream.g_ushort();
    							for (int slot = 0; slot < len; ++slot) {
    								int amt = GraphicEffectConfig.packetStream.g_ubyte_subs();
    								if (255 == amt) {
    									amt = GraphicEffectConfig.packetStream.g_int();
    								}
    								int itemId = GraphicEffectConfig.packetStream.g_ushort();
    								if (null != parent && ~slot > ~parent.inventoryId.length) {
    									parent.inventoryId[slot] = itemId;
    									parent.inventoryAmt[slot] = amt;
    								}
    
    								FloorOverlayConfig.setInvItem(invId, slot, itemId - 1, amt);
    							}
    							if (parent != null) {
    								Class20.method909(-9, parent);
    							}
    							CipherStream.method819(false);
    							QuickChatDefinition.cs2_updatedInv[ClientScript.and(ReferenceTable.invUpdateCount++,
    									31)] = ClientScript.and(32767, invId);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 22) { // Update inventory XXX
    							int ptr = GraphicEffectConfig.packetStream.g_int();
    							int invId = GraphicEffectConfig.packetStream.g_ushort();
    							if (69999 < ~ptr) {
    								invId += '\u8000';
    							}
    							Widget widget = null;
    							if (ptr >= 0) {
    								widget = Class7.getWidget(ptr);
    							}
    							for (; ~GraphicEffectConfig.packetStream.position > ~Class130.packetSize;) {
    								int slot = GraphicEffectConfig.packetStream.g_usmart();
    								int itemId = GraphicEffectConfig.packetStream.g_ushort();
    								int amt = 0;
    								if (itemId != 0) {
    									amt = GraphicEffectConfig.packetStream.g_ubyte();
    									if (amt == 255) {
    										amt = GraphicEffectConfig.packetStream.g_int();
    									}
    								}
    								if (widget != null && ~slot <= -1 && ~widget.inventoryId.length < ~slot) {
    									widget.inventoryId[slot] = itemId;
    									widget.inventoryAmt[slot] = amt;
    								}
    								FloorOverlayConfig.setInvItem(invId, slot, itemId - 1, amt);
    							}
    							if (widget != null) {
    								Class20.method909(-128, widget);
    							}
    							CipherStream.method819(false);
    							QuickChatDefinition.cs2_updatedInv[ClientScript.and(ReferenceTable.invUpdateCount++,
    									31)] = ClientScript.and(32767, invId);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 144) {// reset inventory XXX
    							int pointer = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							Widget widget = Class7.getWidget(pointer);
    							for (int slot = 0; widget.inventoryId.length > slot; ++slot) {
    								widget.inventoryId[slot] = -1;
    								widget.inventoryAmt[slot] = 0;
    							}
    							Class20.method909(123, widget);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 191) {// Delete inventory XXX
    							int invId = GraphicEffectConfig.packetStream.g_ushort_le();
    							Class3_Sub28_Sub1.deleteInventory(invId);
    							QuickChatDefinition.cs2_updatedInv[ClientScript.and(31,
    									ReferenceTable.invUpdateCount++)] = ClientScript.and(invId, 32767);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 115) {// CS2 XXX
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort();
    							JagString instr = GraphicEffectConfig.packetStream.gjstr();
    							Object[] args = new Object[instr.length() - -1];
    							for (int pos = instr.length() + -1; -1 >= ~pos; --pos) {
    								if (115 == instr.method1569(pos, (byte) -45)) {
    									args[1 + pos] = GraphicEffectConfig.packetStream.gjstr();
    								} else {
    									args[1 + pos] = new Integer(GraphicEffectConfig.packetStream.g_int());
    								}
    							}
    							args[0] = new Integer(GraphicEffectConfig.packetStream.g_int());
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								CS2Request var66 = new CS2Request();
    								var66.arguments = args;
    								Class43.method1065(var66);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 145) {// Main game frame XXX
    							int parentId = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int reset = GraphicEffectConfig.packetStream.g_ubyte_add();
    							int trcknum = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (AbstractWheelListener.setPacketTracker(trcknum)) {
    								if (reset == 2) {
    									Class7.resetWorldMap((byte) -86);
    								}
    								InventoryConfig.parentWidgetId = parentId;
    								Class3_Sub13_Sub13.method232(parentId, 16182);
    								Class124.method1746(false, (byte) -64);
    								Class3_Sub13_Sub12.runOpenScripts(InventoryConfig.parentWidgetId);
    
    								for (int ix = 0; -101 < ~ix; ++ix) {
    									GroundItemWrapper.aBooleanArray3674[ix] = true;
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 155) { // Open widget XXX
    							int type = GraphicEffectConfig.packetStream.g_ubyte();
    							int pointer = GraphicEffectConfig.packetStream.g_int_le_inverse();
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int widgetId = GraphicEffectConfig.packetStream.g_ushort();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								WidgetPointer ptr = (WidgetPointer) WidgetPointer.pointers.get(pointer);
    								if (null != ptr) {
    									Class3_Sub13_Sub18.closeWidget(ptr.widgetId != widgetId, ptr, false);
    								}
    								Class21.openWidget(pointer, widgetId, type);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 176) {// Switch widget XXX
    							int source = GraphicEffectConfig.packetStream.g_int_inverse();
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int target = GraphicEffectConfig.packetStream.g_int_inverse();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								WidgetPointer srcWidget = (WidgetPointer) WidgetPointer.pointers.get(source);
    								WidgetPointer tgtWidget = (WidgetPointer) WidgetPointer.pointers.get(target);
    								if (null != tgtWidget) {
    									Class3_Sub13_Sub18.closeWidget(
    											null == srcWidget || tgtWidget.widgetId != srcWidget.widgetId, tgtWidget,
    											false);
    								}
    								if (null != srcWidget) {
    									srcWidget.unlink();
    									WidgetPointer.pointers.put(target, srcWidget, 1);
    								}
    								Widget widget = Class7.getWidget(source);
    								if (widget != null) {
    									Class20.method909(var0 + 57, widget);
    								}
    								widget = Class7.getWidget(target);
    								if (null != widget) {
    									Class20.method909(119, widget);
    									Class151_Sub1.method2104(widget, true);
    								}
    								if (0 != ~InventoryConfig.parentWidgetId) {
    									Class3_Sub8.runScripts(1, InventoryConfig.parentWidgetId);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 149) {// Close widget XXX
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort();
    							int ptr = GraphicEffectConfig.packetStream.g_int();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								WidgetPointer pointer = (WidgetPointer) WidgetPointer.pointers.get(ptr);
    								if (null != pointer) {
    									Class3_Sub13_Sub18.closeWidget(true, pointer, false);
    								}
    								if (null != Class3_Sub13_Sub7.aClass11_3087) {
    									Class20.method909(115, Class3_Sub13_Sub7.aClass11_3087);
    									Class3_Sub13_Sub7.aClass11_3087 = null;
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 165) {// Widget settings/access mask XXX
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort_le();
    							int end = GraphicEffectConfig.packetStream.g_ushort_le();
    							if (end == '\uffff') {
    								end = -1;
    							}
    							int pointer = GraphicEffectConfig.packetStream.g_int();
    							int start = GraphicEffectConfig.packetStream.g_ushort_add();
    							int accessMask = GraphicEffectConfig.packetStream.g_int_inverse();
    							if (~start == -65536) {
    								start = -1;
    							}
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								for (int slot = start; slot <= end; ++slot) {
    									long ptr = slot + ((long) pointer << 32);
    									WidgetSettings prev = (WidgetSettings) Class124.widgetSettings.get(ptr);
    									WidgetSettings settings;
    									if (prev == null) {
    										if (-1 == slot) {
    											settings = new WidgetSettings(accessMask,
    													Class7.getWidget(pointer).settings.anInt2202);
    										} else {
    											settings = new WidgetSettings(accessMask, -1);
    										}
    									} else {
    										settings = new WidgetSettings(accessMask, prev.anInt2202);
    										prev.unlink();
    									}
    									Class124.widgetSettings.put(ptr, settings, 1);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 9) { // Why? Widgetstruct setting XXX
    							int set = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							int pointer = GraphicEffectConfig.packetStream.g_int_le();
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort_add();
    							int end = GraphicEffectConfig.packetStream.g_ushort_le();
    							if (end == 65535) {
    								end = -1;
    							}
    							int start = GraphicEffectConfig.packetStream.g_ushort_add();
    							if (start == 65535) {
    								start = -1;
    							}
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								for (int slot = start; slot <= end; ++slot) {
    									long ptr = slot + ((long) pointer << 32);
    									WidgetSettings prev = (WidgetSettings) Class124.widgetSettings.get(ptr);
    									WidgetSettings settings;
    									if (null != prev) {
    										settings = new WidgetSettings(prev.accessMask, set);
    										prev.unlink();
    									} else if (0 != ~slot) {
    										settings = new WidgetSettings(0, set);
    									} else {
    										settings = new WidgetSettings(Class7.getWidget(pointer).settings.accessMask,
    												set);
    									}
    									Class124.widgetSettings.put(ptr, settings, 1);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 209) { // Some kind of game frame scripts TODO:
    							if (InventoryConfig.parentWidgetId != -1) {
    								Class3_Sub8.runScripts(0, InventoryConfig.parentWidgetId);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 192) {// Map/compass blackout XXX
    							Class161.mapcompassBlackout = GraphicEffectConfig.packetStream.g_ubyte();
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 153) {// Reset map flag XXX
    							JagString.opcode = -1;
    							Class65.mapFlagX = 0;
    							return true;
    						} else if (JagString.opcode == 225) {// Update player XXX
    							Class163_Sub3.updatePlayers();
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 32) {// Update NPC XXX
    							Class3_Sub13_Sub14.updateNpc();
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 160) {// Set walk text XXX
    							if (0 != Class130.packetSize) {
    								Class3_Sub13_Sub28.walkText = GraphicEffectConfig.packetStream.gjstr();
    							} else {
    								Class3_Sub13_Sub28.walkText = Class56.WALK_HERE;
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 44) { // Click option TODO
    							int cursorId = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (cursorId == '\uffff') {
    								cursorId = -1;
    							}
    							int top = GraphicEffectConfig.packetStream.g_ubyte();
    							int optId = GraphicEffectConfig.packetStream.g_ubyte();
    							JagString option = GraphicEffectConfig.packetStream.gjstr();
    							if (1 <= optId && ~optId >= -9) {
    								if (option.method1531(Class50.null_)) {
    									option = null;
    								}
    								CollisionMap.playerOptions[optId - 1] = option;
    								Class3_Sub13_Sub26.playerOptCursor[optId - 1] = cursorId;
    								Class1.secondaryOption[optId - 1] = top == 0;
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 38) { // Skill XXX
    							CipherStream.method819(false);
    							int level = GraphicEffectConfig.packetStream.g_ubyte_add();
    							int experience = GraphicEffectConfig.packetStream.g_int_inverse();
    							int skillId = GraphicEffectConfig.packetStream.g_ubyte();
    							StockMarketOffer.experience[skillId] = experience;
    							Class3_Sub13_Sub15.level[skillId] = level;
    							Class3_Sub20.maxLevel[skillId] = 1;
    
    							for (int x = 0; 98 > x; ++x) {
    								if (ItemDefinition.levelxpLookup[x] <= experience) {
    									Class3_Sub20.maxLevel[skillId] = x + 2;
    								}
    							}
    
    							Class3_Sub28_Sub19.anIntArray3780[ClientScript.and(31,
    									GZIPDecompressor.anInt815++)] = skillId;
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 116) { // Grand Exchange/GE offer TODO
    							int slot = GraphicEffectConfig.packetStream.g_ubyte();
    							if (GraphicEffectConfig.packetStream.g_ubyte() != 0) {
    								GraphicEffectConfig.packetStream.position--;
    								Class3_Sub13_Sub33.aClass133Array3393[slot] = new StockMarketOffer(
    										GraphicEffectConfig.packetStream);
    							} else {
    								Class3_Sub13_Sub33.aClass133Array3393[slot] = new StockMarketOffer();
    							}
    							JagString.opcode = -1;
    							Class121.anInt1642 = Class3_Sub13_Sub17.anInt3213;
    							return true;
    						} else if (JagString.opcode == 217) {// Hint map marker TODO
    							int flags = GraphicEffectConfig.packetStream.g_ubyte();
    							HintMapMarker mapMarker = new HintMapMarker();
    							int slot = flags >> 340093798;
    							mapMarker.type = flags & 63;
    							mapMarker.anInt1351 = GraphicEffectConfig.packetStream.g_ubyte();
    							if (~mapMarker.anInt1351 <= -1 && ~mapMarker.anInt1351 > ~Class166.hint_headicons.length) {
    								if (~mapMarker.type != -2 && 10 != mapMarker.type) {
    									if (-3 >= ~mapMarker.type && 6 >= mapMarker.type) {
    										if (mapMarker.type == 2) {
    											mapMarker.anInt1346 = 64;
    											mapMarker.anInt1350 = 64;
    										}
    
    										if (mapMarker.type == 3) {
    											mapMarker.anInt1346 = 0;
    											mapMarker.anInt1350 = 64;
    										}
    
    										if (mapMarker.type == 4) {
    											mapMarker.anInt1346 = 128;
    											mapMarker.anInt1350 = 64;
    										}
    
    										if (mapMarker.type == 5) {
    											mapMarker.anInt1346 = 64;
    											mapMarker.anInt1350 = 0;
    										}
    										if (mapMarker.type == 6) {
    											mapMarker.anInt1346 = 64;
    											mapMarker.anInt1350 = 128;
    										}
    										mapMarker.type = 2;
    										mapMarker.targetX = GraphicEffectConfig.packetStream.g_ushort();
    										mapMarker.anInt1347 = GraphicEffectConfig.packetStream.g_ushort();
    										mapMarker.anInt1353 = GraphicEffectConfig.packetStream.g_ubyte();
    									}
    								} else {
    									mapMarker.actorTargetId = GraphicEffectConfig.packetStream.g_ushort();
    									GraphicEffectConfig.packetStream.position += 3;
    								}
    
    								mapMarker.playerModelId = GraphicEffectConfig.packetStream.g_ushort();
    								if (mapMarker.playerModelId == '\uffff') {
    									mapMarker.playerModelId = -1;
    								}
    								RuntimeException_Sub1.hintMapMarkers[slot] = mapMarker;
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 4) {// Play music XXX
    							int id = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if (id == '\uffff') {
    								id = -1;
    							}
    							Class86.playMusic(id);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 208) {// Play jingle XXX
    							int volume = GraphicEffectConfig.packetStream.g_tri_le();
    							int jingleId = GraphicEffectConfig.packetStream.g_ushort_le();
    							if (jingleId == '\uffff') {
    								jingleId = -1;
    							}
    							Class167.playJingle(volume, jingleId, (byte) -1);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 172) {// Play sfx TODO
    							int trackId = GraphicEffectConfig.packetStream.g_ushort();
    							if (-65536 == ~trackId) {
    								trackId = -1;
    							}
    							int volume = GraphicEffectConfig.packetStream.g_ubyte();// ??
    							int short2 = GraphicEffectConfig.packetStream.g_ushort();// ???
    							Class3_Sub13_Sub6.playSfx(trackId, volume, short2);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 187) {// Set camera pitch & yaw XXX
    							int yaw = GraphicEffectConfig.packetStream.g_ushort_le();
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort();
    							int pitch = GraphicEffectConfig.packetStream.g_ushort();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								GraphicEffectConfig.yawTarget = yaw;
    								Soundbox.pitchTarget = pitch;
    								if (StockMarketOffer.cameraMode == 2) {
    									Class139.cameraPitch = Soundbox.pitchTarget;
    									Class3_Sub13_Sub25.cameraYaw = GraphicEffectConfig.yawTarget;
    								}
    								Class47.method1098((byte) -117);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 154) {// Camera detach TODO
    							int slot = GraphicEffectConfig.packetStream.g_ushort();
    							int experience = GraphicEffectConfig.packetStream.g_ubyte();
    							int skillId = GraphicEffectConfig.packetStream.g_ubyte();
    							int x = GraphicEffectConfig.packetStream.g_ushort();
    							int accessMask = GraphicEffectConfig.packetStream.g_ubyte();
    							int var30 = GraphicEffectConfig.packetStream.g_ubyte();
    							if (AbstractWheelListener.setPacketTracker(slot)) {
    								Class3_Sub20.method390(true, accessMask, x, var30, (byte) -124, skillId, experience);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 24) {// Reset camera, start of cinematic effects XXX
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								Class3_Sub28_Sub5.resetCameraEffects();
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 27) { // Camera shake TODO
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort();
    							int slot = GraphicEffectConfig.packetStream.g_ubyte();
    							int shake1 = GraphicEffectConfig.packetStream.g_ubyte();
    							int shake2 = GraphicEffectConfig.packetStream.g_ubyte();
    							int shake3 = GraphicEffectConfig.packetStream.g_ubyte();
    							int shake4 = GraphicEffectConfig.packetStream.g_ushort();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								Class104.cameraShakeEnabled[slot] = true;
    								Class3_Sub13_Sub32.anIntArray3383[slot] = shake1;
    								Class166.anIntArray2073[slot] = shake2;
    								Class3_Sub13_Sub29.anIntArray3359[slot] = shake3;
    								Class163_Sub1_Sub1.anIntArray4009[slot] = shake4;
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 125) {// Camera look target XXX
    							int tracknum = GraphicEffectConfig.packetStream.g_ushort();
    							int tx = GraphicEffectConfig.packetStream.g_ubyte();
    							int tz = GraphicEffectConfig.packetStream.g_ubyte();
    							int cy = GraphicEffectConfig.packetStream.g_ushort();
    							int step = GraphicEffectConfig.packetStream.g_ubyte();
    							int dur = GraphicEffectConfig.packetStream.g_ubyte();
    							if (AbstractWheelListener.setPacketTracker(tracknum)) {
    								Class164_Sub1.method2238(tx, tz, cy, step, dur);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 13) {// Teleport local player on area TODO
    							int pos1 = GraphicEffectConfig.packetStream.g_ubyte_subs();
    							int flags = GraphicEffectConfig.packetStream.g_ubyte_add();
    							int pos2 = GraphicEffectConfig.packetStream.g_ubyte();
    							Class26.localPlane = flags >> 1;
    							RSTextureLoader.localPlayer.setPosition(pos1, pos2, ~(flags & 1) == -2);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 102) {// Animate npc TODO
    							int npcId = GraphicEffectConfig.packetStream.g_ushort_le();
    							int progress = GraphicEffectConfig.packetStream.g_ubyte_subs();
    							int animationId = GraphicEffectConfig.packetStream.g_ushort();
    							NPC npc = Class3_Sub13_Sub24.localNpcs[npcId];
    							if (null != npc) {
    								Class130.animateNpc(npc, animationId, progress);
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 235) {// Global object animation on absolute position TODO
    							int slot = GraphicEffectConfig.packetStream.g_ubyte_subs();
    							int type = slot >> -518983614;
    							int rotation = 3 & slot;
    							int homotype = Class75.anIntArray1107[type];
    							int animationId = GraphicEffectConfig.packetStream.g_ushort();
    							int position = GraphicEffectConfig.packetStream.g_int();
    							if ('\uffff' == animationId) {
    								animationId = -1;
    							}
    							int var10 = 16383 & position;
    							int i = 16383 & position >> 2070792462;
    							i -= WorldMapLabels.lowestVisibleTileX;
    							var10 -= Class82.lowestVisibleTileZ;
    							int plane = 3 & position >> 765199868;
    							Class50.method1131(plane, 110, rotation, type, var10, homotype, i, animationId);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 131) {// Reset entity animations TODO
    							for (int id = 0; id < Class3_Sub13_Sub22.localPlayers.length; ++id) {
    								if (Class3_Sub13_Sub22.localPlayers[id] != null) {
    									Class3_Sub13_Sub22.localPlayers[id].animationId = -1;
    								}
    							}
    							for (int id = 0; id < Class3_Sub13_Sub24.localNpcs.length; ++id) {
    								if (Class3_Sub13_Sub24.localNpcs[id] != null) {
    									Class3_Sub13_Sub24.localNpcs[id].animationId = -1;
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 112) {// Clear ground items on chunk TODO
    							Class65.locationPacketX = GraphicEffectConfig.packetStream.g_ubyte();
    							Class107.locationPacketZ = GraphicEffectConfig.packetStream.g_ubyte_negate();
    							for (int x = Class65.locationPacketX; x < 8 + Class65.locationPacketX; ++x) {
    								for (int z = Class107.locationPacketZ; ~z > ~(8 + Class107.locationPacketZ); ++z) {
    									if (null != Class3_Sub13_Sub22.groundItemStacks[Class26.localPlane][x][z]) {
    										Class3_Sub13_Sub22.groundItemStacks[Class26.localPlane][x][z] = null;
    										Class128.updateGroundItems(x, z);
    									}
    								}
    							}
    							for (Class3_Sub4 var68 = (Class3_Sub4) Class3_Sub13_Sub6.aClass61_3075
    									.method1222(); null != var68; var68 = (Class3_Sub4) Class3_Sub13_Sub6.aClass61_3075
    											.method1221()) {
    								if (~var68.anInt2264 <= ~Class65.locationPacketX
    										&& 8 + Class65.locationPacketX > var68.anInt2264
    										&& var68.anInt2248 >= Class107.locationPacketZ
    										&& ~var68.anInt2248 > ~(8 + Class107.locationPacketZ)
    										&& var68.anInt2250 == Class26.localPlane) {
    									var68.anInt2259 = 0;
    								}
    							}
    
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 56) {// Create GFX on actor/position TODO
    							int delay = GraphicEffectConfig.packetStream.g_ushort();
    							int height = GraphicEffectConfig.packetStream.g_ushort_le();
    							int target = GraphicEffectConfig.packetStream.g_int_inverse();
    							int gfxId = GraphicEffectConfig.packetStream.g_ushort_le_add();
    							if ((target >> 30) == 0) {
    								AnimationSequence animDef;
    								if (target >> 29 != 0) {
    									int npcId = '\uffff' & target;
    									NPC npc = Class3_Sub13_Sub24.localNpcs[npcId];
    									if (npc != null) {
    										if (gfxId == 65535) {
    											gfxId = -1;
    										}
    										boolean animate = true;
    										if (gfxId != -1 && npc.graphicId != -1
    												&& ~client.getAnimationDef(GraphicEffectConfig.getGraphicDef((byte) 42,
    														gfxId).animationId).priority > ~client.getAnimationDef(
    																GraphicEffectConfig.getGraphicDef((byte) 42,
    																		npc.graphicId).animationId).priority) {
    											animate = false;
    										}
    										if (animate) {
    											npc.anInt2761 = 0;
    											npc.graphicId = gfxId;
    											npc.gfxDelay = Class44.anInt719 + delay;
    											npc.anInt2805 = 0;
    											if (npc.gfxDelay > Class44.anInt719) {
    												npc.anInt2805 = -1;
    											}
    
    											npc.gfxPosY = height;
    											npc.anInt2826 = 1;
    											if (~npc.graphicId != 0 && Class44.anInt719 == npc.gfxDelay) {
    												int anim = GraphicEffectConfig.getGraphicDef((byte) 42,
    														npc.graphicId).animationId;
    												if (anim != -1) {
    													animDef = client.getAnimationDef(anim);
    													if (animDef != null && null != animDef.frames) {
    														Class89.updateAnimationSounds(npc.absoluteX, npc.absoluteZ,
    																animDef, false, 0);
    													}
    												}
    											}
    										}
    									}
    								} else if ((target >> 28) != 0) {
    									int playerId = target & '\uffff';
    									Player plr;
    									if (WidgetSettings.localPlrId == playerId) {
    										plr = RSTextureLoader.localPlayer;
    									} else {
    										plr = Class3_Sub13_Sub22.localPlayers[playerId];
    									}
    									if (plr != null) {
    										if (gfxId == '\uffff') {
    											gfxId = -1;
    										}
    										boolean animate = true;
    										if (gfxId != -1 && plr.graphicId != -1
    												&& ~client.getAnimationDef(GraphicEffectConfig.getGraphicDef((byte) 42,
    														gfxId).animationId).priority > ~client.getAnimationDef(
    																GraphicEffectConfig.getGraphicDef((byte) 42,
    																		plr.graphicId).animationId).priority) {
    											animate = false;
    										}
    										if (animate) {
    											plr.gfxDelay = delay + Class44.anInt719;
    											plr.gfxPosY = height;
    											plr.graphicId = gfxId;
    											if (plr.graphicId == 65535) {
    												plr.graphicId = -1;
    											}
    
    											plr.anInt2826 = 1;
    											plr.anInt2761 = 0;
    											plr.anInt2805 = 0;
    											if (plr.gfxDelay > Class44.anInt719) {
    												plr.anInt2805 = -1;
    											}
    
    											if (0 != ~plr.graphicId && ~plr.gfxDelay == ~Class44.anInt719) {
    												int anim = GraphicEffectConfig.getGraphicDef((byte) 42,
    														plr.graphicId).animationId;
    												if (0 != ~anim) {
    													animDef = client.getAnimationDef(anim);
    													if (null != animDef && null != animDef.frames) {
    														Class89.updateAnimationSounds(plr.absoluteX, plr.absoluteZ,
    																animDef, plr == RSTextureLoader.localPlayer, 0);
    													}
    												}
    											}
    										}
    									}
    								}
    							} else {
    								int plane = 3 & target >> 28;
    								int posX = ((target & 268434277) >> 14) - WorldMapLabels.lowestVisibleTileX;
    								int posZ = (target & 16383) - Class82.lowestVisibleTileZ;
    								if (~posX <= -1 && posZ >= 0 && 104 > posX && ~posZ > -105) {
    									posZ = 128 * posZ + 64;
    									posX = 128 * posX + 64;
    									SpotGFX graphic = new SpotGFX(gfxId, plane, posX, posZ,
    											-height + Class121.method1736(plane, posX, posZ), delay, Class44.anInt719);
    									Class3_Sub13_Sub15.aClass61_3177.method1215(true, new Class3_Sub28_Sub2(graphic));
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 234) {// Run energy XXX
    							CipherStream.method819(false);
    							Class9.runPower = GraphicEffectConfig.packetStream.g_ubyte();
    							Class140_Sub6.genericCs2UpdateTime = Class3_Sub13_Sub17.anInt3213;
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 159) {// One opcode up run energy, ?? TODO
    							CipherStream.method819(false);
    							Class149.anInt1925 = GraphicEffectConfig.packetStream.g_short();
    							Class140_Sub6.genericCs2UpdateTime = Class3_Sub13_Sub17.anInt3213;
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 164) {// Last login adress XXX
    							int ip32 = GraphicEffectConfig.packetStream.g_int_inverse();
    							Class136.lastlogAdress = Class38.signlink.dnsResolve(ip32);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 197) {// End utility, start socials, contact server state TODO
    							HintMapMarker.contactServerState = GraphicEffectConfig.packetStream.g_ubyte();
    							Class110.socialUpdateTick = Class3_Sub13_Sub17.anInt3213;
    							JagString.opcode = -1;
    							return true;
    						} else if (232 == JagString.opcode) {// Chat settings TODO
    							Class3_Sub13_Sub8.anInt3101 = GraphicEffectConfig.packetStream.g_ubyte();
    							PlayerBodyPart.anInt467 = GraphicEffectConfig.packetStream.g_ubyte();
    							Class45.anInt734 = GraphicEffectConfig.packetStream.g_ubyte();
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 62) {// Add/Update friend TODO
    							long usr = GraphicEffectConfig.packetStream.g_long();
    							int worldId = GraphicEffectConfig.packetStream.g_ushort();
    							int x = GraphicEffectConfig.packetStream.g_ubyte();
    							boolean idk = true;
    							if (usr < 0L) {
    								usr &= Long.MAX_VALUE;
    								idk = false;
    							}
    							JagString worldName = GroundItemWrapper.empty_string;
    							if (-1 > ~worldId) {
    								worldName = GraphicEffectConfig.packetStream.gjstr();
    							}
    							JagString userame = Class41.decodeBase37(usr).method1545();
    							for (int i = 0; i < Class8.totalFriendCount; ++i) {
    								if (usr == Class50.friendNameLong[i]) {
    									if (~worldId != ~CursorConfig.friendWorldId[i]) {
    										CursorConfig.friendWorldId[i] = worldId;
    										if (0 < worldId) {
    											CipherStream.addMessage(5, Renderkit.toString(
    													new JagString[] { userame, Class3_Sub28_Sub10_Sub1.LOGGED_IN }),
    													GroundItemWrapper.empty_string, -1);
    										}
    										if (worldId == 0) {
    											CipherStream.addMessage(5,
    													Renderkit.toString(new JagString[] { userame, Class50.LOGGED_OUT }),
    													GroundItemWrapper.empty_string, -1);
    										}
    									}
    									Class3_Sub28.friendWorldName[i] = worldName;
    									Class57.anIntArray904[i] = x;
    									userame = null;
    									Node.aBooleanArray73[i] = idk;
    									break;
    								}
    							}
    							boolean sorting = false;
    							if (null != userame && 200 > Class8.totalFriendCount) {
    								Class50.friendNameLong[Class8.totalFriendCount] = usr;
    								Class70.friendNameString[Class8.totalFriendCount] = userame;
    								CursorConfig.friendWorldId[Class8.totalFriendCount] = worldId;
    								Class3_Sub28.friendWorldName[Class8.totalFriendCount] = worldName;
    								Class57.anIntArray904[Class8.totalFriendCount] = x;
    								Node.aBooleanArray73[Class8.totalFriendCount] = idk;
    								++Class8.totalFriendCount;
    							}
    
    							Class110.socialUpdateTick = Class3_Sub13_Sub17.anInt3213;
    							int _friends = Class8.totalFriendCount;
    							while (~_friends < -1) {
    								--_friends;
    								sorting = true;
    								for (int var11 = 0; var11 < _friends; ++var11) {
    									if (~CursorConfig.friendWorldId[var11] != ~CS2Request.localWorldId
    											&& ~CS2Request.localWorldId == ~CursorConfig.friendWorldId[var11 - -1]
    											|| CursorConfig.friendWorldId[var11] == 0
    													&& CursorConfig.friendWorldId[var11 - -1] != 0) {
    										sorting = false;
    										int var12 = CursorConfig.friendWorldId[var11];
    										CursorConfig.friendWorldId[var11] = CursorConfig.friendWorldId[var11 - -1];
    										CursorConfig.friendWorldId[1 + var11] = var12;
    										JagString var64 = Class3_Sub28.friendWorldName[var11];
    										Class3_Sub28.friendWorldName[var11] = Class3_Sub28.friendWorldName[var11 + 1];
    										Class3_Sub28.friendWorldName[var11 - -1] = var64;
    										JagString var57 = Class70.friendNameString[var11];
    										Class70.friendNameString[var11] = Class70.friendNameString[var11 + 1];
    										Class70.friendNameString[var11 - -1] = var57;
    										long var15 = Class50.friendNameLong[var11];
    										Class50.friendNameLong[var11] = Class50.friendNameLong[var11 - -1];
    										Class50.friendNameLong[var11 - -1] = var15;
    										int var17 = Class57.anIntArray904[var11];
    										Class57.anIntArray904[var11] = Class57.anIntArray904[var11 - -1];
    										Class57.anIntArray904[1 + var11] = var17;
    										boolean var18 = Node.aBooleanArray73[var11];
    										Node.aBooleanArray73[var11] = Node.aBooleanArray73[var11 - -1];
    										Node.aBooleanArray73[var11 - -1] = var18;
    									}
    								}
    								if (sorting) {
    									break;
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 71) {// Outgoing private message XXX
    							long target = GraphicEffectConfig.packetStream.g_long();
    							JagString message = Class3_Sub28_Sub17
    									.method686(Class32.huffmanDecode(GraphicEffectConfig.packetStream).trim());
    							CipherStream.addMessage(6, message, Class41.decodeBase37(target).method1545(), var0 ^ 82);
    							JagString.opcode = -1;
    							return true;
    						} else if (141 == JagString.opcode) {// Outgoing private quick message XXX
    							long username = GraphicEffectConfig.packetStream.g_long();
    							int chatId = GraphicEffectConfig.packetStream.g_ushort();
    							JagString chat = StringEntryNode.load(chatId).toChat(GraphicEffectConfig.packetStream);
    							InventoryConfig.addChat(chatId, 19, chat, (JagString) null, (byte) 50,
    									Class41.decodeBase37(username).method1545());
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 0) {// Incoming private message XXX
    							long username = GraphicEffectConfig.packetStream.g_long();
    							int mid_topbit = GraphicEffectConfig.packetStream.g_ushort();
    							int mid_botbit = GraphicEffectConfig.packetStream.g_tri();
    							int rights = GraphicEffectConfig.packetStream.g_ubyte();
    							boolean ignored = false;
    							long messageId = mid_botbit + (mid_topbit << -1802335520);
    							int var12 = 0;
    							label1651: while (true) {
    								if (-101 >= ~var12) {
    									if (rights <= 1) {
    										if ((!Class3_Sub15.chatbool1 || Class121.chatbool2)
    												&& !Class3_Sub13_Sub14.chatbool3) {
    											for (var12 = 0; var12 < Class3_Sub28_Sub5.ignoreCount; ++var12) {
    												if (~username == ~Class114.ignoreList[var12]) {
    													ignored = true;
    													break label1651;
    												}
    											}
    										} else {
    											ignored = true;
    										}
    									}
    									break;
    								}
    								if (messageId == Class163_Sub2_Sub1.recentMessages[var12]) {
    									ignored = true;
    									break;
    								}
    								++var12;
    							}
    							if (!ignored && -1 == ~Class44_Sub1.anInt2622) {
    								Class163_Sub2_Sub1.recentMessages[Class149.messageCounter] = messageId;
    								Class149.messageCounter = (Class149.messageCounter + 1) % 100;
    								JagString message = Class3_Sub28_Sub17
    										.method686(Class32.huffmanDecode(GraphicEffectConfig.packetStream).trim());
    								if (-3 != ~rights && ~rights != -4) {
    									if (rights != 1) {
    										CipherStream.addMessage(3, message, Class41.decodeBase37(username).method1545(),
    												var0 + 82);
    									} else {
    										CipherStream.addMessage(7, message,
    												Renderkit.toString(new JagString[] { Class32.IMG_TAG_MODERATOR,
    														Class41.decodeBase37(username).method1545() }),
    												-1);
    									}
    								} else {
    									CipherStream.addMessage(7, message, Renderkit.toString(new JagString[] {
    											Class21.IMG_TAG_ADMIN, Class41.decodeBase37(username).method1545() }), -1);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 247) {// Incoming private quick message XXX
    							long username = GraphicEffectConfig.packetStream.g_long();
    							int top = GraphicEffectConfig.packetStream.g_ushort();
    							int bot = GraphicEffectConfig.packetStream.g_tri();
    							int rights = GraphicEffectConfig.packetStream.g_ubyte();
    							int chatId = GraphicEffectConfig.packetStream.g_ushort();
    							boolean ignore = false;
    							long messageId = (top << 24) + bot;
    							int ix = 0;
    							check: while (true) {
    								if (100 > ix) {
    									if (~messageId != ~Class163_Sub2_Sub1.recentMessages[ix]) {
    										++ix;
    										continue;
    									}
    									ignore = true;
    									break;
    								}
    								if (rights <= 1) {
    									for (ix = 0; ~ix > ~Class3_Sub28_Sub5.ignoreCount; ++ix) {
    										if (username == Class114.ignoreList[ix]) {
    											ignore = true;
    											break check;
    										}
    									}
    								}
    								break;
    							}
    							if (!ignore && ~Class44_Sub1.anInt2622 == -1) {
    								Class163_Sub2_Sub1.recentMessages[Class149.messageCounter] = messageId;
    								Class149.messageCounter = (1 + Class149.messageCounter) % 100;
    								JagString chat = StringEntryNode.load(chatId).toChat(GraphicEffectConfig.packetStream);
    								if (rights == 2) {
    									InventoryConfig.addChat(chatId, 18, chat, (JagString) null, (byte) 50,
    											Renderkit.toString(new JagString[] { Class21.IMG_TAG_ADMIN,
    													Class41.decodeBase37(username).method1545() }));
    								} else if (rights == 1) {
    									InventoryConfig.addChat(chatId, 18, chat, (JagString) null, (byte) 50,
    											Renderkit.toString(new JagString[] { Class32.IMG_TAG_MODERATOR,
    													Class41.decodeBase37(username).method1545() }));
    								} else {
    									InventoryConfig.addChat(chatId, 18, chat, (JagString) null, (byte) 50,
    											Class41.decodeBase37(username).method1545());
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 126) {// Ignore list TODO
    							Class3_Sub28_Sub5.ignoreCount = Class130.packetSize / 8;
    							for (int i = 0; i < Class3_Sub28_Sub5.ignoreCount; i++) {
    								Class114.ignoreList[i] = GraphicEffectConfig.packetStream.g_long();
    								Class3_Sub13_Sub27.ignoreList_str[i] = Class41.decodeBase37(Class114.ignoreList[i]);
    							}
    							Class110.socialUpdateTick = Class3_Sub13_Sub17.anInt3213;
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 55) {// Join clan chat TODO
    							Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213;
    							long ownerName37 = GraphicEffectConfig.packetStream.g_long();
    							if (~ownerName37 == -1L) {
    								Class161.chatOwnerName = null;
    								JagString.opcode = -1;
    								Widget.chatroomName = null;
    								ClientScript.clanChatMembers = null;
    								Class3_Sub28.clanMemberCount = 0;
    								return true;
    							} else {
    								long chatroomName37 = GraphicEffectConfig.packetStream.g_long();
    								Widget.chatroomName = Class41.decodeBase37(chatroomName37);
    								Class161.chatOwnerName = Class41.decodeBase37(ownerName37);
    								Player.aByte3953 = GraphicEffectConfig.packetStream.g_byte();
    								int amtUsers = GraphicEffectConfig.packetStream.g_ubyte();
    								if (255 == amtUsers) {
    									JagString.opcode = -1;
    									return true;
    								} else {
    									Class3_Sub28.clanMemberCount = amtUsers;
    									ClanChatMember[] members = new ClanChatMember[100];
    
    									for (int x = 0; ~Class3_Sub28.clanMemberCount < ~x; ++x) {
    										members[x] = new ClanChatMember();
    										members[x].identifier = GraphicEffectConfig.packetStream.g_long();
    										members[x].username = Class41.decodeBase37(members[x].identifier);
    										members[x].worldId = GraphicEffectConfig.packetStream.g_ushort();
    										members[x].rights = GraphicEffectConfig.packetStream.g_byte();
    										members[x].worldName = GraphicEffectConfig.packetStream.gjstr();
    										if (~Class3_Sub13_Sub16.localName37 == ~members[x].identifier) {
    											CollisionMap.userClanRights = members[x].rights;
    										}
    									}
    									boolean var32 = false;
    									int var10 = Class3_Sub28.clanMemberCount;
    
    									while (-1 > ~var10) {
    										var32 = true;
    										--var10;
    
    										for (int var11 = 0; ~var10 < ~var11; ++var11) {
    											if (-1 > ~members[var11].username
    													.method1559(members[var11 - -1].username)) {
    												var32 = false;
    												ClanChatMember var9 = members[var11];
    												members[var11] = members[1 + var11];
    												members[var11 + 1] = var9;
    											}
    										}
    										if (var32) {
    											break;
    										}
    									}
    									ClientScript.clanChatMembers = members;
    									JagString.opcode = -1;
    									return true;
    								}
    							}
    						} else if (JagString.opcode == 196) {// Update clan, clean this mess TODO
    							long username = GraphicEffectConfig.packetStream.g_long();
    							int worldId = GraphicEffectConfig.packetStream.g_ushort();
    							byte rights = GraphicEffectConfig.packetStream.g_byte();
    							boolean remove = false;
    							if (-1L != ~(Long.MIN_VALUE & username)) {
    								remove = true;
    							}
    							if (!remove) {
    								JagString worldName = GraphicEffectConfig.packetStream.gjstr();
    								ClanChatMember member = new ClanChatMember();
    								member.identifier = username;
    								member.username = Class41.decodeBase37(member.identifier);
    								member.rights = rights;
    								member.worldName = worldName;
    								member.worldId = worldId;
    								int i;
    								for (i = -1 + Class3_Sub28.clanMemberCount; ~i <= -1; --i) {// Sort
    									int var10 = ClientScript.clanChatMembers[i].username.method1559(member.username);
    									if (-1 == ~var10) {
    										ClientScript.clanChatMembers[i].worldId = worldId;
    										ClientScript.clanChatMembers[i].rights = rights;
    										ClientScript.clanChatMembers[i].worldName = worldName;
    										if (~username == ~Class3_Sub13_Sub16.localName37) {
    											CollisionMap.userClanRights = rights;
    										}
    
    										Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213;
    										JagString.opcode = -1;
    										return true;
    									}
    
    									if (var10 < 0) {
    										break;
    									}
    								}
    
    								if (ClientScript.clanChatMembers.length <= Class3_Sub28.clanMemberCount) {
    									JagString.opcode = -1;
    									return true;
    								}
    
    								for (int var10 = Class3_Sub28.clanMemberCount + -1; ~i > ~var10; --var10) {
    									ClientScript.clanChatMembers[1 + var10] = ClientScript.clanChatMembers[var10];
    								}
    
    								if (-1 == ~Class3_Sub28.clanMemberCount) {
    									ClientScript.clanChatMembers = new ClanChatMember[100];
    								}
    
    								ClientScript.clanChatMembers[1 + i] = member;
    								if (Class3_Sub13_Sub16.localName37 == username) {
    									CollisionMap.userClanRights = rights;
    								}
    
    								++Class3_Sub28.clanMemberCount;
    							} else {
    								if (~Class3_Sub28.clanMemberCount == -1) {
    									JagString.opcode = -1;
    									return true;
    								}
    								username &= Long.MAX_VALUE;
    								int var30;
    								for (var30 = 0; ~Class3_Sub28.clanMemberCount < ~var30
    										&& (username != ClientScript.clanChatMembers[var30].identifier
    												|| ~worldId != ~ClientScript.clanChatMembers[var30].worldId); ++var30) {
    									;
    								}
    								if (var30 < Class3_Sub28.clanMemberCount) {
    									while (~(-1 + Class3_Sub28.clanMemberCount) < ~var30) {
    										ClientScript.clanChatMembers[var30] = ClientScript.clanChatMembers[1 + var30];
    										++var30;
    									}
    									--Class3_Sub28.clanMemberCount;
    									ClientScript.clanChatMembers[Class3_Sub28.clanMemberCount] = null;
    								}
    							}
    
    							JagString.opcode = -1;
    							Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213;
    							return true;
    						} else if (JagString.opcode == 54) {// Clan chat XXX
    							long username = GraphicEffectConfig.packetStream.g_long();
    							GraphicEffectConfig.packetStream.g_byte();
    							long chatname = GraphicEffectConfig.packetStream.g_long();
    							int top = GraphicEffectConfig.packetStream.g_ushort();
    							int bot = GraphicEffectConfig.packetStream.g_tri();
    							long messageId = (top << -164903776) + bot;
    							int var10 = GraphicEffectConfig.packetStream.g_ubyte();
    							boolean skip = false;
    							int var14 = 0;
    							label1774: while (true) {
    								if (var14 >= 100) {
    									if (1 >= var10) {
    										if ((!Class3_Sub15.chatbool1 || Class121.chatbool2)
    												&& !Class3_Sub13_Sub14.chatbool3) {
    											for (var14 = 0; Class3_Sub28_Sub5.ignoreCount > var14; ++var14) {
    												if (Class114.ignoreList[var14] == username) {
    													skip = true;
    													break label1774;
    												}
    											}
    										} else {
    											skip = true;
    										}
    									}
    									break;
    								}
    								if (Class163_Sub2_Sub1.recentMessages[var14] == messageId) {
    									skip = true;
    									break;
    								}
    								++var14;
    							}
    							if (!skip && 0 == Class44_Sub1.anInt2622) {
    								Class163_Sub2_Sub1.recentMessages[Class149.messageCounter] = messageId;
    								Class149.messageCounter = (Class149.messageCounter + 1) % 100;
    								JagString chat = Class3_Sub28_Sub17
    										.method686(Class32.huffmanDecode(GraphicEffectConfig.packetStream).trim());
    								if (var10 != 2 && var10 != 3) {
    									if (var10 == 1) {
    										Class3_Sub13_Sub11.method221(-1, chat,
    												Renderkit.toString(new JagString[] { Class32.IMG_TAG_MODERATOR,
    														Class41.decodeBase37(username).method1545() }),
    												Class41.decodeBase37(chatname).method1545(), 9);
    									} else {
    										Class3_Sub13_Sub11.method221(-1, chat,
    												Class41.decodeBase37(username).method1545(),
    												Class41.decodeBase37(chatname).method1545(), 9);
    									}
    								} else {
    									Class3_Sub13_Sub11.method221(-1, chat,
    											Renderkit.toString(new JagString[] { Class21.IMG_TAG_ADMIN,
    													Class41.decodeBase37(username).method1545() }),
    											Class41.decodeBase37(chatname).method1545(), 9);
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 81) {// Clan Quick chat XXX
    							long username = GraphicEffectConfig.packetStream.g_long();
    							GraphicEffectConfig.packetStream.g_byte();
    							long clanName = GraphicEffectConfig.packetStream.g_long();
    							int top = GraphicEffectConfig.packetStream.g_ushort();
    							int bot = GraphicEffectConfig.packetStream.g_tri();
    							int rights = GraphicEffectConfig.packetStream.g_ubyte();
    							boolean skip = false;
    							int quickChatId = GraphicEffectConfig.packetStream.g_ushort();
    							long msgId = (top << 32) + bot;
    							int var54 = 0;
    
    							label1521: while (true) {
    								if (100 > var54) {
    									if (~msgId != ~Class163_Sub2_Sub1.recentMessages[var54]) {
    										++var54;
    										continue;
    									}
    
    									skip = true;
    									break;
    								}
    
    								if (1 >= rights) {
    									for (var54 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var54; ++var54) {
    										if (~Class114.ignoreList[var54] == ~username) {
    											skip = true;
    											break label1521;
    										}
    									}
    								}
    								break;
    							}
    							if (!skip && 0 == Class44_Sub1.anInt2622) {
    								Class163_Sub2_Sub1.recentMessages[Class149.messageCounter] = msgId;
    								Class149.messageCounter = (1 + Class149.messageCounter) % 100;
    								JagString chat = StringEntryNode.load(quickChatId)
    										.toChat(GraphicEffectConfig.packetStream);
    								if (-3 != ~rights && 3 != rights) {
    									if (~rights != -2) {
    										InventoryConfig.addChat(quickChatId, 20, chat,
    												Class41.decodeBase37(clanName).method1545(), (byte) 50,
    												Class41.decodeBase37(username).method1545());
    									} else {
    										InventoryConfig.addChat(quickChatId, 20, chat,
    												Class41.decodeBase37(clanName).method1545(), (byte) 50,
    												Renderkit.toString(new JagString[] { Class32.IMG_TAG_MODERATOR,
    														Class41.decodeBase37(username).method1545() }));
    									}
    								} else {
    									InventoryConfig.addChat(quickChatId, 20, chat,
    											Class41.decodeBase37(clanName).method1545(), (byte) 50,
    											Renderkit.toString(new JagString[] { Class21.IMG_TAG_ADMIN,
    													Class41.decodeBase37(username).method1545() }));
    								}
    							}
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 85) {// System Update TODO
    							Class38_Sub1.systemUpdateTime = GraphicEffectConfig.packetStream.g_ushort() * 30;
    							JagString.opcode = -1;
    							Class140_Sub6.genericCs2UpdateTime = Class3_Sub13_Sub17.anInt3213;
    							return true;
    						} else if (JagString.opcode == 86) {// Logout XXX
    							Class167.logoutReset((byte) 46);
    							JagString.opcode = -1;
    							return false;
    						} else if (JagString.opcode == 114) {// Reflection cheat check TODO
    							Class3_Sub13_Sub29.method305(Class38.signlink, GraphicEffectConfig.packetStream,
    									Class130.packetSize, (byte) -126);
    							JagString.opcode = -1;
    							return true;
    
    						} else if (JagString.opcode == 142) {// Set settings string XXX
    							StringEntryNode.setSettingsString(0, GraphicEffectConfig.packetStream.gjstr());
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 169) { // Set random.dat TODO
    							Class162.writeRandom(GraphicEffectConfig.packetStream);
    							JagString.opcode = -1;
    							return true;
    						} else if (JagString.opcode == 42) {// Open URL TODO
    							if (null != Class3_Sub13_Sub10.frame_fullscreen) {
    								Entity.requestWindowMode(false, Class3_Sub28.anInt2577, -1, -1);
    							}
    							byte[] data = new byte[Class130.packetSize];
    							GraphicEffectConfig.packetStream.g_bytes_isaac((byte) 30, 0, data, Class130.packetSize);
    							JagString url = Class3_Sub13_Sub3.fromArray(data, 0, Class130.packetSize);
    							if (null == Class3_Sub13_Sub7.frame && (3 == Signlink.anInt1214
    									|| !Signlink.aString1202.startsWith("win") || Class106.aBoolean1451)) {
    								Class99.openUrl(true, url);
    							} else {
    								Class3_Sub13_Sub24.aClass94_3295 = url;
    								JagString.aBoolean2154 = true;
    								Class15.aClass64_351 = Class38.signlink
    										.method1452(new String(url.method1568(0), "ISO-8859-1"), true);
    							}
    							JagString.opcode = -1;
    							return true;
    						}
    						JagString insn;
    						long var28;
    						boolean ignored;
    						int var30;
    						JagString worldName;
    						if (JagString.opcode == 70) {// Server message XXX
    							JagString message = GraphicEffectConfig.packetStream.gjstr();
    							if (!message.startsWith(Class117.tradereq)) {
    								if (!message.startsWith(Class30.chalreq)) {
    									if (message.startsWith(Class3_Sub13_Sub26.assistreq)) {
    										ignored = false;
    										insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    										var28 = insn.toLong();
    
    										for (var30 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var30; ++var30) {
    											if (var28 == Class114.ignoreList[var30]) {
    												ignored = true;
    												break;
    											}
    										}
    
    										if (!ignored && ~Class44_Sub1.anInt2622 == -1) {
    											CipherStream.addMessage(10, GroundItemWrapper.empty_string, insn, -1);
    										}
    									} else if (message.startsWith(Class3_Sub20.clan)) {
    										insn = message.slice(0, message.method1551(Class3_Sub20.clan));
    										CipherStream.addMessage(11, insn, GroundItemWrapper.empty_string, -1);
    									} else if (!message.startsWith(NPC.trade)) {
    										if (message.startsWith(Class143.assist)) {
    											insn = message.slice(0, message.method1551(Class143.assist));
    											if (Class44_Sub1.anInt2622 == 0) {
    												CipherStream.addMessage(13, insn, GroundItemWrapper.empty_string, -1);
    											}
    										} else if (!message.startsWith(Class27.duelstake)) {
    											if (!message.startsWith(ISAACCipher.duelfriendly)) {
    												if (message.startsWith(Class3_Sub13_Sub30.clanreq)) {
    													insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    													var28 = insn.toLong();
    													ignored = false;
    
    													for (var30 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var30; ++var30) {
    														if (~var28 == ~Class114.ignoreList[var30]) {
    															ignored = true;
    															break;
    														}
    													}
    
    													if (!ignored && Class44_Sub1.anInt2622 == 0) {
    														CipherStream.addMessage(16, GroundItemWrapper.empty_string,
    																insn, -1);
    													}
    												} else if (message.startsWith(JagString.allyreq)) {
    													insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    													ignored = false;
    													var28 = insn.toLong();
    
    													for (var30 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var30; ++var30) {
    														if (~Class114.ignoreList[var30] == ~var28) {
    															ignored = true;
    															break;
    														}
    													}
    
    													if (!ignored && Class44_Sub1.anInt2622 == 0) {
    														worldName = message.slice(
    																1 + message.method1551(Class155.aClass94_1970),
    																message.length() - 9);
    														CipherStream.addMessage(21, worldName, insn, -1);
    													}
    												} else {
    													CipherStream.addMessage(0, message, GroundItemWrapper.empty_string,
    															var0 + 82);
    												}
    											} else {
    												insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    												ignored = false;
    												var28 = insn.toLong();
    
    												for (var30 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var30; ++var30) {
    													if (~Class114.ignoreList[var30] == ~var28) {
    														ignored = true;
    														break;
    													}
    												}
    
    												if (!ignored && 0 == Class44_Sub1.anInt2622) {
    													CipherStream.addMessage(15, GroundItemWrapper.empty_string, insn,
    															-1);
    												}
    											}
    										} else {
    											ignored = false;
    											insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    											var28 = insn.toLong();
    
    											for (var30 = 0; Class3_Sub28_Sub5.ignoreCount > var30; ++var30) {
    												if (var28 == Class114.ignoreList[var30]) {
    													ignored = true;
    													break;
    												}
    											}
    
    											if (!ignored && -1 == ~Class44_Sub1.anInt2622) {
    												CipherStream.addMessage(14, GroundItemWrapper.empty_string, insn, -1);
    											}
    										}
    									} else {
    										insn = message.slice(0, message.method1551(NPC.trade));
    										if (0 == Class44_Sub1.anInt2622) {
    											CipherStream.addMessage(12, insn, GroundItemWrapper.empty_string, -1);
    										}
    									}
    								} else {
    									insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    									var28 = insn.toLong();
    									ignored = false;
    
    									for (var30 = 0; ~Class3_Sub28_Sub5.ignoreCount < ~var30; ++var30) {
    										if (Class114.ignoreList[var30] == var28) {
    											ignored = true;
    											break;
    										}
    									}
    
    									if (!ignored && Class44_Sub1.anInt2622 == 0) {
    										worldName = message.slice(1 + message.method1551(Class155.aClass94_1970),
    												message.length() + -9);
    										CipherStream.addMessage(8, worldName, insn, var0 ^ 82);
    									}
    								}
    							} else {
    								insn = message.slice(0, message.method1551(Class155.aClass94_1970));
    								var28 = insn.toLong();
    								ignored = false;
    
    								for (var30 = 0; ~var30 > ~Class3_Sub28_Sub5.ignoreCount; ++var30) {
    									if (~Class114.ignoreList[var30] == ~var28) {
    										ignored = true;
    										break;
    									}
    								}
    								if (!ignored && ~Class44_Sub1.anInt2622 == -1) {
    									CipherStream.addMessage(4, Class3_Sub6.aClass94_2285, insn, var0 + 82);
    								}
    							}
    
    							JagString.opcode = -1;
    							return true;
    						} else {
    							if (JagString.opcode != 104 && 121 != JagString.opcode && -98 != ~JagString.opcode
    									&& ~JagString.opcode != -15 && ~JagString.opcode != -203
    									&& ~JagString.opcode != -136 && ~JagString.opcode != -18 && JagString.opcode != 16
    									&& JagString.opcode != 240 && JagString.opcode != 33 && -21 != ~JagString.opcode
    									&& 195 != JagString.opcode && 179 != JagString.opcode) {
    								GZIPDecompressor.clientError(
    										"T1 - " + JagString.opcode + "," + Class7.anInt2166 + ","
    												+ PlayerBodyPart.anInt469 + " - " + Class130.packetSize,
    										(Throwable) null);
    								Class167.logoutReset((byte) 46);
    								return true;
    							} else {
    								Class39.parseLocationPacket((byte) -99);
    								JagString.opcode = -1;
    								return true;
    							}
    						}
    					}
    				}
    			}
    		} catch (RuntimeException var19) {
    			var19.printStackTrace();
    			throw Class44.method1067(var19, "ac.C(" + var0 + ')');
    		}
    	}
    Also, if someone can enlighten me what the top level scripts are that opcode 209 calls or wtf the int opcode 159 changes is for
    Reply With Quote  
     

  2. Thankful user:


  3. #2  
    Номер 1


    Leanbow's Avatar
    Join Date
    Feb 2008
    Posts
    5,895
    Thanks given
    1,564
    Thanks received
    2,624
    Rep Power
    5000
    209 is triggers all ondialogabort hooks and 159 is weight
    Reply With Quote  
     

  4. Thankful users:


  5. #3  
    Registered Member
    Teemuzz's Avatar
    Join Date
    Oct 2009
    Posts
    2,755
    Thanks given
    1,212
    Thanks received
    422
    Rep Power
    934
    Quote Originally Posted by Leanbow View Post
    209 is triggers all ondialogabort hooks and 159 is weight
    i was pretty confident about the weight but it wasn't referenced anywhere, thanks about 209 though!
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. [727] Almost all packets identified
    By Makar in forum Informative Threads
    Replies: 6
    Last Post: 04-09-2020, 12:10 AM
  2. Replies: 8
    Last Post: 01-18-2012, 11:31 PM
  3. Share all your favorite quotes :D
    By Tariq in forum Chat
    Replies: 33
    Last Post: 11-23-2010, 04:22 AM
  4. Replies: 17
    Last Post: 04-09-2008, 06:07 AM
  5. Replies: 37
    Last Post: 12-26-2007, 03:42 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •