From 38800991cb70be388087a2463f9a491f4f95fbb0 Mon Sep 17 00:00:00 2001 From: Pazaz Date: Fri, 22 Apr 2022 15:43:26 -0400 Subject: [PATCH] Refactored SignLink classes --- client/src/main/java/AudioChannel.java | 43 +- client/src/main/java/BufferedFile.java | 22 +- client/src/main/java/BufferedSocket.java | 16 +- client/src/main/java/Class3_Sub2_Sub6.java | 2 +- client/src/main/java/Font.java | 10 +- client/src/main/java/GlModel.java | 7 +- client/src/main/java/GlRenderer.java | 11 +- client/src/main/java/JagString.java | 342 ++++++------ client/src/main/java/JavaAudioChannel.java | 26 +- client/src/main/java/MidiNoteStream.java | 6 +- client/src/main/java/MidiPcmStream.java | 10 +- .../src/main/java/SignLinkAudioChannel.java | 37 +- client/src/main/java/SoundPcmStream.java | 16 +- client/src/main/java/Static10.java | 6 +- client/src/main/java/Static100.java | 2 - client/src/main/java/Static107.java | 14 +- client/src/main/java/Static118.java | 10 +- client/src/main/java/Static127.java | 10 +- client/src/main/java/Static156.java | 2 +- client/src/main/java/Static164.java | 3 - client/src/main/java/Static165.java | 6 +- client/src/main/java/Static169.java | 4 +- client/src/main/java/Static19.java | 2 +- client/src/main/java/Static197.java | 6 +- client/src/main/java/Static198.java | 4 +- client/src/main/java/Static202.java | 4 +- client/src/main/java/Static203.java | 6 +- client/src/main/java/Static230.java | 6 +- client/src/main/java/Static25.java | 2 +- client/src/main/java/Static28.java | 6 +- client/src/main/java/Static284.java | 2 +- client/src/main/java/Static4.java | 6 +- client/src/main/java/Static41.java | 4 +- client/src/main/java/Static44.java | 2 +- client/src/main/java/Static59.java | 4 +- client/src/main/java/Static79.java | 4 +- client/src/main/java/Static80.java | 8 +- client/src/main/java/Static81.java | 4 +- client/src/main/java/Static87.java | 4 +- client/src/main/java/Static88.java | 10 +- client/src/main/java/Static89.java | 2 +- client/src/main/java/client.java | 4 +- signlink/src/main/java/AudioSource.java | 12 +- signlink/src/main/java/CursorManager.java | 42 +- signlink/src/main/java/FileOnDisk.java | 86 +-- signlink/src/main/java/FullScreenManager.java | 116 ++-- signlink/src/main/java/MonotonicClock.java | 14 +- signlink/src/main/java/PrivilegedRequest.java | 10 +- signlink/src/main/java/SignLink.java | 514 +++++++++--------- 49 files changed, 741 insertions(+), 748 deletions(-) diff --git a/client/src/main/java/AudioChannel.java b/client/src/main/java/AudioChannel.java index 79f9b31..4d4b6c5 100644 --- a/client/src/main/java/AudioChannel.java +++ b/client/src/main/java/AudioChannel.java @@ -7,7 +7,10 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!vh") public class AudioChannel { - @OriginalMember(owner = "client!vh", name = "h", descriptor = "Lclient!qb;") + @OriginalMember(owner = "client!na", name = "w", descriptor = "Z") + public static boolean stereo; + + @OriginalMember(owner = "client!vh", name = "h", descriptor = "Lclient!qb;") private PcmStream aClass3_Sub3_6; @OriginalMember(owner = "client!vh", name = "n", descriptor = "[I") @@ -56,27 +59,27 @@ public class AudioChannel { private int anInt4636 = 0; @OriginalMember(owner = "client!vh", name = "a", descriptor = "()V") - protected void method3561() throws Exception { + protected void write() throws Exception { } @OriginalMember(owner = "client!vh", name = "a", descriptor = "(I)V") - public void method3562(@OriginalArg(0) int arg0) throws Exception { + public void open(@OriginalArg(0) int arg0) throws Exception { } @OriginalMember(owner = "client!vh", name = "b", descriptor = "()V") - protected void method3563() throws Exception { + protected void close() throws Exception { } @OriginalMember(owner = "client!vh", name = "a", descriptor = "([II)V") private void method3564(@OriginalArg(0) int[] arg0) { @Pc(1) short local1 = 256; - if (Static164.aBoolean192) { + if (stereo) { local1 = 512; } Static289.method2618(arg0, 0, local1); this.anInt4638 -= 256; if (this.aClass3_Sub3_6 != null && this.anInt4638 <= 0) { - this.anInt4638 += Static44.anInt1404 >> 4; + this.anInt4638 += Static44.sampleRate >> 4; Static167.method3170(this.aClass3_Sub3_6); this.method3567(this.aClass3_Sub3_6, this.aClass3_Sub3_6.method4407()); @Pc(45) int local45 = 0; @@ -175,11 +178,11 @@ public class AudioChannel { if (local14 < this.aLong153) { return; } - this.method3562(this.anInt4644); + this.open(this.anInt4644); this.aBoolean229 = true; this.aLong153 = 0L; } - @Pc(38) int local38 = this.method3569(); + @Pc(38) int local38 = this.getBufferSize(); if (this.anInt4634 < this.anInt4636 - local38) { this.anInt4634 = this.anInt4636 - local38; } @@ -192,9 +195,9 @@ public class AudioChannel { if (this.anInt4644 > 16384) { this.anInt4644 = 16384; } - this.method3572(); + this.flush(); local38 = 0; - this.method3562(this.anInt4644); + this.open(this.anInt4644); if (this.anInt4644 < local65 + 256) { local65 = this.anInt4644 - 256; this.anInt4637 = local65 - this.anInt4641; @@ -204,13 +207,13 @@ public class AudioChannel { while (local65 > local38) { local38 += 256; this.method3564(this.anIntArray411); - this.method3561(); + this.write(); } if (local14 > this.aLong152) { if (this.aBoolean229) { this.aBoolean229 = false; } else if (this.anInt4634 == 0 && this.anInt4640 == 0) { - this.method3572(); + this.flush(); this.aLong153 = local14 + 2000L; return; } else { @@ -222,7 +225,7 @@ public class AudioChannel { } this.anInt4636 = local38; } catch (@Pc(202) Exception local202) { - this.method3572(); + this.flush(); this.aLong153 = local14 + 2000L; } try { @@ -231,7 +234,7 @@ public class AudioChannel { } while (local14 > this.aLong151 + 5000L) { this.method3573(); - this.aLong151 += 256000 / Static44.anInt1404; + this.aLong151 += 256000 / Static44.sampleRate; } } catch (@Pc(247) Exception local247) { this.aLong151 = local14; @@ -257,7 +260,7 @@ public class AudioChannel { } @OriginalMember(owner = "client!vh", name = "c", descriptor = "()I") - protected int method3569() throws Exception { + protected int getBufferSize() throws Exception { return this.anInt4644; } @@ -265,9 +268,9 @@ public class AudioChannel { public final synchronized void method3570() { this.aBoolean229 = true; try { - this.method3563(); + this.close(); } catch (@Pc(10) Exception local10) { - this.method3572(); + this.flush(); this.aLong153 = MonotonicClock.currentTimeMillis() + 2000L; } } @@ -278,7 +281,7 @@ public class AudioChannel { } @OriginalMember(owner = "client!vh", name = "d", descriptor = "()V") - protected void method3572() { + protected void flush() { } @OriginalMember(owner = "client!vh", name = "a", descriptor = "(II)V") @@ -312,11 +315,11 @@ public class AudioChannel { Static60.aClass19_1 = null; } } - this.method3572(); + this.flush(); this.anIntArray411 = null; } @OriginalMember(owner = "client!vh", name = "a", descriptor = "(Ljava/awt/Component;)V") - public void method3576(@OriginalArg(0) Component arg0) throws Exception { + public void init(@OriginalArg(0) Component arg0) throws Exception { } } diff --git a/client/src/main/java/BufferedFile.java b/client/src/main/java/BufferedFile.java index a251ec7..a522d06 100644 --- a/client/src/main/java/BufferedFile.java +++ b/client/src/main/java/BufferedFile.java @@ -45,7 +45,7 @@ public final class BufferedFile { @OriginalMember(owner = "client!en", name = "", descriptor = "(Lsignlink!qm;II)V") public BufferedFile(@OriginalArg(0) FileOnDisk arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) throws IOException { this.aClass214_1 = arg0; - this.aLong65 = this.aLong64 = arg0.method5137(); + this.aLong65 = this.aLong64 = arg0.length(); this.aByteArray20 = new byte[arg2]; this.aByteArray19 = new byte[arg1]; this.aLong66 = 0L; @@ -57,10 +57,10 @@ public final class BufferedFile { return; } if (this.aLong68 != this.aLong67) { - this.aClass214_1.method5133(this.aLong68); + this.aClass214_1.seek(this.aLong68); this.aLong67 = this.aLong68; } - this.aClass214_1.method5134(this.aByteArray20, this.anInt1899, 0); + this.aClass214_1.write(this.aByteArray20, this.anInt1899, 0); @Pc(45) long local45 = -1L; if (this.aLong69 <= this.aLong68 && this.aLong69 + (long) this.anInt1906 > this.aLong68) { local45 = this.aLong68; @@ -92,7 +92,7 @@ public final class BufferedFile { @OriginalMember(owner = "client!en", name = "b", descriptor = "(I)Ljava/io/File;") private File method1452() { - return this.aClass214_1.method5138(); + return this.aClass214_1.getFile(); } @OriginalMember(owner = "client!en", name = "a", descriptor = "(I[BII)V") @@ -120,10 +120,10 @@ public final class BufferedFile { this.aLong66 += local102; } if (this.aByteArray19.length < arg2) { - this.aClass214_1.method5133(this.aLong66); + this.aClass214_1.seek(this.aLong66); this.aLong67 = this.aLong66; while (arg2 > 0) { - local102 = this.aClass214_1.method5135(arg0, arg2, arg1); + local102 = this.aClass214_1.read(arg0, arg2, arg1); if (local102 == -1) { break; } @@ -188,14 +188,14 @@ public final class BufferedFile { @OriginalMember(owner = "client!en", name = "b", descriptor = "(Z)V") public final void method1455() throws IOException { this.method1450(); - this.aClass214_1.method5136(); + this.aClass214_1.close(); } @OriginalMember(owner = "client!en", name = "c", descriptor = "(I)V") private void method1456() throws IOException { this.anInt1906 = 0; if (this.aLong67 != this.aLong66) { - this.aClass214_1.method5133(this.aLong66); + this.aClass214_1.seek(this.aLong66); this.aLong67 = this.aLong66; } this.aLong69 = this.aLong66; @@ -204,7 +204,7 @@ public final class BufferedFile { if (local49 > 200000000) { local49 = 200000000; } - @Pc(66) int local66 = this.aClass214_1.method5135(this.anInt1906, local49, this.aByteArray19); + @Pc(66) int local66 = this.aClass214_1.read(this.anInt1906, local49, this.aByteArray19); if (local66 == -1) { break; } @@ -238,10 +238,10 @@ public final class BufferedFile { } if (this.aByteArray20.length < arg2) { if (this.aLong66 != this.aLong67) { - this.aClass214_1.method5133(this.aLong66); + this.aClass214_1.seek(this.aLong66); this.aLong67 = this.aLong66; } - this.aClass214_1.method5134(arg0, arg2, arg1); + this.aClass214_1.write(arg0, arg2, arg1); @Pc(165) long local165 = -1L; if (this.aLong69 <= this.aLong66 && (long) this.anInt1906 + this.aLong69 > this.aLong66) { local165 = this.aLong66; diff --git a/client/src/main/java/BufferedSocket.java b/client/src/main/java/BufferedSocket.java index b927996..bcbf11f 100644 --- a/client/src/main/java/BufferedSocket.java +++ b/client/src/main/java/BufferedSocket.java @@ -15,7 +15,7 @@ public final class BufferedSocket implements Runnable { private byte[] aByteArray49; @OriginalMember(owner = "client!ma", name = "n", descriptor = "Lsignlink!im;") - private PrivilegedRequest aClass212_4; + private PrivilegedRequest thread; @OriginalMember(owner = "client!ma", name = "l", descriptor = "I") private int anInt3596 = 0; @@ -155,8 +155,8 @@ public final class BufferedSocket implements Runnable { throw new IOException(); } } - if (this.aClass212_4 == null) { - this.aClass212_4 = this.aClass213_5.startThread(3, this); + if (this.thread == null) { + this.thread = this.aClass213_5.startThread(3, this); } this.notifyAll(); } @@ -198,17 +198,17 @@ public final class BufferedSocket implements Runnable { this.aBoolean177 = true; this.notifyAll(); } - if (this.aClass212_4 != null) { - while (this.aClass212_4.status == 0) { + if (this.thread != null) { + while (this.thread.status == 0) { Static231.sleep(1L); } - if (this.aClass212_4.status == 1) { + if (this.thread.status == 1) { try { - ((Thread) this.aClass212_4.result).join(); + ((Thread) this.thread.result).join(); } catch (@Pc(59) InterruptedException local59) { } } } - this.aClass212_4 = null; + this.thread = null; } } diff --git a/client/src/main/java/Class3_Sub2_Sub6.java b/client/src/main/java/Class3_Sub2_Sub6.java index 6e3e003..10388ff 100644 --- a/client/src/main/java/Class3_Sub2_Sub6.java +++ b/client/src/main/java/Class3_Sub2_Sub6.java @@ -78,7 +78,7 @@ public final class Class3_Sub2_Sub6 extends SecondaryNode { @OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;II)V") private void method768(@OriginalArg(0) Buffer arg0, @OriginalArg(1) int arg1) { if (arg1 == 1) { - this.aClass100Array35 = arg0.gjstr().method3147(60); + this.aClass100Array35 = arg0.gjstr().split(60); return; } @Pc(32) int local32; diff --git a/client/src/main/java/Font.java b/client/src/main/java/Font.java index 6fccd5b..2aa719f 100644 --- a/client/src/main/java/Font.java +++ b/client/src/main/java/Font.java @@ -104,7 +104,7 @@ public abstract class Font extends SecondaryNode { if (!local42.method3108(Static218.aClass100_718)) { if (local42.method3138(Static218.aClass100_715)) { try { - local120 = local42.method3136(4).method3132(); + local120 = local42.method3136(4).parseInt(); @Pc(125) IndexedSprite local125 = this.aClass36Array11[local120]; @Pc(136) int local136 = this.anIntArray346 == null ? local125.anInt4276 : this.anIntArray346[local120]; if (Static218.anInt3631 == 256) { @@ -231,7 +231,7 @@ public abstract class Font extends SecondaryNode { if (!local43.method3108(Static218.aClass100_718)) { if (local43.method3138(Static218.aClass100_715)) { try { - @Pc(121) int local121 = local43.method3136(4).method3132(); + @Pc(121) int local121 = local43.method3136(4).parseInt(); local9 += this.aClass36Array11[local121].anInt4279; local7 = 0; } catch (@Pc(133) Exception local133) { @@ -287,7 +287,7 @@ public abstract class Font extends SecondaryNode { } else if (arg0.method3108(Static218.aClass100_703)) { Static218.anInt3635 = Static218.anInt3630; } else if (arg0.method3138(Static218.aClass100_699)) { - Static218.anInt3631 = arg0.method3136(6).method3132(); + Static218.anInt3631 = arg0.method3136(6).parseInt(); } else if (arg0.method3108(Static218.aClass100_709)) { Static218.anInt3631 = Static218.anInt3632; } else if (arg0.method3138(Static218.aClass100_701)) { @@ -436,7 +436,7 @@ public abstract class Font extends SecondaryNode { local21 = 174; } else if (local57.method3138(Static218.aClass100_715)) { try { - @Pc(377) int local377 = local57.method3136(4).method3132(); + @Pc(377) int local377 = local57.method3136(4).parseInt(); local9 += this.aClass36Array11[local377].anInt4279; local21 = 0; } catch (@Pc(389) Exception local389) { @@ -785,7 +785,7 @@ public abstract class Font extends SecondaryNode { local130 = arg4[local10]; } local10++; - local141 = local44.method3136(4).method3132(); + local141 = local44.method3136(4).parseInt(); @Pc(146) IndexedSprite local146 = this.aClass36Array11[local141]; @Pc(157) int local157 = this.anIntArray346 == null ? local146.anInt4276 : this.anIntArray346[local141]; if (Static218.anInt3631 == 256) { diff --git a/client/src/main/java/GlModel.java b/client/src/main/java/GlModel.java index 9986ffe..23b56af 100644 --- a/client/src/main/java/GlModel.java +++ b/client/src/main/java/GlModel.java @@ -8,7 +8,10 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!td") public final class GlModel extends Model { - @OriginalMember(owner = "client!td", name = "t", descriptor = "[S") + @OriginalMember(owner = "client!tf", name = "G", descriptor = "Z") + public static boolean arbVboSupported; + + @OriginalMember(owner = "client!td", name = "t", descriptor = "[S") private short[] aShortArray75; @OriginalMember(owner = "client!td", name = "v", descriptor = "[S") @@ -2218,7 +2221,7 @@ public final class GlModel extends Model { Static237.aClass3_Sub15_8.offset = local1 * this.anInt5296; @Pc(1007) ByteBuffer local1007; if (arg0) { - if (GlRenderer.aBoolean273) { + if (arbVboSupported) { local1007 = ByteBuffer.wrap(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); if (this.aClass155_5 == null) { this.aClass155_5 = new GlVertexBufferObject(true); diff --git a/client/src/main/java/GlRenderer.java b/client/src/main/java/GlRenderer.java index 6938185..ddcc722 100644 --- a/client/src/main/java/GlRenderer.java +++ b/client/src/main/java/GlRenderer.java @@ -65,9 +65,6 @@ public final class GlRenderer { @OriginalMember(owner = "client!tf", name = "E", descriptor = "Lgl!javax/media/opengl/GLDrawable;") private static GLDrawable drawable; - @OriginalMember(owner = "client!tf", name = "G", descriptor = "Z") - public static boolean aBoolean273; - @OriginalMember(owner = "client!tf", name = "H", descriptor = "Z") public static boolean arbVertexProgramSupported; @@ -442,11 +439,11 @@ public final class GlRenderer { @Pc(176) JagString renderer = method4147(GlRenderer.renderer).toLowerCase(); if (renderer.indexOf(RADEON) != -1) { @Pc(184) int v = 0; - @Pc(193) JagString[] rendererParts = renderer.method3145().method3147(32); + @Pc(193) JagString[] rendererParts = renderer.replaceSlashWithSpace().split(32); for (@Pc(195) int i = 0; i < rendererParts.length; i++) { @Pc(203) JagString part = rendererParts[i]; - if (part.length() >= 4 && part.substring(4, 0).method3123()) { - v = part.substring(4, 0).method3132(); + if (part.length() >= 4 && part.substring(4, 0).isInt()) { + v = part.substring(4, 0).parseInt(); break; } } @@ -456,7 +453,7 @@ public final class GlRenderer { if (v >= 7000 && v <= 9250) { extTexture3dSupported = false; } - aBoolean273 = arbVboSupported; + GlModel.arbVboSupported = arbVboSupported; } if (arbVboSupported) { try { diff --git a/client/src/main/java/JagString.java b/client/src/main/java/JagString.java index fd50592..2bf0aa9 100644 --- a/client/src/main/java/JagString.java +++ b/client/src/main/java/JagString.java @@ -13,17 +13,17 @@ import org.openrs2.deob.annotation.Pc; public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "T", descriptor = "[B") - public byte[] aByteArray52; + public byte[] chars; @OriginalMember(owner = "client!na", name = "lb", descriptor = "I") - public int anInt4030; + public int length; @OriginalMember(owner = "client!na", name = "N", descriptor = "Z") private boolean aBoolean193 = true; @OriginalMember(owner = "client!na", name = "a", descriptor = "(Z)Ljava/net/URL;") public final URL method3107() throws MalformedURLException { - return new URL(new String(this.aByteArray52, 0, this.anInt4030)); + return new URL(new String(this.chars, 0, this.length)); } @OriginalMember(owner = "client!na", name = "a", descriptor = "(BLclient!na;)Z") @@ -32,10 +32,10 @@ public final class JagString implements StringInterface { return false; } else if (arg0 == this) { return true; - } else if (this.anInt4030 == arg0.anInt4030) { - @Pc(29) byte[] local29 = arg0.aByteArray52; - @Pc(32) byte[] local32 = this.aByteArray52; - for (@Pc(34) int local34 = 0; local34 < this.anInt4030; local34++) { + } else if (this.length == arg0.length) { + @Pc(29) byte[] local29 = arg0.chars; + @Pc(32) byte[] local32 = this.chars; + for (@Pc(34) int local34 = 0; local34 < this.length; local34++) { if (local32[local34] != local29[local34]) { return false; } @@ -51,8 +51,8 @@ public final class JagString implements StringInterface { @Pc(14) boolean local14 = false; @Pc(20) boolean local20 = false; @Pc(22) int local22 = 0; - for (@Pc(24) int local24 = 0; local24 < this.anInt4030; local24++) { - @Pc(43) int local43 = this.aByteArray52[local24] & 0xFF; + for (@Pc(24) int local24 = 0; local24 < this.length; local24++) { + @Pc(43) int local43 = this.chars[local24] & 0xFF; if (local24 == 0) { if (local43 == 45) { local14 = true; @@ -94,13 +94,13 @@ public final class JagString implements StringInterface { public final boolean method3111(@OriginalArg(1) JagString arg0) { if (arg0 == null) { return false; - } else if (this.anInt4030 == arg0.anInt4030) { - for (@Pc(28) int local28 = 0; local28 < this.anInt4030; local28++) { - @Pc(41) byte local41 = this.aByteArray52[local28]; + } else if (this.length == arg0.length) { + for (@Pc(28) int local28 = 0; local28 < this.length; local28++) { + @Pc(41) byte local41 = this.chars[local28]; if (local41 >= 65 && local41 <= 90 || local41 >= -64 && local41 <= -34 && local41 != -41) { local41 = (byte) (local41 + 32); } - @Pc(75) byte local75 = arg0.aByteArray52[local28]; + @Pc(75) byte local75 = arg0.chars[local28]; if (local75 >= 65 && local75 <= 90 || local75 >= -64 && local75 <= -34 && local75 != -41) { local75 = (byte) (local75 + 32); } @@ -118,9 +118,9 @@ public final class JagString implements StringInterface { public final void method3112(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Graphics arg2) { @Pc(17) String local17; try { - local17 = new String(this.aByteArray52, 0, this.anInt4030, "ISO-8859-1"); + local17 = new String(this.chars, 0, this.length, "ISO-8859-1"); } catch (@Pc(19) UnsupportedEncodingException local19) { - local17 = new String(this.aByteArray52, 0, this.anInt4030); + local17 = new String(this.chars, 0, this.length); } arg2.drawString(local17, arg1, arg0); } @@ -130,30 +130,30 @@ public final class JagString implements StringInterface { if (!this.aBoolean193) { throw new IllegalArgumentException(); } - if (arg0.anInt4030 + this.anInt4030 > this.aByteArray52.length) { + if (arg0.length + this.length > this.chars.length) { @Pc(31) int local31; - for (local31 = 1; local31 < arg0.anInt4030 + this.anInt4030; local31 += local31) { + for (local31 = 1; local31 < arg0.length + this.length; local31 += local31) { } @Pc(51) byte[] local51 = new byte[local31]; - Static289.method2612(this.aByteArray52, 0, local51, 0, this.anInt4030); - this.aByteArray52 = local51; + Static289.method2612(this.chars, 0, local51, 0, this.length); + this.chars = local51; } - Static289.method2612(arg0.aByteArray52, 0, this.aByteArray52, this.anInt4030, arg0.anInt4030); - this.anInt4030 += arg0.anInt4030; + Static289.method2612(arg0.chars, 0, this.chars, this.length, arg0.length); + this.length += arg0.length; return this; } @OriginalMember(owner = "client!na", name = "a", descriptor = "(I)Lclient!na;") public final JagString toLowerCase() { @Pc(14) JagString local14 = new JagString(); - local14.anInt4030 = this.anInt4030; - local14.aByteArray52 = new byte[this.anInt4030]; - for (@Pc(29) int local29 = 0; local29 < this.anInt4030; local29++) { - @Pc(42) byte local42 = this.aByteArray52[local29]; + local14.length = this.length; + local14.chars = new byte[this.length]; + for (@Pc(29) int local29 = 0; local29 < this.length; local29++) { + @Pc(42) byte local42 = this.chars[local29]; if (local42 >= 65 && local42 <= 90 || local42 >= -64 && local42 <= -34 && local42 != -41) { local42 = (byte) (local42 + 32); } - local14.aByteArray52[local29] = local42; + local14.chars[local29] = local42; } return local14; } @@ -162,10 +162,10 @@ public final class JagString implements StringInterface { public final JagString method3116() { @Pc(7) byte local7 = 2; @Pc(11) JagString local11 = new JagString(); - local11.anInt4030 = this.anInt4030; - local11.aByteArray52 = new byte[this.anInt4030]; - for (@Pc(28) int local28 = 0; local28 < this.anInt4030; local28++) { - @Pc(41) byte local41 = this.aByteArray52[local28]; + local11.length = this.length; + local11.chars = new byte[this.length]; + for (@Pc(28) int local28 = 0; local28 < this.length; local28++) { + @Pc(41) byte local41 = this.chars[local28]; if (local41 >= 97 && local41 <= 122 || !(local41 < -32 || local41 > -2 || local41 == -9)) { if (local7 == 2) { local41 = (byte) (local41 - 32); @@ -183,7 +183,7 @@ public final class JagString implements StringInterface { } else if (local7 != 2) { local7 = 1; } - local11.aByteArray52[local28] = local41; + local11.chars[local28] = local41; } return local11; } @@ -191,32 +191,32 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "c", descriptor = "(I)J") public final long method3118() { @Pc(1) long local1 = 0L; - for (@Pc(9) int local9 = 0; local9 < this.anInt4030; local9++) { - local1 = (long) (this.aByteArray52[local9] & 0xFF) + (local1 << 5) - local1; + for (@Pc(9) int local9 = 0; local9 < this.length; local9++) { + local1 = (long) (this.chars[local9] & 0xFF) + (local1 << 5) - local1; } return local1; } @OriginalMember(owner = "client!na", name = "d", descriptor = "(I)I") public final int length() { - return this.anInt4030; + return this.length; } @OriginalMember(owner = "client!na", name = "a", descriptor = "(ILclient!na;II)Lclient!na;") public final JagString method3122(@OriginalArg(1) JagString arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { if (!this.aBoolean193) { throw new IllegalArgumentException(); - } else if (arg1 >= 0 && arg1 <= arg2 && arg2 <= arg0.anInt4030) { - if (this.anInt4030 + arg2 - arg1 > this.aByteArray52.length) { + } else if (arg1 >= 0 && arg1 <= arg2 && arg2 <= arg0.length) { + if (this.length + arg2 - arg1 > this.chars.length) { @Pc(43) int local43; - for (local43 = 1; local43 < this.anInt4030 + arg0.anInt4030; local43 += local43) { + for (local43 = 1; local43 < this.length + arg0.length; local43 += local43) { } @Pc(63) byte[] local63 = new byte[local43]; - Static289.method2612(this.aByteArray52, 0, local63, 0, this.anInt4030); - this.aByteArray52 = local63; + Static289.method2612(this.chars, 0, local63, 0, this.length); + this.chars = local63; } - Static289.method2612(arg0.aByteArray52, arg1, this.aByteArray52, this.anInt4030, arg2 - arg1); - this.anInt4030 += arg2 - arg1; + Static289.method2612(arg0.chars, arg1, this.chars, this.length, arg2 - arg1); + this.length += arg2 - arg1; return this; } else { throw new IllegalArgumentException(); @@ -224,17 +224,17 @@ public final class JagString implements StringInterface { } @OriginalMember(owner = "client!na", name = "f", descriptor = "(I)Z") - public final boolean method3123() { + public final boolean isInt() { return this.method3141(); } @OriginalMember(owner = "client!na", name = "b", descriptor = "(Z)Lclient!na;") public final JagString method3124() { @Pc(7) JagString local7 = new JagString(); - local7.anInt4030 = this.anInt4030; - local7.aByteArray52 = new byte[local7.anInt4030]; - for (@Pc(24) int local24 = 0; local24 < this.anInt4030; local24++) { - local7.aByteArray52[this.anInt4030 - local24 - 1] = this.aByteArray52[local24]; + local7.length = this.length; + local7.chars = new byte[local7.length]; + for (@Pc(24) int local24 = 0; local24 < this.length; local24++) { + local7.chars[this.length - local24 - 1] = this.chars[local24]; } return local7; } @@ -242,19 +242,19 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(B)Lclient!na;") public final JagString method3125() { @Pc(9) JagString local9 = new JagString(); - local9.anInt4030 = this.anInt4030; - local9.aByteArray52 = new byte[this.anInt4030]; + local9.length = this.length; + local9.chars = new byte[this.length]; @Pc(20) boolean local20 = true; - for (@Pc(22) int local22 = 0; local22 < this.anInt4030; local22++) { - @Pc(41) byte local41 = this.aByteArray52[local22]; + for (@Pc(22) int local22 = 0; local22 < this.length; local22++) { + @Pc(41) byte local41 = this.chars[local22]; if (local41 == 95) { local20 = true; - local9.aByteArray52[local22] = 32; + local9.chars[local22] = 32; } else if (local41 >= 97 && local41 <= 122 && local20) { local20 = false; - local9.aByteArray52[local22] = (byte) (local41 - 32); + local9.chars[local22] = (byte) (local41 - 32); } else { - local9.aByteArray52[local22] = local41; + local9.chars[local22] = local41; local20 = false; } } @@ -265,10 +265,10 @@ public final class JagString implements StringInterface { public final int method3126(@OriginalArg(1) JagString arg0) { @Pc(12) int local12 = 0; @Pc(14) int local14 = 0; - @Pc(17) int local17 = arg0.anInt4030; - @Pc(20) int local20 = this.anInt4030; - @Pc(23) int local23 = this.anInt4030; - @Pc(26) int local26 = arg0.anInt4030; + @Pc(17) int local17 = arg0.length; + @Pc(20) int local20 = this.length; + @Pc(23) int local23 = this.length; + @Pc(26) int local26 = arg0.length; @Pc(28) int local28 = 0; @Pc(30) int local30 = 0; while (local20 != 0 && local17 != 0) { @@ -279,7 +279,7 @@ public final class JagString implements StringInterface { } else if (local12 == 223) { local12 = 115; } else { - local12 = this.aByteArray52[local28] & 0xFF; + local12 = this.chars[local28] & 0xFF; local28++; } if (Static17.method530(local12)) { @@ -294,7 +294,7 @@ public final class JagString implements StringInterface { } else if (local14 == 223) { local14 = 115; } else { - local14 = arg0.aByteArray52[local30] & 0xFF; + local14 = arg0.chars[local30] & 0xFF; local30++; } if (Static17.method530(local14)) { @@ -318,7 +318,7 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(Ljava/net/URL;Z)Ljava/net/URL;") public final URL method3127(@OriginalArg(0) URL arg0) throws MalformedURLException { - return new URL(arg0, new String(this.aByteArray52, 0, this.anInt4030)); + return new URL(arg0, new String(this.chars, 0, this.length)); } @OriginalMember(owner = "client!na", name = "a", descriptor = "(ZI)Lclient!na;") @@ -327,10 +327,10 @@ public final class JagString implements StringInterface { throw new IllegalArgumentException("invalid char"); } @Pc(23) JagString local23 = new JagString(); - local23.aByteArray52 = new byte[this.anInt4030 + 1]; - local23.anInt4030 = this.anInt4030 + 1; - Static289.method2612(this.aByteArray52, 0, local23.aByteArray52, 0, this.anInt4030); - local23.aByteArray52[this.anInt4030] = (byte) arg0; + local23.chars = new byte[this.length + 1]; + local23.length = this.length + 1; + Static289.method2612(this.chars, 0, local23.chars, 0, this.length); + local23.chars[this.length] = (byte) arg0; return local23; } @@ -338,21 +338,21 @@ public final class JagString implements StringInterface { public final void method3129() { @Pc(16) String local16; try { - local16 = new String(this.aByteArray52, 0, this.anInt4030, "ISO-8859-1"); + local16 = new String(this.chars, 0, this.length, "ISO-8859-1"); } catch (@Pc(18) UnsupportedEncodingException local18) { - local16 = new String(this.aByteArray52, 0, this.anInt4030); + local16 = new String(this.chars, 0, this.length); } System.out.println(local16); } @OriginalMember(owner = "client!na", name = "c", descriptor = "(BLclient!na;)Z") public final boolean method3130(@OriginalArg(1) JagString arg0) { - if (arg0.anInt4030 > this.anInt4030) { + if (arg0.length > this.length) { return false; } - @Pc(19) int local19 = this.anInt4030 - arg0.anInt4030; - for (@Pc(27) int local27 = 0; local27 < arg0.anInt4030; local27++) { - if (this.aByteArray52[local19 + local27] != arg0.aByteArray52[local27]) { + @Pc(19) int local19 = this.length - arg0.length; + for (@Pc(27) int local27 = 0; local27 < arg0.length; local27++) { + if (this.chars[local19 + local27] != arg0.chars[local27]) { return false; } } @@ -365,7 +365,7 @@ public final class JagString implements StringInterface { } @OriginalMember(owner = "client!na", name = "b", descriptor = "(B)I") - public final int method3132() { + public final int parseInt() { return this.method3110(10); } @@ -377,17 +377,17 @@ public final class JagString implements StringInterface { throw new IllegalArgumentException(); } else { @Pc(30) int local30; - if (arg0 > this.aByteArray52.length) { + if (arg0 > this.chars.length) { for (local30 = 1; local30 < arg0; local30 += local30) { } @Pc(45) byte[] local45 = new byte[local30]; - Static289.method2612(this.aByteArray52, 0, local45, 0, this.anInt4030); - this.aByteArray52 = local45; + Static289.method2612(this.chars, 0, local45, 0, this.length); + this.chars = local45; } - for (local30 = this.anInt4030; local30 < arg0; local30++) { - this.aByteArray52[local30] = 32; + for (local30 = this.length; local30 < arg0; local30++) { + this.chars[local30] = 32; } - this.anInt4030 = arg0; + this.length = arg0; } } @@ -399,15 +399,15 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(ZLjava/applet/Applet;)V") public final void method3134(@OriginalArg(1) Applet arg0) throws Throwable { - @Pc(16) String local16 = new String(this.aByteArray52, 0, this.anInt4030); + @Pc(16) String local16 = new String(this.chars, 0, this.length); Static287.method1759(arg0, local16); } @OriginalMember(owner = "client!na", name = "a", descriptor = "(III)I") public final int method3135(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { @Pc(4) byte local4 = (byte) arg0; - for (@Pc(15) int local15 = arg1; local15 < this.anInt4030; local15++) { - if (this.aByteArray52[local15] == local4) { + for (@Pc(15) int local15 = arg1; local15 < this.length; local15++) { + if (this.chars[local15] == local4) { return local15; } } @@ -416,25 +416,25 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(IB)Lclient!na;") public final JagString method3136(@OriginalArg(0) int arg0) { - return this.substring(this.anInt4030, arg0); + return this.substring(this.length, arg0); } @OriginalMember(owner = "client!na", name = "b", descriptor = "(III)Lclient!na;") public final JagString substring(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { @Pc(7) JagString local7 = new JagString(); - local7.anInt4030 = arg0 - arg1; - local7.aByteArray52 = new byte[arg0 - arg1]; - Static289.method2612(this.aByteArray52, arg1, local7.aByteArray52, 0, local7.anInt4030); + local7.length = arg0 - arg1; + local7.chars = new byte[arg0 - arg1]; + Static289.method2612(this.chars, arg1, local7.chars, 0, local7.length); return local7; } @OriginalMember(owner = "client!na", name = "b", descriptor = "(Lclient!na;I)Z") public final boolean method3138(@OriginalArg(0) JagString arg0) { - if (this.anInt4030 < arg0.anInt4030) { + if (this.length < arg0.length) { return false; } - for (@Pc(19) int local19 = 0; local19 < arg0.anInt4030; local19++) { - if (this.aByteArray52[local19] != arg0.aByteArray52[local19]) { + for (@Pc(19) int local19 = 0; local19 < arg0.length; local19++) { + if (this.chars[local19] != arg0.chars[local19]) { return false; } } @@ -453,22 +453,22 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "c", descriptor = "(Lclient!na;I)I") public final int method3139(@OriginalArg(0) JagString arg0) { @Pc(20) int local20; - if (arg0.anInt4030 < this.anInt4030) { - local20 = arg0.anInt4030; + if (arg0.length < this.length) { + local20 = arg0.length; } else { - local20 = this.anInt4030; + local20 = this.length; } for (@Pc(27) int local27 = 0; local27 < local20; local27++) { - if ((this.aByteArray52[local27] & 0xFF) < (arg0.aByteArray52[local27] & 0xFF)) { + if ((this.chars[local27] & 0xFF) < (arg0.chars[local27] & 0xFF)) { return -1; } - if ((arg0.aByteArray52[local27] & 0xFF) < (this.aByteArray52[local27] & 0xFF)) { + if ((arg0.chars[local27] & 0xFF) < (this.chars[local27] & 0xFF)) { return 1; } } - if (arg0.anInt4030 > this.anInt4030) { + if (arg0.length > this.length) { return -1; - } else if (arg0.anInt4030 >= this.anInt4030) { + } else if (arg0.length >= this.length) { return 0; } else { return 1; @@ -477,8 +477,8 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;ZLclient!na;)Lclient!na;") public final JagString method3140(@OriginalArg(0) JagString arg0, @OriginalArg(2) JagString arg1) { - @Pc(8) int local8 = this.anInt4030; - @Pc(14) int local14 = arg0.anInt4030 - arg1.anInt4030; + @Pc(8) int local8 = this.length; + @Pc(14) int local14 = arg0.length - arg1.length; @Pc(16) int local16 = 0; while (true) { @Pc(22) int local22 = this.method3146(arg1, local16); @@ -488,19 +488,19 @@ public final class JagString implements StringInterface { while (true) { @Pc(51) int local51 = this.method3146(arg1, local16); if (local51 < 0) { - while (local16 < this.anInt4030) { - local45.method3152(this.aByteArray52[local16++] & 0xFF); + while (local16 < this.length) { + local45.method3152(this.chars[local16++] & 0xFF); } return local45; } while (local16 < local51) { - local45.method3152(this.aByteArray52[local16++] & 0xFF); + local45.method3152(this.chars[local16++] & 0xFF); } local45.method3113(arg0); - local16 += arg1.anInt4030; + local16 += arg1.length; } } - local16 = local22 + arg1.anInt4030; + local16 = local22 + arg1.length; local8 += local14; } } @@ -516,8 +516,8 @@ public final class JagString implements StringInterface { @Pc(18) boolean local18 = false; @Pc(24) boolean local24 = false; @Pc(26) int local26 = 0; - for (@Pc(28) int local28 = 0; local28 < this.anInt4030; local28++) { - @Pc(39) int local39 = this.aByteArray52[local28] & 0xFF; + for (@Pc(28) int local28 = 0; local28 < this.length; local28++) { + @Pc(39) int local39 = this.chars[local28] & 0xFF; if (local28 == 0) { if (local39 == 45) { local24 = true; @@ -554,12 +554,12 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "d", descriptor = "(BLclient!na;)Z") public final boolean method3142(@OriginalArg(1) JagString arg0) { - if (this.anInt4030 < arg0.anInt4030) { + if (this.length < arg0.length) { return false; } - for (@Pc(21) int local21 = 0; local21 < arg0.anInt4030; local21++) { - @Pc(30) byte local30 = this.aByteArray52[local21]; - @Pc(35) byte local35 = arg0.aByteArray52[local21]; + for (@Pc(21) int local21 = 0; local21 < arg0.length; local21++) { + @Pc(30) byte local30 = this.chars[local21]; + @Pc(35) byte local35 = arg0.chars[local21]; if (local35 >= 65 && local35 <= 90 || local35 >= -64 && local35 <= -34 && local35 != -41) { local35 = (byte) (local35 + 32); } @@ -581,44 +581,44 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "h", descriptor = "(I)Lclient!na;") public final JagString method3144() { @Pc(17) int local17; - for (local17 = 0; local17 < this.anInt4030 && (this.aByteArray52[local17] >= 0 && this.aByteArray52[local17] <= 32 || (this.aByteArray52[local17] & 0xFF) == 160); local17++) { + for (local17 = 0; local17 < this.length && (this.chars[local17] >= 0 && this.chars[local17] <= 32 || (this.chars[local17] & 0xFF) == 160); local17++) { } @Pc(53) int local53; - for (local53 = this.anInt4030; local53 > local17 && (this.aByteArray52[local53 - 1] >= 0 && this.aByteArray52[local53 - 1] <= 32 || (this.aByteArray52[local53 - 1] & 0xFF) == 160); local53--) { + for (local53 = this.length; local53 > local17 && (this.chars[local53 - 1] >= 0 && this.chars[local53 - 1] <= 32 || (this.chars[local53 - 1] & 0xFF) == 160); local53--) { } - if (local17 == 0 && this.anInt4030 == local53) { + if (local17 == 0 && this.length == local53) { return this; } @Pc(111) JagString local111 = new JagString(); - local111.anInt4030 = local53 - local17; - local111.aByteArray52 = new byte[local111.anInt4030]; - for (@Pc(124) int local124 = 0; local124 < local111.anInt4030; local124++) { - local111.aByteArray52[local124] = this.aByteArray52[local17 + local124]; + local111.length = local53 - local17; + local111.chars = new byte[local111.length]; + for (@Pc(124) int local124 = 0; local124 < local111.length; local124++) { + local111.chars[local124] = this.chars[local17 + local124]; } return local111; } @OriginalMember(owner = "client!na", name = "c", descriptor = "(III)Lclient!na;") - public final JagString method3145() { - @Pc(8) JagString local8 = new JagString(); - local8.anInt4030 = this.anInt4030; - local8.aByteArray52 = new byte[this.anInt4030]; - for (@Pc(31) int local31 = 0; local31 < this.anInt4030; local31++) { - @Pc(44) byte local44 = this.aByteArray52[local31]; - if (local44 == 47) { - local8.aByteArray52[local31] = 32; + public final JagString replaceSlashWithSpace() { + @Pc(8) JagString str = new JagString(); + str.length = this.length; + str.chars = new byte[this.length]; + for (@Pc(31) int i = 0; i < this.length; i++) { + @Pc(44) byte c = this.chars[i]; + if (c == 47) { + str.chars[i] = 32; } else { - local8.aByteArray52[local31] = local44; + str.chars[i] = c; } } - return local8; + return str; } @OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;II)I") public final int method3146(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1) { - @Pc(8) int local8 = arg0.anInt4030; - if (arg1 >= this.anInt4030) { - return local8 == 0 ? this.anInt4030 : -1; + @Pc(8) int local8 = arg0.length; + if (arg1 >= this.length) { + return local8 == 0 ? this.length : -1; } if (arg1 < 0) { arg1 = 0; @@ -626,22 +626,22 @@ public final class JagString implements StringInterface { if (local8 == 0) { return arg1; } - @Pc(41) int local41 = this.anInt4030 - local8; - @Pc(44) byte[] local44 = arg0.aByteArray52; + @Pc(41) int local41 = this.length - local8; + @Pc(44) byte[] local44 = arg0.chars; @Pc(48) byte local48 = local44[0]; for (@Pc(50) int local50 = arg1; local50 <= local41; local50++) { - if (local48 != this.aByteArray52[local50]) { + if (local48 != this.chars[local50]) { do { local50++; if (local50 > local41) { return -1; } - } while (local48 != this.aByteArray52[local50]); + } while (local48 != this.chars[local50]); } @Pc(88) boolean local88 = true; @Pc(92) int local92 = local50 + 1; for (@Pc(94) int local94 = 1; local94 < local8; local94++) { - if (local44[local94] != this.aByteArray52[local92]) { + if (local44[local94] != this.chars[local92]) { local88 = false; break; } @@ -655,41 +655,41 @@ public final class JagString implements StringInterface { } @OriginalMember(owner = "client!na", name = "b", descriptor = "(IB)[Lclient!na;") - public final JagString[] method3147(@OriginalArg(0) int arg0) { - @Pc(7) int local7 = 0; - for (@Pc(9) int local9 = 0; local9 < this.anInt4030; local9++) { - if (arg0 == this.aByteArray52[local9]) { - local7++; + public final JagString[] split(@OriginalArg(0) int delim) { + @Pc(7) int matches = 0; + for (@Pc(9) int i = 0; i < this.length; i++) { + if (delim == this.chars[i]) { + matches++; } } - @Pc(37) JagString[] local37 = new JagString[local7 + 1]; - if (local7 == 0) { - local37[0] = this; - return local37; + @Pc(37) JagString[] parts = new JagString[matches + 1]; + if (matches == 0) { + parts[0] = this; + return parts; } - @Pc(47) int local47 = 0; - @Pc(49) int local49 = 0; - for (@Pc(51) int local51 = 0; local51 < local7; local51++) { - @Pc(68) int local68; - for (local68 = 0; arg0 != this.aByteArray52[local68 + local49]; local68++) { + @Pc(47) int part = 0; + @Pc(49) int start = 0; + for (@Pc(51) int i = 0; i < matches; i++) { + @Pc(68) int end; + for (end = 0; delim != this.chars[end + start]; end++) { } - local37[local47++] = this.substring(local49 + local68, local49); - local49 += local68 + 1; + parts[part++] = this.substring(start + end, start); + start += end + 1; } - local37[local7] = this.substring(this.anInt4030, local49); - return local37; + parts[matches] = this.substring(this.length, start); + return parts; } @OriginalMember(owner = "client!na", name = "i", descriptor = "(I)[B") public final byte[] method3148() { - @Pc(7) byte[] local7 = new byte[this.anInt4030]; - Static289.method2612(this.aByteArray52, 0, local7, 0, this.anInt4030); + @Pc(7) byte[] local7 = new byte[this.length]; + Static289.method2612(this.chars, 0, local7, 0, this.length); return local7; } @OriginalMember(owner = "client!na", name = "c", descriptor = "(IB)I") public final int method3149(@OriginalArg(0) int arg0) { - return this.aByteArray52[arg0] & 0xFF; + return this.chars[arg0] & 0xFF; } @OriginalMember(owner = "client!na", name = "c", descriptor = "(B)Lclient!na;") @@ -720,15 +720,15 @@ public final class JagString implements StringInterface { if (arg0 <= 0 || arg0 > 255) { throw new IllegalArgumentException("invalid char:" + arg0); } else if (this.aBoolean193) { - if (this.anInt4030 == this.aByteArray52.length) { + if (this.length == this.chars.length) { @Pc(44) int local44; - for (local44 = 1; local44 <= this.anInt4030; local44 += local44) { + for (local44 = 1; local44 <= this.length; local44 += local44) { } @Pc(61) byte[] local61 = new byte[local44]; - Static289.method2612(this.aByteArray52, 0, local61, 0, this.anInt4030); - this.aByteArray52 = local61; + Static289.method2612(this.chars, 0, local61, 0, this.length); + this.chars = local61; } - this.aByteArray52[this.anInt4030++] = (byte) arg0; + this.chars[this.length++] = (byte) arg0; return this; } else { throw new IllegalArgumentException(); @@ -737,7 +737,7 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(BLjava/applet/Applet;)Lclient!na;") public final JagString method3153(@OriginalArg(1) Applet arg0) { - @Pc(19) String local19 = new String(this.aByteArray52, 0, this.anInt4030); + @Pc(19) String local19 = new String(this.chars, 0, this.length); @Pc(23) String local23 = arg0.getParameter(local19); return local23 == null ? null : Static230.method3952(local23); } @@ -745,8 +745,8 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "d", descriptor = "(Z)I") public final int method3154() { @Pc(7) int local7 = 0; - for (@Pc(14) int local14 = 0; local14 < this.anInt4030; local14++) { - local7 = (this.aByteArray52[local14] & 0xFF) + (local7 << 5) - local7; + for (@Pc(14) int local14 = 0; local14 < this.length; local14++) { + local7 = (this.chars[local14] & 0xFF) + (local7 << 5) - local7; } return local7; } @@ -755,9 +755,9 @@ public final class JagString implements StringInterface { public final int method3155(@OriginalArg(1) FontMetrics arg0) { @Pc(14) String local14; try { - local14 = new String(this.aByteArray52, 0, this.anInt4030, "ISO-8859-1"); + local14 = new String(this.chars, 0, this.length, "ISO-8859-1"); } catch (@Pc(16) UnsupportedEncodingException local16) { - local14 = new String(this.aByteArray52, 0, this.anInt4030); + local14 = new String(this.chars, 0, this.length); } return arg0.stringWidth(local14); } @@ -767,17 +767,17 @@ public final class JagString implements StringInterface { if (!this.aBoolean193) { throw new IllegalArgumentException(); } - if (this.aByteArray52.length != this.anInt4030) { - @Pc(26) byte[] local26 = new byte[this.anInt4030]; - Static289.method2612(this.aByteArray52, 0, local26, 0, this.anInt4030); - this.aByteArray52 = local26; + if (this.chars.length != this.length) { + @Pc(26) byte[] local26 = new byte[this.length]; + Static289.method2612(this.chars, 0, local26, 0, this.length); + this.chars = local26; } return this; } @OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/applet/Applet;)Ljava/lang/Object;") public final Object method3157(@OriginalArg(1) Applet arg0) throws Throwable { - @Pc(12) String local12 = new String(this.aByteArray52, 0, this.anInt4030); + @Pc(12) String local12 = new String(this.chars, 0, this.length); @Pc(17) Object local17 = Static287.method1757(local12, arg0); if (local17 instanceof String) { @Pc(24) byte[] local24 = ((String) local17).getBytes(); @@ -789,8 +789,8 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "j", descriptor = "(I)J") public final long encode37() { @Pc(7) long local7 = 0L; - for (@Pc(14) int local14 = 0; this.anInt4030 > local14 && local14 < 12; local14++) { - @Pc(32) byte local32 = this.aByteArray52[local14]; + for (@Pc(14) int local14 = 0; this.length > local14 && local14 < 12; local14++) { + @Pc(32) byte local32 = this.chars[local14]; local7 *= 37L; if (local32 >= 65 && local32 <= 90) { local7 += local32 + 1 - 65; @@ -814,7 +814,7 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(Z[BIII)I") public final int encodeString(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int arg1, @OriginalArg(4) int arg2) { - Static289.method2612(this.aByteArray52, 0, arg0, arg1, arg2); + Static289.method2612(this.chars, 0, arg0, arg1, arg2); return arg2; } } diff --git a/client/src/main/java/JavaAudioChannel.java b/client/src/main/java/JavaAudioChannel.java index f59c84e..57a663e 100644 --- a/client/src/main/java/JavaAudioChannel.java +++ b/client/src/main/java/JavaAudioChannel.java @@ -29,7 +29,7 @@ public final class JavaAudioChannel extends AudioChannel { @OriginalMember(owner = "client!qa", name = "d", descriptor = "()V") @Override - protected final void method3572() { + protected final void flush() { if (this.aSourceDataLine1 != null) { this.aSourceDataLine1.close(); this.aSourceDataLine1 = null; @@ -38,7 +38,7 @@ public final class JavaAudioChannel extends AudioChannel { @OriginalMember(owner = "client!qa", name = "a", descriptor = "(Ljava/awt/Component;)V") @Override - public final void method3576(@OriginalArg(0) Component arg0) { + public final void init(@OriginalArg(0) Component arg0) { @Pc(1) Info[] local1 = AudioSystem.getMixerInfo(); if (local1 != null) { for (@Pc(9) int local9 = 0; local9 < local1.length; local9++) { @@ -51,15 +51,15 @@ public final class JavaAudioChannel extends AudioChannel { } } } - this.anAudioFormat1 = new AudioFormat((float) Static44.anInt1404, 16, Static164.aBoolean192 ? 2 : 1, true, false); - this.aByteArray64 = new byte[0x100 << (Static164.aBoolean192 ? 2 : 1)]; + this.anAudioFormat1 = new AudioFormat((float) Static44.sampleRate, 16, AudioChannel.stereo ? 2 : 1, true, false); + this.aByteArray64 = new byte[0x100 << (AudioChannel.stereo ? 2 : 1)]; } @OriginalMember(owner = "client!qa", name = "a", descriptor = "(I)V") @Override - public final void method3562(@OriginalArg(0) int arg0) throws LineUnavailableException { + public final void open(@OriginalArg(0) int arg0) throws LineUnavailableException { try { - @Pc(20) javax.sound.sampled.DataLine.Info local20 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat1, arg0 << (Static164.aBoolean192 ? 2 : 1)); + @Pc(20) javax.sound.sampled.DataLine.Info local20 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat1, arg0 << (AudioChannel.stereo ? 2 : 1)); this.aSourceDataLine1 = (SourceDataLine) AudioSystem.getLine(local20); this.aSourceDataLine1.open(); this.aSourceDataLine1.start(); @@ -69,21 +69,21 @@ public final class JavaAudioChannel extends AudioChannel { this.aSourceDataLine1 = null; throw local36; } else { - this.method3562(Static165.clp2(arg0)); + this.open(Static165.clp2(arg0)); } } } @OriginalMember(owner = "client!qa", name = "b", descriptor = "()V") @Override - protected final void method3563() throws LineUnavailableException { + protected final void close() throws LineUnavailableException { this.aSourceDataLine1.flush(); if (!this.aBoolean230) { return; } this.aSourceDataLine1.close(); this.aSourceDataLine1 = null; - @Pc(34) javax.sound.sampled.DataLine.Info local34 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat1, this.anInt4645 << (Static164.aBoolean192 ? 2 : 1)); + @Pc(34) javax.sound.sampled.DataLine.Info local34 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat1, this.anInt4645 << (AudioChannel.stereo ? 2 : 1)); this.aSourceDataLine1 = (SourceDataLine) AudioSystem.getLine(local34); this.aSourceDataLine1.open(); this.aSourceDataLine1.start(); @@ -91,15 +91,15 @@ public final class JavaAudioChannel extends AudioChannel { @OriginalMember(owner = "client!qa", name = "c", descriptor = "()I") @Override - protected final int method3569() { - return this.anInt4645 - (this.aSourceDataLine1.available() >> (Static164.aBoolean192 ? 2 : 1)); + protected final int getBufferSize() { + return this.anInt4645 - (this.aSourceDataLine1.available() >> (AudioChannel.stereo ? 2 : 1)); } @OriginalMember(owner = "client!qa", name = "a", descriptor = "()V") @Override - protected final void method3561() { + protected final void write() { @Pc(1) short local1 = 256; - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { local1 = 512; } for (@Pc(9) int local9 = 0; local9 < local1; local9++) { diff --git a/client/src/main/java/MidiNoteStream.java b/client/src/main/java/MidiNoteStream.java index e0487ff..9cc11ad 100644 --- a/client/src/main/java/MidiNoteStream.java +++ b/client/src/main/java/MidiNoteStream.java @@ -49,7 +49,7 @@ public final class MidiNoteStream extends PcmStream { @OriginalMember(owner = "client!te", name = "a", descriptor = "(Lclient!mf;II)V") private void method4141(@OriginalArg(0) MidiNote arg0, @OriginalArg(2) int arg1) { if ((this.aClass3_Sub3_Sub4_3.anIntArray508[arg0.anInt3773] & 0x4) != 0 && arg0.anInt3767 < 0) { - @Pc(27) int local27 = this.aClass3_Sub3_Sub4_3.anIntArray503[arg0.anInt3773] / Static44.anInt1404; + @Pc(27) int local27 = this.aClass3_Sub3_Sub4_3.anIntArray503[arg0.anInt3773] / Static44.sampleRate; @Pc(37) int local37 = (local27 + 1048575 - arg0.anInt3775) / local27; arg0.anInt3775 = local27 * arg1 + arg0.anInt3775 & 0xFFFFF; if (arg1 >= local37) { @@ -119,7 +119,7 @@ public final class MidiNoteStream extends PcmStream { @OriginalMember(owner = "client!te", name = "a", descriptor = "([ILclient!mf;IIIB)V") private void method4146(@OriginalArg(0) int[] arg0, @OriginalArg(1) MidiNote arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { if ((this.aClass3_Sub3_Sub4_3.anIntArray508[arg1.anInt3773] & 0x4) != 0 && arg1.anInt3767 < 0) { - @Pc(26) int local26 = this.aClass3_Sub3_Sub4_3.anIntArray503[arg1.anInt3773] / Static44.anInt1404; + @Pc(26) int local26 = this.aClass3_Sub3_Sub4_3.anIntArray503[arg1.anInt3773] / Static44.sampleRate; while (true) { @Pc(36) int local36 = (local26 + 1048575 - arg1.anInt3775) / local26; if (arg3 < local36) { @@ -128,7 +128,7 @@ public final class MidiNoteStream extends PcmStream { } arg3 -= local36; arg1.aClass3_Sub3_Sub1_3.method4408(arg0, arg2, local36); - @Pc(55) int local55 = Static44.anInt1404 / 100; + @Pc(55) int local55 = Static44.sampleRate / 100; @Pc(58) SoundPcmStream local58 = arg1.aClass3_Sub3_Sub1_3; @Pc(62) int local62 = 262144 / local26; if (local62 < local55) { diff --git a/client/src/main/java/MidiPcmStream.java b/client/src/main/java/MidiPcmStream.java index 444fb27..e56a79f 100644 --- a/client/src/main/java/MidiPcmStream.java +++ b/client/src/main/java/MidiPcmStream.java @@ -215,7 +215,7 @@ public final class MidiPcmStream extends PcmStream { for (@Pc(20) MidiNote local20 = (MidiNote) this.aClass3_Sub3_Sub3_1.aClass69_126.method2289(); local20 != null; local20 = (MidiNote) this.aClass3_Sub3_Sub3_1.aClass69_126.method2288()) { if (arg0 < 0 || local20.anInt3773 == arg0) { if (local20.aClass3_Sub3_Sub1_3 != null) { - local20.aClass3_Sub3_Sub1_3.method384(Static44.anInt1404 / 100); + local20.aClass3_Sub3_Sub1_3.method384(Static44.sampleRate / 100); if (local20.aClass3_Sub3_Sub1_3.method412()) { this.aClass3_Sub3_Sub3_1.aClass3_Sub3_Sub2_2.method1343(local20.aClass3_Sub3_Sub1_3); } @@ -493,7 +493,7 @@ public final class MidiPcmStream extends PcmStream { @Override public final synchronized void method4408(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { if (this.aClass84_1.method2628()) { - @Pc(18) int local18 = this.aClass84_1.anInt3303 * this.anInt5646 / Static44.anInt1404; + @Pc(18) int local18 = this.aClass84_1.anInt3303 * this.anInt5646 / Static44.sampleRate; do { @Pc(28) long local28 = this.aLong189 + (long) arg2 * (long) local18; if (this.aLong188 - local28 >= 0L) { @@ -513,7 +513,7 @@ public final class MidiPcmStream extends PcmStream { @OriginalMember(owner = "client!va", name = "a", descriptor = "(IILclient!mf;B[I)Z") public final boolean method4433(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) MidiNote arg2, @OriginalArg(4) int[] arg3) { - arg2.anInt3771 = Static44.anInt1404 / 100; + arg2.anInt3771 = Static44.sampleRate / 100; if (arg2.anInt3767 >= 0 && (arg2.aClass3_Sub3_Sub1_3 == null || arg2.aClass3_Sub3_Sub1_3.method411())) { arg2.method2957(); arg2.method4658(); @@ -686,7 +686,7 @@ public final class MidiPcmStream extends PcmStream { @Override public final synchronized void method4410(@OriginalArg(0) int arg0) { if (this.aClass84_1.method2628()) { - @Pc(15) int local15 = this.aClass84_1.anInt3303 * this.anInt5646 / Static44.anInt1404; + @Pc(15) int local15 = this.aClass84_1.anInt3303 * this.anInt5646 / Static44.sampleRate; do { @Pc(25) long local25 = this.aLong189 + (long) arg0 * (long) local15; if (this.aLong188 - local25 >= 0L) { @@ -731,7 +731,7 @@ public final class MidiPcmStream extends PcmStream { @Pc(102) double local102 = Math.sin((double) (arg0.anInt3768 & 0x1FF) * 0.01227184630308513D); local17 += (int) ((double) local62 * local102); } - local62 = (int) ((double) (arg0.aClass3_Sub16_Sub1_1.anInt3316 * 256) * Math.pow(2.0D, (double) local17 * 3.255208333333333E-4D) / (double) Static44.anInt1404 + 0.5D); + local62 = (int) ((double) (arg0.aClass3_Sub16_Sub1_1.anInt3316 * 256) * Math.pow(2.0D, (double) local17 * 3.255208333333333E-4D) / (double) Static44.sampleRate + 0.5D); return local62 >= 1 ? local62 : 1; } diff --git a/client/src/main/java/SignLinkAudioChannel.java b/client/src/main/java/SignLinkAudioChannel.java index 494816f..2d31d37 100644 --- a/client/src/main/java/SignLinkAudioChannel.java +++ b/client/src/main/java/SignLinkAudioChannel.java @@ -6,51 +6,54 @@ import org.openrs2.deob.annotation.OriginalMember; @OriginalClass("client!hl") public final class SignLinkAudioChannel extends AudioChannel { + @OriginalMember(owner = "client!hl", name = "M", descriptor = "Lsignlink!ai;") + public static AudioSource audioSource; + @OriginalMember(owner = "client!hl", name = "L", descriptor = "I") - private final int anInt2606; + private final int channel; @OriginalMember(owner = "client!hl", name = "", descriptor = "(Lsignlink!ll;I)V") - public SignLinkAudioChannel(@OriginalArg(0) SignLink arg0, @OriginalArg(1) int arg1) { - Static100.anInterface10_1 = arg0.method5125(); - this.anInt2606 = arg1; + public SignLinkAudioChannel(@OriginalArg(0) SignLink signLink, @OriginalArg(1) int channel) { + audioSource = signLink.getAudioSource(); + this.channel = channel; } @OriginalMember(owner = "client!hl", name = "c", descriptor = "()I") @Override - protected final int method3569() { - return Static100.anInterface10_1.method5098(this.anInt2606); + protected final int getBufferSize() { + return audioSource.getBufferSize(this.channel); } @OriginalMember(owner = "client!hl", name = "a", descriptor = "()V") @Override - protected final void method3561() { - Static100.anInterface10_1.method5102(this.anInt2606, this.anIntArray411); + protected final void write() { + audioSource.write(this.channel, this.anIntArray411); } @OriginalMember(owner = "client!hl", name = "a", descriptor = "(Ljava/awt/Component;)V") @Override - public final void method3576(@OriginalArg(0) Component arg0) throws Exception { - Static100.anInterface10_1.method5101(Static44.anInt1404, arg0, Static164.aBoolean192); + public final void init(@OriginalArg(0) Component component) throws Exception { + audioSource.init(Static44.sampleRate, component, AudioChannel.stereo); } @OriginalMember(owner = "client!hl", name = "b", descriptor = "()V") @Override - protected final void method3563() { - Static100.anInterface10_1.method5097(this.anInt2606); + protected final void close() { + audioSource.close(this.channel); } @OriginalMember(owner = "client!hl", name = "a", descriptor = "(I)V") @Override - public final void method3562(@OriginalArg(0) int arg0) throws Exception { - if (arg0 > 32768) { + public final void open(@OriginalArg(0) int bufferCapacity) throws Exception { + if (bufferCapacity > 32768) { throw new IllegalArgumentException(); } - Static100.anInterface10_1.method5099(this.anInt2606, arg0); + audioSource.open(this.channel, bufferCapacity); } @OriginalMember(owner = "client!hl", name = "d", descriptor = "()V") @Override - protected final void method3572() { - Static100.anInterface10_1.method5100(this.anInt2606); + protected final void flush() { + audioSource.flush(this.channel); } } diff --git a/client/src/main/java/SoundPcmStream.java b/client/src/main/java/SoundPcmStream.java index 8b07b2f..59c15dd 100644 --- a/client/src/main/java/SoundPcmStream.java +++ b/client/src/main/java/SoundPcmStream.java @@ -344,12 +344,12 @@ public final class SoundPcmStream extends PcmStream { } this.anInt351 += arg1; if (this.anInt342 == 256 && (this.anInt346 & 0xFF) == 0) { - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { arg1 = Static284.method393(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); } else { arg1 = Static284.method395(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); } - } else if (Static164.aBoolean192) { + } else if (AudioChannel.stereo) { arg1 = Static284.method388(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); } else { arg1 = Static284.method389(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); @@ -364,12 +364,12 @@ public final class SoundPcmStream extends PcmStream { return arg3; } if (this.anInt342 == 256 && (this.anInt346 & 0xFF) == 0) { - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { return Static284.method387(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); } return Static284.method391(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); } - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { return Static284.method400(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); } return Static284.method422(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); @@ -594,12 +594,12 @@ public final class SoundPcmStream extends PcmStream { } this.anInt351 += arg1; if (this.anInt342 == -256 && (this.anInt346 & 0xFF) == 0) { - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { arg1 = Static284.method402(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); } else { arg1 = Static284.method394(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); } - } else if (Static164.aBoolean192) { + } else if (AudioChannel.stereo) { arg1 = Static284.method407(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); } else { arg1 = Static284.method415(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); @@ -614,12 +614,12 @@ public final class SoundPcmStream extends PcmStream { return arg3; } if (this.anInt342 == -256 && (this.anInt346 & 0xFF) == 0) { - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { return Static284.method414(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); } return Static284.method413(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); } - if (Static164.aBoolean192) { + if (AudioChannel.stereo) { return Static284.method420(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); } return Static284.method390(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); diff --git a/client/src/main/java/Static10.java b/client/src/main/java/Static10.java index b818b5d..d56a4a1 100644 --- a/client/src/main/java/Static10.java +++ b/client/src/main/java/Static10.java @@ -14,11 +14,11 @@ public final class Static10 { @OriginalMember(owner = "client!an", name = "a", descriptor = "([BIII)Lclient!na;") public static JagString decodeString(@OriginalArg(0) byte[] arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { @Pc(7) JagString local7 = new JagString(); - local7.aByteArray52 = new byte[arg1]; - local7.anInt4030 = 0; + local7.chars = new byte[arg1]; + local7.length = 0; for (@Pc(22) int local22 = arg2; local22 < arg1 + arg2; local22++) { if (arg0[local22] != 0) { - local7.aByteArray52[local7.anInt4030++] = arg0[local22]; + local7.chars[local7.length++] = arg0[local22]; } } return local7; diff --git a/client/src/main/java/Static100.java b/client/src/main/java/Static100.java index fc41af5..d5dff25 100644 --- a/client/src/main/java/Static100.java +++ b/client/src/main/java/Static100.java @@ -2,6 +2,4 @@ import org.openrs2.deob.annotation.OriginalMember; public final class Static100 { - @OriginalMember(owner = "client!hl", name = "M", descriptor = "Lsignlink!ai;") - public static AudioSource anInterface10_1; } diff --git a/client/src/main/java/Static107.java b/client/src/main/java/Static107.java index d028a72..85c8979 100644 --- a/client/src/main/java/Static107.java +++ b/client/src/main/java/Static107.java @@ -44,19 +44,19 @@ public final class Static107 { @OriginalMember(owner = "client!id", name = "a", descriptor = "(ILsignlink!ll;Ljava/awt/Component;II)Lclient!vh;") public static AudioChannel method2262(@OriginalArg(0) int arg0, @OriginalArg(1) SignLink arg1, @OriginalArg(2) Component arg2, @OriginalArg(3) int arg3) { - if (Static44.anInt1404 == 0) { + if (Static44.sampleRate == 0) { throw new IllegalStateException(); } try { @Pc(33) AudioChannel local33 = (AudioChannel) Class.forName("JavaAudioChannel").getDeclaredConstructor().newInstance(); local33.anInt4641 = arg0; - local33.anIntArray411 = new int[(Static164.aBoolean192 ? 2 : 1) * 256]; - local33.method3576(arg2); + local33.anIntArray411 = new int[(AudioChannel.stereo ? 2 : 1) * 256]; + local33.init(arg2); local33.anInt4644 = (arg0 & -1024) + 1024; if (local33.anInt4644 > 16384) { local33.anInt4644 = 16384; } - local33.method3562(local33.anInt4644); + local33.open(local33.anInt4644); if (Static258.anInt5637 > 0 && Static60.aClass19_1 == null) { Static60.aClass19_1 = new AudioThread(); Static60.aClass19_1.aClass213_1 = arg1; @@ -72,11 +72,11 @@ public final class Static107 { } catch (@Pc(109) Throwable local109) { try { @Pc(120) SignLinkAudioChannel local120 = new SignLinkAudioChannel(arg1, arg3); - local120.anIntArray411 = new int[(Static164.aBoolean192 ? 2 : 1) * 256]; + local120.anIntArray411 = new int[(AudioChannel.stereo ? 2 : 1) * 256]; local120.anInt4641 = arg0; - local120.method3576(arg2); + local120.init(arg2); local120.anInt4644 = 16384; - local120.method3562(local120.anInt4644); + local120.open(local120.anInt4644); if (Static258.anInt5637 > 0 && Static60.aClass19_1 == null) { Static60.aClass19_1 = new AudioThread(); Static60.aClass19_1.aClass213_1 = arg1; diff --git a/client/src/main/java/Static118.java b/client/src/main/java/Static118.java index b62969f..539fbfb 100644 --- a/client/src/main/java/Static118.java +++ b/client/src/main/java/Static118.java @@ -98,18 +98,18 @@ public final class Static118 { if (arg2[arg0 + local7] == null) { arg2[local7 + arg0] = Static193.aClass100_853; } - local5 += arg2[local7 + arg0].anInt4030; + local5 += arg2[local7 + arg0].length; } @Pc(39) byte[] local39 = new byte[local5]; @Pc(41) int local41 = 0; for (@Pc(43) int local43 = 0; local43 < arg1; local43++) { @Pc(52) JagString local52 = arg2[local43 + arg0]; - Static289.method2612(local52.aByteArray52, 0, local39, local41, local52.anInt4030); - local41 += local52.anInt4030; + Static289.method2612(local52.chars, 0, local39, local41, local52.length); + local41 += local52.length; } @Pc(71) JagString local71 = new JagString(); - local71.anInt4030 = local5; - local71.aByteArray52 = local39; + local71.length = local5; + local71.chars = local39; return local71; } diff --git a/client/src/main/java/Static127.java b/client/src/main/java/Static127.java index e45a5ba..c6ac8b0 100644 --- a/client/src/main/java/Static127.java +++ b/client/src/main/java/Static127.java @@ -209,7 +209,7 @@ public final class Static127 { } @Pc(246) JagString local246 = Static186.aClass100_827; if (Static232.aClass212_5 != null) { - local246 = Static181.method3341(Static232.aClass212_5.anInt5926); + local246 = Static181.method3341(Static232.aClass212_5.intArg2); try { if (Static232.aClass212_5.result != null) { @Pc(265) byte[] local265 = ((String) Static232.aClass212_5.result).getBytes("ISO-8859-1"); @@ -287,7 +287,7 @@ public final class Static127 { Static107.js5NetQueue.method2319(); } if (arg0.method3111(Static165.aClass100_775)) { - GameShell.signLink.method5110(); + GameShell.signLink.breakConnection(); Static124.socket.method2833(); Static107.js5NetQueue.method2323(); } @@ -325,18 +325,18 @@ public final class Static127 { } } if (arg0.method3138(Static241.aClass100_1088)) { - Static76.method1645(arg0.method3136(15).method3132()); + Static76.method1645(arg0.method3136(15).parseInt()); Static203.method3663(GameShell.signLink); Static18.sentToServer = false; } if (arg0.method3138(Static170.aClass100_623) && Static83.modeWhere != 0) { - Static115.method2312(arg0.method3136(6).method3132()); + Static115.method2312(arg0.method3136(6).parseInt()); } if (arg0.method3111(Static272.aClass100_990)) { throw new RuntimeException(); } if (arg0.method3138(Static211.aClass100_232)) { - Static199.anInt4672 = arg0.method3136(12).method3144().method3132(); + Static199.anInt4672 = arg0.method3136(12).method3144().parseInt(); Static103.method2231(null, 0, Static34.method882(new JagString[] { Static276.aClass100_1096, Static123.method2423(Static199.anInt4672) })); } if (arg0.method3111(Static181.aClass100_810)) { diff --git a/client/src/main/java/Static156.java b/client/src/main/java/Static156.java index 68a701d..3123ec4 100644 --- a/client/src/main/java/Static156.java +++ b/client/src/main/java/Static156.java @@ -132,7 +132,7 @@ public final class Static156 { Static196.anIntArray407[189] = 26; return; } - if (SignLink.aMethod6 == null) { + if (SignLink.setFocusTraversalKeysEnabled == null) { Static196.anIntArray407[192] = 58; Static196.anIntArray407[222] = 59; } else { diff --git a/client/src/main/java/Static164.java b/client/src/main/java/Static164.java index 962c37f..48bb25a 100644 --- a/client/src/main/java/Static164.java +++ b/client/src/main/java/Static164.java @@ -4,9 +4,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static164 { - @OriginalMember(owner = "client!na", name = "w", descriptor = "Z") - public static boolean aBoolean192; - @OriginalMember(owner = "client!na", name = "W", descriptor = "Z") public static boolean newTab; diff --git a/client/src/main/java/Static165.java b/client/src/main/java/Static165.java index 3300da2..1093c51 100644 --- a/client/src/main/java/Static165.java +++ b/client/src/main/java/Static165.java @@ -96,9 +96,9 @@ public final class Static165 { @OriginalMember(owner = "client!nb", name = "a", descriptor = "(II)Lclient!na;") public static JagString method3165() { @Pc(21) JagString local21 = new JagString(); - local21.anInt4030 = 1; - local21.aByteArray52 = new byte[1]; - local21.aByteArray52[0] = -96; + local21.length = 1; + local21.chars = new byte[1]; + local21.chars[0] = -96; return local21; } } diff --git a/client/src/main/java/Static169.java b/client/src/main/java/Static169.java index 8d52206..62acc74 100644 --- a/client/src/main/java/Static169.java +++ b/client/src/main/java/Static169.java @@ -47,7 +47,7 @@ public final class Static169 { @OriginalMember(owner = "client!nf", name = "a", descriptor = "(IIIIILsignlink!ll;)Ljava/awt/Frame;") public static Frame method3176(@OriginalArg(2) int arg0, @OriginalArg(3) int arg1, @OriginalArg(4) int arg2, @OriginalArg(5) SignLink arg3) { - if (!arg3.method5111()) { + if (!arg3.isFullScreenSupported()) { return null; } @Pc(20) Class114[] local20 = Static197.method3558(arg3); @@ -64,7 +64,7 @@ public final class Static169 { if (!local27) { return null; } - @Pc(90) PrivilegedRequest local90 = arg3.method5129(arg0, arg1, arg2); + @Pc(90) PrivilegedRequest local90 = arg3.enterFullScreen(arg0, arg1, arg2); while (local90.status == 0) { Static231.sleep(10L); } diff --git a/client/src/main/java/Static19.java b/client/src/main/java/Static19.java index e834af6..78a78b7 100644 --- a/client/src/main/java/Static19.java +++ b/client/src/main/java/Static19.java @@ -119,7 +119,7 @@ public final class Static19 { @OriginalMember(owner = "client!bi", name = "a", descriptor = "(BLjava/awt/Component;)V") public static void start(@OriginalArg(1) Component arg0) { - @Pc(10) Method local10 = SignLink.aMethod6; + @Pc(10) Method local10 = SignLink.setFocusTraversalKeysEnabled; if (local10 != null) { try { local10.invoke(arg0, Boolean.FALSE); diff --git a/client/src/main/java/Static197.java b/client/src/main/java/Static197.java index f9e5f8d..eb8cfd3 100644 --- a/client/src/main/java/Static197.java +++ b/client/src/main/java/Static197.java @@ -21,10 +21,10 @@ public final class Static197 { @OriginalMember(owner = "client!pm", name = "a", descriptor = "(ILsignlink!ll;)[Lclient!od;") public static Class114[] method3558(@OriginalArg(1) SignLink arg0) { - if (!arg0.method5111()) { + if (!arg0.isFullScreenSupported()) { return new Class114[0]; } - @Pc(17) PrivilegedRequest local17 = arg0.method5132(); + @Pc(17) PrivilegedRequest local17 = arg0.getDisplayModes(); while (local17.status == 0) { Static231.sleep(10L); } @@ -142,7 +142,7 @@ public final class Static197 { } else { Static260.frameBuffer = null; } - @Pc(300) PrivilegedRequest local300 = GameShell.signLink.method5123(Static215.aClient1.getClass()); + @Pc(300) PrivilegedRequest local300 = GameShell.signLink.loadGlNatives(Static215.aClient1.getClass()); while (local300.status == 0) { Static231.sleep(100L); } diff --git a/client/src/main/java/Static198.java b/client/src/main/java/Static198.java index 016f030..9e0905f 100644 --- a/client/src/main/java/Static198.java +++ b/client/src/main/java/Static198.java @@ -43,8 +43,8 @@ public final class Static198 { arg1 /= 10; } @Pc(112) JagString local112 = new JagString(); - local112.aByteArray52 = local46; - local112.anInt4030 = local38; + local112.chars = local46; + local112.length = local38; return local112; } diff --git a/client/src/main/java/Static202.java b/client/src/main/java/Static202.java index 7f20504..8f02abb 100644 --- a/client/src/main/java/Static202.java +++ b/client/src/main/java/Static202.java @@ -54,7 +54,7 @@ public final class Static202 { } local17.anIntArray139[local59] = local71; local17.anIntArray137[local59] = local95; - local17.aClass212Array2[local59] = arg0.method5126(local104, Static6.method85(local93)); + local17.aClass212Array2[local59] = arg0.getDeclaredField(local104, Static6.method85(local93)); } else if (local71 == 3 || local71 == 4) { local93 = new String(arg1.gjstr().method3148()); local104 = new String(arg1.gjstr().method3148()); @@ -77,7 +77,7 @@ public final class Static202 { for (local210 = 0; local210 < local95; local210++) { local234[local210] = Static6.method85(local171[local210]); } - local17.aClass212Array1[local59] = arg0.method5122(Static6.method85(local93), local234, local104); + local17.aClass212Array1[local59] = arg0.getDeclaredMethod(Static6.method85(local93), local234, local104); local17.aByteArrayArrayArray6[local59] = local193; } } catch (@Pc(269) ClassNotFoundException local269) { diff --git a/client/src/main/java/Static203.java b/client/src/main/java/Static203.java index 973c1db..53106db 100644 --- a/client/src/main/java/Static203.java +++ b/client/src/main/java/Static203.java @@ -73,20 +73,20 @@ public final class Static203 { public static void method3663(@OriginalArg(0) SignLink arg0) { @Pc(11) FileOnDisk local11 = null; try { - @Pc(16) PrivilegedRequest local16 = arg0.method5112("runescape"); + @Pc(16) PrivilegedRequest local16 = arg0.openPreferences("runescape"); while (local16.status == 0) { Static231.sleep(1L); } if (local16.status == 1) { local11 = (FileOnDisk) local16.result; @Pc(39) Buffer local39 = Static48.method1196(); - local11.method5134(local39.data, local39.offset, 0); + local11.write(local39.data, local39.offset, 0); } } catch (@Pc(49) Exception local49) { } try { if (local11 != null) { - local11.method5136(); + local11.close(); } } catch (@Pc(56) Exception local56) { } diff --git a/client/src/main/java/Static230.java b/client/src/main/java/Static230.java index 96be689..c04e1b7 100644 --- a/client/src/main/java/Static230.java +++ b/client/src/main/java/Static230.java @@ -114,11 +114,11 @@ public final class Static230 { local14 = arg0.getBytes(); } @Pc(23) JagString local23 = new JagString(); - local23.aByteArray52 = local14; - local23.anInt4030 = 0; + local23.chars = local14; + local23.length = 0; for (@Pc(31) int local31 = 0; local31 < local14.length; local31++) { if (local14[local31] != 0) { - local14[local23.anInt4030++] = local14[local31]; + local14[local23.length++] = local14[local31]; } } return local23; diff --git a/client/src/main/java/Static25.java b/client/src/main/java/Static25.java index ba2ee1a..7666045 100644 --- a/client/src/main/java/Static25.java +++ b/client/src/main/java/Static25.java @@ -35,7 +35,7 @@ public final class Static25 { @OriginalMember(owner = "client!c", name = "a", descriptor = "(Ljava/awt/Frame;ZLsignlink!ll;)V") public static void method714(@OriginalArg(0) Frame arg0, @OriginalArg(2) SignLink arg1) { while (true) { - @Pc(16) PrivilegedRequest local16 = arg1.method5115(arg0); + @Pc(16) PrivilegedRequest local16 = arg1.exitFullScreen(arg0); while (local16.status == 0) { Static231.sleep(10L); } diff --git a/client/src/main/java/Static28.java b/client/src/main/java/Static28.java index d5f952e..41501e6 100644 --- a/client/src/main/java/Static28.java +++ b/client/src/main/java/Static28.java @@ -70,7 +70,7 @@ public final class Static28 { @Pc(9) int local9 = local6.length; @Pc(13) JagString local13 = new JagString(); @Pc(15) int local15 = 0; - local13.aByteArray52 = new byte[local9]; + local13.chars = new byte[local9]; while (local9 > local15) { @Pc(29) int local29 = local6[local15++] & 0xFF; if (local29 <= 45 && local29 >= 40) { @@ -78,9 +78,9 @@ public final class Static28 { break; } @Pc(51) int local51 = local6[local15++] & 0xFF; - local13.aByteArray52[local13.anInt4030++] = (byte) (local51 + (local29 + -40) * 43 - 48); + local13.chars[local13.length++] = (byte) (local51 + (local29 + -40) * 43 - 48); } else if (local29 != 0) { - local13.aByteArray52[local13.anInt4030++] = (byte) local29; + local13.chars[local13.length++] = (byte) local29; } } local13.method3156(); diff --git a/client/src/main/java/Static284.java b/client/src/main/java/Static284.java index e92cca4..8f1ebd7 100644 --- a/client/src/main/java/Static284.java +++ b/client/src/main/java/Static284.java @@ -488,7 +488,7 @@ public final class Static284 { @OriginalMember(owner = "client!b", name = "a", descriptor = "(Lclient!kj;II)Lclient!b;") public static SoundPcmStream method404(@OriginalArg(0) PcmSound arg0, @OriginalArg(2) int arg1) { - return arg0.aByteArray47 == null || arg0.aByteArray47.length == 0 ? null : new SoundPcmStream(arg0, (int) ((long) arg0.anInt3316 * 256L * (long) 100 / (long) (Static44.anInt1404 * 100)), arg1 << 6); + return arg0.aByteArray47 == null || arg0.aByteArray47.length == 0 ? null : new SoundPcmStream(arg0, (int) ((long) arg0.anInt3316 * 256L * (long) 100 / (long) (Static44.sampleRate * 100)), arg1 << 6); } @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIIIIILclient!b;II)I") diff --git a/client/src/main/java/Static4.java b/client/src/main/java/Static4.java index 4b4087e..fed4920 100644 --- a/client/src/main/java/Static4.java +++ b/client/src/main/java/Static4.java @@ -398,7 +398,7 @@ public final class Static4 { return true; } else if (Static164.anInt3985 == 164) { local133 = Static57.aClass3_Sub15_Sub1_3.g4rme(); - Static232.aClass212_5 = GameShell.signLink.method5128(local133); + Static232.aClass212_5 = GameShell.signLink.getReverseDns(local133); Static164.anInt3985 = -1; return true; } else if (Static164.anInt3985 == 225) { @@ -1042,12 +1042,12 @@ public final class Static4 { @Pc(3848) byte[] local3848 = new byte[Static223.anInt5028]; Static57.aClass3_Sub15_Sub1_3.method2237(local3848, Static223.anInt5028); local156 = Static10.decodeString(local3848, Static223.anInt5028, 0); - if (GameShell.frame == null && (SignLink.anInt5928 == 3 || !SignLink.aString15.startsWith("win") || Static178.aBoolean203)) { + if (GameShell.frame == null && (SignLink.anInt5928 == 3 || !SignLink.osName.startsWith("win") || Static178.aBoolean203)) { Static169.openUrl(local156, true); } else { Static175.url = local156; Static164.newTab = true; - Static33.openUrlRequest = GameShell.signLink.method5131(new String(local156.method3148(), "ISO-8859-1")); + Static33.openUrlRequest = GameShell.signLink.openUrl(new String(local156.method3148(), "ISO-8859-1")); } Static164.anInt3985 = -1; return true; diff --git a/client/src/main/java/Static41.java b/client/src/main/java/Static41.java index 6fc4033..4531fdd 100644 --- a/client/src/main/java/Static41.java +++ b/client/src/main/java/Static41.java @@ -162,8 +162,8 @@ public final class Static41 { @OriginalMember(owner = "client!dc", name = "a", descriptor = "(IIIZ)V") public static void method1045(@OriginalArg(3) boolean arg0) { Static258.anInt5637 = 2; - Static164.aBoolean192 = arg0; - Static44.anInt1404 = 22050; + AudioChannel.stereo = arg0; + Static44.sampleRate = 22050; } @OriginalMember(owner = "client!dc", name = "b", descriptor = "(Z)V") diff --git a/client/src/main/java/Static44.java b/client/src/main/java/Static44.java index ca7a46e..2418c3e 100644 --- a/client/src/main/java/Static44.java +++ b/client/src/main/java/Static44.java @@ -5,7 +5,7 @@ import org.openrs2.deob.annotation.Pc; public final class Static44 { @OriginalMember(owner = "client!dh", name = "h", descriptor = "I") - public static int anInt1404; + public static int sampleRate; @OriginalMember(owner = "client!dh", name = "a", descriptor = "Z") public static boolean aBoolean83 = false; diff --git a/client/src/main/java/Static59.java b/client/src/main/java/Static59.java index 1f4b577..8cee1ac 100644 --- a/client/src/main/java/Static59.java +++ b/client/src/main/java/Static59.java @@ -91,8 +91,8 @@ public final class Static59 { local61[local51 - local79 - 1] = (byte) (local92 + 48); } @Pc(126) JagString local126 = new JagString(); - local126.aByteArray52 = local61; - local126.anInt4030 = local51; + local126.chars = local61; + local126.length = local51; return local126; } } diff --git a/client/src/main/java/Static79.java b/client/src/main/java/Static79.java index c7cf9b2..e3627d3 100644 --- a/client/src/main/java/Static79.java +++ b/client/src/main/java/Static79.java @@ -88,8 +88,8 @@ public final class Static79 { local48[local32] = Static31.aByteArray12[(int) (local65 - arg0 * 37L)]; } @Pc(88) JagString local88 = new JagString(); - local88.aByteArray52 = local48; - local88.anInt4030 = local48.length; + local88.chars = local48; + local88.length = local48.length; return local88; } } diff --git a/client/src/main/java/Static80.java b/client/src/main/java/Static80.java index 3adad7b..21b7f38 100644 --- a/client/src/main/java/Static80.java +++ b/client/src/main/java/Static80.java @@ -71,16 +71,16 @@ public final class Static80 { Static127.aBoolean159 = false; Static214.anInt5581 = 0; try { - @Pc(78) PrivilegedRequest local78 = arg0.method5112("runescape"); + @Pc(78) PrivilegedRequest local78 = arg0.openPreferences("runescape"); while (local78.status == 0) { Static231.sleep(1L); } if (local78.status == 1) { local48 = (FileOnDisk) local78.result; - @Pc(106) byte[] local106 = new byte[(int) local48.method5137()]; + @Pc(106) byte[] local106 = new byte[(int) local48.length()]; @Pc(128) int local128; for (@Pc(108) int local108 = 0; local108 < local106.length; local108 += local128) { - local128 = local48.method5135(local108, local106.length - local108, local106); + local128 = local48.read(local108, local106.length - local108, local106); if (local128 == -1) { throw new IOException("EOF"); } @@ -91,7 +91,7 @@ public final class Static80 { } try { if (local48 != null) { - local48.method5136(); + local48.close(); } } catch (@Pc(158) Exception local158) { } diff --git a/client/src/main/java/Static81.java b/client/src/main/java/Static81.java index f00e9c7..2f62cb9 100644 --- a/client/src/main/java/Static81.java +++ b/client/src/main/java/Static81.java @@ -41,12 +41,12 @@ public final class Static81 { if (local28 == null) { arg0 = -1; } else { - GameShell.signLink.method5113(local28.method301(), local28.anInt1860, GameShell.canvas, new Point(local24.anInt2852, local24.anInt2850), local28.anInt1866); + GameShell.signLink.setCursor(local28.method301(), local28.anInt1860, GameShell.canvas, new Point(local24.anInt2852, local24.anInt2850), local28.anInt1866); Static115.anInt2941 = arg0; } } if (arg0 == -1 && Static115.anInt2941 != -1) { - GameShell.signLink.method5113(null, -1, GameShell.canvas, new Point(), -1); + GameShell.signLink.setCursor(null, -1, GameShell.canvas, new Point(), -1); Static115.anInt2941 = -1; } } diff --git a/client/src/main/java/Static87.java b/client/src/main/java/Static87.java index fa5aeb7..c74c2fa 100644 --- a/client/src/main/java/Static87.java +++ b/client/src/main/java/Static87.java @@ -57,8 +57,8 @@ public final class Static87 { @OriginalMember(owner = "client!gn", name = "a", descriptor = "(BI)Lclient!na;") public static JagString method1804(@OriginalArg(1) int arg0) { @Pc(13) JagString local13 = new JagString(); - local13.anInt4030 = 0; - local13.aByteArray52 = new byte[arg0]; + local13.length = 0; + local13.chars = new byte[arg0]; return local13; } diff --git a/client/src/main/java/Static88.java b/client/src/main/java/Static88.java index a59bf2b..d55ddec 100644 --- a/client/src/main/java/Static88.java +++ b/client/src/main/java/Static88.java @@ -1242,8 +1242,8 @@ public final class Static88 { local26--; local609 = Static3.aClass100Array176[local26]; local803 = 0; - if (local609.method3123()) { - local803 = local609.method3132(); + if (local609.isInt()) { + local803 = local609.parseInt(); } Static6.outboundBuffer.p1isaac(23); Static6.outboundBuffer.p4(local803); @@ -2953,7 +2953,7 @@ public final class Static88 { if (local226 == 5419) { local609 = Static72.aClass100_447; if (Static232.aClass212_5 != null) { - local609 = Static181.method3341(Static232.aClass212_5.anInt5926); + local609 = Static181.method3341(Static232.aClass212_5.intArg2); try { if (Static232.aClass212_5.result != null) { @Pc(8281) byte[] local8281 = ((String) Static232.aClass212_5.result).getBytes("ISO-8859-1"); @@ -2978,10 +2978,10 @@ public final class Static88 { local26--; local609 = Static3.aClass100Array176[local26]; @Pc(8356) JagString local8356 = Static34.method882(new JagString[] { Static15.method479(), local609 }); - if (GameShell.frame != null || local1552 && SignLink.anInt5928 != 3 && SignLink.aString15.startsWith("win") && !Static178.aBoolean203) { + if (GameShell.frame != null || local1552 && SignLink.anInt5928 != 3 && SignLink.osName.startsWith("win") && !Static178.aBoolean203) { Static164.newTab = local1552; Static175.url = local8356; - Static33.openUrlRequest = GameShell.signLink.method5131(new String(local8356.method3148(), "ISO-8859-1")); + Static33.openUrlRequest = GameShell.signLink.openUrl(new String(local8356.method3148(), "ISO-8859-1")); continue; } Static169.openUrl(local8356, local1552); diff --git a/client/src/main/java/Static89.java b/client/src/main/java/Static89.java index bc4f1bb..0ce3794 100644 --- a/client/src/main/java/Static89.java +++ b/client/src/main/java/Static89.java @@ -130,7 +130,7 @@ public final class Static89 { if (Static69.signLink.applet == null) { return; } - @Pc(109) PrivilegedRequest local109 = Static69.signLink.method5118(new URL(Static69.signLink.applet.getCodeBase(), "clienterror.ws?c=" + GameShell.anInt3252 + "&u=" + Static101.aLong98 + "&v1=" + SignLink.javaVendor + "&v2=" + SignLink.javaVersion + "&e=" + local13)); + @Pc(109) PrivilegedRequest local109 = Static69.signLink.openUrlStream(new URL(Static69.signLink.applet.getCodeBase(), "clienterror.ws?c=" + GameShell.anInt3252 + "&u=" + Static101.aLong98 + "&v1=" + SignLink.javaVendor + "&v2=" + SignLink.javaVersion + "&e=" + local13)); while (local109.status == 0) { Static231.sleep(1L); } diff --git a/client/src/main/java/client.java b/client/src/main/java/client.java index 6ca3621..d74d528 100644 --- a/client/src/main/java/client.java +++ b/client/src/main/java/client.java @@ -204,7 +204,7 @@ public final class client extends GameShell { GameShell.fullScreenFrame = null; } if (GameShell.signLink != null) { - GameShell.signLink.method5121(this.getClass()); + GameShell.signLink.unloadGlNatives(this.getClass()); } if (Static178.instance != null) { Static178.instance.aBoolean151 = false; @@ -739,7 +739,7 @@ public final class client extends GameShell { Static147.aClass62_2 = Static107.method2262(2048, GameShell.signLink, GameShell.canvas, 1); Static204.aClass3_Sub3_Sub2_1 = new MixerPcmStream(); Static147.aClass62_2.method3566(Static204.aClass3_Sub3_Sub2_1); - Static56.aClass156_1 = new Resampler(22050, Static44.anInt1404); + Static56.aClass156_1 = new Resampler(22050, Static44.sampleRate); Static250.anInt5441 = Static130.aClass153_47.method4482(Static1.aClass100_1); Static199.anInt4670 = 30; Static166.anInt4051 = 50; diff --git a/signlink/src/main/java/AudioSource.java b/signlink/src/main/java/AudioSource.java index 03b3e23..8a3eb85 100644 --- a/signlink/src/main/java/AudioSource.java +++ b/signlink/src/main/java/AudioSource.java @@ -7,20 +7,20 @@ import org.openrs2.deob.annotation.OriginalMember; public interface AudioSource { @OriginalMember(owner = "signlink!ai", name = "a", descriptor = "(II)V") - void method5097(@OriginalArg(0) int arg0); + void close(@OriginalArg(0) int channel); @OriginalMember(owner = "signlink!ai", name = "b", descriptor = "(BI)I") - int method5098(@OriginalArg(1) int arg0); + int getBufferSize(@OriginalArg(1) int channel); @OriginalMember(owner = "signlink!ai", name = "a", descriptor = "(III)V") - void method5099(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) throws Exception; + void open(@OriginalArg(0) int channel, @OriginalArg(2) int bufferCapacity) throws Exception; @OriginalMember(owner = "signlink!ai", name = "a", descriptor = "(BI)V") - void method5100(@OriginalArg(1) int arg0); + void flush(@OriginalArg(1) int channel); @OriginalMember(owner = "signlink!ai", name = "a", descriptor = "(IBLjava/awt/Component;Z)V") - void method5101(@OriginalArg(0) int arg0, @OriginalArg(2) Component arg1, @OriginalArg(3) boolean arg2) throws Exception; + void init(@OriginalArg(0) int sampleRate, @OriginalArg(2) Component component, @OriginalArg(3) boolean stereo) throws Exception; @OriginalMember(owner = "signlink!ai", name = "a", descriptor = "(I[I)V") - void method5102(@OriginalArg(0) int arg0, @OriginalArg(1) int[] arg1); + void write(@OriginalArg(0) int channel, @OriginalArg(1) int[] samples); } diff --git a/signlink/src/main/java/CursorManager.java b/signlink/src/main/java/CursorManager.java index 795c5f1..a412813 100644 --- a/signlink/src/main/java/CursorManager.java +++ b/signlink/src/main/java/CursorManager.java @@ -11,48 +11,48 @@ import org.openrs2.deob.annotation.Pc; public final class CursorManager { @OriginalMember(owner = "signlink!g", name = "b", descriptor = "Ljava/awt/Component;") - private Component aComponent5; + private Component component; @OriginalMember(owner = "signlink!g", name = "a", descriptor = "Ljava/awt/Robot;") - private final Robot aRobot1 = new Robot(); + private final Robot robot = new Robot(); @OriginalMember(owner = "signlink!g", name = "", descriptor = "()V") public CursorManager() throws Exception { } @OriginalMember(owner = "signlink!g", name = "a", descriptor = "(BLjava/awt/Point;ILjava/awt/Component;I[I)V") - public final void method5107(@OriginalArg(1) Point arg0, @OriginalArg(2) int arg1, @OriginalArg(3) Component arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int[] arg4) { - if (arg4 == null) { - arg2.setCursor(null); + public final void setCursor(@OriginalArg(1) Point hotSpot, @OriginalArg(2) int width, @OriginalArg(3) Component component, @OriginalArg(4) int height, @OriginalArg(5) int[] pixels) { + if (pixels == null) { + component.setCursor(null); } else { - @Pc(13) BufferedImage local13 = new BufferedImage(arg1, arg3, 2); - local13.setRGB(0, 0, arg1, arg3, arg4, 0, arg1); - arg2.setCursor(arg2.getToolkit().createCustomCursor(local13, arg0, null)); + @Pc(13) BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + image.setRGB(0, 0, width, height, pixels, 0, width); + component.setCursor(component.getToolkit().createCustomCursor(image, hotSpot, null)); } } @OriginalMember(owner = "signlink!g", name = "a", descriptor = "(III)V") - public final void method5108(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - this.aRobot1.mouseMove(arg0, arg1); + public final void setPosition(@OriginalArg(0) int x, @OriginalArg(2) int y) { + this.robot.mouseMove(x, y); } @OriginalMember(owner = "signlink!g", name = "a", descriptor = "(Ljava/awt/Component;IZ)V") - public final void method5109(@OriginalArg(0) Component arg0, @OriginalArg(2) boolean arg1) { - if (arg1) { - arg0 = null; - } else if (arg0 == null) { + public final void setComponent(@OriginalArg(0) Component component, @OriginalArg(2) boolean reset) { + if (reset) { + component = null; + } else if (component == null) { throw new NullPointerException(); } - if (arg0 == this.aComponent5) { + if (component == this.component) { return; } - if (this.aComponent5 != null) { - this.aComponent5.setCursor(null); - this.aComponent5 = null; + if (this.component != null) { + this.component.setCursor(null); + this.component = null; } - if (arg0 != null) { - arg0.setCursor(arg0.getToolkit().createCustomCursor(new BufferedImage(1, 1, 2), new Point(0, 0), null)); - this.aComponent5 = arg0; + if (component != null) { + component.setCursor(component.getToolkit().createCustomCursor(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB), new Point(0, 0), null)); + this.component = component; } } } diff --git a/signlink/src/main/java/FileOnDisk.java b/signlink/src/main/java/FileOnDisk.java index da19faf..70a377d 100644 --- a/signlink/src/main/java/FileOnDisk.java +++ b/signlink/src/main/java/FileOnDisk.java @@ -11,88 +11,88 @@ import org.openrs2.deob.annotation.Pc; public final class FileOnDisk { @OriginalMember(owner = "signlink!qm", name = "c", descriptor = "Ljava/io/RandomAccessFile;") - private RandomAccessFile aRandomAccessFile1; + private RandomAccessFile randomAccessFile; @OriginalMember(owner = "signlink!qm", name = "b", descriptor = "Ljava/io/File;") - private final File aFile1; + private final File file; @OriginalMember(owner = "signlink!qm", name = "a", descriptor = "J") - private final long aLong1315; + private final long maxLength; @OriginalMember(owner = "signlink!qm", name = "d", descriptor = "J") - private long aLong1316; + private long offset; @OriginalMember(owner = "signlink!qm", name = "", descriptor = "(Ljava/io/File;Ljava/lang/String;J)V") - public FileOnDisk(@OriginalArg(0) File arg0, @OriginalArg(1) String arg1, @OriginalArg(2) long arg2) throws IOException { - if (arg2 == -1L) { - arg2 = Long.MAX_VALUE; + public FileOnDisk(@OriginalArg(0) File file, @OriginalArg(1) String mode, @OriginalArg(2) long maxLength) throws IOException { + if (maxLength == -1L) { + maxLength = Long.MAX_VALUE; } - if (arg2 <= arg0.length()) { - arg0.delete(); + if (maxLength <= file.length()) { + file.delete(); } - this.aRandomAccessFile1 = new RandomAccessFile(arg0, arg1); - this.aFile1 = arg0; - this.aLong1315 = arg2; - this.aLong1316 = 0L; - @Pc(42) int local42 = this.aRandomAccessFile1.read(); - if (local42 != -1 && !arg1.equals("r")) { - this.aRandomAccessFile1.seek(0L); - this.aRandomAccessFile1.write(local42); + this.randomAccessFile = new RandomAccessFile(file, mode); + this.file = file; + this.maxLength = maxLength; + this.offset = 0L; + @Pc(42) int firstByte = this.randomAccessFile.read(); + if (firstByte != -1 && !mode.equals("r")) { + this.randomAccessFile.seek(0L); + this.randomAccessFile.write(firstByte); } - this.aRandomAccessFile1.seek(0L); + this.randomAccessFile.seek(0L); } @OriginalMember(owner = "signlink!qm", name = "a", descriptor = "(BJ)V") - public final void method5133(@OriginalArg(1) long arg0) throws IOException { - this.aRandomAccessFile1.seek(arg0); - this.aLong1316 = arg0; + public final void seek(@OriginalArg(1) long offset) throws IOException { + this.randomAccessFile.seek(offset); + this.offset = offset; } @OriginalMember(owner = "signlink!qm", name = "finalize", descriptor = "()V") @Override public final void finalize() throws Throwable { - if (this.aRandomAccessFile1 != null) { - System.out.println("Warning! fileondisk " + this.aFile1 + " not closed correctly using close(). Auto-closing instead. "); - this.method5136(); + if (this.randomAccessFile != null) { + System.out.println("Warning! fileondisk " + this.file + " not closed correctly using close(). Auto-closing instead. "); + this.close(); } } @OriginalMember(owner = "signlink!qm", name = "a", descriptor = "(I[BII)V") - public final void method5134(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) throws IOException { - if (this.aLong1316 + (long) arg1 > this.aLong1315) { - this.aRandomAccessFile1.seek(this.aLong1315 + 1L); - this.aRandomAccessFile1.write(1); + public final void write(@OriginalArg(1) byte[] src, @OriginalArg(2) int len, @OriginalArg(3) int off) throws IOException { + if (this.offset + (long) len > this.maxLength) { + this.randomAccessFile.seek(this.maxLength + 1L); + this.randomAccessFile.write(1); throw new EOFException(); } else { - this.aRandomAccessFile1.write(arg0, arg2, arg1); - this.aLong1316 += arg1; + this.randomAccessFile.write(src, off, len); + this.offset += len; } } @OriginalMember(owner = "signlink!qm", name = "a", descriptor = "(III[B)I") - public final int method5135(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) byte[] arg2) throws IOException { - @Pc(6) int local6 = this.aRandomAccessFile1.read(arg2, arg0, arg1); - if (local6 > 0) { - this.aLong1316 += local6; + public final int read(@OriginalArg(0) int off, @OriginalArg(2) int len, @OriginalArg(3) byte[] bytes) throws IOException { + @Pc(6) int n = this.randomAccessFile.read(bytes, off, len); + if (n > 0) { + this.offset += n; } - return local6; + return n; } @OriginalMember(owner = "signlink!qm", name = "b", descriptor = "(I)V") - public final void method5136() throws IOException { - if (this.aRandomAccessFile1 != null) { - this.aRandomAccessFile1.close(); - this.aRandomAccessFile1 = null; + public final void close() throws IOException { + if (this.randomAccessFile != null) { + this.randomAccessFile.close(); + this.randomAccessFile = null; } } @OriginalMember(owner = "signlink!qm", name = "c", descriptor = "(I)J") - public final long method5137() throws IOException { - return this.aRandomAccessFile1.length(); + public final long length() throws IOException { + return this.randomAccessFile.length(); } @OriginalMember(owner = "signlink!qm", name = "a", descriptor = "(I)Ljava/io/File;") - public final File method5138() { - return this.aFile1; + public final File getFile() { + return this.file; } } diff --git a/signlink/src/main/java/FullScreenManager.java b/signlink/src/main/java/FullScreenManager.java index df43260..f4e0428 100644 --- a/signlink/src/main/java/FullScreenManager.java +++ b/signlink/src/main/java/FullScreenManager.java @@ -12,21 +12,21 @@ import org.openrs2.deob.annotation.Pc; public final class FullScreenManager { @OriginalMember(owner = "signlink!e", name = "b", descriptor = "Ljava/awt/DisplayMode;") - private DisplayMode aDisplayMode1; + private DisplayMode previousDisplayMode; @OriginalMember(owner = "signlink!e", name = "a", descriptor = "Ljava/awt/GraphicsDevice;") - private GraphicsDevice aGraphicsDevice1; + private GraphicsDevice device; @OriginalMember(owner = "signlink!e", name = "", descriptor = "()V") public FullScreenManager() throws Exception { - @Pc(3) GraphicsEnvironment local3 = GraphicsEnvironment.getLocalGraphicsEnvironment(); - this.aGraphicsDevice1 = local3.getDefaultScreenDevice(); - if (!this.aGraphicsDevice1.isFullScreenSupported()) { - @Pc(15) GraphicsDevice[] local15 = local3.getScreenDevices(); - for (@Pc(19) int local19 = 0; local19 < local15.length; local19++) { - @Pc(27) GraphicsDevice local27 = local15[local19]; - if (local27 != null && local27.isFullScreenSupported()) { - this.aGraphicsDevice1 = local27; + @Pc(3) GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); + this.device = env.getDefaultScreenDevice(); + if (!this.device.isFullScreenSupported()) { + @Pc(15) GraphicsDevice[] devices = env.getScreenDevices(); + for (@Pc(19) int i = 0; i < devices.length; i++) { + @Pc(27) GraphicsDevice d = devices[i]; + if (d != null && d.isFullScreenSupported()) { + this.device = d; return; } } @@ -35,82 +35,82 @@ public final class FullScreenManager { } @OriginalMember(owner = "signlink!e", name = "a", descriptor = "(Ljava/awt/Frame;B)V") - private void method5103(@OriginalArg(0) Frame arg0) { - @Pc(1) boolean local1 = false; + private void setFullScreenWindow(@OriginalArg(0) Frame frame) { + @Pc(1) boolean wasValid = false; try { - @Pc(6) Field local6 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); - local6.setAccessible(true); - @Pc(16) boolean local16 = (Boolean) local6.get(this.aGraphicsDevice1); - if (local16) { - local6.set(this.aGraphicsDevice1, Boolean.FALSE); - local1 = true; + @Pc(6) Field valid = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); + valid.setAccessible(true); + @Pc(16) boolean v = (Boolean) valid.get(this.device); + if (v) { + valid.set(this.device, Boolean.FALSE); + wasValid = true; } - } catch (@Pc(27) Throwable local27) { + } catch (@Pc(27) Throwable ex) { } try { - this.aGraphicsDevice1.setFullScreenWindow(arg0); + this.device.setFullScreenWindow(frame); } finally { - if (local1) { + if (wasValid) { try { - @Pc(66) Field local66 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); - local66.set(this.aGraphicsDevice1, Boolean.TRUE); - } catch (@Pc(73) Throwable local73) { + @Pc(66) Field valid = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); + valid.set(this.device, Boolean.TRUE); + } catch (@Pc(73) Throwable ex) { } } } } @OriginalMember(owner = "signlink!e", name = "a", descriptor = "(IIIILjava/awt/Frame;I)V") - public final void method5104(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) Frame arg3, @OriginalArg(5) int arg4) { - this.aDisplayMode1 = this.aGraphicsDevice1.getDisplayMode(); - if (this.aDisplayMode1 == null) { + public final void enter(@OriginalArg(1) int refreshRate, @OriginalArg(2) int bitDepth, @OriginalArg(3) int height, @OriginalArg(4) Frame frame, @OriginalArg(5) int width) { + this.previousDisplayMode = this.device.getDisplayMode(); + if (this.previousDisplayMode == null) { throw new NullPointerException(); } - arg3.setUndecorated(true); - arg3.enableInputMethods(false); - this.method5103(arg3); - if (arg0 == 0) { - @Pc(37) int local37 = this.aDisplayMode1.getRefreshRate(); - @Pc(41) DisplayMode[] local41 = this.aGraphicsDevice1.getDisplayModes(); - @Pc(43) boolean local43 = false; - for (@Pc(45) int local45 = 0; local45 < local41.length; local45++) { - if (local41[local45].getWidth() == arg4 && local41[local45].getHeight() == arg2 && arg1 == local41[local45].getBitDepth()) { - @Pc(77) int local77 = local41[local45].getRefreshRate(); - if (!local43 || Math.abs(local77 - local37) < Math.abs(arg0 - local37)) { - local43 = true; - arg0 = local77; + frame.setUndecorated(true); + frame.enableInputMethods(false); + this.setFullScreenWindow(frame); + if (refreshRate == 0) { + @Pc(37) int previousRefreshRate = this.previousDisplayMode.getRefreshRate(); + @Pc(41) DisplayMode[] displayModes = this.device.getDisplayModes(); + @Pc(43) boolean foundMode = false; + for (@Pc(45) int i = 0; i < displayModes.length; i++) { + if (displayModes[i].getWidth() == width && displayModes[i].getHeight() == height && bitDepth == displayModes[i].getBitDepth()) { + @Pc(77) int r = displayModes[i].getRefreshRate(); + if (!foundMode || Math.abs(r - previousRefreshRate) < Math.abs(refreshRate - previousRefreshRate)) { + foundMode = true; + refreshRate = r; } } } - if (!local43) { - arg0 = local37; + if (!foundMode) { + refreshRate = previousRefreshRate; } } - this.aGraphicsDevice1.setDisplayMode(new DisplayMode(arg4, arg2, arg1, arg0)); + this.device.setDisplayMode(new DisplayMode(width, height, bitDepth, refreshRate)); } @OriginalMember(owner = "signlink!e", name = "a", descriptor = "(Z)[I") - public final int[] method5105() { - @Pc(9) DisplayMode[] local9 = this.aGraphicsDevice1.getDisplayModes(); - @Pc(15) int[] local15 = new int[local9.length << 2]; - for (@Pc(17) int local17 = 0; local17 < local9.length; local17++) { - local15[local17 << 2] = local9[local17].getWidth(); - local15[(local17 << 2) + 1] = local9[local17].getHeight(); - local15[(local17 << 2) + 2] = local9[local17].getBitDepth(); - local15[(local17 << 2) + 3] = local9[local17].getRefreshRate(); + public final int[] getDisplayModes() { + @Pc(9) DisplayMode[] displayModes = this.device.getDisplayModes(); + @Pc(15) int[] result = new int[displayModes.length << 2]; + for (@Pc(17) int i = 0; i < displayModes.length; i++) { + result[i << 2] = displayModes[i].getWidth(); + result[(i << 2) + 1] = displayModes[i].getHeight(); + result[(i << 2) + 2] = displayModes[i].getBitDepth(); + result[(i << 2) + 3] = displayModes[i].getRefreshRate(); } - return local15; + return result; } @OriginalMember(owner = "signlink!e", name = "a", descriptor = "(I)V") - public final void method5106() { - if (this.aDisplayMode1 != null) { - this.aGraphicsDevice1.setDisplayMode(this.aDisplayMode1); - if (!this.aGraphicsDevice1.getDisplayMode().equals(this.aDisplayMode1)) { + public final void exit() { + if (this.previousDisplayMode != null) { + this.device.setDisplayMode(this.previousDisplayMode); + if (!this.device.getDisplayMode().equals(this.previousDisplayMode)) { throw new RuntimeException("Did not return to correct resolution!"); } - this.aDisplayMode1 = null; + this.previousDisplayMode = null; } - this.method5103(null); + this.setFullScreenWindow(null); } } diff --git a/signlink/src/main/java/MonotonicClock.java b/signlink/src/main/java/MonotonicClock.java index b0e4beb..f01c15d 100644 --- a/signlink/src/main/java/MonotonicClock.java +++ b/signlink/src/main/java/MonotonicClock.java @@ -6,18 +6,18 @@ import org.openrs2.deob.annotation.Pc; public final class MonotonicClock { @OriginalMember(owner = "signlink!ad", name = "a", descriptor = "J") - private static long aLong1312; + private static long leapMillis; @OriginalMember(owner = "signlink!ad", name = "b", descriptor = "J") - private static long aLong1313; + private static long previous; @OriginalMember(owner = "signlink!ad", name = "a", descriptor = "(B)J") public static synchronized long currentTimeMillis() { - @Pc(1) long local1 = System.currentTimeMillis(); - if (aLong1313 > local1) { - aLong1312 += aLong1313 - local1; + @Pc(1) long now = System.currentTimeMillis(); + if (previous > now) { + leapMillis += previous - now; } - aLong1313 = local1; - return aLong1312 + local1; + previous = now; + return leapMillis + now; } } diff --git a/signlink/src/main/java/PrivilegedRequest.java b/signlink/src/main/java/PrivilegedRequest.java index 0428c55..f587529 100644 --- a/signlink/src/main/java/PrivilegedRequest.java +++ b/signlink/src/main/java/PrivilegedRequest.java @@ -8,19 +8,19 @@ public final class PrivilegedRequest { public volatile Object result; @OriginalMember(owner = "signlink!im", name = "f", descriptor = "I") - public int anInt5924; + public int type; @OriginalMember(owner = "signlink!im", name = "b", descriptor = "Lsignlink!im;") - public PrivilegedRequest aClass212_6; + public PrivilegedRequest next; @OriginalMember(owner = "signlink!im", name = "c", descriptor = "Ljava/lang/Object;") - public Object anObject7; + public Object objectArg; @OriginalMember(owner = "signlink!im", name = "a", descriptor = "I") - public int anInt5926; + public int intArg2; @OriginalMember(owner = "signlink!im", name = "g", descriptor = "I") - public int anInt5927; + public int intArg1; @OriginalMember(owner = "signlink!im", name = "d", descriptor = "I") public volatile int status = 0; diff --git a/signlink/src/main/java/SignLink.java b/signlink/src/main/java/SignLink.java index 984e5ea..df1655d 100644 --- a/signlink/src/main/java/SignLink.java +++ b/signlink/src/main/java/SignLink.java @@ -27,67 +27,67 @@ public final class SignLink implements Runnable { public static String javaVersion; @OriginalMember(owner = "signlink!ll", name = "n", descriptor = "Ljava/lang/String;") - public static String aString15; + public static String osName; @OriginalMember(owner = "signlink!ll", name = "l", descriptor = "Ljava/lang/String;") - private static String aString16; + private static String osNameRaw; @OriginalMember(owner = "signlink!ll", name = "v", descriptor = "Ljava/lang/String;") - private static String aString17; + private static String homeDir; @OriginalMember(owner = "signlink!ll", name = "j", descriptor = "Ljava/lang/String;") - private static String aString18; + private static String osVersion; @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "Ljava/lang/String;") public static String javaVendor; @OriginalMember(owner = "signlink!ll", name = "b", descriptor = "Ljava/lang/String;") - private static String aString21; + private static String osArch; @OriginalMember(owner = "signlink!ll", name = "u", descriptor = "Ljava/lang/reflect/Method;") public static Method setFocusCycleRoot; @OriginalMember(owner = "signlink!ll", name = "r", descriptor = "Ljava/lang/reflect/Method;") - public static Method aMethod6; + public static Method setFocusTraversalKeysEnabled; @OriginalMember(owner = "signlink!ll", name = "e", descriptor = "I") public static final int anInt5928 = 1; @OriginalMember(owner = "signlink!ll", name = "w", descriptor = "Ljava/util/Hashtable;") - private static final Hashtable aHashtable2 = new Hashtable(16); + private static final Hashtable fileCache = new Hashtable(16); @OriginalMember(owner = "signlink!ll", name = "q", descriptor = "J") - private static volatile long aLong1314 = 0L; + private static volatile long breakConnectionsUntil = 0L; @OriginalMember(owner = "signlink!ll", name = "A", descriptor = "Lsignlink!ai;") - private AudioSource anInterface10_2; + private AudioSource audioSource; @OriginalMember(owner = "signlink!ll", name = "g", descriptor = "Lsignlink!qm;") - public FileOnDisk cacheData = null; + public FileOnDisk cacheData; @OriginalMember(owner = "signlink!ll", name = "p", descriptor = "Lsignlink!im;") - private PrivilegedRequest aClass212_7 = null; + private PrivilegedRequest requestQueueTail = null; @OriginalMember(owner = "signlink!ll", name = "f", descriptor = "Z") - private boolean aBoolean360 = false; + private boolean stop; @OriginalMember(owner = "signlink!ll", name = "h", descriptor = "Lsignlink!qm;") - public FileOnDisk cacheMasterIndex = null; + public FileOnDisk cacheMasterIndex; @OriginalMember(owner = "signlink!ll", name = "d", descriptor = "Lsignlink!qm;") - public FileOnDisk uid = null; + public FileOnDisk uid; @OriginalMember(owner = "signlink!ll", name = "y", descriptor = "Lsignlink!im;") - private PrivilegedRequest aClass212_8 = null; + private PrivilegedRequest requestQueueHead = null; @OriginalMember(owner = "signlink!ll", name = "i", descriptor = "Ljava/applet/Applet;") - public Applet applet = null; + public Applet applet; @OriginalMember(owner = "signlink!ll", name = "x", descriptor = "Ljava/lang/String;") - private final String aString19; + private final String cacheSubDir; @OriginalMember(owner = "signlink!ll", name = "z", descriptor = "I") - private final int anInt5929; + private final int cacheId; @OriginalMember(owner = "signlink!ll", name = "k", descriptor = "Ljava/awt/EventQueue;") public EventQueue eventQueue; @@ -96,23 +96,23 @@ public final class SignLink implements Runnable { public FileOnDisk[] cacheIndexes; @OriginalMember(owner = "signlink!ll", name = "t", descriptor = "Lsignlink!e;") - private FullScreenManager aClass210_1; + private FullScreenManager fullScreenManager; @OriginalMember(owner = "signlink!ll", name = "s", descriptor = "Lsignlink!g;") - private CursorManager aClass211_1; + private CursorManager cursorManager; @OriginalMember(owner = "signlink!ll", name = "m", descriptor = "Ljava/lang/Thread;") - private final Thread aThread3; + private final Thread thread; @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(ZLjava/lang/String;)Lsignlink!qm;") - private static FileOnDisk method5117(@OriginalArg(1) String arg0) { - @Pc(41) String[] local41 = new String[] { "c:/rscache/", "/rscache/", aString17, "c:/windows/", "c:/winnt/", "c:/", "/tmp/", "" }; - for (@Pc(43) int local43 = 0; local43 < local41.length; local43++) { - @Pc(51) String local51 = local41[local43]; - if (local51.length() <= 0 || (new File(local51)).exists()) { + private static FileOnDisk openPreferencesInternal(@OriginalArg(1) String cacheSubDir) { + @Pc(41) String[] cacheLocations = new String[] { "c:/rscache/", "/rscache/", homeDir, "c:/windows/", "c:/winnt/", "c:/", "/tmp/", "" }; + for (@Pc(43) int i = 0; i < cacheLocations.length; i++) { + @Pc(51) String cacheLocation = cacheLocations[i]; + if (cacheLocation.length() <= 0 || (new File(cacheLocation)).exists()) { try { - return new FileOnDisk(new File(local51, "jagex_" + arg0 + "_preferences.dat"), "rw", 10000L); - } catch (@Pc(84) Exception local84) { + return new FileOnDisk(new File(cacheLocation, "jagex_" + cacheSubDir + "_preferences.dat"), "rw", 10000L); + } catch (@Pc(84) Exception ex) { } } } @@ -120,43 +120,43 @@ public final class SignLink implements Runnable { } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/lang/String;IZLjava/lang/String;)Ljava/io/File;") - public static File method5127(@OriginalArg(0) String arg0, @OriginalArg(1) int arg1, @OriginalArg(3) String arg2) { - @Pc(4) File local4 = (File) aHashtable2.get(arg2); - if (local4 != null) { - return local4; + public static File getFile(@OriginalArg(0) String cacheSubDir, @OriginalArg(1) int storeId, @OriginalArg(3) String name) { + @Pc(4) File cachedFile = (File) fileCache.get(name); + if (cachedFile != null) { + return cachedFile; } - @Pc(53) String[] local53 = new String[] { "c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", aString17, "/tmp/", "" }; - @Pc(78) String[] local78 = new String[] { ".jagex_cache_" + arg1, ".file_store_" + arg1 }; - for (@Pc(80) int local80 = 0; local80 < 2; local80++) { - for (@Pc(87) int local87 = 0; local87 < local78.length; local87++) { - for (@Pc(93) int local93 = 0; local93 < local53.length; local93++) { - @Pc(128) String local128 = local53[local93] + local78[local87] + "/" + (arg0 == null ? "" : arg0 + "/") + arg2; - @Pc(130) RandomAccessFile local130 = null; + @Pc(53) String[] cacheLocations = new String[] { "c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", homeDir, "/tmp/", "" }; + @Pc(78) String[] cacheDirs = new String[] { ".jagex_cache_" + storeId, ".file_store_" + storeId }; + for (@Pc(80) int attempt = 0; attempt < 2; attempt++) { + for (@Pc(87) int i = 0; i < cacheDirs.length; i++) { + for (@Pc(93) int j = 0; j < cacheLocations.length; j++) { + @Pc(128) String path = cacheLocations[j] + cacheDirs[i] + "/" + (cacheSubDir == null ? "" : cacheSubDir + "/") + name; + @Pc(130) RandomAccessFile randomAccessFile = null; try { - @Pc(135) File local135 = new File(local128); - if (local80 != 0 || local135.exists()) { - @Pc(145) String local145 = local53[local93]; - if (local80 != 1 || local145.length() <= 0 || (new File(local145)).exists()) { - (new File(local53[local93] + local78[local87])).mkdir(); - if (arg0 != null) { - (new File(local53[local93] + local78[local87] + "/" + arg0)).mkdir(); + @Pc(135) File file = new File(path); + if (attempt != 0 || file.exists()) { + @Pc(145) String cacheLocation = cacheLocations[j]; + if (attempt != 1 || cacheLocation.length() <= 0 || (new File(cacheLocation)).exists()) { + (new File(cacheLocations[j] + cacheDirs[i])).mkdir(); + if (cacheSubDir != null) { + (new File(cacheLocations[j] + cacheDirs[i] + "/" + cacheSubDir)).mkdir(); } - local130 = new RandomAccessFile(local135, "rw"); - @Pc(210) int local210 = local130.read(); - local130.seek(0L); - local130.write(local210); - local130.seek(0L); - local130.close(); - aHashtable2.put(arg2, local135); - return local135; + randomAccessFile = new RandomAccessFile(file, "rw"); + @Pc(210) int firstByte = randomAccessFile.read(); + randomAccessFile.seek(0L); + randomAccessFile.write(firstByte); + randomAccessFile.seek(0L); + randomAccessFile.close(); + fileCache.put(name, file); + return file; } } - } catch (@Pc(229) Exception local229) { + } catch (@Pc(229) Exception ex) { try { - if (local130 != null) { - local130.close(); + if (randomAccessFile != null) { + randomAccessFile.close(); } - } catch (@Pc(239) Exception local239) { + } catch (@Pc(239) Exception ex2) { } } } @@ -166,11 +166,11 @@ public final class SignLink implements Runnable { } @OriginalMember(owner = "signlink!ll", name = "", descriptor = "(Ljava/applet/Applet;ILjava/lang/String;I)V") - public SignLink(@OriginalArg(0) Applet arg0, @OriginalArg(1) int arg1, @OriginalArg(2) String arg2, @OriginalArg(3) int arg3) throws Exception { + public SignLink(@OriginalArg(0) Applet applet, @OriginalArg(1) int cacheId, @OriginalArg(2) String cacheSubDir, @OriginalArg(3) int archiveCount) throws Exception { javaVersion = "1.1"; - this.aString19 = arg2; - this.anInt5929 = arg1; - this.applet = arg0; + this.cacheSubDir = cacheSubDir; + this.cacheId = cacheId; + this.applet = applet; javaVendor = "Unknown"; try { javaVendor = System.getProperty("java.vendor"); @@ -178,354 +178,346 @@ public final class SignLink implements Runnable { } catch (@Pc(43) Exception local43) { } try { - aString16 = System.getProperty("os.name"); + osNameRaw = System.getProperty("os.name"); } catch (@Pc(48) Exception local48) { - aString16 = "Unknown"; + osNameRaw = "Unknown"; } - aString15 = aString16.toLowerCase(); + osName = osNameRaw.toLowerCase(); try { - aString21 = System.getProperty("os.arch").toLowerCase(); + osArch = System.getProperty("os.arch").toLowerCase(); } catch (@Pc(59) Exception local59) { - aString21 = ""; + osArch = ""; } try { - aString18 = System.getProperty("os.version").toLowerCase(); + osVersion = System.getProperty("os.version").toLowerCase(); } catch (@Pc(67) Exception local67) { - aString18 = ""; + osVersion = ""; } try { - aString17 = System.getProperty("user.home"); - if (aString17 != null) { - aString17 = aString17 + "/"; + homeDir = System.getProperty("user.home"); + if (homeDir != null) { + homeDir = homeDir + "/"; } - } catch (@Pc(86) Exception local86) { + } catch (@Pc(86) Exception ex) { } - if (aString17 == null) { - aString17 = "~/"; + if (homeDir == null) { + homeDir = "~/"; } try { this.eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue(); - } catch (@Pc(97) Throwable local97) { + } catch (@Pc(97) Throwable ex) { } try { - if (arg0 == null) { - aMethod6 = Class.forName("java.awt.Component").getDeclaredMethod("setFocusTraversalKeysEnabled", Boolean.TYPE); + if (applet == null) { + setFocusTraversalKeysEnabled = Class.forName("java.awt.Component").getDeclaredMethod("setFocusTraversalKeysEnabled", Boolean.TYPE); } else { - aMethod6 = arg0.getClass().getMethod("setFocusTraversalKeysEnabled", Boolean.TYPE); + setFocusTraversalKeysEnabled = applet.getClass().getMethod("setFocusTraversalKeysEnabled", Boolean.TYPE); } - } catch (@Pc(125) Exception local125) { + } catch (@Pc(125) Exception ex) { } try { - if (arg0 == null) { + if (applet == null) { setFocusCycleRoot = Class.forName("java.awt.Container").getDeclaredMethod("setFocusCycleRoot", Boolean.TYPE); } else { - setFocusCycleRoot = arg0.getClass().getMethod("setFocusCycleRoot", Boolean.TYPE); + setFocusCycleRoot = applet.getClass().getMethod("setFocusCycleRoot", Boolean.TYPE); } - } catch (@Pc(153) Exception local153) { + } catch (@Pc(153) Exception ex) { } - this.uid = new FileOnDisk(method5127(null, this.anInt5929, "random.dat"), "rw", 25L); - this.cacheData = new FileOnDisk(method5127(this.aString19, this.anInt5929, "main_file_cache.dat2"), "rw", 104857600L); - this.cacheMasterIndex = new FileOnDisk(method5127(this.aString19, this.anInt5929, "main_file_cache.idx255"), "rw", 1048576L); - this.cacheIndexes = new FileOnDisk[arg3]; - for (@Pc(200) int local200 = 0; local200 < arg3; local200++) { - this.cacheIndexes[local200] = new FileOnDisk(method5127(this.aString19, this.anInt5929, "main_file_cache.idx" + local200), "rw", 1048576L); + this.uid = new FileOnDisk(getFile(null, this.cacheId, "random.dat"), "rw", 25L); + this.cacheData = new FileOnDisk(getFile(this.cacheSubDir, this.cacheId, "main_file_cache.dat2"), "rw", 104857600L); + this.cacheMasterIndex = new FileOnDisk(getFile(this.cacheSubDir, this.cacheId, "main_file_cache.idx255"), "rw", 1048576L); + this.cacheIndexes = new FileOnDisk[archiveCount]; + for (@Pc(200) int i = 0; i < archiveCount; i++) { + this.cacheIndexes[i] = new FileOnDisk(getFile(this.cacheSubDir, this.cacheId, "main_file_cache.idx" + i), "rw", 1048576L); } try { - this.aClass210_1 = new FullScreenManager(); - } catch (@Pc(239) Throwable local239) { + this.fullScreenManager = new FullScreenManager(); + } catch (@Pc(239) Throwable ex) { } try { - this.aClass211_1 = new CursorManager(); - } catch (@Pc(246) Throwable local246) { + this.cursorManager = new CursorManager(); + } catch (@Pc(246) Throwable ex) { } - @Pc(249) ThreadGroup local249 = Thread.currentThread().getThreadGroup(); - for (@Pc(252) ThreadGroup local252 = local249.getParent(); local252 != null; local252 = local252.getParent()) { - local249 = local252; + @Pc(249) ThreadGroup rootGroup = Thread.currentThread().getThreadGroup(); + for (@Pc(252) ThreadGroup group = rootGroup.getParent(); group != null; group = group.getParent()) { + rootGroup = group; } - @Pc(263) Thread[] local263 = new Thread[1000]; - local249.enumerate(local263); - for (@Pc(269) int local269 = 0; local269 < local263.length; local269++) { - if (local263[local269] != null && local263[local269].getName().startsWith("AWT")) { - local263[local269].setPriority(1); + @Pc(263) Thread[] threads = new Thread[1000]; + rootGroup.enumerate(threads); + for (@Pc(269) int i = 0; i < threads.length; i++) { + if (threads[i] != null && threads[i].getName().startsWith("AWT")) { + threads[i].setPriority(1); } } - this.aBoolean360 = false; - this.aThread3 = new Thread(this); - this.aThread3.setPriority(10); - this.aThread3.setDaemon(true); - this.aThread3.start(); + this.stop = false; + this.thread = new Thread(this); + this.thread.setPriority(10); + this.thread.setDaemon(true); + this.thread.start(); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(I)V") - public final void method5110() { - aLong1314 = MonotonicClock.currentTimeMillis() + 5000L; + public final void breakConnection() { + breakConnectionsUntil = MonotonicClock.currentTimeMillis() + 5000L; } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Z)Z") - public final boolean method5111() { - return this.aClass210_1 != null; + public final boolean isFullScreenSupported() { + return this.fullScreenManager != null; } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/lang/String;I)Lsignlink!im;") - public final PrivilegedRequest method5112(@OriginalArg(0) String arg0) { - return this.method5114(12, 0, arg0, 0); + public final PrivilegedRequest openPreferences(@OriginalArg(0) String cacheSubDir) { + return this.enqueue(12, 0, cacheSubDir, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "([IIILjava/awt/Component;Ljava/awt/Point;I)Lsignlink!im;") - public final PrivilegedRequest method5113(@OriginalArg(0) int[] arg0, @OriginalArg(2) int arg1, @OriginalArg(3) Component arg2, @OriginalArg(4) Point arg3, @OriginalArg(5) int arg4) { - return this.method5114(17, arg4, new Object[] { arg2, arg0, arg3 }, arg1); + public final PrivilegedRequest setCursor(@OriginalArg(0) int[] pixels, @OriginalArg(2) int width, @OriginalArg(3) Component component, @OriginalArg(4) Point hotSpot, @OriginalArg(5) int height) { + return this.enqueue(17, height, new Object[] { component, pixels, hotSpot }, width); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(IILjava/lang/Object;II)Lsignlink!im;") - private PrivilegedRequest method5114(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Object arg2, @OriginalArg(3) int arg3) { - @Pc(3) PrivilegedRequest local3 = new PrivilegedRequest(); - local3.anInt5927 = arg1; - local3.anInt5926 = arg3; - local3.anInt5924 = arg0; - local3.anObject7 = arg2; + private PrivilegedRequest enqueue(@OriginalArg(0) int type, @OriginalArg(1) int intArg1, @OriginalArg(2) Object objectArg, @OriginalArg(3) int intArg2) { + @Pc(3) PrivilegedRequest request = new PrivilegedRequest(); + request.intArg1 = intArg1; + request.intArg2 = intArg2; + request.type = type; + request.objectArg = objectArg; synchronized (this) { - if (this.aClass212_7 == null) { - this.aClass212_7 = this.aClass212_8 = local3; + if (this.requestQueueTail == null) { + this.requestQueueTail = this.requestQueueHead = request; } else { - this.aClass212_7.aClass212_6 = local3; - this.aClass212_7 = local3; + this.requestQueueTail.next = request; + this.requestQueueTail = request; } this.notify(); - return local3; + return request; } } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/awt/Frame;I)Lsignlink!im;") - public final PrivilegedRequest method5115(@OriginalArg(0) Frame arg0) { - return this.method5114(7, 0, arg0, 0); + public final PrivilegedRequest exitFullScreen(@OriginalArg(0) Frame frame) { + return this.enqueue(7, 0, frame, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(ZLjava/net/URL;)Lsignlink!im;") - public final PrivilegedRequest method5118(@OriginalArg(1) URL arg0) { - return this.method5114(4, 0, arg0, 0); + public final PrivilegedRequest openUrlStream(@OriginalArg(1) URL url) { + return this.enqueue(4, 0, url, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(BLjava/lang/String;I)Lsignlink!im;") - public final PrivilegedRequest openSocket(@OriginalArg(1) String arg0, @OriginalArg(2) int arg1) { - return this.method5114(1, 0, arg0, arg1); + public final PrivilegedRequest openSocket(@OriginalArg(1) String hostname, @OriginalArg(2) int port) { + return this.enqueue(1, 0, hostname, port); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/lang/Class;I)Lsignlink!im;") - public final PrivilegedRequest method5121(@OriginalArg(0) Class arg0) { - return this.method5114(11, 0, arg0, 0); + public final PrivilegedRequest unloadGlNatives(@OriginalArg(0) Class targetClass) { + return this.enqueue(11, 0, targetClass, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/lang/Class;[Ljava/lang/Class;ILjava/lang/String;)Lsignlink!im;") - public final PrivilegedRequest method5122(@OriginalArg(0) Class arg0, @OriginalArg(1) Class[] arg1, @OriginalArg(3) String arg2) { - return this.method5114(8, 0, new Object[] { arg0, arg2, arg1 }, 0); + public final PrivilegedRequest getDeclaredMethod(@OriginalArg(0) Class targetClass, @OriginalArg(1) Class[] parameterTypes, @OriginalArg(3) String name) { + return this.enqueue(8, 0, new Object[] { targetClass, name, parameterTypes }, 0); } @OriginalMember(owner = "signlink!ll", name = "run", descriptor = "()V") @Override public final void run() { while (true) { - @Pc(16) PrivilegedRequest local16; + @Pc(16) PrivilegedRequest request; synchronized (this) { while (true) { - if (this.aBoolean360) { + if (this.stop) { return; } - if (this.aClass212_8 != null) { - local16 = this.aClass212_8; - this.aClass212_8 = this.aClass212_8.aClass212_6; - if (this.aClass212_8 == null) { - this.aClass212_7 = null; + if (this.requestQueueHead != null) { + request = this.requestQueueHead; + this.requestQueueHead = this.requestQueueHead.next; + if (this.requestQueueHead == null) { + this.requestQueueTail = null; } break; } try { this.wait(); - } catch (@Pc(33) InterruptedException local33) { + } catch (@Pc(33) InterruptedException ex) { } } } try { - @Pc(45) int local45 = local16.anInt5924; - if (local45 == 1) { - if (aLong1314 > MonotonicClock.currentTimeMillis()) { + @Pc(45) int type = request.type; + @Pc(687) Object[] args; + if (type == 1) { + if (breakConnectionsUntil > MonotonicClock.currentTimeMillis()) { throw new IOException(); } - local16.result = new Socket(InetAddress.getByName((String) local16.anObject7), local16.anInt5926); - } else if (local45 == 2) { - @Pc(813) Thread local813 = new Thread((Runnable) local16.anObject7); - local813.setDaemon(true); - local813.start(); - local813.setPriority(local16.anInt5926); - local16.result = local813; - } else if (local45 == 4) { - if (aLong1314 > MonotonicClock.currentTimeMillis()) { + request.result = new Socket(InetAddress.getByName((String) request.objectArg), request.intArg2); + } else if (type == 2) { + @Pc(813) Thread thread = new Thread((Runnable) request.objectArg); + thread.setDaemon(true); + thread.start(); + thread.setPriority(request.intArg2); + request.result = thread; + } else if (type == 3) { + if (MonotonicClock.currentTimeMillis() < breakConnectionsUntil) { throw new IOException(); } - local16.result = new DataInputStream(((URL) local16.anObject7).openStream()); - } else { - @Pc(687) Object[] local687; - if (local45 == 8) { - local687 = (Object[]) local16.anObject7; - if (((Class) local687[0]).getClassLoader() == null) { - throw new SecurityException(); + @Pc(147) String ip = (request.intArg2 >> 24 & 0xFF) + "." + (request.intArg2 >> 16 & 0xFF) + "." + (request.intArg2 >> 8 & 0xFF) + "." + (request.intArg2 & 0xFF); + request.result = InetAddress.getByName(ip).getHostName(); + } else if (type == 4) { + if (breakConnectionsUntil > MonotonicClock.currentTimeMillis()) { + throw new IOException(); + } + request.result = new DataInputStream(((URL) request.objectArg).openStream()); + } else if (type == 5) { + request.result = this.fullScreenManager.getDisplayModes(); + } else if (type == 6) { + @Pc(168) Frame frame = new Frame("Jagex Full Screen"); + request.result = frame; + frame.setResizable(false); + this.fullScreenManager.enter(request.intArg1 & 0xFFFF, request.intArg1 >> 16, request.intArg2 & 0xFFFF, frame, request.intArg2 >>> 16); + } else if (type == 7) { + this.fullScreenManager.exit(); + } else if (type == 8) { + args = (Object[]) request.objectArg; + if (((Class) args[0]).getClassLoader() == null) { + throw new SecurityException(); + } + request.result = ((Class) args[0]).getDeclaredMethod((String) args[1], (Class[]) args[2]); + } else if (type == 9) { + args = (Object[]) request.objectArg; + if (((Class) args[0]).getClassLoader() == null) { + throw new SecurityException(); + } + request.result = ((Class) args[0]).getDeclaredField((String) args[1]); + } else if (type == 10) { + GLProfile.initSingleton(); + } else if (type == 11) { + GLProfile.shutdown(); + } else if (type == 12) { + String cacheSubDir = (String) request.objectArg; + @Pc(558) FileOnDisk preferences = openPreferencesInternal(cacheSubDir); + request.result = preferences; + } else if (type == 14) { + @Pc(570) int x = request.intArg1; + @Pc(573) int y = request.intArg2; + this.cursorManager.setPosition(y, x); + } else if (type == 15) { + @Pc(591) boolean reset = request.intArg2 != 0; + @Pc(595) Component component = (Component) request.objectArg; + this.cursorManager.setComponent(component, reset); + } else if (type == 17) { + args = (Object[]) request.objectArg; + this.cursorManager.setCursor((Point) args[2], request.intArg2, (Component) args[0], request.intArg1, (int[]) args[1]); + } else if (type == 16) { + try { + if (!osName.startsWith("win")) { + throw new Exception(); } - local16.result = ((Class) local687[0]).getDeclaredMethod((String) local687[1], (Class[]) local687[2]); - } else if (local45 == 9) { - local687 = (Object[]) local16.anObject7; - if (((Class) local687[0]).getClassLoader() == null) { - throw new SecurityException(); + String url = (String) request.objectArg; + if (!url.startsWith("http://") && !url.startsWith("https://")) { + throw new Exception(); } - local16.result = ((Class) local687[0]).getDeclaredField((String) local687[1]); - } else { - @Pc(147) String local147; - if (local45 == 3) { - if (MonotonicClock.currentTimeMillis() < aLong1314) { - throw new IOException(); - } - local147 = (local16.anInt5926 >> 24 & 0xFF) + "." + (local16.anInt5926 >> 16 & 0xFF) + "." + (local16.anInt5926 >> 8 & 0xFF) + "." + (local16.anInt5926 & 0xFF); - local16.result = InetAddress.getByName(local147).getHostName(); - } else if (local45 == 5) { - local16.result = this.aClass210_1.method5105(); - } else if (local45 == 6) { - @Pc(168) Frame local168 = new Frame("Jagex Full Screen"); - local16.result = local168; - local168.setResizable(false); - this.aClass210_1.method5104(local16.anInt5927 & 0xFFFF, local16.anInt5927 >> 16, local16.anInt5926 & 0xFFFF, local168, local16.anInt5926 >>> 16); - } else if (local45 == 7) { - this.aClass210_1.method5106(); - } else if (local45 == 10) { - GLProfile.initSingleton(); - } else { - @Pc(490) int local490; - if (local45 == 11) { - GLProfile.shutdown(); - } else if (local45 == 12) { - local147 = (String) local16.anObject7; - @Pc(558) FileOnDisk local558 = method5117(local147); - local16.result = local558; - } else if (local45 == 14) { - @Pc(570) int local570 = local16.anInt5927; - @Pc(573) int local573 = local16.anInt5926; - this.aClass211_1.method5108(local573, local570); - } else if (local45 == 15) { - @Pc(591) boolean local591 = local16.anInt5926 != 0; - @Pc(595) Component local595 = (Component) local16.anObject7; - this.aClass211_1.method5109(local595, local591); - } else if (local45 == 17) { - local687 = (Object[]) local16.anObject7; - this.aClass211_1.method5107((Point) local687[2], local16.anInt5926, (Component) local687[0], local16.anInt5927, (int[]) local687[1]); - } else if (local45 == 16) { - try { - if (!aString15.startsWith("win")) { - throw new Exception(); - } - local147 = (String) local16.anObject7; - if (!local147.startsWith("http://") && !local147.startsWith("https://")) { - throw new Exception(); - } - @Pc(636) String local636 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; - for (local490 = 0; local490 < local147.length(); local490++) { - if (local636.indexOf(local147.charAt(local490)) == -1) { - throw new Exception(); - } - } - Runtime.getRuntime().exec("cmd /c start \"j\" \"" + local147 + "\""); - local16.result = null; - } catch (@Pc(674) Exception local674) { - local16.result = local674; - } - } else { + @Pc(636) String safeChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + for (@Pc(490) int i = 0; i < url.length(); i++) { + if (safeChars.indexOf(url.charAt(i)) == -1) { throw new Exception(); } } + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + url + "\""); + request.result = null; + } catch (@Pc(674) Exception ex) { + request.result = ex; } + } else { + throw new Exception(); } - local16.status = 1; - } catch (@Pc(830) ThreadDeath local830) { - throw local830; - } catch (@Pc(833) Throwable local833) { - local16.status = 2; + request.status = 1; + } catch (@Pc(830) ThreadDeath ex) { + throw ex; + } catch (@Pc(833) Throwable ex) { + request.status = 2; } } } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(ILjava/lang/Class;)Lsignlink!im;") - public final PrivilegedRequest method5123(@OriginalArg(1) Class arg0) { - return this.method5114(10, 0, arg0, 0); + public final PrivilegedRequest loadGlNatives(@OriginalArg(1) Class targetClass) { + return this.enqueue(10, 0, targetClass, 0); } @OriginalMember(owner = "signlink!ll", name = "b", descriptor = "(I)V") public final void stop() { synchronized (this) { - this.aBoolean360 = true; + this.stop = true; this.notifyAll(); } try { - this.aThread3.join(); - } catch (@Pc(21) InterruptedException local21) { + this.thread.join(); + } catch (@Pc(21) InterruptedException ex) { } if (this.cacheData != null) { try { - this.cacheData.method5136(); - } catch (@Pc(39) IOException local39) { + this.cacheData.close(); + } catch (@Pc(39) IOException ex) { } } if (this.cacheMasterIndex != null) { try { - this.cacheMasterIndex.method5136(); - } catch (@Pc(49) IOException local49) { + this.cacheMasterIndex.close(); + } catch (@Pc(49) IOException ex) { } } if (this.cacheIndexes != null) { - for (@Pc(55) int local55 = 0; local55 < this.cacheIndexes.length; local55++) { - if (this.cacheIndexes[local55] != null) { + for (@Pc(55) int i = 0; i < this.cacheIndexes.length; i++) { + if (this.cacheIndexes[i] != null) { try { - this.cacheIndexes[local55].method5136(); - } catch (@Pc(79) IOException local79) { + this.cacheIndexes[i].close(); + } catch (@Pc(79) IOException ex) { } } } } if (this.uid != null) { try { - this.uid.method5136(); - } catch (@Pc(93) IOException local93) { + this.uid.close(); + } catch (@Pc(93) IOException ex) { } } } @OriginalMember(owner = "signlink!ll", name = "b", descriptor = "(B)Lsignlink!ai;") - public final AudioSource method5125() { - return this.anInterface10_2; + public final AudioSource getAudioSource() { + return this.audioSource; } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(ILjava/lang/String;Ljava/lang/Class;)Lsignlink!im;") - public final PrivilegedRequest method5126(@OriginalArg(1) String arg0, @OriginalArg(2) Class arg1) { - return this.method5114(9, 0, new Object[] { arg1, arg0 }, 0); + public final PrivilegedRequest getDeclaredField(@OriginalArg(1) String name, @OriginalArg(2) Class targetClass) { + return this.enqueue(9, 0, new Object[] { targetClass, name }, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(II)Lsignlink!im;") - public final PrivilegedRequest method5128(@OriginalArg(1) int arg0) { - return this.method5114(3, 0, null, arg0); + public final PrivilegedRequest getReverseDns(@OriginalArg(1) int ip) { + return this.enqueue(3, 0, null, ip); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(IIIII)Lsignlink!im;") - public final PrivilegedRequest method5129(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - return this.method5114(6, arg0 << 16, null, (arg2 << 16) + arg1); + public final PrivilegedRequest enterFullScreen(@OriginalArg(1) int bitDepth, @OriginalArg(2) int height, @OriginalArg(3) int width) { + return this.enqueue(6, bitDepth << 16, null, (width << 16) + height); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(IILjava/lang/Runnable;)Lsignlink!im;") - public final PrivilegedRequest startThread(@OriginalArg(1) int arg0, @OriginalArg(2) Runnable arg1) { - return this.method5114(2, 0, arg1, arg0); + public final PrivilegedRequest startThread(@OriginalArg(1) int priority, @OriginalArg(2) Runnable runnable) { + return this.enqueue(2, 0, runnable, priority); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(Ljava/lang/String;Z)Lsignlink!im;") - public final PrivilegedRequest method5131(@OriginalArg(0) String arg0) { - return this.method5114(16, 0, arg0, 0); + public final PrivilegedRequest openUrl(@OriginalArg(0) String url) { + return this.enqueue(16, 0, url, 0); } @OriginalMember(owner = "signlink!ll", name = "a", descriptor = "(B)Lsignlink!im;") - public final PrivilegedRequest method5132() { - return this.method5114(5, 0, null, 0); + public final PrivilegedRequest getDisplayModes() { + return this.enqueue(5, 0, null, 0); } }