if(pktType == 128) { int l4 = inStream.method550((byte)9); int k13 = inStream.method551(-600); if(backDialogID != -1) { deleteInterfaceChildren(aBoolean1190, backDialogID); backDialogID = -1; inputTaken = true; } if(welcomeScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, welcomeScreenInterfaceID); welcomeScreenInterfaceID = -1; welcomeScreenRaised = true; } if(fullScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, fullScreenInterfaceID); fullScreenInterfaceID = -1; } if(openInterfaceID != l4) { deleteInterfaceChildren(aBoolean1190, openInterfaceID); openInterfaceID = l4; } if(invOverlayInterfaceID != k13) { deleteInterfaceChildren(aBoolean1190, invOverlayInterfaceID); invOverlayInterfaceID = k13; } if(inputDialogState != 0) { inputDialogState = 0; inputTaken = true; } needDrawTabArea = true; tabAreaAltered = true; aBoolean1239 = false; pktType = -1; return true; } if(pktType == 67) { int i5 = inStream.readUnsignedByte(); int l13 = inStream.readUnsignedByte(); int i18 = inStream.readUnsignedByte(); int l22 = inStream.readUnsignedByte(); aBooleanArray927[i5] = true; anIntArray1105[i5] = l13; anIntArray852[i5] = i18; anIntArray991[i5] = l22; anIntArray1145[i5] = 0; pktType = -1; return true; } if(pktType == 134) { needDrawTabArea = true; int j5 = inStream.readUnsignedWord(); RSInterface rsinterface = RSInterface.forID(j5); while(inStream.currentOffset < pktSize) { int j18 = inStream.method535(); int i23 = inStream.readUnsignedWord(); int j25 = inStream.readUnsignedByte(); if(j25 == 255) j25 = inStream.readDWord(); if(j18 >= 0 && j18 < rsinterface.inv.length) { rsinterface.inv[j18] = i23; rsinterface.invStackSizes[j18] = j25; } } pktType = -1; return true; } if(pktType == 78) { long l5 = inStream.readQWord(-149); int k18 = inStream.readUnsignedByte(); String s7 = TextClass.fixName(TextClass.nameForLong(l5, 0), (byte)7); for(int k25 = 0; k25 < friendsCount; k25++) { if(l5 != friendsListAsLongs[k25]) continue; if(friendsNodeIDs[k25] != k18) { friendsNodeIDs[k25] = k18; needDrawTabArea = true; if(k18 > 0) pushMessage("", (byte)-123, s7 + " has logged in.", 5); if(k18 == 0) pushMessage("", (byte)-123, s7 + " has logged out.", 5); } s7 = null; break; } if(s7 != null && friendsCount < 200) { friendsListAsLongs[friendsCount] = l5; friendsList[friendsCount] = s7; friendsNodeIDs[friendsCount] = k18; friendsCount++; needDrawTabArea = true; } for(boolean flag5 = false; !flag5;) { flag5 = true; for(int j30 = 0; j30 < friendsCount - 1; j30++) if(friendsNodeIDs[j30] != nodeID && friendsNodeIDs[j30 + 1] == nodeID || friendsNodeIDs[j30] == 0 && friendsNodeIDs[j30 + 1] != 0) { int l31 = friendsNodeIDs[j30]; friendsNodeIDs[j30] = friendsNodeIDs[j30 + 1]; friendsNodeIDs[j30 + 1] = l31; String s10 = friendsList[j30]; friendsList[j30] = friendsList[j30 + 1]; friendsList[j30 + 1] = s10; long l33 = friendsListAsLongs[j30]; friendsListAsLongs[j30] = friendsListAsLongs[j30 + 1]; friendsListAsLongs[j30 + 1] = l33; needDrawTabArea = true; flag5 = false; } } pktType = -1; return true; } if(pktType == 58) { messagePromptRaised = false; inputDialogState = 1; amountOrNameInput = ""; inputTaken = true; pktType = -1; return true; } if(pktType == 252) { tabID = inStream.method541(-34545); needDrawTabArea = true; tabAreaAltered = true; pktType = -1; return true; } if(pktType == 40) { anInt990 = inStream.method542(anInt1236); anInt989 = inStream.method541(-34545); for(int k5 = anInt989; k5 < anInt989 + 8; k5++) { for(int i14 = anInt990; i14 < anInt990 + 8; i14++) if(groundArray[plane][k5][i14] != null) { groundArray[plane][k5][i14] = null; spawnGroundItem(k5, i14); } } for(Class50_Sub2 class50_sub2 = (Class50_Sub2)aNodeList_1261.reverseGetFirst(); class50_sub2 != null; class50_sub2 = (Class50_Sub2)aNodeList_1261.reverseGetNext(1)) if(class50_sub2.anInt1393 >= anInt989 && class50_sub2.anInt1393 < anInt989 + 8 && class50_sub2.anInt1394 >= anInt990 && class50_sub2.anInt1394 < anInt990 + 8 && class50_sub2.anInt1391 == plane) class50_sub2.anInt1390 = 0; pktType = -1; return true; } if(pktType == 255) { int i6 = inStream.method551(-600); RSInterface.forID(i6).anInt283 = 3; if(myPlayer.desc == null) RSInterface.forID(i6).mediaID = (myPlayer.anIntArray1760[0] << 25) + (myPlayer.anIntArray1760[4] << 20) + (myPlayer.equipment[0] << 15) + (myPlayer.equipment[8] << 10) + (myPlayer.equipment[11] << 5) + myPlayer.equipment[1]; else RSInterface.forID(i6).mediaID = (int)(0x12345678L + myPlayer.desc.type); pktType = -1; return true; } if(pktType == 135) { long l6 = inStream.readQWord(-149); int i19 = inStream.readDWord(); int j23 = inStream.readUnsignedByte(); boolean flag4 = false; for(int k28 = 0; k28 < 100; k28++) { if(anIntArray1258[k28] != i19) continue; flag4 = true; break; } if(j23 <= 1) { for(int k30 = 0; k30 < ignoreCount; k30++) { if(ignoreListAsLongs[k30] != l6) continue; flag4 = true; break; } } if(!flag4 && anInt1246 == 0) try { anIntArray1258[anInt1152] = i19; anInt1152 = (anInt1152 + 1) % 100; String s9 = TextInput.method320(0, inStream, pktSize - 13); if(j23 != 3) s9 = Censor.doCensor((byte)0, s9); if(j23 == 2 || j23 == 3) pushMessage("@cr2@" + TextClass.fixName(TextClass.nameForLong(l6, 0), (byte)7), (byte)-123, s9, 7); else if(j23 == 1) pushMessage("@cr1@" + TextClass.fixName(TextClass.nameForLong(l6, 0), (byte)7), (byte)-123, s9, 7); else pushMessage(TextClass.fixName(TextClass.nameForLong(l6, 0), (byte)7), (byte)-123, s9, 3); } catch(Exception exception1) { signlink.reporterror("cde1"); } pktType = -1; return true; } if(pktType == 183) { anInt989 = inStream.readUnsignedByte(); anInt990 = inStream.method540(0); while(inStream.currentOffset < pktSize) { int j6 = inStream.readUnsignedByte(); method133(inStream, 0, j6); } pktType = -1; return true; } if(pktType == 159) { int k6 = inStream.method551(-600); method112((byte)36, k6); if(invOverlayInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, invOverlayInterfaceID); invOverlayInterfaceID = -1; needDrawTabArea = true; tabAreaAltered = true; } if(backDialogID != -1) { deleteInterfaceChildren(aBoolean1190, backDialogID); backDialogID = -1; inputTaken = true; } if(welcomeScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, welcomeScreenInterfaceID); welcomeScreenInterfaceID = -1; welcomeScreenRaised = true; } if(fullScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, fullScreenInterfaceID); fullScreenInterfaceID = -1; } if(openInterfaceID != k6) { deleteInterfaceChildren(aBoolean1190, openInterfaceID); openInterfaceID = k6; } if(inputDialogState != 0) { inputDialogState = 0; inputTaken = true; } aBoolean1239 = false; pktType = -1; return true; } if(pktType == 246) { int i7 = inStream.method551(-600); method112((byte)36, i7); if(backDialogID != -1) { deleteInterfaceChildren(aBoolean1190, backDialogID); backDialogID = -1; inputTaken = true; } if(welcomeScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, welcomeScreenInterfaceID); welcomeScreenInterfaceID = -1; welcomeScreenRaised = true; } if(fullScreenInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, fullScreenInterfaceID); fullScreenInterfaceID = -1; } if(openInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, openInterfaceID); openInterfaceID = -1; } if(invOverlayInterfaceID != i7) { deleteInterfaceChildren(aBoolean1190, invOverlayInterfaceID); invOverlayInterfaceID = i7; } if(inputDialogState != 0) { inputDialogState = 0; inputTaken = true; } needDrawTabArea = true; tabAreaAltered = true; aBoolean1239 = false; pktType = -1; return true; } if(pktType == 49) { needDrawTabArea = true; int j7 = inStream.method541(-34545); int j14 = inStream.readUnsignedByte(); int j19 = inStream.readDWord(); currentExp[j7] = j19; currentStats[j7] = j14; maxStats[j7] = 1; for(int k23 = 0; k23 < 98; k23++) if(j19 >= anIntArray952[k23]) maxStats[j7] = k23 + 2; pktType = -1; return true; } if(pktType == 206) { needDrawTabArea = true; int k7 = inStream.readUnsignedWord(); RSInterface rsinterface1 = RSInterface.forID(k7); int k19 = inStream.readUnsignedWord(); for(int l23 = 0; l23 < k19; l23++) { rsinterface1.inv[l23] = inStream.method551(-600); int l25 = inStream.method541(-34545); if(l25 == 255) l25 = inStream.method555(935); rsinterface1.invStackSizes[l23] = l25; } for(int i26 = k19; i26 < rsinterface1.inv.length; i26++) { rsinterface1.inv[i26] = 0; rsinterface1.invStackSizes[i26] = 0; } pktType = -1; return true; } if(pktType == 222 || pktType == 53) { mapReset(); int l7 = anInt889; int k14 = anInt890; if(pktType == 222) { k14 = inStream.readUnsignedWord(); l7 = inStream.method551(-600); aBoolean1163 = false; } if(pktType == 53) { l7 = inStream.method550((byte)9); inStream.initBitAccess((byte)6); for(int i20 = 0; i20 < 4; i20++) { for(int i24 = 0; i24 < 13; i24++) { for(int j26 = 0; j26 < 13; j26++) { int l28 = inStream.readBits(402, 1); if(l28 == 1) anIntArrayArrayArray879[i20][i24][j26] = inStream.readBits(402, 26); else anIntArrayArrayArray879[i20][i24][j26] = -1; } } } inStream.finishBitAccess(-29290); k14 = inStream.method550((byte)9); aBoolean1163 = true; } if(anInt889 == l7 && anInt890 == k14 && loadingStage == 2) { pktType = -1; return true; } anInt889 = l7; anInt890 = k14; baseX = (anInt889 - 6) * 8; baseY = (anInt890 - 6) * 8; aBoolean1067 = false; if((anInt889 / 8 == 48 || anInt889 / 8 == 49) && anInt890 / 8 == 48) aBoolean1067 = true; if(anInt889 / 8 == 48 && anInt890 / 8 == 148) aBoolean1067 = true; loadingStage = 1; aLong1229 = System.currentTimeMillis(); method125(-332, null, "Loading - please wait."); if(pktType == 222) { int j20 = 0; for(int j24 = (anInt889 - 6) / 8; j24 <= (anInt889 + 6) / 8; j24++) { for(int k26 = (anInt890 - 6) / 8; k26 <= (anInt890 + 6) / 8; k26++) j20++; } aByteArrayArray838 = new byte[j20][]; aByteArrayArray1232 = new byte[j20][]; anIntArray856 = new int[j20]; anIntArray857 = new int[j20]; anIntArray858 = new int[j20]; j20 = 0; for(int l26 = (anInt889 - 6) / 8; l26 <= (anInt889 + 6) / 8; l26++) { for(int i29 = (anInt890 - 6) / 8; i29 <= (anInt890 + 6) / 8; i29++) { anIntArray856[j20] = (l26 << 8) + i29; if(aBoolean1067 && (i29 == 49 || i29 == 149 || i29 == 147 || l26 == 50 || l26 == 49 && i29 == 47)) { anIntArray857[j20] = -1; anIntArray858[j20] = -1; j20++; } else { int l30 = anIntArray857[j20] = onDemandFetcher.method344(0, l26, i29, 0); if(l30 != -1) onDemandFetcher.method329(3, l30); int i32 = anIntArray858[j20] = onDemandFetcher.method344(0, l26, i29, 1); if(i32 != -1) onDemandFetcher.method329(3, i32); j20++; } } } } if(pktType == 53) { int k20 = 0; int ai[] = new int[676]; for(int i27 = 0; i27 < 4; i27++) { for(int j29 = 0; j29 < 13; j29++) { for(int i31 = 0; i31 < 13; i31++) { int j32 = anIntArrayArrayArray879[i27][j29][i31]; if(j32 != -1) { int i33 = j32 >> 14 & 0x3ff; int k33 = j32 >> 3 & 0x7ff; int j34 = (i33 / 8 << 8) + k33 / 8; for(int l34 = 0; l34 < k20; l34++) { if(ai[l34] != j34) continue; j34 = -1; break; } if(j34 != -1) ai[k20++] = j34; } } } } aByteArrayArray838 = new byte[k20][]; aByteArrayArray1232 = new byte[k20][]; anIntArray856 = new int[k20]; anIntArray857 = new int[k20]; anIntArray858 = new int[k20]; for(int k29 = 0; k29 < k20; k29++) { int j31 = anIntArray856[k29] = ai[k29]; int k32 = j31 >> 8 & 0xff; int j33 = j31 & 0xff; int i34 = anIntArray857[k29] = onDemandFetcher.method344(0, k32, j33, 0); if(i34 != -1) onDemandFetcher.method329(3, i34); int k34 = anIntArray858[k29] = onDemandFetcher.method344(0, k32, j33, 1); if(k34 != -1) onDemandFetcher.method329(3, k34); } } int i21 = baseX - anInt1042; int k24 = baseY - anInt1043; anInt1042 = baseX; anInt1043 = baseY; for(int j27 = 0; j27 < 16384; j27++) { NPC npc = npcArray[j27]; if(npc != null) { for(int k31 = 0; k31 < 10; k31++) { ((Entity) (npc)).smallX[k31] -= i21; ((Entity) (npc)).smallY[k31] -= k24; } npc.x -= i21 * 128; npc.y -= k24 * 128; } } for(int l29 = 0; l29 < maxPlayers; l29++) { Player player = playerArray[l29]; if(player != null) { for(int l32 = 0; l32 < 10; l32++) { ((Entity) (player)).smallX[l32] -= i21; ((Entity) (player)).smallY[l32] -= k24; } player.x -= i21 * 128; player.y -= k24 * 128; } } aBoolean1209 = true; byte byte1 = 0; byte byte2 = 104; byte byte3 = 1; if(i21 < 0) { byte1 = 103; byte2 = -1; byte3 = -1; } byte byte4 = 0; byte byte5 = 104; byte byte6 = 1; if(k24 < 0) { byte4 = 103; byte5 = -1; byte6 = -1; } for(int i35 = byte1; i35 != byte2; i35 += byte3) { for(int j35 = byte4; j35 != byte5; j35 += byte6) { int k35 = i35 + i21; int l35 = j35 + k24; for(int i36 = 0; i36 < 4; i36++) if(k35 >= 0 && l35 >= 0 && k35 < 104 && l35 < 104) groundArray[i36][i35][j35] = groundArray[i36][k35][l35]; else groundArray[i36][i35][j35] = null; } } for(Class50_Sub2 class50_sub2_1 = (Class50_Sub2)aNodeList_1261.reverseGetFirst(); class50_sub2_1 != null; class50_sub2_1 = (Class50_Sub2)aNodeList_1261.reverseGetNext(1)) { class50_sub2_1.anInt1393 -= i21; class50_sub2_1.anInt1394 -= k24; if(class50_sub2_1.anInt1393 < 0 || class50_sub2_1.anInt1394 < 0 || class50_sub2_1.anInt1393 >= 104 || class50_sub2_1.anInt1394 >= 104) class50_sub2_1.unlink(); } if(destX != 0) { destX -= i21; destY -= k24; } aBoolean1211 = false; pktType = -1; return true; } if(pktType == 190) { anInt1057 = inStream.method549(-125) * 30; pktType = -1; return true; } if(pktType == 41 || pktType == 121 || pktType == 203 || pktType == 106 || pktType == 59 || pktType == 181 || pktType == 208 || pktType == 107 || pktType == 142 || pktType == 88 || pktType == 152) { method133(inStream, 0, pktType); pktType = -1; return true; } if(pktType == 125) { if(tabID == 12) needDrawTabArea = true; energy = inStream.readUnsignedByte(); pktType = -1; return true; } if(pktType == 21) { int i8 = inStream.readUnsignedWord(); int l14 = inStream.method549(-125); int j21 = inStream.method551(-600); if(l14 == 65535) { RSInterface.forID(j21).anInt283 = 0; pktType = -1; return true; } else { ItemDef itemdef = ItemDef.forID(l14); RSInterface.forID(j21).anInt283 = 4; RSInterface.forID(j21).mediaID = l14; RSInterface.forID(j21).anInt252 = itemdef.modelRotation1; RSInterface.forID(j21).anInt253 = itemdef.modelRotation2; RSInterface.forID(j21).anInt251 = (itemdef.modelZoom * 100) / i8; pktType = -1; return true; } } if(pktType == 3) { aBoolean1211 = true; anInt874 = inStream.readUnsignedByte(); anInt875 = inStream.readUnsignedByte(); anInt876 = inStream.readUnsignedWord(); anInt877 = inStream.readUnsignedByte(); anInt878 = inStream.readUnsignedByte(); if(anInt878 >= 100) { xCameraPos = anInt874 * 128 + 64; yCameraPos = anInt875 * 128 + 64; zCameraPos = method110(yCameraPos, xCameraPos, (byte)9, plane) - anInt876; } pktType = -1; return true; } if(pktType == 2) { int j8 = inStream.method551(-600); int i15 = inStream.method553((byte)17); RSInterface rsinterface3 = RSInterface.forID(j8); if(rsinterface3.anInt286 != i15 || i15 == -1) { rsinterface3.anInt286 = i15; rsinterface3.anInt235 = 0; rsinterface3.anInt227 = 0; } pktType = -1; return true; } if(pktType == 71) { updateNPCs(inStream, aBoolean1038, pktSize); pktType = -1; return true; } if(pktType == 226) { ignoreCount = pktSize / 8; for(int k8 = 0; k8 < ignoreCount; k8++) ignoreListAsLongs[k8] = inStream.readQWord(-149); pktType = -1; return true; } if(pktType == 10) { int l8 = inStream.method542(anInt1236); int j15 = inStream.method550((byte)9); if(j15 == 65535) j15 = -1; if(tabInterfaceIDs[l8] != j15) { deleteInterfaceChildren(aBoolean1190, tabInterfaceIDs[l8]); tabInterfaceIDs[l8] = j15; } needDrawTabArea = true; tabAreaAltered = true; pktType = -1; return true; } if(pktType == 219) { int i9 = inStream.method549(-125); RSInterface rsinterface2 = RSInterface.forID(i9); for(int k21 = 0; k21 < rsinterface2.inv.length; k21++) { rsinterface2.inv[k21] = -1; rsinterface2.inv[k21] = 0; } pktType = -1; return true; } if(pktType == 238) { anInt1213 = inStream.readUnsignedByte(); if(anInt1213 == tabID) { if(anInt1213 == 3) tabID = 1; else tabID = 3; needDrawTabArea = true; } pktType = -1; return true; } if(pktType == 148) { aBoolean1211 = false; for(int j9 = 0; j9 < 5; j9++) aBooleanArray927[j9] = false; pktType = -1; return true; } if(pktType == 126) { anInt1068 = inStream.readUnsignedByte(); selfInteractingValue = inStream.method549(-125); pktType = -1; return true; } if(pktType == 75) { anInt989 = inStream.method541(-34545); anInt990 = inStream.method540(0); pktType = -1; return true; } if(pktType == 253) { int k9 = inStream.method549(-125); int k15 = inStream.method550((byte)9); method112((byte)36, k15); if(k9 != -1) method112((byte)36, k9); if(openInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, openInterfaceID); openInterfaceID = -1; } if(invOverlayInterfaceID != -1) { deleteInterfaceChildren(aBoolean1190, invOverlayInterfaceID); invOverlayInterfaceID = -1; } if(backDialogID != -1) { deleteInterfaceChildren(aBoolean1190, backDialogID); backDialogID = -1; } if(welcomeScreenInterfaceID != k15) { deleteInterfaceChildren(aBoolean1190, welcomeScreenInterfaceID); welcomeScreenInterfaceID = k15; } if(fullScreenInterfaceID != k15) { deleteInterfaceChildren(aBoolean1190, fullScreenInterfaceID); fullScreenInterfaceID = k9; } inputDialogState = 0; aBoolean1239 = false; pktType = -1; return true; } if(pktType == 251) { anInt860 = inStream.readUnsignedByte(); needDrawTabArea = true; pktType = -1; return true; } if(pktType == 18) { int l9 = inStream.readUnsignedWord(); int l15 = inStream.method550((byte)9); int l21 = inStream.method549(-125); RSInterface.forID(l15).anInt218 = (l9 << 16) + l21; pktType = -1; return true; } if(pktType == 90) { updatePlayers(pktSize, 69, inStream); aBoolean1209 = false; pktType = -1; return true; } if(pktType == 113) { for(int i10 = 0; i10 < variousSettings.length; i10++) if(variousSettings[i10] != anIntArray1005[i10]) { variousSettings[i10] = anIntArray1005[i10]; method105(0, i10); needDrawTabArea = true; } pktType = -1; return true; } if(pktType == 232) { int j10 = inStream.method551(-600); String s6 = inStream.readString(); RSInterface.forID(j10).message = s6; if(RSInterface.forID(j10).parentID == tabInterfaceIDs[tabID]) needDrawTabArea = true; pktType = -1; return true; } if(pktType == 200) { int k10 = inStream.readUnsignedWord(); int i16 = inStream.method551(-600); RSInterface rsinterface4 = RSInterface.forID(k10); if(rsinterface4 != null && rsinterface4.type == 0) { if(i16 < 0) i16 = 0; if(i16 > rsinterface4.scrollMax - rsinterface4.height) i16 = rsinterface4.scrollMax - rsinterface4.height; rsinterface4.scrollPosition = i16; } pktType = -1; return true; } signlink.reporterror("T1 - " + pktType + "," + pktSize + " - " + anInt904 + "," + anInt905); resetLogout(true); } catch(IOException _ex) { dropClient(1); } catch(Exception exception) { String s1 = "T2 - " + pktType + "," + anInt904 + "," + anInt905 + " - " + pktSize + "," + (baseX + ((Entity) (myPlayer)).smallX[0]) + "," + (baseY + ((Entity) (myPlayer)).smallY[0]) + " - "; for(int j16 = 0; j16 < pktSize && j16 < 50; j16++) s1 = s1 + inStream.buffer[j16] + ","; signlink.reporterror(s1); resetLogout(true); } return true; } [/code]