project: Rev 182

This commit is contained in:
Owain van Brakel
2019-08-29 16:04:20 +02:00
parent 0c1dd644d8
commit 6485eb9bed
349 changed files with 51857 additions and 50740 deletions

View File

@@ -1,25 +1,13 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.Random;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("ec")
@ObfuscatedName("ew")
@Implements("UserComparator10")
public class UserComparator10 extends AbstractUserComparator {
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "Lgl;"
)
@Export("musicTrack")
public static MusicTrack musicTrack;
@ObfuscatedName("q")
@ObfuscatedName("s")
@Export("reversed")
final boolean reversed;
@@ -27,259 +15,418 @@ public class UserComparator10 extends AbstractUserComparator {
this.reversed = var1;
}
@ObfuscatedName("q")
@ObfuscatedName("s")
@ObfuscatedSignature(
signature = "(Ljz;Ljz;I)I",
garbageValue = "1029227971"
signature = "(Ljt;Ljt;B)I",
garbageValue = "-47"
)
@Export("compareBuddy")
int compareBuddy(Buddy var1, Buddy var2) {
if (Client.worldId == var1.world && var2.world == Client.worldId) {
return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2;
} else {
return this.compareUser(var1, var2);
}
return this.compareUser(var1, var2);
}
public int compare(Object var1, Object var2) {
return this.compareBuddy((Buddy)var1, (Buddy)var2);
}
@ObfuscatedName("l")
@ObfuscatedName("s")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "8742"
signature = "(Lhz;Lhz;Lhz;Lhz;I)V",
garbageValue = "34424485"
)
static void method3406() {
Login.Login_username = Login.Login_username.trim();
if (Login.Login_username.length() == 0) {
class268.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
return;
}
long var1;
try {
URL var3 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws");
URLConnection var4 = var3.openConnection();
var4.setRequestProperty("connection", "close");
var4.setDoInput(true);
var4.setDoOutput(true);
var4.setConnectTimeout(5000);
OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream());
var5.write("data1=req");
var5.flush();
InputStream var6 = var4.getInputStream();
Buffer var7 = new Buffer(new byte[1000]);
@Export("Widget_setArchives")
public static void Widget_setArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) {
Widget.Widget_archive = var0;
Huffman.Widget_modelsArchive = var1;
WorldMapSprite.Widget_spritesArchive = var2;
Widget.Widget_fontsArchive = var3;
Widget.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][];
WorldMapDecoration.Widget_loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()];
}
while (true) {
int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset);
if (var8 != -1) {
var7.offset += var8;
if (var7.offset >= 1000) {
var1 = 0L;
break;
}
} else {
var7.offset = 0;
long var22 = var7.readLong();
var1 = var22;
break;
}
}
} catch (Exception var34) {
var1 = 0L;
}
byte var0;
if (0L == var1) {
var0 = 5;
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "(ILcr;ZS)I",
garbageValue = "180"
)
static int method3345(int var0, Script var1, boolean var2) {
int var3 = -1;
Widget var4;
if (var0 >= 2000) {
var0 -= 1000;
var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
var4 = WorldMapElement.getWidget(var3);
} else {
String var35 = Login.Login_username;
Random var36 = new Random();
Buffer var26 = new Buffer(128);
Buffer var9 = new Buffer(128);
int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1};
var26.writeByte(10);
int var11;
for (var11 = 0; var11 < 4; ++var11) {
var26.writeInt(var36.nextInt());
}
var26.writeInt(var10[0]);
var26.writeInt(var10[1]);
var26.writeLong(var1);
var26.writeLong(0L);
for (var11 = 0; var11 < 4; ++var11) {
var26.writeInt(var36.nextInt());
}
var26.encryptRsa(class80.field1140, class80.field1141);
var9.writeByte(10);
for (var11 = 0; var11 < 3; ++var11) {
var9.writeInt(var36.nextInt());
}
var9.writeLong(var36.nextLong());
var9.writeLongMedium(var36.nextLong());
if (Client.randomDatData != null) {
var9.writeBytes(Client.randomDatData, 0, Client.randomDatData.length);
} else {
byte[] var12 = new byte[24];
try {
JagexCache.JagexCache_randomDat.seek(0L);
JagexCache.JagexCache_randomDat.readFully(var12);
int var13;
for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) {
}
if (var13 >= 24) {
throw new IOException();
}
} catch (Exception var33) {
for (int var14 = 0; var14 < 24; ++var14) {
var12[var14] = -1;
}
}
var9.writeBytes(var12, 0, var12.length);
}
var9.writeLong(var36.nextLong());
var9.encryptRsa(class80.field1140, class80.field1141);
var11 = Huffman.stringCp1252NullTerminatedByteSize(var35);
if (var11 % 8 != 0) {
var11 += 8 - var11 % 8;
}
Buffer var37 = new Buffer(var11);
var37.writeStringCp1252NullTerminated(var35);
var37.offset = var11;
var37.xteaEncryptAll(var10);
Buffer var27 = new Buffer(var9.offset + var26.offset + var37.offset + 5);
var27.writeByte(2);
var27.writeByte(var26.offset);
var27.writeBytes(var26.array, 0, var26.offset);
var27.writeByte(var9.offset);
var27.writeBytes(var9.array, 0, var9.offset);
var27.writeShort(var37.offset);
var27.writeBytes(var37.array, 0, var37.offset);
byte[] var15 = var27.array;
String var29 = Widget.method4092(var15, 0, var15.length);
String var16 = var29;
byte var30;
try {
URL var17 = new URL(Language.method3666("services", false) + "m=accountappeal/login.ws");
URLConnection var18 = var17.openConnection();
var18.setDoInput(true);
var18.setDoOutput(true);
var18.setConnectTimeout(5000);
OutputStreamWriter var19 = new OutputStreamWriter(var18.getOutputStream());
var19.write("data2=" + GrandExchangeOfferWorldComparator.method63(var16) + "&dest=" + GrandExchangeOfferWorldComparator.method63("passwordchoice.ws"));
var19.flush();
InputStream var20 = var18.getInputStream();
var27 = new Buffer(new byte[1000]);
while (true) {
int var21 = var20.read(var27.array, var27.offset, 1000 - var27.offset);
if (var21 == -1) {
var19.close();
var20.close();
String var31 = new String(var27.array);
if (var31.startsWith("OFFLINE")) {
var30 = 4;
} else if (var31.startsWith("WRONG")) {
var30 = 7;
} else if (var31.startsWith("RELOAD")) {
var30 = 3;
} else if (var31.startsWith("Not permitted for social network accounts.")) {
var30 = 6;
} else {
var27.xteaDecryptAll(var10);
while (var27.offset > 0 && var27.array[var27.offset - 1] == 0) {
--var27.offset;
}
var31 = new String(var27.array, 0, var27.offset);
if (HealthBarUpdate.isValidURL(var31)) {
GrandExchangeOfferWorldComparator.openURL(var31, true, false);
var30 = 2;
} else {
var30 = 5;
}
}
break;
}
var27.offset += var21;
if (var27.offset >= 1000) {
var30 = 5;
break;
}
}
} catch (Throwable var32) {
var32.printStackTrace();
var30 = 5;
}
var0 = var30;
var4 = var2 ? class286.field3623 : class297.field3693;
}
switch(var0) {
case 2:
class268.setLoginResponseString(Strings.field2942, Strings.field3027, Strings.field2768);
Login.loginIndex = 6;
break;
case 3:
class268.setLoginResponseString("", "Error connecting to server.", "");
break;
case 4:
class268.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later.");
break;
case 5:
class268.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later.");
break;
case 6:
class268.setLoginResponseString("", "Error connecting to server.", "");
break;
case 7:
class268.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username.");
}
if (var0 == ScriptOpcodes.CC_SETPOSITION) {
Interpreter.Interpreter_intStackSize -= 4;
var4.rawX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
var4.rawY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
var4.xAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2];
var4.yAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3];
FriendSystem.invalidateWidget(var4);
WorldMapID.client.alignWidget(var4);
if (var3 != -1 && var4.type == 0) {
WorldMapAreaData.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_SETSIZE) {
Interpreter.Interpreter_intStackSize -= 4;
var4.rawWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
var4.rawHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
var4.widthAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2];
var4.heightAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3];
FriendSystem.invalidateWidget(var4);
WorldMapID.client.alignWidget(var4);
if (var3 != -1 && var4.type == 0) {
WorldMapAreaData.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var3 >> 16], var4, false);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_SETHIDE) {
boolean var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
if (var5 != var4.isHidden) {
var4.isHidden = var5;
FriendSystem.invalidateWidget(var4);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) {
var4.noClickThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
return 1;
} else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) {
var4.noScrollThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
return 1;
} else {
return 2;
}
}
@ObfuscatedName("b")
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "-1807078732"
signature = "(IIIIIZI)Lls;",
garbageValue = "92039087"
)
@Export("Messages_invalidateIgnoreds")
static void Messages_invalidateIgnoreds() {
Iterator var0 = Messages.Messages_hashTable.iterator();
while (var0.hasNext()) {
Message var1 = (Message)var0.next();
var1.clearIsFromIgnored();
@Export("getItemSprite")
public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) {
if (var1 == -1) {
var4 = 0;
} else if (var4 == 2 && var1 != 1) {
var4 = 1;
}
}
long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + (long)var0 + ((long)var1 << 16);
Sprite var8;
if (!var5) {
var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6);
if (var8 != null) {
return var8;
}
}
@ObfuscatedName("kj")
@ObfuscatedSignature(
signature = "(Lhj;IS)Ljava/lang/String;",
garbageValue = "255"
)
static String method3407(Widget var0, int var1) {
int var3 = class268.getWidgetClickMask(var0);
boolean var2 = (var3 >> var1 + 1 & 1) != 0;
if (!var2 && var0.onOp == null) {
ItemDefinition var9 = WorldMapData_0.ItemDefinition_get(var0);
if (var1 > 1 && var9.countobj != null) {
int var10 = -1;
for (int var11 = 0; var11 < 10; ++var11) {
if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) {
var10 = var9.countobj[var11];
}
}
if (var10 != -1) {
var9 = WorldMapData_0.ItemDefinition_get(var10);
}
}
Model var19 = var9.getModel(1);
if (var19 == null) {
return null;
} else {
Sprite var20 = null;
if (var9.noteTemplate != -1) {
var20 = getItemSprite(var9.note, 10, 1, 0, 0, true);
if (var20 == null) {
return null;
}
} else if (var9.notedId != -1) {
var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false);
if (var20 == null) {
return null;
}
} else if (var9.placeholderTemplate != -1) {
var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false);
if (var20 == null) {
return null;
}
}
int[] var12 = Rasterizer2D.Rasterizer2D_pixels;
int var13 = Rasterizer2D.Rasterizer2D_width;
int var14 = Rasterizer2D.Rasterizer2D_height;
int[] var15 = new int[4];
Rasterizer2D.Rasterizer2D_getClipArray(var15);
var8 = new Sprite(36, 32);
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
Rasterizer2D.Rasterizer2D_clear();
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
Rasterizer3D.method2929(16, 16);
Rasterizer3D.field1744 = false;
if (var9.placeholderTemplate != -1) {
var20.drawTransBgAt(0, 0);
}
int var16 = var9.zoom2d;
if (var5) {
var16 = (int)(1.5D * (double)var16);
} else if (var2 == 2) {
var16 = (int)(1.04D * (double)var16);
}
int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16;
int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16;
var19.calculateBoundsCylinder();
var19.method2874(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d);
if (var9.notedId != -1) {
var20.drawTransBgAt(0, 0);
}
if (var2 >= 1) {
var8.outline(1);
}
if (var2 >= 2) {
var8.outline(16777215);
}
if (var3 != 0) {
var8.shadow(var3);
}
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
if (var9.noteTemplate != -1) {
var20.drawTransBgAt(0, 0);
}
if (var4 == 1 || var4 == 2 && var9.isStackable == 1) {
ArchiveLoader.ItemDefinition_fontPlain11.draw(class96.method2201(var1), 0, 9, 16776960, 1);
}
if (!var5) {
ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6);
}
Rasterizer2D.Rasterizer2D_replace(var12, var13, var14);
Rasterizer2D.Rasterizer2D_setClipArray(var15);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
Rasterizer3D.field1744 = true;
return var8;
}
}
@ObfuscatedName("eu")
@ObfuscatedSignature(
signature = "(IZZZI)Lid;",
garbageValue = "-1576468201"
)
@Export("newArchive")
static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) {
ArchiveDisk var4 = null;
if (JagexCache.JagexCache_dat2File != null) {
var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, WorldMapSection1.JagexCache_idxFiles[var0], 1000000);
}
return new Archive(var4, class293.masterDisk, var0, var1, var2, var3);
}
@ObfuscatedName("gz")
@ObfuscatedSignature(
signature = "(IIIIII)V",
garbageValue = "-1531773798"
)
@Export("drawObject")
static final void drawObject(int var0, int var1, int var2, int var3, int var4) {
long var5 = Player.scene.getBoundaryObjectTag(var0, var1, var2);
int var7;
int var8;
int var9;
int var10;
int var12;
int var13;
if (0L != var5) {
var7 = Player.scene.getObjectFlags(var0, var1, var2, var5);
var8 = var7 >> 6 & 3;
var9 = var7 & 31;
var10 = var3;
if (SpotAnimationDefinition.method4333(var5)) {
var10 = var4;
}
int[] var11 = ParamDefinition.sceneMinimapSprite.pixels;
var12 = var1 * 4 + (103 - var2) * 2048 + 24624;
var13 = BoundaryObject.Entity_unpackID(var5);
ObjectDefinition var14 = class215.getObjectDefinition(var13);
if (var14.mapSceneId != -1) {
IndexedSprite var15 = GrandExchangeOfferOwnWorldComparator.mapSceneSprites[var14.mapSceneId];
if (var15 != null) {
int var16 = (var14.sizeX * 4 - var15.subWidth) / 2;
int var17 = (var14.sizeY * 4 - var15.subHeight) / 2;
var15.drawAt(var1 * 4 + var16 + 48, var17 + (104 - var2 - var14.sizeY) * 4 + 48);
}
} else {
if (var9 == 0 || var9 == 2) {
if (var8 == 0) {
var11[var12] = var10;
var11[var12 + 512] = var10;
var11[var12 + 1024] = var10;
var11[var12 + 1536] = var10;
} else if (var8 == 1) {
var11[var12] = var10;
var11[var12 + 1] = var10;
var11[var12 + 2] = var10;
var11[var12 + 3] = var10;
} else if (var8 == 2) {
var11[var12 + 3] = var10;
var11[var12 + 512 + 3] = var10;
var11[var12 + 1024 + 3] = var10;
var11[var12 + 1536 + 3] = var10;
} else if (var8 == 3) {
var11[var12 + 1536] = var10;
var11[var12 + 1536 + 1] = var10;
var11[var12 + 1536 + 2] = var10;
var11[var12 + 1536 + 3] = var10;
}
}
if (var9 == 3) {
if (var8 == 0) {
var11[var12] = var10;
} else if (var8 == 1) {
var11[var12 + 3] = var10;
} else if (var8 == 2) {
var11[var12 + 1536 + 3] = var10;
} else if (var8 == 3) {
var11[var12 + 1536] = var10;
}
}
if (var9 == 2) {
if (var8 == 3) {
var11[var12] = var10;
var11[var12 + 512] = var10;
var11[var12 + 1024] = var10;
var11[var12 + 1536] = var10;
} else if (var8 == 0) {
var11[var12] = var10;
var11[var12 + 1] = var10;
var11[var12 + 2] = var10;
var11[var12 + 3] = var10;
} else if (var8 == 1) {
var11[var12 + 3] = var10;
var11[var12 + 512 + 3] = var10;
var11[var12 + 1024 + 3] = var10;
var11[var12 + 1536 + 3] = var10;
} else if (var8 == 2) {
var11[var12 + 1536] = var10;
var11[var12 + 1536 + 1] = var10;
var11[var12 + 1536 + 2] = var10;
var11[var12 + 1536 + 3] = var10;
}
}
}
}
var5 = Player.scene.getGameObjectTag(var0, var1, var2);
if (0L != var5) {
var7 = Player.scene.getObjectFlags(var0, var1, var2, var5);
var8 = var7 >> 6 & 3;
var9 = var7 & 31;
var10 = BoundaryObject.Entity_unpackID(var5);
ObjectDefinition var24 = class215.getObjectDefinition(var10);
int var19;
if (var24.mapSceneId != -1) {
IndexedSprite var18 = GrandExchangeOfferOwnWorldComparator.mapSceneSprites[var24.mapSceneId];
if (var18 != null) {
var13 = (var24.sizeX * 4 - var18.subWidth) / 2;
var19 = (var24.sizeY * 4 - var18.subHeight) / 2;
var18.drawAt(var1 * 4 + var13 + 48, var19 + (104 - var2 - var24.sizeY) * 4 + 48);
}
} else if (var9 == 9) {
var12 = 15658734;
if (SpotAnimationDefinition.method4333(var5)) {
var12 = 15597568;
}
int[] var23 = ParamDefinition.sceneMinimapSprite.pixels;
var19 = var1 * 4 + (103 - var2) * 2048 + 24624;
if (var8 != 0 && var8 != 2) {
var23[var19] = var12;
var23[var19 + 1 + 512] = var12;
var23[var19 + 1024 + 2] = var12;
var23[var19 + 1536 + 3] = var12;
} else {
var23[var19 + 1536] = var12;
var23[var19 + 1 + 1024] = var12;
var23[var19 + 512 + 2] = var12;
var23[var19 + 3] = var12;
}
}
}
var5 = Player.scene.getFloorDecorationTag(var0, var1, var2);
if (0L != var5) {
var7 = BoundaryObject.Entity_unpackID(var5);
ObjectDefinition var20 = class215.getObjectDefinition(var7);
if (var20.mapSceneId != -1) {
IndexedSprite var21 = GrandExchangeOfferOwnWorldComparator.mapSceneSprites[var20.mapSceneId];
if (var21 != null) {
var10 = (var20.sizeX * 4 - var21.subWidth) / 2;
int var22 = (var20.sizeY * 4 - var21.subHeight) / 2;
var21.drawAt(var1 * 4 + var10 + 48, var22 + (104 - var2 - var20.sizeY) * 4 + 48);
}
}
}
}
@ObfuscatedName("jc")
@ObfuscatedSignature(
signature = "(Lhp;I)Z",
garbageValue = "-1592710646"
)
@Export("runCs1")
static final boolean runCs1(Widget var0) {
if (var0.cs1Comparisons == null) {
return false;
} else {
for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) {
int var2 = AbstractByteArrayCopier.method3868(var0, var1);
int var3 = var0.cs1ComparisonValues[var1];
if (var0.cs1Comparisons[var1] == 2) {
if (var2 >= var3) {
return false;
}
} else if (var0.cs1Comparisons[var1] == 3) {
if (var2 <= var3) {
return false;
}
} else if (var0.cs1Comparisons[var1] == 4) {
if (var2 == var3) {
return false;
}
} else if (var2 != var3) {
return false;
}
}
return true;
}
return var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null;
}
}