chore: rev 193

This commit is contained in:
therealunull
2020-12-09 11:07:26 -05:00
parent 5cd865f43f
commit 8f587826ee
358 changed files with 62074 additions and 62020 deletions

View File

@@ -1,248 +1,616 @@
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InvalidClassException;
import java.io.ObjectInputStream;
import java.io.OptionalDataException;
import java.io.RandomAccessFile;
import java.io.StreamCorruptedException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.security.SecureRandom;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.Reflection;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("h")
@ObfuscatedName("k")
@Implements("WorldMapData_0")
public class WorldMapData_0 extends AbstractWorldMapData {
@ObfuscatedName("gm")
@ObfuscatedName("ro")
@ObfuscatedGetter(
intValue = 1706879037
intValue = 2110783872
)
@Export("baseY")
static int baseY;
static int field112;
@ObfuscatedName("ei")
@Export("secureRandom")
static SecureRandom secureRandom;
WorldMapData_0() {
} // L: 6
}
@ObfuscatedName("f")
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(Lkb;B)V",
garbageValue = "-1"
descriptor = "(Lkj;I)V",
garbageValue = "-804003183"
)
@Export("init")
void init(Buffer var1) {
int var2 = var1.readUnsignedByte(); // L: 9
if (var2 != WorldMapID.field295.value) { // L: 10
throw new IllegalStateException(""); // L: 11
int var2 = var1.readUnsignedByte();
if (var2 != WorldMapID.field292.value) {
throw new IllegalStateException("");
} else {
super.minPlane = var1.readUnsignedByte(); // L: 13
super.planes = var1.readUnsignedByte(); // L: 14
super.regionXLow = var1.readUnsignedShort(); // L: 15
super.regionYLow = var1.readUnsignedShort(); // L: 16
super.regionX = var1.readUnsignedShort(); // L: 17
super.minPlane = var1.readUnsignedByte();
super.planes = var1.readUnsignedByte();
super.regionXLow = var1.readUnsignedShort() * 4096;
super.regionYLow = var1.readUnsignedShort() * 64;
super.regionX = var1.readUnsignedShort();
super.regionY = var1.readUnsignedShort();
super.groupId = var1.method5851();
super.fileId = var1.method5851();
super.groupId = var1.method5559();
super.fileId = var1.method5559();
}
}
@ObfuscatedName("b")
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(Lkb;I)V",
garbageValue = "-1024222647"
descriptor = "(Lkj;I)V",
garbageValue = "1878970684"
)
@Export("readGeography")
void readGeography(Buffer var1) {
super.planes = Math.min(super.planes, 4); // L: 24
super.floorUnderlayIds = new short[1][64][64]; // L: 25
super.floorOverlayIds = new short[super.planes][64][64]; // L: 26
super.field196 = new byte[super.planes][64][64]; // L: 27
super.field187 = new byte[super.planes][64][64]; // L: 28
super.decorations = new WorldMapDecoration[super.planes][64][64][]; // L: 29
int var2 = var1.readUnsignedByte(); // L: 30
if (var2 != class39.field287.value) { // L: 31
throw new IllegalStateException(""); // L: 32
super.planes = Math.min(super.planes, 4);
super.floorUnderlayIds = new short[1][64][64];
super.floorOverlayIds = new short[super.planes][64][64];
super.field178 = new byte[super.planes][64][64];
super.field177 = new byte[super.planes][64][64];
super.decorations = new WorldMapDecoration[super.planes][64][64][];
int var2 = var1.readUnsignedByte();
if (var2 != class39.field278.value) {
throw new IllegalStateException("");
} else {
int var3 = var1.readUnsignedByte(); // L: 34
int var4 = var1.readUnsignedByte(); // L: 35
if (var3 == super.regionX && var4 == super.regionY) { // L: 36
for (int var5 = 0; var5 < 64; ++var5) { // L: 39
for (int var6 = 0; var6 < 64; ++var6) { // L: 40
this.readTile(var5, var6, var1); // L: 41
int var3 = var1.readUnsignedByte();
int var4 = var1.readUnsignedByte();
if (var3 == super.regionX && var4 == super.regionY) {
for (int var5 = 0; var5 < 64; ++var5) {
for (int var6 = 0; var6 < 64; ++var6) {
this.readTile(var5, var6, var1);
}
}
} else {
throw new IllegalStateException(""); // L: 37
throw new IllegalStateException("");
}
}
} // L: 44
}
public boolean equals(Object var1) {
if (!(var1 instanceof WorldMapData_0)) {
return false;
} else {
WorldMapData_0 var2 = (WorldMapData_0)var1;
return var2.regionX == super.regionX && super.regionY == var2.regionY;
}
}
public int hashCode() {
return super.regionX | super.regionY << 8;
}
public boolean equals(Object var1) {
if (!(var1 instanceof WorldMapData_0)) { // L: 47
return false; // L: 48
} else {
WorldMapData_0 var2 = (WorldMapData_0)var1;
return var2.regionX == super.regionX && var2.regionY == super.regionY;
}
}
@ObfuscatedName("b")
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(Lkb;Ljava/lang/String;B)I",
garbageValue = "-23"
descriptor = "(CI)Z",
garbageValue = "69015458"
)
public static int method269(Buffer var0, String var1) {
int var2 = var0.offset; // L: 18
byte[] var3 = class8.method113(var1); // L: 19
var0.writeSmartByteShort(var3.length); // L: 20
var0.offset += class219.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); // L: 21
return var0.offset - var2; // L: 22
}
public static boolean method247(char var0) {
if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) {
if (var0 != 0) {
char[] var1 = class298.cp1252AsciiExtension;
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(II)I",
garbageValue = "-1892884103"
)
public static int method266(int var0) {
--var0; // L: 49
var0 |= var0 >>> 1; // L: 50
var0 |= var0 >>> 2; // L: 51
var0 |= var0 >>> 4; // L: 52
var0 |= var0 >>> 8; // L: 53
var0 |= var0 >>> 16; // L: 54
return var0 + 1; // L: 55
}
@ObfuscatedName("es")
@ObfuscatedSignature(
descriptor = "(IB)V",
garbageValue = "-76"
)
@Export("getLoginError")
static void getLoginError(int var0) {
if (var0 == -3) { // L: 2870
GrandExchangeOfferNameComparator.setLoginResponseString("Connection timed out.", "Please try using a different world.", "");
} else if (var0 == -2) { // L: 2871
GrandExchangeOfferNameComparator.setLoginResponseString("Error connecting to server.", "Please try using a different world.", "");
} else if (var0 == -1) { // L: 2872
GrandExchangeOfferNameComparator.setLoginResponseString("No response from server.", "Please try using a different world.", "");
} else if (var0 == 3) { // L: 2873
Login.loginIndex = 3; // L: 2874
Login.field1217 = 1; // L: 2875
} else if (var0 == 4) { // L: 2877
WorldMapDecoration.method428(0); // L: 2878
} else if (var0 == 5) { // L: 2880
Login.field1217 = 2; // L: 2881
GrandExchangeOfferNameComparator.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); // L: 2882
} else if (var0 != 68 && (Client.onMobile || var0 != 6)) { // L: 2884
if (var0 == 7) { // L: 2887
GrandExchangeOfferNameComparator.setLoginResponseString("This world is full.", "Please use a different world.", "");
} else if (var0 == 8) { // L: 2888
GrandExchangeOfferNameComparator.setLoginResponseString("Unable to connect.", "Login server offline.", "");
} else if (var0 == 9) { // L: 2889
GrandExchangeOfferNameComparator.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", "");
} else if (var0 == 10) { // L: 2890
GrandExchangeOfferNameComparator.setLoginResponseString("Unable to connect.", "Bad session id.", "");
} else if (var0 == 11) { // L: 2891
GrandExchangeOfferNameComparator.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", "");
} else if (var0 == 12) { // L: 2892
GrandExchangeOfferNameComparator.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", "");
} else if (var0 == 13) { // L: 2893
GrandExchangeOfferNameComparator.setLoginResponseString("Could not complete login.", "Please try using a different world.", "");
} else if (var0 == 14) { // L: 2894
GrandExchangeOfferNameComparator.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", "");
} else if (var0 == 16) { // L: 2895
GrandExchangeOfferNameComparator.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", "");
} else if (var0 == 17) { // L: 2896
GrandExchangeOfferNameComparator.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", "");
} else if (var0 == 18) { // L: 2897
WorldMapDecoration.method428(1); // L: 2898
} else if (var0 == 19) { // L: 2900
GrandExchangeOfferNameComparator.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world.");
} else if (var0 == 20) { // L: 2901
GrandExchangeOfferNameComparator.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", "");
} else if (var0 == 22) { // L: 2902
GrandExchangeOfferNameComparator.setLoginResponseString("Malformed login packet.", "Please try again.", "");
} else if (var0 == 23) { // L: 2903
GrandExchangeOfferNameComparator.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", "");
} else if (var0 == 24) { // L: 2904
GrandExchangeOfferNameComparator.setLoginResponseString("Error loading your profile.", "Please contact customer support.", "");
} else if (var0 == 25) { // L: 2905
GrandExchangeOfferNameComparator.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", "");
} else if (var0 == 26) { // L: 2906
GrandExchangeOfferNameComparator.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", "");
} else if (var0 == 27) { // L: 2907
GrandExchangeOfferNameComparator.setLoginResponseString("", "Service unavailable.", "");
} else if (var0 == 31) { // L: 2908
GrandExchangeOfferNameComparator.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game.");
} else if (var0 == 32) { // L: 2909
GrandExchangeOfferNameComparator.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system.");
} else if (var0 == 37) { // L: 2910
GrandExchangeOfferNameComparator.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", "");
} else if (var0 == 38) { // L: 2911
GrandExchangeOfferNameComparator.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!");
} else if (var0 == 55) { // L: 2912
Login.loginIndex = 8; // L: 2913
} else {
if (var0 == 56) { // L: 2915
GrandExchangeOfferNameComparator.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); // L: 2916
BuddyRankComparator.updateGameState(11); // L: 2917
return; // L: 2918
}
if (var0 == 57) { // L: 2920
GrandExchangeOfferNameComparator.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); // L: 2921
BuddyRankComparator.updateGameState(11); // L: 2922
return; // L: 2923
}
if (var0 == 61) { // L: 2925
Login.loginIndex = 7; // L: 2926
} else {
GrandExchangeOfferNameComparator.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); // L: 2928
for (int var2 = 0; var2 < var1.length; ++var2) {
char var3 = var1[var2];
if (var0 == var3) {
return true;
}
}
}
return false;
} else {
GrandExchangeOfferNameComparator.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); // L: 2885
return true;
}
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(Lky;S)V",
garbageValue = "13892"
)
@Export("performReflectionCheck")
public static void performReflectionCheck(PacketBuffer var0) {
ReflectionCheck var1 = (ReflectionCheck)class105.reflectionChecks.last();
if (var1 != null) {
int var2 = var0.offset;
var0.writeInt(var1.id);
for (int var3 = 0; var3 < var1.size; ++var3) {
if (var1.creationErrors[var3] != 0) {
var0.writeByte(var1.creationErrors[var3]);
} else {
try {
int var4 = var1.operations[var3];
Field var5;
int var6;
if (var4 == 0) {
var5 = var1.fields[var3];
var6 = Reflection.getInt(var5, (Object)null);
var0.writeByte(0);
var0.writeInt(var6);
} else if (var4 == 1) {
var5 = var1.fields[var3];
Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]);
var0.writeByte(0);
} else if (var4 == 2) {
var5 = var1.fields[var3];
var6 = var5.getModifiers();
var0.writeByte(0);
var0.writeInt(var6);
}
Method var25;
if (var4 != 3) {
if (var4 == 4) {
var25 = var1.methods[var3];
var6 = var25.getModifiers();
var0.writeByte(0);
var0.writeInt(var6);
}
} else {
var25 = var1.methods[var3];
byte[][] var10 = var1.arguments[var3];
Object[] var7 = new Object[var10.length];
for (int var8 = 0; var8 < var10.length; ++var8) {
ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8]));
var7[var8] = var9.readObject();
}
Object var11 = Reflection.invoke(var25, (Object)null, var7);
if (var11 == null) {
var0.writeByte(0);
} else if (var11 instanceof Number) {
var0.writeByte(1);
var0.writeLong(((Number)var11).longValue());
} else if (var11 instanceof String) {
var0.writeByte(2);
var0.writeStringCp1252NullTerminated((String)var11);
} else {
var0.writeByte(4);
}
}
} catch (ClassNotFoundException var13) {
var0.writeByte(-10);
} catch (InvalidClassException var14) {
var0.writeByte(-11);
} catch (StreamCorruptedException var15) {
var0.writeByte(-12);
} catch (OptionalDataException var16) {
var0.writeByte(-13);
} catch (IllegalAccessException var17) {
var0.writeByte(-14);
} catch (IllegalArgumentException var18) {
var0.writeByte(-15);
} catch (InvocationTargetException var19) {
var0.writeByte(-16);
} catch (SecurityException var20) {
var0.writeByte(-17);
} catch (IOException var21) {
var0.writeByte(-18);
} catch (NullPointerException var22) {
var0.writeByte(-19);
} catch (Exception var23) {
var0.writeByte(-20);
} catch (Throwable var24) {
var0.writeByte(-21);
}
}
}
var0.writeCrc(var2);
var1.remove();
}
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-806912444"
)
public static void method237() {
try {
File var0 = new File(TileItemPile.userHomeDirectory, "random.dat");
int var2;
if (var0.exists()) {
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0);
} else {
label37:
for (int var1 = 0; var1 < DynamicObject.field1318.length; ++var1) {
for (var2 = 0; var2 < GraphicsObject.field1117.length; ++var2) {
File var3 = new File(GraphicsObject.field1117[var2] + DynamicObject.field1318[var1] + File.separatorChar + "random.dat");
if (var3.exists()) {
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0);
break label37;
}
}
}
}
if (JagexCache.JagexCache_randomDat == null) {
RandomAccessFile var4 = new RandomAccessFile(var0, "rw");
var2 = var4.read();
var4.seek(0L);
var4.write(var2);
var4.seek(0L);
var4.close();
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0);
}
} catch (IOException var5) {
}
BuddyRankComparator.updateGameState(10); // L: 2929
} // L: 2930
}
@ObfuscatedName("if")
@ObfuscatedName("aj")
@ObfuscatedSignature(
descriptor = "(IIIIIB)V",
garbageValue = "94"
descriptor = "(ILcs;ZI)I",
garbageValue = "2012352771"
)
@Export("drawScrollBar")
static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) {
WorldMapSection0.scrollBarSprites[0].drawAt(var0, var1); // L: 9972
WorldMapSection0.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); // L: 9973
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field925); // L: 9974
int var5 = var3 * (var3 - 32) / var4; // L: 9975
if (var5 < 8) { // L: 9976
var5 = 8;
static int method245(int var0, Script var1, boolean var2) {
if (var0 == ScriptOpcodes.SOUND_SYNTH) {
VarcInt.Interpreter_intStackSize -= 3;
class232.queueSoundEffect(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]);
return 1;
} else if (var0 == ScriptOpcodes.SOUND_SONG) {
playSong(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]);
return 1;
} else if (var0 == ScriptOpcodes.SOUND_JINGLE) {
VarcInt.Interpreter_intStackSize -= 2;
LoginPacket.method3672(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]);
return 1;
} else {
int var3;
if (var0 == 3203) {
var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100);
WorldMapEvent.method810(Math.round((float)var3 * 2.55F));
return 1;
} else if (var0 == 3204) {
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.musicVolume / 2.55F);
return 1;
} else if (var0 == 3205) {
var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100);
WorldMapCacheName.method662(Math.round((float)var3 * 1.27F));
return 1;
} else if (var0 == 3206) {
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.soundEffectsVolume / 1.27F);
return 1;
} else if (var0 == 3207) {
var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100);
class194.method3676(Math.round(1.27F * (float)var3));
return 1;
} else if (var0 == 3208) {
Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.areaSoundEffectsVolume / 1.27F);
return 1;
} else {
return 2;
}
}
}
@ObfuscatedName("gr")
@ObfuscatedSignature(
descriptor = "(II)V",
garbageValue = "-1507499151"
)
@Export("playSong")
static void playSong(int var0) {
if (var0 == -1 && !Client.field883) {
WorldMapRegion.method588();
} else if (var0 != -1 && var0 != Client.currentTrackGroupId && Timer.clientPreferences.musicVolume != 0 && !Client.field883) {
SecureRandomCallable.method1221(2, class217.archive6, var0, 0, Timer.clientPreferences.musicVolume, false);
}
int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); // L: 9977
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field765); // L: 9978
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field747); // L: 9979
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field747); // L: 9980
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field747); // L: 9981
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field747); // L: 9982
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field746); // L: 9983
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field746); // L: 9984
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var5 + var6 + var1 + 15, 16, Client.field746); // L: 9985
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field746); // L: 9986
} // L: 9987
Client.currentTrackGroupId = var0;
}
@ObfuscatedName("kl")
@ObfuscatedName("hw")
@ObfuscatedSignature(
descriptor = "(Lht;I)I",
garbageValue = "1533112407"
descriptor = "(ZLky;I)V",
garbageValue = "-1863896009"
)
@Export("getWidgetFlags")
static int getWidgetFlags(Widget var0) {
IntegerNode var1 = (IntegerNode)Client.widgetFlags.get((long)var0.childIndex + ((long)var0.id << 32)); // L: 11526
return var1 != null ? var1.integer : var0.flags; // L: 11527 11528
@Export("updateNpcs")
static final void updateNpcs(boolean var0, PacketBuffer var1) {
Client.field769 = 0;
Client.field826 = 0;
PacketBuffer var2 = Client.packetWriter.packetBuffer;
var2.importIndex();
int var3 = var2.readBits(8);
int var4;
if (var3 < Client.npcCount) {
for (var4 = var3; var4 < Client.npcCount; ++var4) {
Client.field770[++Client.field769 - 1] = Client.npcIndices[var4];
}
}
if (var3 > Client.npcCount) {
throw new RuntimeException("");
} else {
Client.npcCount = 0;
int var5;
int var7;
int var8;
int var9;
int var10;
int var11;
for (var4 = 0; var4 < var3; ++var4) {
var5 = Client.npcIndices[var4];
NPC var16 = Client.npcs[var5];
var7 = var2.readBits(1);
if (var7 == 0) {
Client.npcIndices[++Client.npcCount - 1] = var5;
var16.npcCycle = Client.cycle;
} else {
var8 = var2.readBits(2);
if (var8 == 0) {
Client.npcIndices[++Client.npcCount - 1] = var5;
var16.npcCycle = Client.cycle;
Client.field654[++Client.field826 - 1] = var5;
} else if (var8 == 1) {
Client.npcIndices[++Client.npcCount - 1] = var5;
var16.npcCycle = Client.cycle;
var9 = var2.readBits(3);
var16.method2102(var9, (byte)1);
var10 = var2.readBits(1);
if (var10 == 1) {
Client.field654[++Client.field826 - 1] = var5;
}
} else if (var8 == 2) {
Client.npcIndices[++Client.npcCount - 1] = var5;
var16.npcCycle = Client.cycle;
var9 = var2.readBits(3);
var16.method2102(var9, (byte)2);
var10 = var2.readBits(3);
var16.method2102(var10, (byte)2);
var11 = var2.readBits(1);
if (var11 == 1) {
Client.field654[++Client.field826 - 1] = var5;
}
} else if (var8 == 3) {
Client.field770[++Client.field769 - 1] = var5;
}
}
}
ModeWhere.method3714(var0, var1);
int var14;
for (var14 = 0; var14 < Client.field826; ++var14) {
var3 = Client.field654[var14];
NPC var15 = Client.npcs[var3];
var5 = var1.readUnsignedByte();
int var6;
if ((var5 & 8) != 0) {
var15.spotAnimation = var1.method5539();
var6 = var1.readInt();
var15.field979 = var6 >> 16;
var15.field978 = (var6 & 65535) + Client.cycle;
var15.spotAnimationFrame = 0;
var15.spotAnimationFrameCycle = 0;
if (var15.field978 > Client.cycle) {
var15.spotAnimationFrame = -1;
}
if (var15.spotAnimation == 65535) {
var15.spotAnimation = -1;
}
}
if ((var5 & 2) != 0) {
var6 = var1.method5582();
var7 = var1.method5539();
var8 = var15.x - (var6 - NetFileRequest.baseX * 64 - NetFileRequest.baseX * 64) * 64;
var9 = var15.y - (var7 - class41.baseY * 64 - class41.baseY * 64) * 64;
if (var8 != 0 || var9 != 0) {
var15.field959 = (int)(Math.atan2((double)var8, (double)var9) * 325.949D) & 2047;
}
}
if ((var5 & 16) != 0) {
var15.targetIndex = var1.method5580();
if (var15.targetIndex == 65535) {
var15.targetIndex = -1;
}
}
if ((var5 & 32) != 0) {
var15.overheadText = var1.readStringCp1252NullTerminated();
var15.overheadTextCyclesRemaining = 100;
}
if ((var5 & 1) != 0) {
var15.definition = WorldMapIcon_0.getNpcDefinition(var1.method5580());
var15.field941 = var15.definition.size * 64;
var15.field940 = var15.definition.rotation;
var15.walkSequence = var15.definition.walkSequence;
var15.walkBackSequence = var15.definition.walkBackSequence;
var15.walkLeftSequence = var15.definition.walkLeftSequence;
var15.walkRightSequence = var15.definition.walkRightSequence;
var15.idleSequence = var15.definition.idleSequence;
var15.turnLeftSequence = var15.definition.turnLeftSequence;
var15.turnRightSequence = var15.definition.turnRightSequence;
}
if ((var5 & 64) != 0) {
var6 = var1.method5582();
if (var6 == 65535) {
var6 = -1;
}
var7 = var1.readUnsignedByte();
if (var6 == var15.sequence && var6 != -1) {
var8 = ParamDefinition.SequenceDefinition_get(var6).field3548;
if (var8 == 1) {
var15.sequenceFrame = 0;
var15.sequenceFrameCycle = 0;
var15.sequenceDelay = var7;
var15.field974 = 0;
}
if (var8 == 2) {
var15.field974 = 0;
}
} else if (var6 == -1 || var15.sequence == -1 || ParamDefinition.SequenceDefinition_get(var6).field3557 >= ParamDefinition.SequenceDefinition_get(var15.sequence).field3557) {
var15.sequence = var6;
var15.sequenceFrame = 0;
var15.sequenceFrameCycle = 0;
var15.sequenceDelay = var7;
var15.field974 = 0;
var15.field996 = var15.pathLength;
}
}
if ((var5 & 4) != 0) {
var6 = var1.method5571();
int var12;
if (var6 > 0) {
for (var7 = 0; var7 < var6; ++var7) {
var9 = -1;
var10 = -1;
var11 = -1;
var8 = var1.readUShortSmart();
if (var8 == 32767) {
var8 = var1.readUShortSmart();
var10 = var1.readUShortSmart();
var9 = var1.readUShortSmart();
var11 = var1.readUShortSmart();
} else if (var8 != 32766) {
var10 = var1.readUShortSmart();
} else {
var8 = -1;
}
var12 = var1.readUShortSmart();
var15.addHitSplat(var8, var10, var9, var11, Client.cycle, var12);
}
}
var7 = var1.readUnsignedByte();
if (var7 > 0) {
for (var8 = 0; var8 < var7; ++var8) {
var9 = var1.readUShortSmart();
var10 = var1.readUShortSmart();
if (var10 != 32767) {
var11 = var1.readUShortSmart();
var12 = var1.method5572();
int var13 = var10 > 0 ? var1.method5572() : var12;
var15.addHealthBar(var9, Client.cycle, var10, var11, var12, var13);
} else {
var15.removeHealthBar(var9);
}
}
}
}
if ((var5 & 128) != 0) {
var15.field981 = var1.method5645();
var15.field982 = var1.method5645();
var15.field958 = var1.method5645();
var15.field956 = var1.method5645();
var15.field984 = var1.readUnsignedShort() + Client.cycle;
var15.field973 = var1.method5582() + Client.cycle;
var15.field986 = var1.readUnsignedShort();
var15.pathLength = 1;
var15.field996 = 0;
var15.field981 += var15.pathX[0];
var15.field982 += var15.pathY[0];
var15.field958 += var15.pathX[0];
var15.field956 += var15.pathY[0];
}
}
for (var14 = 0; var14 < Client.field769; ++var14) {
var3 = Client.field770[var14];
if (Client.npcs[var3].npcCycle != Client.cycle) {
Client.npcs[var3].definition = null;
Client.npcs[var3] = null;
}
}
if (var1.offset != Client.packetWriter.serverPacketLength) {
throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength);
} else {
for (var14 = 0; var14 < Client.npcCount; ++var14) {
if (Client.npcs[Client.npcIndices[var14]] == null) {
throw new RuntimeException(var14 + "," + Client.npcCount);
}
}
}
}
}
@ObfuscatedName("ii")
@ObfuscatedSignature(
descriptor = "(IIB)V",
garbageValue = "43"
)
static final void method243(int var0, int var1) {
if (Client.menuOptionsCount >= 2 || Client.isItemSelected != 0 || Client.isSpellSelected) {
if (Client.showMouseOverText) {
int var2 = WorldMapSprite.method463();
String var3;
if (Client.isItemSelected == 1 && Client.menuOptionsCount < 2) {
var3 = "Use" + " " + Client.selectedItemName + " " + "->";
} else if (Client.isSpellSelected && Client.menuOptionsCount < 2) {
var3 = Client.selectedSpellActionName + " " + Client.selectedSpellName + " " + "->";
} else {
var3 = ArchiveLoader.method1230(var2);
}
if (Client.menuOptionsCount > 2) {
var3 = var3 + class23.colorStartTag(16777215) + " " + '/' + " " + (Client.menuOptionsCount - 2) + " more options";
}
GrandExchangeOfferTotalQuantityComparator.fontBold12.drawRandomAlphaAndSpacing(var3, var0 + 4, var1 + 15, 16777215, 0, Client.cycle / 1000);
}
}
}
@ObfuscatedName("ln")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;B)V",
garbageValue = "-51"
)
static void method244(String var0) {
WorldMapSection1.field317 = var0;
try {
String var1 = WorldMapIcon_0.client.getParameter(Integer.toString(18));
String var2 = WorldMapIcon_0.client.getParameter(Integer.toString(13));
String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2;
if (var0.length() == 0) {
var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0";
} else {
var3 = var3 + "; Expires=" + class3.method40(class298.currentTimeMillis() + 94608000000L) + "; Max-Age=" + 94608000L;
}
Client var4 = WorldMapIcon_0.client;
String var5 = "document.cookie=\"" + var3 + "\"";
//JSObject.getWindow(var4).eval(var5);
} catch (Throwable var6) {
}
}
}