335 lines
8.3 KiB
Java
335 lines
8.3 KiB
Java
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStreamWriter;
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.util.Random;
|
|
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;
|
|
|
|
@ObfuscatedName("br")
|
|
@Implements("GraphicsObject")
|
|
public final class GraphicsObject extends Entity {
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedGetter(
|
|
intValue = 1800757053
|
|
)
|
|
@Export("id")
|
|
int id;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = 815583153
|
|
)
|
|
@Export("cycleStart")
|
|
int cycleStart;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedGetter(
|
|
intValue = 497499711
|
|
)
|
|
@Export("plane")
|
|
int plane;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedGetter(
|
|
intValue = -1418605465
|
|
)
|
|
@Export("x")
|
|
int x;
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedGetter(
|
|
intValue = -744262401
|
|
)
|
|
@Export("y")
|
|
int y;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedGetter(
|
|
intValue = -1599899605
|
|
)
|
|
@Export("height")
|
|
int height;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "Lip;"
|
|
)
|
|
@Export("sequenceDefinition")
|
|
SequenceDefinition sequenceDefinition;
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedGetter(
|
|
intValue = 715957131
|
|
)
|
|
@Export("frame")
|
|
int frame;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = 1558881033
|
|
)
|
|
@Export("frameCycle")
|
|
int frameCycle;
|
|
@ObfuscatedName("m")
|
|
@Export("isFinished")
|
|
boolean isFinished;
|
|
|
|
GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
|
this.frame = 0;
|
|
this.frameCycle = 0;
|
|
this.isFinished = false;
|
|
this.id = var1;
|
|
this.plane = var2;
|
|
this.x = var3;
|
|
this.y = var4;
|
|
this.height = var5;
|
|
this.cycleStart = var7 + var6;
|
|
int var8 = class65.SpotAnimationDefinition_get(this.id).sequence;
|
|
if (var8 != -1) {
|
|
this.isFinished = false;
|
|
this.sequenceDefinition = GraphicsDefaults.SequenceDefinition_get(var8);
|
|
} else {
|
|
this.isFinished = true;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "65536"
|
|
)
|
|
@Export("advance")
|
|
final void advance(int var1) {
|
|
if (!this.isFinished) {
|
|
this.frameCycle += var1;
|
|
|
|
while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) {
|
|
this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame];
|
|
++this.frame;
|
|
if (this.frame >= this.sequenceDefinition.frameIds.length) {
|
|
this.isFinished = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ldx;",
|
|
garbageValue = "-2133076860"
|
|
)
|
|
@Export("getModel")
|
|
protected final Model getModel() {
|
|
SpotAnimationDefinition var1 = class65.SpotAnimationDefinition_get(this.id);
|
|
Model var2;
|
|
if (!this.isFinished) {
|
|
var2 = var1.getModel(this.frame);
|
|
} else {
|
|
var2 = var1.getModel(-1);
|
|
}
|
|
|
|
return var2 == null ? null : var2;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)[Lih;",
|
|
garbageValue = "-51"
|
|
)
|
|
static HorizontalAlignment[] method2064() {
|
|
return new HorizontalAlignment[]{HorizontalAlignment.field3454, HorizontalAlignment.HorizontalAlignment_centered, HorizontalAlignment.field3451};
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lii;B)V",
|
|
garbageValue = "66"
|
|
)
|
|
public static void method2063(AbstractArchive var0) {
|
|
StructDefinition.StructDefinition_archive = var0;
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(JLjava/lang/String;I)I",
|
|
garbageValue = "-2060202992"
|
|
)
|
|
static final int method2060(long var0, String var2) {
|
|
Random var3 = new Random();
|
|
Buffer var4 = new Buffer(128);
|
|
Buffer var5 = new Buffer(128);
|
|
int[] var6 = new int[]{var3.nextInt(), var3.nextInt(), (int)(var0 >> 32), (int)var0};
|
|
var4.writeByte(10);
|
|
|
|
int var7;
|
|
for (var7 = 0; var7 < 4; ++var7) {
|
|
var4.writeInt(var3.nextInt());
|
|
}
|
|
|
|
var4.writeInt(var6[0]);
|
|
var4.writeInt(var6[1]);
|
|
var4.writeLong(var0);
|
|
var4.writeLong(0L);
|
|
|
|
for (var7 = 0; var7 < 4; ++var7) {
|
|
var4.writeInt(var3.nextInt());
|
|
}
|
|
|
|
var4.encryptRsa(class80.field1123, class80.field1120);
|
|
var5.writeByte(10);
|
|
|
|
for (var7 = 0; var7 < 3; ++var7) {
|
|
var5.writeInt(var3.nextInt());
|
|
}
|
|
|
|
var5.writeLong(var3.nextLong());
|
|
var5.writeLongMedium(var3.nextLong());
|
|
if (Client.randomDatData != null) {
|
|
var5.writeBytes(Client.randomDatData, 0, Client.randomDatData.length);
|
|
} else {
|
|
byte[] var8 = new byte[24];
|
|
|
|
try {
|
|
JagexCache.JagexCache_randomDat.seek(0L);
|
|
JagexCache.JagexCache_randomDat.readFully(var8);
|
|
|
|
int var9;
|
|
for (var9 = 0; var9 < 24 && var8[var9] == 0; ++var9) {
|
|
}
|
|
|
|
if (var9 >= 24) {
|
|
throw new IOException();
|
|
}
|
|
} catch (Exception var24) {
|
|
for (int var10 = 0; var10 < 24; ++var10) {
|
|
var8[var10] = -1;
|
|
}
|
|
}
|
|
|
|
var5.writeBytes(var8, 0, var8.length);
|
|
}
|
|
|
|
var5.writeLong(var3.nextLong());
|
|
var5.encryptRsa(class80.field1123, class80.field1120);
|
|
var7 = Buddy.stringCp1252NullTerminatedByteSize(var2);
|
|
if (var7 % 8 != 0) {
|
|
var7 += 8 - var7 % 8;
|
|
}
|
|
|
|
Buffer var25 = new Buffer(var7);
|
|
var25.writeStringCp1252NullTerminated(var2);
|
|
var25.offset = var7;
|
|
var25.xteaEncryptAll(var6);
|
|
Buffer var18 = new Buffer(var25.offset + var4.offset + var5.offset + 5);
|
|
var18.writeByte(2);
|
|
var18.writeByte(var4.offset);
|
|
var18.writeBytes(var4.array, 0, var4.offset);
|
|
var18.writeByte(var5.offset);
|
|
var18.writeBytes(var5.array, 0, var5.offset);
|
|
var18.writeShort(var25.offset);
|
|
var18.writeBytes(var25.array, 0, var25.offset);
|
|
String var20 = Frames.method3340(var18.array);
|
|
|
|
try {
|
|
URL var11 = new URL(class42.method809("services", false) + "m=accountappeal/login.ws");
|
|
URLConnection var12 = var11.openConnection();
|
|
var12.setDoInput(true);
|
|
var12.setDoOutput(true);
|
|
var12.setConnectTimeout(5000);
|
|
OutputStreamWriter var13 = new OutputStreamWriter(var12.getOutputStream());
|
|
var13.write("data2=" + ArchiveDiskAction.method4216(var20) + "&dest=" + ArchiveDiskAction.method4216("passwordchoice.ws"));
|
|
var13.flush();
|
|
InputStream var14 = var12.getInputStream();
|
|
var18 = new Buffer(new byte[1000]);
|
|
|
|
do {
|
|
int var15 = var14.read(var18.array, var18.offset, 1000 - var18.offset);
|
|
if (var15 == -1) {
|
|
var13.close();
|
|
var14.close();
|
|
String var21 = new String(var18.array);
|
|
if (var21.startsWith("OFFLINE")) {
|
|
return 4;
|
|
} else if (var21.startsWith("WRONG")) {
|
|
return 7;
|
|
} else if (var21.startsWith("RELOAD")) {
|
|
return 3;
|
|
} else if (var21.startsWith("Not permitted for social network accounts.")) {
|
|
return 6;
|
|
} else {
|
|
var18.xteaDecryptAll(var6);
|
|
|
|
while (var18.offset > 0 && var18.array[var18.offset - 1] == 0) {
|
|
--var18.offset;
|
|
}
|
|
|
|
var21 = new String(var18.array, 0, var18.offset);
|
|
boolean var16;
|
|
if (var21 == null) {
|
|
var16 = false;
|
|
} else {
|
|
label107: {
|
|
try {
|
|
new URL(var21);
|
|
} catch (MalformedURLException var22) {
|
|
var16 = false;
|
|
break label107;
|
|
}
|
|
|
|
var16 = true;
|
|
}
|
|
}
|
|
|
|
if (var16) {
|
|
class215.openURL(var21, true, false);
|
|
return 2;
|
|
} else {
|
|
return 5;
|
|
}
|
|
}
|
|
}
|
|
|
|
var18.offset += var15;
|
|
} while(var18.offset < 1000);
|
|
|
|
return 5;
|
|
} catch (Throwable var23) {
|
|
var23.printStackTrace();
|
|
return 5;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)Lix;",
|
|
garbageValue = "52"
|
|
)
|
|
public static FloorUnderlayDefinition method2055(int var0) {
|
|
FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0);
|
|
if (var1 != null) {
|
|
return var1;
|
|
} else {
|
|
byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0);
|
|
var1 = new FloorUnderlayDefinition();
|
|
if (var2 != null) {
|
|
var1.decode(new Buffer(var2), var0);
|
|
}
|
|
|
|
var1.postDecode();
|
|
FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0);
|
|
return var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ic")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;Ljava/lang/String;IIIIS)V",
|
|
garbageValue = "3604"
|
|
)
|
|
@Export("insertMenuItemNoShift")
|
|
public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) {
|
|
class160.insertMenuItem(var0, var1, var2, var3, var4, var5, false);
|
|
}
|
|
}
|