327 lines
7.3 KiB
Java
327 lines
7.3 KiB
Java
import java.io.DataInputStream;
|
|
import java.io.IOException;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.util.LinkedList;
|
|
import java.util.Queue;
|
|
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("ea")
|
|
@Implements("UrlRequester")
|
|
public class UrlRequester implements Runnable {
|
|
@ObfuscatedName("ep")
|
|
@ObfuscatedGetter(
|
|
intValue = -863739849
|
|
)
|
|
static int field1963;
|
|
@ObfuscatedName("gl")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Llm;"
|
|
)
|
|
@Export("compass")
|
|
static Sprite compass;
|
|
@ObfuscatedName("h")
|
|
@Export("thread")
|
|
final Thread thread;
|
|
@ObfuscatedName("v")
|
|
@Export("isClosed")
|
|
volatile boolean isClosed;
|
|
@ObfuscatedName("x")
|
|
@Export("requests")
|
|
Queue requests;
|
|
|
|
public UrlRequester() {
|
|
this.requests = new LinkedList();
|
|
this.thread = new Thread(this);
|
|
this.thread.setPriority(1);
|
|
this.thread.start();
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/net/URL;I)Lei;",
|
|
garbageValue = "-1941564889"
|
|
)
|
|
@Export("request")
|
|
public UrlRequest request(URL var1) {
|
|
UrlRequest var2 = new UrlRequest(var1);
|
|
synchronized(this) {
|
|
this.requests.add(var2);
|
|
this.notify();
|
|
return var2;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "6"
|
|
)
|
|
@Export("close")
|
|
public void close() {
|
|
this.isClosed = true;
|
|
|
|
try {
|
|
synchronized(this) {
|
|
this.notify();
|
|
}
|
|
|
|
this.thread.join();
|
|
} catch (InterruptedException var4) {
|
|
}
|
|
|
|
}
|
|
|
|
public void run() {
|
|
while (!this.isClosed) {
|
|
try {
|
|
UrlRequest var1;
|
|
synchronized(this) {
|
|
var1 = (UrlRequest)this.requests.poll();
|
|
if (var1 == null) {
|
|
try {
|
|
this.wait();
|
|
} catch (InterruptedException var13) {
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
|
|
DataInputStream var2 = null;
|
|
URLConnection var3 = null;
|
|
|
|
try {
|
|
var3 = var1.url.openConnection();
|
|
var3.setConnectTimeout(5000);
|
|
var3.setReadTimeout(5000);
|
|
var3.setUseCaches(false);
|
|
var3.setRequestProperty("Connection", "close");
|
|
int var7 = var3.getContentLength();
|
|
if (var7 >= 0) {
|
|
byte[] var5 = new byte[var7];
|
|
var2 = new DataInputStream(var3.getInputStream());
|
|
var2.readFully(var5);
|
|
var1.response0 = var5;
|
|
}
|
|
|
|
var1.isDone0 = true;
|
|
} catch (IOException var14) {
|
|
var1.isDone0 = true;
|
|
} finally {
|
|
if (var2 != null) {
|
|
var2.close();
|
|
}
|
|
|
|
if (var3 != null && var3 instanceof HttpURLConnection) {
|
|
((HttpURLConnection)var3).disconnect();
|
|
}
|
|
|
|
}
|
|
} catch (Exception var17) {
|
|
PlayerAppearance.RunException_sendStackTrace((String)null, var17);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "([Lgd;II)Lgd;",
|
|
garbageValue = "-933292802"
|
|
)
|
|
@Export("findEnumerated")
|
|
public static Enumerated findEnumerated(Enumerated[] var0, int var1) {
|
|
Enumerated[] var2 = var0;
|
|
|
|
for (int var3 = 0; var3 < var2.length; ++var3) {
|
|
Enumerated var4 = var2[var3];
|
|
if (var1 == var4.rsOrdinal()) {
|
|
return var4;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgi;I)I",
|
|
garbageValue = "-530251547"
|
|
)
|
|
@Export("compareStrings")
|
|
public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) {
|
|
int var3 = var0.length();
|
|
int var4 = var1.length();
|
|
int var5 = 0;
|
|
int var6 = 0;
|
|
byte var7 = 0;
|
|
byte var8 = 0;
|
|
|
|
while (var5 - var7 < var3 || var6 - var8 < var4) {
|
|
if (var5 - var7 >= var3) {
|
|
return -1;
|
|
}
|
|
|
|
if (var6 - var8 >= var4) {
|
|
return 1;
|
|
}
|
|
|
|
char var9;
|
|
if (var7 != 0) {
|
|
var9 = (char)var7;
|
|
boolean var14 = false;
|
|
} else {
|
|
var9 = var0.charAt(var5++);
|
|
}
|
|
|
|
char var10;
|
|
if (var8 != 0) {
|
|
var10 = (char)var8;
|
|
boolean var15 = false;
|
|
} else {
|
|
var10 = var1.charAt(var6++);
|
|
}
|
|
|
|
byte var11;
|
|
if (var9 == 198) {
|
|
var11 = 69;
|
|
} else if (var9 == 230) {
|
|
var11 = 101;
|
|
} else if (var9 == 223) {
|
|
var11 = 115;
|
|
} else if (var9 == 338) {
|
|
var11 = 69;
|
|
} else if (var9 == 339) {
|
|
var11 = 101;
|
|
} else {
|
|
var11 = 0;
|
|
}
|
|
|
|
var7 = var11;
|
|
byte var12;
|
|
if (var10 == 198) {
|
|
var12 = 69;
|
|
} else if (var10 == 230) {
|
|
var12 = 101;
|
|
} else if (var10 == 223) {
|
|
var12 = 115;
|
|
} else if (var10 == 338) {
|
|
var12 = 69;
|
|
} else if (var10 == 339) {
|
|
var12 = 101;
|
|
} else {
|
|
var12 = 0;
|
|
}
|
|
|
|
var8 = var12;
|
|
var9 = UserComparator5.standardizeChar(var9, var2);
|
|
var10 = UserComparator5.standardizeChar(var10, var2);
|
|
if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) {
|
|
var9 = Character.toLowerCase(var9);
|
|
var10 = Character.toLowerCase(var10);
|
|
if (var10 != var9) {
|
|
return WorldMapAreaData.lowercaseChar(var9, var2) - WorldMapAreaData.lowercaseChar(var10, var2);
|
|
}
|
|
}
|
|
}
|
|
|
|
int var16 = Math.min(var3, var4);
|
|
|
|
int var17;
|
|
char var20;
|
|
for (var17 = 0; var17 < var16; ++var17) {
|
|
if (var2 == Language.Language_FR) {
|
|
var5 = var3 - 1 - var17;
|
|
var6 = var4 - 1 - var17;
|
|
} else {
|
|
var6 = var17;
|
|
var5 = var17;
|
|
}
|
|
|
|
char var18 = var0.charAt(var5);
|
|
var20 = var1.charAt(var6);
|
|
if (var20 != var18 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) {
|
|
var18 = Character.toLowerCase(var18);
|
|
var20 = Character.toLowerCase(var20);
|
|
if (var18 != var20) {
|
|
return WorldMapAreaData.lowercaseChar(var18, var2) - WorldMapAreaData.lowercaseChar(var20, var2);
|
|
}
|
|
}
|
|
}
|
|
|
|
var17 = var3 - var4;
|
|
if (var17 != 0) {
|
|
return var17;
|
|
} else {
|
|
for (int var19 = 0; var19 < var16; ++var19) {
|
|
var20 = var0.charAt(var19);
|
|
char var13 = var1.charAt(var19);
|
|
if (var20 != var13) {
|
|
return WorldMapAreaData.lowercaseChar(var20, var2) - WorldMapAreaData.lowercaseChar(var13, var2);
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lkj;Ljava/lang/String;I)I",
|
|
garbageValue = "-1031927437"
|
|
)
|
|
public static int method3383(Buffer var0, String var1) {
|
|
int var2 = var0.offset;
|
|
byte[] var3 = Projectile.method2171(var1);
|
|
var0.writeSmartByteShort(var3.length);
|
|
var0.offset += class219.huffman.compress(var3, 0, var3.length, var0.array, var0.offset);
|
|
return var0.offset - var2;
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "117"
|
|
)
|
|
public static void method3381() {
|
|
try {
|
|
if (class206.musicPlayerStatus == 1) {
|
|
int var0 = class206.midiPcmStream.method3816();
|
|
if (var0 > 0 && class206.midiPcmStream.isReady()) {
|
|
var0 -= WorldMapSection1.pcmSampleLength;
|
|
if (var0 < 0) {
|
|
var0 = 0;
|
|
}
|
|
|
|
class206.midiPcmStream.setPcmStreamVolume(var0);
|
|
return;
|
|
}
|
|
|
|
class206.midiPcmStream.clear();
|
|
class206.midiPcmStream.removeAll();
|
|
if (Varps.musicTrackArchive != null) {
|
|
class206.musicPlayerStatus = 2;
|
|
} else {
|
|
class206.musicPlayerStatus = 0;
|
|
}
|
|
|
|
FileSystem.musicTrack = null;
|
|
class206.soundCache = null;
|
|
}
|
|
} catch (Exception var2) {
|
|
var2.printStackTrace();
|
|
class206.midiPcmStream.clear();
|
|
class206.musicPlayerStatus = 0;
|
|
FileSystem.musicTrack = null;
|
|
class206.soundCache = null;
|
|
Varps.musicTrackArchive = null;
|
|
}
|
|
|
|
}
|
|
}
|