diff --git a/client/src/main/java/rt4/Camera.java b/client/src/main/java/rt4/Camera.java
index be35792..bf0c7de 100644
--- a/client/src/main/java/rt4/Camera.java
+++ b/client/src/main/java/rt4/Camera.java
@@ -63,4 +63,169 @@ public class Camera {
Static234.anInt5245 += (local64 - Static234.anInt5245) / 80;
}
}
+
+ @OriginalMember(owner = "client!jl", name = "c", descriptor = "(I)V")
+ public static void updateLockedCamera() {
+ @Pc(9) int local9 = Static248.anInt4232 * 128 + 64;
+ @Pc(15) int local15 = Static245.anInt5375 * 128 + 64;
+ @Pc(23) int local23 = SceneGraph.getTileHeight(Player.level, local15, local9) - Static231.anInt5203;
+ if (Static113.anInt4612 >= 100) {
+ Static138.renderX = Static245.anInt5375 * 128 + 64;
+ Static134.renderZ = Static248.anInt4232 * 128 + 64;
+ Static5.anInt40 = SceneGraph.getTileHeight(Player.level, Static138.renderX, Static134.renderZ) - Static231.anInt5203;
+ } else {
+ if (Static138.renderX < local15) {
+ Static138.renderX += Static233.anInt5225 + Static113.anInt4612 * (local15 - Static138.renderX) / 1000;
+ if (Static138.renderX > local15) {
+ Static138.renderX = local15;
+ }
+ }
+ if (Static5.anInt40 < local23) {
+ Static5.anInt40 += (local23 - Static5.anInt40) * Static113.anInt4612 / 1000 + Static233.anInt5225;
+ if (Static5.anInt40 > local23) {
+ Static5.anInt40 = local23;
+ }
+ }
+ if (Static138.renderX > local15) {
+ Static138.renderX -= Static233.anInt5225 + (Static138.renderX - local15) * Static113.anInt4612 / 1000;
+ if (Static138.renderX < local15) {
+ Static138.renderX = local15;
+ }
+ }
+ if (Static134.renderZ < local9) {
+ Static134.renderZ += Static233.anInt5225 + Static113.anInt4612 * (local9 - Static134.renderZ) / 1000;
+ if (local9 < Static134.renderZ) {
+ Static134.renderZ = local9;
+ }
+ }
+ if (local23 < Static5.anInt40) {
+ Static5.anInt40 -= (Static5.anInt40 - local23) * Static113.anInt4612 / 1000 + Static233.anInt5225;
+ if (local23 > Static5.anInt40) {
+ Static5.anInt40 = local23;
+ }
+ }
+ if (Static134.renderZ > local9) {
+ Static134.renderZ -= Static233.anInt5225 + (Static134.renderZ - local9) * Static113.anInt4612 / 1000;
+ if (local9 > Static134.renderZ) {
+ Static134.renderZ = local9;
+ }
+ }
+ }
+ local9 = Static265.anInt5765 * 128 + 64;
+ local15 = Static251.anInt5449 * 128 + 64;
+ local23 = SceneGraph.getTileHeight(Player.level, local15, local9) - Static260.anInt1744;
+ @Pc(236) int local236 = local23 - Static5.anInt40;
+ @Pc(241) int local241 = local9 - Static134.renderZ;
+ @Pc(246) int local246 = local15 - Static138.renderX;
+ @Pc(257) int local257 = (int) Math.sqrt((double) (local246 * local246 + local241 * local241));
+ @Pc(268) int local268 = (int) (Math.atan2((double) local236, (double) local257) * 325.949D) & 0x7FF;
+ if (local268 < 128) {
+ local268 = 128;
+ }
+ if (local268 > 383) {
+ local268 = 383;
+ }
+ @Pc(292) int local292 = (int) (-325.949D * Math.atan2((double) local246, (double) local241)) & 0x7FF;
+ if (Static240.cameraPitch < local268) {
+ Static240.cameraPitch += Static133.anInt5230 + Static233.anInt5217 * (local268 - Static240.cameraPitch) / 1000;
+ if (Static240.cameraPitch > local268) {
+ Static240.cameraPitch = local268;
+ }
+ }
+ if (Static240.cameraPitch > local268) {
+ Static240.cameraPitch -= (Static240.cameraPitch - local268) * Static233.anInt5217 / 1000 + Static133.anInt5230;
+ if (Static240.cameraPitch < local268) {
+ Static240.cameraPitch = local268;
+ }
+ }
+ @Pc(350) int local350 = local292 - Static184.cameraYaw;
+ if (local350 > 1024) {
+ local350 -= 2048;
+ }
+ if (local350 < -1024) {
+ local350 += 2048;
+ }
+ if (local350 > 0) {
+ Static184.cameraYaw += local350 * Static233.anInt5217 / 1000 + Static133.anInt5230;
+ Static184.cameraYaw &= 0x7FF;
+ }
+ if (local350 < 0) {
+ Static184.cameraYaw -= Static233.anInt5217 * -local350 / 1000 + Static133.anInt5230;
+ Static184.cameraYaw &= 0x7FF;
+ }
+ @Pc(404) int local404 = local292 - Static184.cameraYaw;
+ if (local404 > 1024) {
+ local404 -= 2048;
+ }
+ if (local404 < -1024) {
+ local404 += 2048;
+ }
+ if (local404 < 0 && local350 > 0 || local404 > 0 && local350 < 0) {
+ Static184.cameraYaw = local292;
+ }
+ }
+
+ @OriginalMember(owner = "client!da", name = "d", descriptor = "(I)V")
+ public static void updateLoginScreenCamera() {
+ if (Static155.anInt3718 == -1 || Static52.anInt1694 == -1) {
+ return;
+ }
+ @Pc(27) int local27 = (Static233.anInt5224 * (Static114.anInt5843 - Static228.anInt5101) >> 16) + Static228.anInt5101;
+ @Pc(30) float[] renderCoordinates = new float[3];
+ Static233.anInt5224 += local27;
+ if (Static233.anInt5224 >= 65535) {
+ Static233.anInt5224 = 65535;
+ if (Static186.aBoolean205) {
+ Static13.aBoolean16 = false;
+ } else {
+ Static13.aBoolean16 = true;
+ }
+ Static186.aBoolean205 = true;
+ } else {
+ Static186.aBoolean205 = false;
+ Static13.aBoolean16 = false;
+ }
+ @Pc(66) float local66 = (float) Static233.anInt5224 / 65535.0F;
+ @Pc(70) int local70 = Static127.anInt3125 * 2;
+ @Pc(141) int local141;
+ @Pc(131) int local131;
+ @Pc(111) int local111;
+ @Pc(119) int local119;
+ @Pc(146) int local146;
+ @Pc(155) int local155;
+ @Pc(173) int local173;
+ for (@Pc(72) int local72 = 0; local72 < 3; local72++) {
+ local111 = (Static107.anIntArrayArrayArray9[Static155.anInt3718][local70 + 2][local72] + Static107.anIntArrayArrayArray9[Static155.anInt3718][local70 + 2][local72] - Static107.anIntArrayArrayArray9[Static155.anInt3718][local70 + 3][local72]) * 3;
+ local119 = Static107.anIntArrayArrayArray9[Static155.anInt3718][local70][local72];
+ local131 = Static107.anIntArrayArrayArray9[Static155.anInt3718][local70 + 1][local72] * 3;
+ local141 = Static107.anIntArrayArrayArray9[Static155.anInt3718][local70][local72] * 3;
+ local146 = local131 - local141;
+ local155 = local111 + local141 - local131 * 2;
+ local173 = Static107.anIntArrayArrayArray9[Static155.anInt3718][local70 + 2][local72] + local131 - local119 - local111;
+ renderCoordinates[local72] = (float) local119 + (((float) local173 * local66 + (float) local155) * local66 + (float) local146) * local66;
+ }
+ Static5.anInt40 = (int) renderCoordinates[1] * -1;
+ Static138.renderX = (int) renderCoordinates[0] - Static225.originX * 128;
+ Static134.renderZ = (int) renderCoordinates[2] - Static142.originZ * 128;
+ @Pc(226) float[] local226 = new float[3];
+ local141 = Static75.anInt2119 * 2;
+ for (local131 = 0; local131 < 3; local131++) {
+ local111 = Static107.anIntArrayArrayArray9[Static52.anInt1694][local141][local131] * 3;
+ local146 = (Static107.anIntArrayArrayArray9[Static52.anInt1694][local141 + 2][local131] + Static107.anIntArrayArrayArray9[Static52.anInt1694][local141 + 2][local131] - Static107.anIntArrayArrayArray9[Static52.anInt1694][local141 + 3][local131]) * 3;
+ local155 = Static107.anIntArrayArrayArray9[Static52.anInt1694][local141][local131];
+ local119 = Static107.anIntArrayArrayArray9[Static52.anInt1694][local141 + 1][local131] * 3;
+ local173 = local119 - local111;
+ @Pc(313) int local313 = local146 + local111 - local119 * 2;
+ @Pc(331) int local331 = Static107.anIntArrayArrayArray9[Static52.anInt1694][local141 + 2][local131] + local119 - local146 - local155;
+ local226[local131] = (float) local155 + local66 * (local66 * (local66 * (float) local331 + (float) local313) + (float) local173);
+ }
+ @Pc(363) float local363 = local226[0] - renderCoordinates[0];
+ @Pc(371) float local371 = local226[2] - renderCoordinates[2];
+ @Pc(382) float local382 = (local226[1] - renderCoordinates[1]) * -1.0F;
+ @Pc(392) double local392 = Math.sqrt((double) (local371 * local371 + local363 * local363));
+ Static146.aFloat15 = (float) Math.atan2((double) local382, local392);
+ Static84.aFloat10 = -((float) Math.atan2((double) local363, (double) local371));
+ Static240.cameraPitch = (int) ((double) Static146.aFloat15 * 325.949D) & 0x7FF;
+ Static184.cameraYaw = (int) ((double) Static84.aFloat10 * 325.949D) & 0x7FF;
+ }
}
diff --git a/client/src/main/java/rt4/Font.java b/client/src/main/java/rt4/Font.java
index 09fe672..6faeb3f 100644
--- a/client/src/main/java/rt4/Font.java
+++ b/client/src/main/java/rt4/Font.java
@@ -336,7 +336,7 @@ public abstract class Font extends SecondaryNode {
}
@OriginalMember(owner = "client!rk", name = "a", descriptor = "(Lclient!na;IIII)V")
- public final void method2857(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
+ public final void renderLeft(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
if (arg0 != null) {
this.setColors(arg3, arg4);
this.render(arg0, arg1, arg2);
diff --git a/client/src/main/java/rt4/Fonts.java b/client/src/main/java/rt4/Fonts.java
index a4f4e04..c3d8e82 100644
--- a/client/src/main/java/rt4/Fonts.java
+++ b/client/src/main/java/rt4/Fonts.java
@@ -47,7 +47,7 @@ public class Fonts {
public static void load(@OriginalArg(0) Js5 arg0, @OriginalArg(2) Js5 arg1) {
p11Full = Static127.method2462(Sprites.p11FullId, arg1, arg0);
if (GlRenderer.enabled) {
- p11FullSoftware = Static122.method2412(Sprites.p11FullId, arg0, arg1);
+ p11FullSoftware = SoftwareFont.method2412(Sprites.p11FullId, arg0, arg1);
} else {
p11FullSoftware = (SoftwareFont) p11Full;
}
diff --git a/client/src/main/java/rt4/FriendsList.java b/client/src/main/java/rt4/FriendsList.java
index 4bfa973..4028dde 100644
--- a/client/src/main/java/rt4/FriendsList.java
+++ b/client/src/main/java/rt4/FriendsList.java
@@ -110,4 +110,17 @@ public class FriendsList {
Protocol.outboundBuffer.p1a(arg1);
Protocol.outboundBuffer.p8(arg0.encode37());
}
+
+ @OriginalMember(owner = "client!ac", name = "a", descriptor = "(Lclient!na;I)I")
+ public static int method25(@OriginalArg(0) JagString arg0) {
+ if (arg0 == null) {
+ return -1;
+ }
+ for (@Pc(20) int local20 = 0; local20 < size; local20++) {
+ if (arg0.equalsIgnoreCase(usernames[local20])) {
+ return local20;
+ }
+ }
+ return -1;
+ }
}
diff --git a/client/src/main/java/rt4/GameShell.java b/client/src/main/java/rt4/GameShell.java
index aa6a4b3..b4814f1 100644
--- a/client/src/main/java/rt4/GameShell.java
+++ b/client/src/main/java/rt4/GameShell.java
@@ -582,8 +582,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
try {
leftMargin = 0;
clientBuild = 530;
- frameWidth = 765;
- frameHeight = 503;
+ frameWidth = 1024;
+ frameHeight = 768;
canvasWidth = frameWidth;
canvasHeight = frameHeight;
topMargin = 0;
diff --git a/client/src/main/java/rt4/GlRaster.java b/client/src/main/java/rt4/GlRaster.java
index 6ef58fe..0e70142 100644
--- a/client/src/main/java/rt4/GlRaster.java
+++ b/client/src/main/java/rt4/GlRaster.java
@@ -158,7 +158,7 @@ public final class GlRaster {
}
@OriginalMember(owner = "client!dj", name = "c", descriptor = "(IIIIII)V")
- public static void method1182(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
+ public static void fillRectAlpha(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
GlRenderer.method4162();
@Pc(3) float local3 = (float) arg0;
@Pc(8) float local8 = local3 + (float) arg2;
diff --git a/client/src/main/java/rt4/GlSprite.java b/client/src/main/java/rt4/GlSprite.java
index 3932de4..f91e5a3 100644
--- a/client/src/main/java/rt4/GlSprite.java
+++ b/client/src/main/java/rt4/GlSprite.java
@@ -207,7 +207,7 @@ public class GlSprite extends Sprite {
@OriginalMember(owner = "client!cf", name = "d", descriptor = "(II)V")
@Override
- public final void method1421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
+ public final void renderHorizontalFlipTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
GlRenderer.method4149();
@Pc(5) int local5 = arg0 + this.anInt1863;
@Pc(10) int local10 = arg1 + this.anInt1861;
diff --git a/client/src/main/java/rt4/Inv.java b/client/src/main/java/rt4/Inv.java
index 0863500..c62ebe2 100644
--- a/client/src/main/java/rt4/Inv.java
+++ b/client/src/main/java/rt4/Inv.java
@@ -112,4 +112,9 @@ public final class Inv extends Node {
local14.unlink();
}
}
+
+ @OriginalMember(owner = "client!hn", name = "f", descriptor = "(B)V")
+ public static void method2073() {
+ objectContainerCache = new HashTable(32);
+ }
}
diff --git a/client/src/main/java/rt4/JagString.java b/client/src/main/java/rt4/JagString.java
index 6d26f83..96c8243 100644
--- a/client/src/main/java/rt4/JagString.java
+++ b/client/src/main/java/rt4/JagString.java
@@ -188,6 +188,11 @@ public final class JagString implements StringInterface {
return arg0 == 198 || arg0 == 230 || arg0 == 156 || arg0 == 140 || arg0 == 223;
}
+ @OriginalMember(owner = "client!ih", name = "a", descriptor = "(ZII)Lclient!na;")
+ public static JagString parseIntTrue(@OriginalArg(2) int arg0) {
+ return parseInt(true, arg0);
+ }
+
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Z)Ljava/net/URL;")
public final URL method3107() throws MalformedURLException {
return new URL(new String(this.chars, 0, this.length));
@@ -283,12 +288,7 @@ public final class JagString implements StringInterface {
@OriginalMember(owner = "client!na", name = "a", descriptor = "(IILjava/awt/Graphics;B)V")
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.chars, 0, this.length, "ISO-8859-1");
- } catch (@Pc(19) UnsupportedEncodingException local19) {
- local17 = new String(this.chars, 0, this.length);
- }
+ @Pc(17) String local17 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
arg2.drawString(local17, arg1, arg0);
}
@@ -503,12 +503,7 @@ public final class JagString implements StringInterface {
@OriginalMember(owner = "client!na", name = "c", descriptor = "(Z)V")
public final void print() {
- @Pc(16) String local16;
- try {
- local16 = new String(this.chars, 0, this.length, "ISO-8859-1");
- } catch (@Pc(18) UnsupportedEncodingException local18) {
- local16 = new String(this.chars, 0, this.length);
- }
+ @Pc(16) String local16 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
System.out.println(local16);
}
@@ -920,12 +915,7 @@ public final class JagString implements StringInterface {
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/awt/FontMetrics;)I")
public final int method3155(@OriginalArg(1) FontMetrics arg0) {
- @Pc(14) String local14;
- try {
- local14 = new String(this.chars, 0, this.length, "ISO-8859-1");
- } catch (@Pc(16) UnsupportedEncodingException local16) {
- local14 = new String(this.chars, 0, this.length);
- }
+ @Pc(14) String local14 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
return arg0.stringWidth(local14);
}
diff --git a/client/src/main/java/rt4/LoginManager.java b/client/src/main/java/rt4/LoginManager.java
index 3bc3496..4beb699 100644
--- a/client/src/main/java/rt4/LoginManager.java
+++ b/client/src/main/java/rt4/LoginManager.java
@@ -494,4 +494,50 @@ public class LoginManager {
clear();
}
}
+
+ @OriginalMember(owner = "client!ca", name = "h", descriptor = "(I)V")
+ public static void setupLoadingScreenRegion() {
+ @Pc(10) int local10 = (Static138.renderX >> 10) + (Static225.originX >> 3);
+ @Pc(23) int local23 = (Static134.renderZ >> 10) + (Static142.originZ >> 3);
+ Static156.locationMapFilesBuffer = new byte[18][];
+ Static35.underWaterLocationsMapFileIds = new int[18];
+ Static191.npcSpawnsFilesBuffer = new byte[18][];
+ Static36.mapFileIds = new int[18];
+ Static72.regionsXteaKeys = new int[18][4];
+ Static186.underWaterMapFilesBuffer = new byte[18][];
+ Static238.regionBitPacked = new int[18];
+ Static273.mapFilesBuffer = new byte[18][];
+ Static175.npcSpawnsFileIds = new int[18];
+ Static99.underWaterMapFileIds = new int[18];
+ Static172.locationsMapFileIds = new int[18];
+ Static19.underWaterLocationsMapFilesBuffer = new byte[18][];
+ @Pc(74) int local74 = 0;
+ @Pc(80) int local80;
+ for (local80 = (local10 - 6) / 8; local80 <= (local10 + 6) / 8; local80++) {
+ for (@Pc(97) int local97 = (local23 - 6) / 8; local97 <= (local23 + 6) / 8; local97++) {
+ @Pc(115) int local115 = (local80 << 8) + local97;
+ Static238.regionBitPacked[local74] = local115;
+ Static36.mapFileIds[local74] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static103.aClass100_558, JagString.parseInt(local80), Static86.aClass100_488, JagString.parseInt(local97) }));
+ Static172.locationsMapFileIds[local74] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static270.aClass100_1090, JagString.parseInt(local80), Static86.aClass100_488, JagString.parseInt(local97) }));
+ Static175.npcSpawnsFileIds[local74] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static179.aClass100_807, JagString.parseInt(local80), Static86.aClass100_488, JagString.parseInt(local97) }));
+ Static99.underWaterMapFileIds[local74] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static165.aClass100_772, JagString.parseInt(local80), Static86.aClass100_488, JagString.parseInt(local97) }));
+ Static35.underWaterLocationsMapFileIds[local74] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static278.aClass100_1103, JagString.parseInt(local80), Static86.aClass100_488, JagString.parseInt(local97) }));
+ if (Static175.npcSpawnsFileIds[local74] == -1) {
+ Static36.mapFileIds[local74] = -1;
+ Static172.locationsMapFileIds[local74] = -1;
+ Static99.underWaterMapFileIds[local74] = -1;
+ Static35.underWaterLocationsMapFileIds[local74] = -1;
+ }
+ local74++;
+ }
+ }
+ for (local80 = local74; local80 < Static175.npcSpawnsFileIds.length; local80++) {
+ Static175.npcSpawnsFileIds[local80] = -1;
+ Static36.mapFileIds[local80] = -1;
+ Static172.locationsMapFileIds[local80] = -1;
+ Static99.underWaterMapFileIds[local80] = -1;
+ Static35.underWaterLocationsMapFileIds[local80] = -1;
+ }
+ Static127.method2463(0, local23, local10, 8, true, 8);
+ }
}
diff --git a/client/src/main/java/rt4/MapList.java b/client/src/main/java/rt4/MapList.java
index 129a51d..b11259d 100644
--- a/client/src/main/java/rt4/MapList.java
+++ b/client/src/main/java/rt4/MapList.java
@@ -46,4 +46,16 @@ public class MapList {
}
return null;
}
+
+ @OriginalMember(owner = "client!hb", name = "b", descriptor = "(II)Z")
+ public static boolean method1855(@OriginalArg(0) int arg0) {
+ return arg0 >= 0 && aBooleanArray130.length > arg0 ? aBooleanArray130[arg0] : false;
+ }
+
+ @OriginalMember(owner = "client!ui", name = "d", descriptor = "(II)V")
+ public static void method4332(@OriginalArg(0) int arg0) {
+ if (arg0 >= 0 && aBooleanArray130.length > arg0) {
+ aBooleanArray130[arg0] = !aBooleanArray130[arg0];
+ }
+ }
}
diff --git a/client/src/main/java/rt4/MidiInstrument.java b/client/src/main/java/rt4/MidiInstrument.java
index 9e6123e..ef1c04b 100644
--- a/client/src/main/java/rt4/MidiInstrument.java
+++ b/client/src/main/java/rt4/MidiInstrument.java
@@ -391,6 +391,12 @@ public final class MidiInstrument extends Node {
return (arg0 + local12) / arg1 - local12;
}
+ @OriginalMember(owner = "client!jb", name = "a", descriptor = "(ILclient!ve;I)Lclient!jk;")
+ public static MidiInstrument method2320(@OriginalArg(1) Js5 arg0, @OriginalArg(2) int arg1) {
+ @Pc(9) byte[] local9 = arg0.method4500(arg1);
+ return local9 == null ? null : new MidiInstrument(local9);
+ }
+
@OriginalMember(owner = "client!jk", name = "d", descriptor = "(B)V")
public final void method2432() {
this.anIntArray289 = null;
diff --git a/client/src/main/java/rt4/MidiPcmStream.java b/client/src/main/java/rt4/MidiPcmStream.java
index e6a4bd8..cb8952d 100644
--- a/client/src/main/java/rt4/MidiPcmStream.java
+++ b/client/src/main/java/rt4/MidiPcmStream.java
@@ -116,7 +116,7 @@ public final class MidiPcmStream extends PcmStream {
@Pc(40) int local40 = (int) local34.key;
@Pc(48) MidiInstrument local48 = (MidiInstrument) this.aClass133_23.get((long) local40);
if (local48 == null) {
- local48 = Static116.method2320(arg1, local40);
+ local48 = MidiInstrument.method2320(arg1, local40);
if (local48 == null) {
local5 = false;
continue;
diff --git a/client/src/main/java/rt4/MidiPlayer.java b/client/src/main/java/rt4/MidiPlayer.java
index 894bd0a..afe879f 100644
--- a/client/src/main/java/rt4/MidiPlayer.java
+++ b/client/src/main/java/rt4/MidiPlayer.java
@@ -37,10 +37,10 @@ public class MidiPlayer {
if (aClass89_1 == null) {
aClass89_1 = new SoundBank(Static78.aClass153_32, aClass153_103);
}
- if (Static172.aClass3_Sub3_Sub4_2.method4411(Static144.aClass3_Sub29_1, aClass153_87, aClass89_1)) {
- Static172.aClass3_Sub3_Sub4_2.method4412();
- Static172.aClass3_Sub3_Sub4_2.method4447(anInt5527);
- Static172.aClass3_Sub3_Sub4_2.method4431(aBoolean116, Static144.aClass3_Sub29_1);
+ if (Static172.midiPcmStream.method4411(Static144.aClass3_Sub29_1, aClass153_87, aClass89_1)) {
+ Static172.midiPcmStream.method4412();
+ Static172.midiPcmStream.method4447(anInt5527);
+ Static172.midiPcmStream.method4431(aBoolean116, Static144.aClass3_Sub29_1);
anInt441 = 0;
Static144.aClass3_Sub29_1 = null;
aClass89_1 = null;
@@ -50,7 +50,7 @@ public class MidiPlayer {
}
} catch (@Pc(68) Exception local68) {
local68.printStackTrace();
- Static172.aClass3_Sub3_Sub4_2.method4446();
+ Static172.midiPcmStream.method4446();
Static172.aClass153_70 = null;
Static144.aClass3_Sub29_1 = null;
anInt441 = 0;
@@ -86,7 +86,7 @@ public class MidiPlayer {
aClass153_87 = arg1;
Static78.aClass153_32 = arg3;
aClass153_103 = arg2;
- Static172.aClass3_Sub3_Sub4_2 = arg0;
+ Static172.midiPcmStream = arg0;
return true;
}
@@ -94,17 +94,17 @@ public class MidiPlayer {
public static void loop() {
try {
if (anInt441 == 1) {
- @Pc(16) int local16 = Static172.aClass3_Sub3_Sub4_2.method4440();
- if (local16 > 0 && Static172.aClass3_Sub3_Sub4_2.method4414()) {
+ @Pc(16) int local16 = Static172.midiPcmStream.method4440();
+ if (local16 > 0 && Static172.midiPcmStream.method4414()) {
local16 -= anInt1757;
if (local16 < 0) {
local16 = 0;
}
- Static172.aClass3_Sub3_Sub4_2.method4447(local16);
+ Static172.midiPcmStream.method4447(local16);
return;
}
- Static172.aClass3_Sub3_Sub4_2.method4446();
- Static172.aClass3_Sub3_Sub4_2.method4426();
+ Static172.midiPcmStream.method4446();
+ Static172.midiPcmStream.method4426();
Static144.aClass3_Sub29_1 = null;
aClass89_1 = null;
if (Static172.aClass153_70 == null) {
@@ -115,7 +115,7 @@ public class MidiPlayer {
}
} catch (@Pc(62) Exception local62) {
local62.printStackTrace();
- Static172.aClass3_Sub3_Sub4_2.method4446();
+ Static172.midiPcmStream.method4446();
Static172.aClass153_70 = null;
Static144.aClass3_Sub29_1 = null;
anInt441 = 0;
diff --git a/client/src/main/java/rt4/MiniMap.java b/client/src/main/java/rt4/MiniMap.java
index d039c3b..60d42b7 100644
--- a/client/src/main/java/rt4/MiniMap.java
+++ b/client/src/main/java/rt4/MiniMap.java
@@ -287,7 +287,7 @@ public class MiniMap {
}
for (local146 = 0; local146 < 104; local146++) {
for (local181 = 0; local181 < 104; local181++) {
- @Pc(439) LinkedList local439 = Static159.objStacks[Player.level][local146][local181];
+ @Pc(439) LinkedList local439 = SceneGraph.objStacks[Player.level][local146][local181];
if (local439 != null) {
local154 = local146 * 4 + 2 - PlayerList.self.xFine / 32;
local231 = local181 * 4 + 2 - PlayerList.self.zFine / 32;
diff --git a/client/src/main/java/rt4/MiniMenu.java b/client/src/main/java/rt4/MiniMenu.java
index c603db6..ce8fff1 100644
--- a/client/src/main/java/rt4/MiniMenu.java
+++ b/client/src/main/java/rt4/MiniMenu.java
@@ -1183,7 +1183,7 @@ public class MiniMenu {
addPlayerEntries(local140, z, player, x);
}
if (local133 == 3) {
- @Pc(931) LinkedList objStacks = Static159.objStacks[Player.level][x][z];
+ @Pc(931) LinkedList objStacks = SceneGraph.objStacks[Player.level][x][z];
if (objStacks != null) {
for (@Pc(940) ObjStackNode node = (ObjStackNode) objStacks.tail(); node != null; node = (ObjStackNode) objStacks.prev()) {
local240 = node.value.type;
diff --git a/client/src/main/java/rt4/NpcList.java b/client/src/main/java/rt4/NpcList.java
index d451030..acff079 100644
--- a/client/src/main/java/rt4/NpcList.java
+++ b/client/src/main/java/rt4/NpcList.java
@@ -1,6 +1,8 @@
package rt4;
+import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
+import org.openrs2.deob.annotation.Pc;
public class NpcList {
@OriginalMember(owner = "client!nm", name = "S", descriptor = "[Lclient!km;")
@@ -9,4 +11,611 @@ public class NpcList {
public static final int[] ids = new int[32768];
@OriginalMember(owner = "client!wd", name = "g", descriptor = "I")
public static int size = 0;
+
+ @OriginalMember(owner = "client!ig", name = "a", descriptor = "(I)V")
+ public static void method2274() {
+ for (@Pc(7) int local7 = 0; local7 < size; local7++) {
+ @Pc(18) int local18 = ids[local7];
+ @Pc(22) Npc local22 = npcs[local18];
+ if (local22 != null) {
+ method4514(local22.type.size, local22);
+ }
+ }
+ }
+
+ @OriginalMember(owner = "client!vg", name = "a", descriptor = "(IILclient!fe;)V")
+ public static void method4514(@OriginalArg(0) int arg0, @OriginalArg(2) PathingEntity arg1) {
+ if (client.loop < arg1.anInt3395) {
+ method553(arg1);
+ } else if (arg1.anInt3386 >= client.loop) {
+ method4665(arg1);
+ } else {
+ method2247(arg1);
+ }
+ if (arg1.xFine < 128 || arg1.zFine < 128 || arg1.xFine >= 13184 || arg1.zFine >= 13184) {
+ arg1.seqId = -1;
+ arg1.spotAnimId = -1;
+ arg1.anInt3395 = 0;
+ arg1.anInt3386 = 0;
+ arg1.xFine = arg1.movementQueueX[0] * 128 + arg1.getSize() * 64;
+ arg1.zFine = arg1.movementQueueZ[0] * 128 + arg1.getSize() * 64;
+ arg1.method2689();
+ }
+ if (arg1 == PlayerList.self && (arg1.xFine < 1536 || arg1.zFine < 1536 || arg1.xFine >= 11776 || arg1.zFine >= 11776)) {
+ arg1.spotAnimId = -1;
+ arg1.anInt3395 = 0;
+ arg1.anInt3386 = 0;
+ arg1.seqId = -1;
+ arg1.xFine = arg1.movementQueueX[0] * 128 + arg1.getSize() * 64;
+ arg1.zFine = arg1.movementQueueZ[0] * 128 + arg1.getSize() * 64;
+ arg1.method2689();
+ }
+ method949(arg1);
+ method879(arg1);
+ }
+
+ @OriginalMember(owner = "client!bh", name = "a", descriptor = "(Lclient!fe;Z)V")
+ public static void method553(@OriginalArg(0) PathingEntity arg0) {
+ @Pc(8) int local8 = arg0.anInt3395 - client.loop;
+ @Pc(20) int local20 = arg0.anInt3380 * 128 + arg0.getSize() * 64;
+ @Pc(36) int local36 = arg0.anInt3428 * 128 + arg0.getSize() * 64;
+ if (arg0.anInt3431 == 0) {
+ arg0.anInt3400 = 1024;
+ }
+ arg0.xFine += (local20 - arg0.xFine) / local8;
+ arg0.zFine += (local36 - arg0.zFine) / local8;
+ if (arg0.anInt3431 == 1) {
+ arg0.anInt3400 = 1536;
+ }
+ arg0.anInt3417 = 0;
+ if (arg0.anInt3431 == 2) {
+ arg0.anInt3400 = 0;
+ }
+ if (arg0.anInt3431 == 3) {
+ arg0.anInt3400 = 512;
+ }
+ }
+
+ @OriginalMember(owner = "client!wl", name = "a", descriptor = "(Lclient!fe;B)V")
+ public static void method4665(@OriginalArg(0) PathingEntity arg0) {
+ if (client.loop == arg0.anInt3386 || arg0.seqId == -1 || arg0.anInt3420 != 0 || arg0.anInt3360 + 1 > SeqTypeList.get(arg0.seqId).anIntArray474[arg0.anInt3425]) {
+ @Pc(35) int local35 = arg0.anInt3386 - arg0.anInt3395;
+ @Pc(41) int local41 = client.loop - arg0.anInt3395;
+ @Pc(52) int local52 = arg0.anInt3380 * 128 + arg0.getSize() * 64;
+ @Pc(64) int local64 = arg0.anInt3428 * 128 + arg0.getSize() * 64;
+ @Pc(75) int local75 = arg0.anInt3416 * 128 + arg0.getSize() * 64;
+ @Pc(86) int local86 = arg0.anInt3392 * 128 + arg0.getSize() * 64;
+ arg0.xFine = (local41 * local75 + local52 * (local35 - local41)) / local35;
+ arg0.zFine = (local86 * local41 + local64 * (local35 - local41)) / local35;
+ }
+ arg0.anInt3417 = 0;
+ if (arg0.anInt3431 == 0) {
+ arg0.anInt3400 = 1024;
+ }
+ if (arg0.anInt3431 == 1) {
+ arg0.anInt3400 = 1536;
+ }
+ if (arg0.anInt3431 == 2) {
+ arg0.anInt3400 = 0;
+ }
+ if (arg0.anInt3431 == 3) {
+ arg0.anInt3400 = 512;
+ }
+ arg0.anInt3381 = arg0.anInt3400;
+ }
+
+ @OriginalMember(owner = "client!ia", name = "a", descriptor = "(BLclient!fe;)V")
+ public static void method2247(@OriginalArg(1) PathingEntity arg0) {
+ @Pc(9) BasType local9 = arg0.getBasType();
+ arg0.movementSeqId = local9.idleAnimationId;
+ if (arg0.movementQueueSize == 0) {
+ arg0.anInt3417 = 0;
+ return;
+ }
+ if (arg0.seqId != -1 && arg0.anInt3420 == 0) {
+ @Pc(40) SeqType local40 = SeqTypeList.get(arg0.seqId);
+ if (arg0.anInt3405 > 0 && local40.anInt5363 == 0) {
+ arg0.anInt3417++;
+ return;
+ }
+ if (arg0.anInt3405 <= 0 && local40.anInt5349 == 0) {
+ arg0.anInt3417++;
+ return;
+ }
+ }
+ @Pc(79) int local79 = arg0.xFine;
+ @Pc(82) int local82 = arg0.zFine;
+ @Pc(99) int local99 = arg0.movementQueueX[arg0.movementQueueSize - 1] * 128 + arg0.getSize() * 64;
+ @Pc(116) int local116 = arg0.movementQueueZ[arg0.movementQueueSize - 1] * 128 + arg0.getSize() * 64;
+ if (local99 - local79 > 256 || local99 - local79 < -256 || local116 - local82 > 256 || local116 - local82 < -256) {
+ arg0.xFine = local99;
+ arg0.zFine = local116;
+ return;
+ }
+ if (local99 <= local79) {
+ if (local79 <= local99) {
+ if (local116 > local82) {
+ arg0.anInt3400 = 1024;
+ } else if (local82 > local116) {
+ arg0.anInt3400 = 0;
+ }
+ } else if (local116 > local82) {
+ arg0.anInt3400 = 768;
+ } else if (local116 < local82) {
+ arg0.anInt3400 = 256;
+ } else {
+ arg0.anInt3400 = 512;
+ }
+ } else if (local116 > local82) {
+ arg0.anInt3400 = 1280;
+ } else if (local82 > local116) {
+ arg0.anInt3400 = 1792;
+ } else {
+ arg0.anInt3400 = 1536;
+ }
+ @Pc(224) int local224 = arg0.anInt3400 - arg0.anInt3381 & 0x7FF;
+ @Pc(227) int local227 = local9.turnAnimation1;
+ if (local224 > 1024) {
+ local224 -= 2048;
+ }
+ @Pc(233) boolean local233 = true;
+ @Pc(235) byte local235 = 1;
+ if (local224 >= -256 && local224 <= 256) {
+ local227 = local9.walkAnimation;
+ } else if (local224 >= 256 && local224 < 768) {
+ local227 = local9.turnAnimation3;
+ } else if (local224 >= -768 && local224 <= -256) {
+ local227 = local9.turnAnimation2;
+ }
+ @Pc(273) int local273 = 4;
+ if (local227 == -1) {
+ local227 = local9.walkAnimation;
+ }
+ arg0.movementSeqId = local227;
+ if (arg0 instanceof Npc) {
+ local233 = ((Npc) arg0).type.aBoolean181;
+ }
+ if (local233) {
+ if (arg0.anInt3381 != arg0.anInt3400 && arg0.faceEntity == -1 && arg0.anInt3376 != 0) {
+ local273 = 2;
+ }
+ if (arg0.movementQueueSize > 2) {
+ local273 = 6;
+ }
+ if (arg0.movementQueueSize > 3) {
+ local273 = 8;
+ }
+ if (arg0.anInt3417 > 0 && arg0.movementQueueSize > 1) {
+ local273 = 8;
+ arg0.anInt3417--;
+ }
+ } else {
+ if (arg0.movementQueueSize > 1) {
+ local273 = 6;
+ }
+ if (arg0.movementQueueSize > 2) {
+ local273 = 8;
+ }
+ if (arg0.anInt3417 > 0 && arg0.movementQueueSize > 1) {
+ arg0.anInt3417--;
+ local273 = 8;
+ }
+ }
+ if (arg0.movementQueueSpeed[arg0.movementQueueSize - 1] == 2) {
+ local273 <<= 0x1;
+ local235 = 2;
+ } else if (arg0.movementQueueSpeed[arg0.movementQueueSize - 1] == 0) {
+ local235 = 0;
+ local273 >>= 0x1;
+ }
+ if (local273 < 8 || local9.runAnimationId == -1) {
+ if (local9.anInt1062 != -1 && local235 == 0) {
+ if (local9.turnAnimation1 == arg0.movementSeqId && local9.anInt1042 != -1) {
+ arg0.movementSeqId = local9.anInt1042;
+ } else if (local9.turnAnimation2 == arg0.movementSeqId && local9.anInt1066 != -1) {
+ arg0.movementSeqId = local9.anInt1066;
+ } else if (local9.turnAnimation3 == arg0.movementSeqId && local9.anInt1048 != -1) {
+ arg0.movementSeqId = local9.anInt1048;
+ } else {
+ arg0.movementSeqId = local9.anInt1062;
+ }
+ }
+ } else if (local9.turnAnimation1 == arg0.movementSeqId && local9.runAnimationId2 != -1) {
+ arg0.movementSeqId = local9.runAnimationId2;
+ } else if (arg0.movementSeqId == local9.turnAnimation2 && local9.runAnimationId3 != -1) {
+ arg0.movementSeqId = local9.runAnimationId3;
+ } else if (arg0.movementSeqId == local9.turnAnimation3 && local9.runAnimationId4 != -1) {
+ arg0.movementSeqId = local9.runAnimationId4;
+ } else {
+ arg0.movementSeqId = local9.runAnimationId;
+ }
+ if (local9.anInt1032 != -1) {
+ local273 <<= 0x7;
+ if (arg0.movementQueueSize == 1) {
+ @Pc(594) int local594 = (local99 >= arg0.xFine ? local99 - arg0.xFine : -local99 + arg0.xFine) << 7;
+ @Pc(600) int local600 = arg0.anInt3358 * arg0.anInt3358;
+ @Pc(622) int local622 = (local116 < arg0.zFine ? arg0.zFine - local116 : -arg0.zFine + local116) << 7;
+ @Pc(629) int local629 = local594 > local622 ? local594 : local622;
+ @Pc(636) int local636 = local9.anInt1032 * 2 * local629;
+ if (local636 < local600) {
+ arg0.anInt3358 /= 2;
+ } else if (local629 < local600 / 2) {
+ arg0.anInt3358 -= local9.anInt1032;
+ if (arg0.anInt3358 < 0) {
+ arg0.anInt3358 = 0;
+ }
+ } else if (arg0.anInt3358 < local273) {
+ arg0.anInt3358 += local9.anInt1032;
+ if (arg0.anInt3358 > local273) {
+ arg0.anInt3358 = local273;
+ }
+ }
+ } else if (local273 > arg0.anInt3358) {
+ arg0.anInt3358 += local9.anInt1032;
+ if (local273 < arg0.anInt3358) {
+ arg0.anInt3358 = local273;
+ }
+ } else if (arg0.anInt3358 > 0) {
+ arg0.anInt3358 -= local9.anInt1032;
+ if (arg0.anInt3358 < 0) {
+ arg0.anInt3358 = 0;
+ }
+ }
+ local273 = arg0.anInt3358 >> 7;
+ if (local273 < 1) {
+ local273 = 1;
+ }
+ }
+ if (local79 < local99) {
+ arg0.xFine += local273;
+ if (local99 < arg0.xFine) {
+ arg0.xFine = local99;
+ }
+ } else if (local79 > local99) {
+ arg0.xFine -= local273;
+ if (local99 > arg0.xFine) {
+ arg0.xFine = local99;
+ }
+ }
+ if (local82 < local116) {
+ arg0.zFine += local273;
+ if (arg0.zFine > local116) {
+ arg0.zFine = local116;
+ }
+ } else if (local116 < local82) {
+ arg0.zFine -= local273;
+ if (local116 > arg0.zFine) {
+ arg0.zFine = local116;
+ }
+ }
+ if (arg0.xFine == local99 && local116 == arg0.zFine) {
+ arg0.movementQueueSize--;
+ if (arg0.anInt3405 > 0) {
+ arg0.anInt3405--;
+ }
+ }
+ }
+
+ @OriginalMember(owner = "client!cm", name = "a", descriptor = "(ILclient!fe;)V")
+ public static void method949(@OriginalArg(1) PathingEntity arg0) {
+ if (arg0.anInt3376 == 0) {
+ return;
+ }
+ @Pc(13) BasType local13 = arg0.getBasType();
+ @Pc(43) int local43;
+ @Pc(36) int local36;
+ if (arg0.faceEntity != -1 && arg0.faceEntity < 32768) {
+ @Pc(26) Npc local26 = npcs[arg0.faceEntity];
+ if (local26 != null) {
+ local36 = arg0.zFine - local26.zFine;
+ local43 = arg0.xFine - local26.xFine;
+ if (local43 != 0 || local36 != 0) {
+ arg0.anInt3400 = (int) (Math.atan2((double) local43, (double) local36) * 325.949D) & 0x7FF;
+ }
+ }
+ }
+ @Pc(94) int local94;
+ @Pc(70) int local70;
+ if (arg0.faceEntity >= 32768) {
+ local70 = arg0.faceEntity - 32768;
+ if (local70 == PlayerList.selfId) {
+ local70 = 2047;
+ }
+ @Pc(83) Player local83 = PlayerList.players[local70];
+ if (local83 != null) {
+ local94 = arg0.zFine - local83.zFine;
+ local36 = arg0.xFine - local83.xFine;
+ if (local36 != 0 || local94 != 0) {
+ arg0.anInt3400 = (int) (Math.atan2((double) local36, (double) local94) * 325.949D) & 0x7FF;
+ }
+ }
+ }
+ if ((arg0.faceX != 0 || arg0.faceY != 0) && (arg0.movementQueueSize == 0 || arg0.anInt3417 > 0)) {
+ local70 = arg0.xFine - (arg0.faceX - Static225.originX - Static225.originX) * 64;
+ local43 = arg0.zFine - (arg0.faceY - Static142.originZ - Static142.originZ) * 64;
+ if (local70 != 0 || local43 != 0) {
+ arg0.anInt3400 = (int) (Math.atan2((double) local70, (double) local43) * 325.949D) & 0x7FF;
+ }
+ arg0.faceY = 0;
+ arg0.faceX = 0;
+ }
+ local70 = arg0.anInt3400 - arg0.anInt3381 & 0x7FF;
+ if (local70 == 0) {
+ arg0.anInt3385 = 0;
+ arg0.anInt3414 = 0;
+ } else if (local13.anInt1038 == 0) {
+ arg0.anInt3385++;
+ @Pc(226) boolean local226;
+ if (local70 > 1024) {
+ arg0.anInt3381 -= arg0.anInt3376;
+ local226 = true;
+ if (local70 < arg0.anInt3376 || local70 > 2048 - arg0.anInt3376) {
+ arg0.anInt3381 = arg0.anInt3400;
+ local226 = false;
+ }
+ if (local13.idleAnimationId == arg0.movementSeqId && (arg0.anInt3385 > 25 || local226)) {
+ if (local13.anInt1036 == -1) {
+ arg0.movementSeqId = local13.walkAnimation;
+ } else {
+ arg0.movementSeqId = local13.anInt1036;
+ }
+ }
+ } else {
+ local226 = true;
+ arg0.anInt3381 += arg0.anInt3376;
+ if (arg0.anInt3376 > local70 || local70 > 2048 - arg0.anInt3376) {
+ local226 = false;
+ arg0.anInt3381 = arg0.anInt3400;
+ }
+ if (local13.idleAnimationId == arg0.movementSeqId && (arg0.anInt3385 > 25 || local226)) {
+ if (local13.anInt1067 == -1) {
+ arg0.movementSeqId = local13.walkAnimation;
+ } else {
+ arg0.movementSeqId = local13.anInt1067;
+ }
+ }
+ }
+ arg0.anInt3381 &= 0x7FF;
+ } else {
+ if (local13.idleAnimationId == arg0.movementSeqId && arg0.anInt3385 > 25) {
+ if (local13.anInt1067 == -1) {
+ arg0.movementSeqId = local13.walkAnimation;
+ } else {
+ arg0.movementSeqId = local13.anInt1067;
+ }
+ }
+ local43 = arg0.anInt3400 << 5;
+ if (local43 != arg0.anInt3402) {
+ arg0.anInt3387 = 0;
+ arg0.anInt3402 = local43;
+ local36 = local43 - arg0.anInt3377 & 0xFFFF;
+ local94 = arg0.anInt3414 * arg0.anInt3414 / (local13.anInt1038 * 2);
+ @Pc(471) int local471;
+ if (arg0.anInt3414 > 0 && local36 >= local94 && local36 - local94 < 32768) {
+ arg0.anInt3397 = local36 / 2;
+ arg0.aBoolean167 = true;
+ local471 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
+ if (local471 > 32767) {
+ local471 = 32767;
+ }
+ if (local471 < arg0.anInt3397) {
+ arg0.anInt3397 = local36 - local471;
+ }
+ } else if (arg0.anInt3414 < 0 && local94 <= 65536 - local36 && 65536 - local36 - local94 < 32768) {
+ arg0.anInt3397 = (65536 - local36) / 2;
+ arg0.aBoolean167 = true;
+ local471 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
+ if (local471 > 32767) {
+ local471 = 32767;
+ }
+ if (local471 < arg0.anInt3397) {
+ arg0.anInt3397 = 65536 - local36 - local471;
+ }
+ } else {
+ arg0.aBoolean167 = false;
+ }
+ }
+ if (arg0.anInt3414 == 0) {
+ local36 = arg0.anInt3402 - arg0.anInt3377 & 0xFFFF;
+ if (local36 < local13.anInt1038) {
+ arg0.anInt3377 = arg0.anInt3402;
+ } else {
+ arg0.anInt3387 = 0;
+ local94 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
+ arg0.aBoolean167 = true;
+ if (local94 > 32767) {
+ local94 = 32767;
+ }
+ if (local36 >= 32768) {
+ arg0.anInt3414 = -local13.anInt1038;
+ arg0.anInt3397 = (65536 - local36) / 2;
+ if (local94 < arg0.anInt3397) {
+ arg0.anInt3397 = 65536 - local36 - local94;
+ }
+ } else {
+ arg0.anInt3414 = local13.anInt1038;
+ arg0.anInt3397 = local36 / 2;
+ if (local94 < arg0.anInt3397) {
+ arg0.anInt3397 = local36 - local94;
+ }
+ }
+ }
+ } else if (arg0.anInt3414 <= 0) {
+ if (arg0.anInt3387 >= arg0.anInt3397) {
+ arg0.aBoolean167 = false;
+ }
+ if (!arg0.aBoolean167) {
+ arg0.anInt3414 += local13.anInt1038;
+ if (arg0.anInt3414 > 0) {
+ arg0.anInt3414 = 0;
+ }
+ } else if (-local13.anInt1031 < arg0.anInt3414) {
+ arg0.anInt3414 -= local13.anInt1038;
+ }
+ } else {
+ if (arg0.anInt3397 <= arg0.anInt3387) {
+ arg0.aBoolean167 = false;
+ }
+ if (!arg0.aBoolean167) {
+ arg0.anInt3414 -= local13.anInt1038;
+ if (arg0.anInt3414 < 0) {
+ arg0.anInt3414 = 0;
+ }
+ } else if (arg0.anInt3414 < local13.anInt1031) {
+ arg0.anInt3414 += local13.anInt1038;
+ }
+ }
+ arg0.anInt3377 += arg0.anInt3414;
+ arg0.anInt3377 &= 0xFFFF;
+ if (arg0.anInt3414 <= 0) {
+ arg0.anInt3387 -= arg0.anInt3414;
+ } else {
+ arg0.anInt3387 += arg0.anInt3414;
+ }
+ arg0.anInt3381 = arg0.anInt3377 >> 5;
+ }
+ }
+
+ @OriginalMember(owner = "client!ck", name = "a", descriptor = "(Lclient!fe;I)V")
+ public static void method879(@OriginalArg(0) PathingEntity arg0) {
+ arg0.aBoolean171 = false;
+ @Pc(18) SeqType local18;
+ if (arg0.movementSeqId != -1) {
+ local18 = SeqTypeList.get(arg0.movementSeqId);
+ if (local18 == null || local18.frames == null) {
+ arg0.movementSeqId = -1;
+ } else {
+ arg0.anInt3396++;
+ if (local18.frames.length > arg0.anInt3407 && arg0.anInt3396 > local18.anIntArray474[arg0.anInt3407]) {
+ arg0.anInt3396 = 1;
+ arg0.anInt3407++;
+ arg0.anInt3388++;
+ SoundPlayer.playSeqSound(arg0.zFine, local18, arg0.xFine, arg0 == PlayerList.self, arg0.anInt3407);
+ }
+ if (arg0.anInt3407 >= local18.frames.length) {
+ arg0.anInt3407 = 0;
+ arg0.anInt3396 = 0;
+ SoundPlayer.playSeqSound(arg0.zFine, local18, arg0.xFine, PlayerList.self == arg0, arg0.anInt3407);
+ }
+ arg0.anInt3388 = arg0.anInt3407 + 1;
+ if (arg0.anInt3388 >= local18.frames.length) {
+ arg0.anInt3388 = 0;
+ }
+ }
+ }
+ @Pc(156) int local156;
+ if (arg0.spotAnimId != -1 && client.loop >= arg0.spotAnimStart) {
+ local156 = SpotAnimTypeList.get(arg0.spotAnimId).seqId;
+ if (local156 == -1) {
+ arg0.spotAnimId = -1;
+ } else {
+ @Pc(165) SeqType local165 = SeqTypeList.get(local156);
+ if (local165 == null || local165.frames == null) {
+ arg0.spotAnimId = -1;
+ } else {
+ if (arg0.anInt3399 < 0) {
+ arg0.anInt3399 = 0;
+ SoundPlayer.playSeqSound(arg0.zFine, local165, arg0.xFine, PlayerList.self == arg0, 0);
+ }
+ arg0.anInt3361++;
+ if (arg0.anInt3399 < local165.frames.length && local165.anIntArray474[arg0.anInt3399] < arg0.anInt3361) {
+ arg0.anInt3399++;
+ arg0.anInt3361 = 1;
+ SoundPlayer.playSeqSound(arg0.zFine, local165, arg0.xFine, PlayerList.self == arg0, arg0.anInt3399);
+ }
+ if (arg0.anInt3399 >= local165.frames.length) {
+ arg0.spotAnimId = -1;
+ }
+ arg0.anInt3418 = arg0.anInt3399 + 1;
+ if (local165.frames.length <= arg0.anInt3418) {
+ arg0.anInt3418 = -1;
+ }
+ }
+ }
+ }
+ if (arg0.seqId != -1 && arg0.anInt3420 <= 1) {
+ local18 = SeqTypeList.get(arg0.seqId);
+ if (local18.anInt5363 == 1 && arg0.anInt3405 > 0 && client.loop >= arg0.anInt3395 && client.loop > arg0.anInt3386) {
+ arg0.anInt3420 = 1;
+ return;
+ }
+ }
+ if (arg0.seqId != -1 && arg0.anInt3420 == 0) {
+ local18 = SeqTypeList.get(arg0.seqId);
+ if (local18 == null || local18.frames == null) {
+ arg0.seqId = -1;
+ } else {
+ arg0.anInt3360++;
+ if (arg0.anInt3425 < local18.frames.length && arg0.anInt3360 > local18.anIntArray474[arg0.anInt3425]) {
+ arg0.anInt3360 = 1;
+ arg0.anInt3425++;
+ SoundPlayer.playSeqSound(arg0.zFine, local18, arg0.xFine, arg0 == PlayerList.self, arg0.anInt3425);
+ }
+ if (local18.frames.length <= arg0.anInt3425) {
+ arg0.anInt3425 -= local18.anInt5362;
+ arg0.anInt3371++;
+ if (arg0.anInt3371 >= local18.anInt5357) {
+ arg0.seqId = -1;
+ } else if (arg0.anInt3425 >= 0 && local18.frames.length > arg0.anInt3425) {
+ SoundPlayer.playSeqSound(arg0.zFine, local18, arg0.xFine, PlayerList.self == arg0, arg0.anInt3425);
+ } else {
+ arg0.seqId = -1;
+ }
+ }
+ arg0.anInt3373 = arg0.anInt3425 + 1;
+ if (arg0.anInt3373 >= local18.frames.length) {
+ arg0.anInt3373 -= local18.anInt5362;
+ if (local18.anInt5357 <= arg0.anInt3371 + 1) {
+ arg0.anInt3373 = -1;
+ } else if (arg0.anInt3373 < 0 || arg0.anInt3373 >= local18.frames.length) {
+ arg0.anInt3373 = -1;
+ }
+ }
+ arg0.aBoolean171 = local18.aBoolean279;
+ }
+ }
+ if (arg0.anInt3420 > 0) {
+ arg0.anInt3420--;
+ }
+ for (local156 = 0; local156 < arg0.aClass147Array3.length; local156++) {
+ @Pc(545) Npc_Class147 local545 = arg0.aClass147Array3[local156];
+ if (local545 != null) {
+ if (local545.anInt5408 > 0) {
+ local545.anInt5408--;
+ } else {
+ @Pc(570) SeqType local570 = SeqTypeList.get(local545.anInt5396);
+ if (local570 == null || local570.frames == null) {
+ arg0.aClass147Array3[local156] = null;
+ } else {
+ local545.anInt5404++;
+ if (local545.anInt5399 < local570.frames.length && local545.anInt5404 > local570.anIntArray474[local545.anInt5399]) {
+ local545.anInt5399++;
+ local545.anInt5404 = 1;
+ SoundPlayer.playSeqSound(arg0.zFine, local570, arg0.xFine, arg0 == PlayerList.self, local545.anInt5399);
+ }
+ if (local570.frames.length <= local545.anInt5399) {
+ local545.anInt5400++;
+ local545.anInt5399 -= local570.anInt5362;
+ if (local570.anInt5357 <= local545.anInt5400) {
+ arg0.aClass147Array3[local156] = null;
+ } else if (local545.anInt5399 >= 0 && local545.anInt5399 < local570.frames.length) {
+ SoundPlayer.playSeqSound(arg0.zFine, local570, arg0.xFine, PlayerList.self == arg0, local545.anInt5399);
+ } else {
+ arg0.aClass147Array3[local156] = null;
+ }
+ }
+ local545.anInt5398 = local545.anInt5399 + 1;
+ if (local570.frames.length <= local545.anInt5398) {
+ local545.anInt5398 -= local570.anInt5362;
+ if (local545.anInt5400 + 1 >= local570.anInt5357) {
+ local545.anInt5398 = -1;
+ } else if (local545.anInt5398 < 0 || local570.frames.length <= local545.anInt5398) {
+ local545.anInt5398 = -1;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/client/src/main/java/rt4/NpcType.java b/client/src/main/java/rt4/NpcType.java
index d5def57..f580c0c 100644
--- a/client/src/main/java/rt4/NpcType.java
+++ b/client/src/main/java/rt4/NpcType.java
@@ -8,6 +8,20 @@ import org.openrs2.deob.annotation.Pc;
@OriginalClass("client!me")
public final class NpcType {
+ @OriginalMember(owner = "client!id", name = "e", descriptor = "[I")
+ public static final int[] anIntArray259 = new int[14];
+ @OriginalMember(owner = "client!lg", name = "c", descriptor = "[Lclient!tk;")
+ public static final SeqType[] aClass144Array1 = new SeqType[14];
+ @OriginalMember(owner = "client!ag", name = "cb", descriptor = "[Lclient!cl;")
+ public static final AnimFrameset[] aClass3_Sub2_Sub7Array1 = new AnimFrameset[14];
+ @OriginalMember(owner = "client!fk", name = "k", descriptor = "[I")
+ public static final int[] anIntArray147 = new int[14];
+ @OriginalMember(owner = "client!rg", name = "A", descriptor = "[I")
+ public static final int[] anIntArray492 = new int[14];
+ @OriginalMember(owner = "client!kd", name = "mb", descriptor = "[Lclient!cl;")
+ public static final AnimFrameset[] aClass3_Sub2_Sub7Array5 = new AnimFrameset[14];
+ @OriginalMember(owner = "client!en", name = "t", descriptor = "[I")
+ public static final int[] anIntArray148 = new int[14];
@OriginalMember(owner = "client!me", name = "b", descriptor = "[S")
private short[] retextureSource;
@@ -347,35 +361,35 @@ public final class NpcType {
if (seqs[local235] != null) {
@Pc(753) SeqType local753 = SeqTypeList.get(seqs[local235].anInt5396);
if (local753.frames != null) {
- Static146.aClass144Array1[local235] = local753;
+ aClass144Array1[local235] = local753;
local207 = seqs[local235].anInt5398;
local46 = true;
local200 = seqs[local235].anInt5399;
local214 = local753.frames[local200];
- Static6.aClass3_Sub2_Sub7Array1[local235] = SeqTypeList.getAnimFrameset(local214 >>> 16);
+ aClass3_Sub2_Sub7Array1[local235] = SeqTypeList.getAnimFrameset(local214 >>> 16);
local214 &= 0xFFFF;
- Static107.anIntArray259[local235] = local214;
- if (Static6.aClass3_Sub2_Sub7Array1[local235] != null) {
- local723 |= Static6.aClass3_Sub2_Sub7Array1[local235].isColorTransformed(local214);
- local721 |= Static6.aClass3_Sub2_Sub7Array1[local235].isAlphaTransformed(local214);
+ anIntArray259[local235] = local214;
+ if (aClass3_Sub2_Sub7Array1[local235] != null) {
+ local723 |= aClass3_Sub2_Sub7Array1[local235].isColorTransformed(local214);
+ local721 |= aClass3_Sub2_Sub7Array1[local235].isAlphaTransformed(local214);
local725 |= local753.aBoolean278;
}
if ((local753.tween || SeqType.applyTweening) && local207 != -1 && local753.frames.length > local207) {
- Static71.anIntArray147[local235] = local753.anIntArray474[local200];
- Static214.anIntArray492[local235] = seqs[local235].anInt5404;
+ anIntArray147[local235] = local753.anIntArray474[local200];
+ anIntArray492[local235] = seqs[local235].anInt5404;
local228 = local753.frames[local207];
- Static131.aClass3_Sub2_Sub7Array5[local235] = SeqTypeList.getAnimFrameset(local228 >>> 16);
+ aClass3_Sub2_Sub7Array5[local235] = SeqTypeList.getAnimFrameset(local228 >>> 16);
local228 &= 0xFFFF;
- Static61.anIntArray148[local235] = local228;
- if (Static131.aClass3_Sub2_Sub7Array5[local235] != null) {
- local723 |= Static131.aClass3_Sub2_Sub7Array5[local235].isColorTransformed(local228);
- local721 |= Static131.aClass3_Sub2_Sub7Array5[local235].isAlphaTransformed(local228);
+ anIntArray148[local235] = local228;
+ if (aClass3_Sub2_Sub7Array5[local235] != null) {
+ local723 |= aClass3_Sub2_Sub7Array5[local235].isColorTransformed(local228);
+ local721 |= aClass3_Sub2_Sub7Array5[local235].isAlphaTransformed(local228);
}
} else {
- Static71.anIntArray147[local235] = 0;
- Static214.anIntArray492[local235] = 0;
- Static131.aClass3_Sub2_Sub7Array5[local235] = null;
- Static61.anIntArray148[local235] = -1;
+ anIntArray147[local235] = 0;
+ anIntArray492[local235] = 0;
+ aClass3_Sub2_Sub7Array5[local235] = null;
+ anIntArray148[local235] = -1;
}
}
}
@@ -453,8 +467,8 @@ public final class NpcType {
@Pc(1218) Model local1218 = local40.method4572(!local721, !local723, !local725);
local330 = 1;
for (local318 = 0; local318 < local173; local318++) {
- if (Static6.aClass3_Sub2_Sub7Array1[local318] != null) {
- local1218.method4565(Static6.aClass3_Sub2_Sub7Array1[local318], Static107.anIntArray259[local318], Static131.aClass3_Sub2_Sub7Array5[local318], Static61.anIntArray148[local318], Static214.anIntArray492[local318] - 1, Static71.anIntArray147[local318], local330, Static146.aClass144Array1[local318].aBoolean278, this.anIntArrayArray28[local318]);
+ if (aClass3_Sub2_Sub7Array1[local318] != null) {
+ local1218.method4565(aClass3_Sub2_Sub7Array1[local318], anIntArray259[local318], aClass3_Sub2_Sub7Array5[local318], anIntArray148[local318], anIntArray492[local318] - 1, anIntArray147[local318], local330, aClass144Array1[local318].aBoolean278, this.anIntArrayArray28[local318]);
}
local330 <<= 0x1;
}
@@ -466,9 +480,9 @@ public final class NpcType {
local1218.method4558(local1088, local228, local1092, local1040, arg7 - 1, local300, seqType1.aBoolean278);
}
for (local318 = 0; local318 < local173; local318++) {
- Static6.aClass3_Sub2_Sub7Array1[local318] = null;
- Static131.aClass3_Sub2_Sub7Array5[local318] = null;
- Static146.aClass144Array1[local318] = null;
+ aClass3_Sub2_Sub7Array1[local318] = null;
+ aClass3_Sub2_Sub7Array5[local318] = null;
+ aClass144Array1[local318] = null;
}
if (this.anInt3729 != 128 || this.anInt3731 != 128) {
local1218.resize(this.anInt3729, this.anInt3731, this.anInt3729);
diff --git a/client/src/main/java/rt4/Protocol.java b/client/src/main/java/rt4/Protocol.java
index 442346d..85520b2 100644
--- a/client/src/main/java/rt4/Protocol.java
+++ b/client/src/main/java/rt4/Protocol.java
@@ -5,6 +5,7 @@ import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
public class Protocol {
@OriginalMember(owner = "client!eg", name = "e", descriptor = "Lclient!i;")
@@ -25,6 +26,8 @@ public class Protocol {
public static final JagString TRADEREQ = JagString.parse(":tradereq:");
@OriginalMember(owner = "client!lb", name = "s", descriptor = "Lclient!na;")
public static final JagString CLAN = JagString.parse(":clan:");
+ @OriginalMember(owner = "client!ij", name = "a", descriptor = "Lclient!na;")
+ public static final JagString DUELFRIEND = JagString.parse(":duelfriend:");
@OriginalMember(owner = "client!jk", name = "B", descriptor = "Lclient!ma;")
public static BufferedSocket socket;
@OriginalMember(owner = "client!fl", name = "C", descriptor = "Lsignlink!im;")
@@ -73,10 +76,10 @@ public class Protocol {
@Pc(122) ObjStack local122 = new ObjStack();
local122.anInt5550 = local31;
local122.type = local15;
- if (Static159.objStacks[Player.level][local19][local27] == null) {
- Static159.objStacks[Player.level][local19][local27] = new LinkedList();
+ if (SceneGraph.objStacks[Player.level][local19][local27] == null) {
+ SceneGraph.objStacks[Player.level][local19][local27] = new LinkedList();
}
- Static159.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local122));
+ SceneGraph.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local122));
Static220.spawnGroundObject(local27, local19);
}
} else if (opcode == ServerProt.LOCATION_PACKET_121) {
@@ -169,7 +172,7 @@ public class Protocol {
int local31 = inboundBuffer.g2();
int local39 = inboundBuffer.g2();
if (local23 >= 0 && local19 >= 0 && local23 < 104 && local19 < 104) {
- @Pc(710) LinkedList local710 = Static159.objStacks[Player.level][local23][local19];
+ @Pc(710) LinkedList local710 = SceneGraph.objStacks[Player.level][local23][local19];
if (local710 != null) {
for (@Pc(718) ObjStackNode local718 = (ObjStackNode) local710.head(); local718 != null; local718 = (ObjStackNode) local710.next()) {
@Pc(723) ObjStack local723 = local718.value;
@@ -192,10 +195,10 @@ public class Protocol {
@Pc(812) ObjStack local812 = new ObjStack();
local812.anInt5550 = local31;
local812.type = local39;
- if (Static159.objStacks[Player.level][local19][local27] == null) {
- Static159.objStacks[Player.level][local19][local27] = new LinkedList();
+ if (SceneGraph.objStacks[Player.level][local19][local27] == null) {
+ SceneGraph.objStacks[Player.level][local19][local27] = new LinkedList();
}
- Static159.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local812));
+ SceneGraph.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local812));
Static220.spawnGroundObject(local27, local19);
}
} else if (opcode == ServerProt.LOCATION_PACKET_16) {
@@ -315,7 +318,7 @@ public class Protocol {
int local23 = (local15 >> 4 & 0x7) + Static115.currentChunkX;
int local27 = inboundBuffer.g2();
if (local23 >= 0 && local19 >= 0 && local23 < 104 && local19 < 104) {
- @Pc(1565) LinkedList local1565 = Static159.objStacks[Player.level][local23][local19];
+ @Pc(1565) LinkedList local1565 = SceneGraph.objStacks[Player.level][local23][local19];
if (local1565 != null) {
for (@Pc(1572) ObjStackNode local1572 = (ObjStackNode) local1565.head(); local1572 != null; local1572 = (ObjStackNode) local1565.next()) {
if (local1572.value.type == (local27 & 0x7FFF)) {
@@ -324,7 +327,7 @@ public class Protocol {
}
}
if (local1565.head() == null) {
- Static159.objStacks[Player.level][local23][local19] = null;
+ SceneGraph.objStacks[Player.level][local23][local19] = null;
}
Static220.spawnGroundObject(local19, local23);
}
@@ -967,7 +970,7 @@ public class Protocol {
if (!ignored && Player.inTutorialIsland == 0) {
Chat.add(name, 14, JagString.EMPTY);
}
- } else if (message.endsWith(Static112.DUELFRIEND)) {
+ } else if (message.endsWith(DUELFRIEND)) {
JagString name = message.substring(message.indexOf(Static264.COLON), 0);
long name37 = name.encode37();
boolean ignored = false;
@@ -1444,8 +1447,8 @@ public class Protocol {
Static180.currentChunkZ = inboundBuffer.g1neg();
for (int x = Static115.currentChunkX; x < Static115.currentChunkX + 8; x++) {
for (int z = Static180.currentChunkZ; z < Static180.currentChunkZ + 8; z++) {
- if (Static159.objStacks[Player.level][x][z] != null) {
- Static159.objStacks[Player.level][x][z] = null;
+ if (SceneGraph.objStacks[Player.level][x][z] != null) {
+ SceneGraph.objStacks[Player.level][x][z] = null;
Static220.spawnGroundObject(z, x);
}
}
@@ -1759,7 +1762,7 @@ public class Protocol {
} else {
Static175.url = url;
Static164.newTab = true;
- Static33.openUrlRequest = GameShell.signLink.openUrl(new String(url.method3148(), "ISO-8859-1"));
+ Static33.openUrlRequest = GameShell.signLink.openUrl(new String(url.method3148(), StandardCharsets.ISO_8859_1));
}
opcode = -1;
return true;
@@ -2496,7 +2499,7 @@ public class Protocol {
return;
}
Static71.method1444();
- Static109.method2274();
+ NpcList.method2274();
OverheadChat.loop();
if (WorldMap.component != null) {
WorldMap.method447();
@@ -2810,9 +2813,9 @@ public class Protocol {
if (Static227.cameraType == 1) {
Static250.method4273();
} else if (Static227.cameraType == 2) {
- Static125.updateLockedCamera();
+ Camera.updateLockedCamera();
} else {
- Static40.updateLoginScreenCamera();
+ Camera.updateLoginScreenCamera();
}
for (y = 0; y < 5; y++) {
@Pc(2001) int local2001 = Static31.anIntArray76[y]++;
diff --git a/client/src/main/java/rt4/ReflectionCheck.java b/client/src/main/java/rt4/ReflectionCheck.java
index 5a6b672..548fd54 100644
--- a/client/src/main/java/rt4/ReflectionCheck.java
+++ b/client/src/main/java/rt4/ReflectionCheck.java
@@ -13,7 +13,9 @@ import java.lang.reflect.Method;
@OriginalClass("client!ed")
public final class ReflectionCheck extends Node {
- @OriginalMember(owner = "client!ed", name = "p", descriptor = "I")
+ @OriginalMember(owner = "client!qi", name = "u", descriptor = "Lclient!ih;")
+ public static LinkedList aClass69_113 = new LinkedList();
+ @OriginalMember(owner = "client!ed", name = "p", descriptor = "I")
public int anInt1725;
@OriginalMember(owner = "client!ed", name = "u", descriptor = "[Lsignlink!im;")
@@ -40,7 +42,7 @@ public final class ReflectionCheck extends Node {
@OriginalMember(owner = "client!t", name = "a", descriptor = "(Lclient!i;II)V")
public static void loop(@OriginalArg(0) Packet arg0) {
while (true) {
- @Pc(18) ReflectionCheck local18 = (ReflectionCheck) Static204.aClass69_113.head();
+ @Pc(18) ReflectionCheck local18 = (ReflectionCheck) aClass69_113.head();
if (local18 == null) {
return;
}
@@ -218,6 +220,11 @@ public final class ReflectionCheck extends Node {
local17.anIntArray138[local59] = -5;
}
}
- Static204.aClass69_113.addTail(local17);
+ aClass69_113.addTail(local17);
}
+
+ @OriginalMember(owner = "client!j", name = "c", descriptor = "(I)V")
+ public static void method4625() {
+ aClass69_113 = new LinkedList();
+ }
}
diff --git a/client/src/main/java/rt4/SceneGraph.java b/client/src/main/java/rt4/SceneGraph.java
index 483d8cd..6d6cefe 100644
--- a/client/src/main/java/rt4/SceneGraph.java
+++ b/client/src/main/java/rt4/SceneGraph.java
@@ -7,6 +7,8 @@ import org.openrs2.deob.annotation.Pc;
public class SceneGraph {
@OriginalMember(owner = "client!bb", name = "g", descriptor = "[[[B")
public static final byte[][][] tileFlags = new byte[4][104][104];
+ @OriginalMember(owner = "client!mi", name = "Y", descriptor = "[[[Lclient!ih;")
+ public static final LinkedList[][][] objStacks = new LinkedList[4][104][104];
@OriginalMember(owner = "client!kc", name = "o", descriptor = "[[[Lclient!bj;")
public static Tile[][][] tiles;
diff --git a/client/src/main/java/rt4/ScriptRunner.java b/client/src/main/java/rt4/ScriptRunner.java
index d863467..ac18d78 100644
--- a/client/src/main/java/rt4/ScriptRunner.java
+++ b/client/src/main/java/rt4/ScriptRunner.java
@@ -1,6 +1,7 @@
package rt4;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.util.Calendar;
import java.util.Date;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
@@ -24,6 +25,12 @@ public final class ScriptRunner {
public static final JagString aClass100_446 = JagString.parse("");
@OriginalMember(owner = "client!nd", name = "b", descriptor = "Lclient!na;")
public static final JagString aClass100_780 = JagString.parse("Clientscript error in: ");
+ @OriginalMember(owner = "client!hm", name = "R", descriptor = "Lclient!na;")
+ public static final JagString aClass100_537 = JagString.parse("
");
+ @OriginalMember(owner = "client!hn", name = "K", descriptor = "Ljava/util/Calendar;")
+ public static final Calendar aCalendar2 = Calendar.getInstance();
+ @OriginalMember(owner = "client!kk", name = "m", descriptor = "Lclient!na;")
+ public static final JagString CS_ERROR = JagString.parse("Clientscript error )2 check log for details");
@OriginalMember(owner = "client!jh", name = "n", descriptor = "Lclient!bd;")
public static QuickChatPhrase activePhrase;
@OriginalMember(owner = "client!wf", name = "j", descriptor = "Lclient!be;")
@@ -1679,7 +1686,7 @@ public final class ScriptRunner {
if (opcode == 3609) {
ssp--;
string = stringStack[ssp];
- if (string.startsWith(aClass100_446) || string.startsWith(Static101.aClass100_537)) {
+ if (string.startsWith(aClass100_446) || string.startsWith(aClass100_537)) {
string = string.substring(7);
}
intStack[isp++] = FriendsList.contains(string) ? 1 : 0;
@@ -1786,7 +1793,7 @@ public final class ScriptRunner {
if (opcode == 3623) {
ssp--;
string = stringStack[ssp];
- if (string.startsWith(aClass100_446) || string.startsWith(Static101.aClass100_537)) {
+ if (string.startsWith(aClass100_446) || string.startsWith(aClass100_537)) {
string = string.substring(7);
}
intStack[isp++] = IgnoreList.contains(string) ? 1 : 0;
@@ -1833,10 +1840,10 @@ public final class ScriptRunner {
if (opcode == 3628) {
ssp--;
string = stringStack[ssp];
- if (string.startsWith(aClass100_446) || string.startsWith(Static101.aClass100_537)) {
+ if (string.startsWith(aClass100_446) || string.startsWith(aClass100_537)) {
string = string.substring(7);
}
- intStack[isp++] = Static4.method25(string);
+ intStack[isp++] = FriendsList.method25(string);
continue;
}
if (opcode == 3629) {
@@ -2677,16 +2684,16 @@ public final class ScriptRunner {
}
if (opcode == 5202) {
isp--;
- Static258.method4444(intStack[isp]);
+ WorldMap.method4444(intStack[isp]);
continue;
}
if (opcode == 5203) {
ssp--;
- Static3.method4656(stringStack[ssp]);
+ WorldMap.method4656(stringStack[ssp]);
continue;
}
if (opcode == 5204) {
- stringStack[ssp - 1] = Static211.method923(stringStack[ssp - 1]);
+ stringStack[ssp - 1] = WorldMap.method923(stringStack[ssp - 1]);
continue;
}
if (opcode == 5205) {
@@ -2717,8 +2724,8 @@ public final class ScriptRunner {
continue;
}
if (opcode == 5208) {
- intStack[isp++] = Static89.anInt2387;
- intStack[isp++] = Static37.anInt1176;
+ intStack[isp++] = WorldMap.anInt2387;
+ intStack[isp++] = WorldMap.anInt1176;
continue;
}
if (opcode == 5209) {
@@ -2727,7 +2734,7 @@ public final class ScriptRunner {
continue;
}
if (opcode == 5210) {
- local7293 = Static214.method4361();
+ local7293 = WorldMap.method4361();
if (local7293 == null) {
intStack[isp++] = 0;
intStack[isp++] = 0;
@@ -2738,7 +2745,7 @@ public final class ScriptRunner {
continue;
}
if (opcode == 5211) {
- local7293 = Static214.method4361();
+ local7293 = WorldMap.method4361();
if (local7293 == null) {
intStack[isp++] = 0;
intStack[isp++] = 0;
@@ -2749,7 +2756,7 @@ public final class ScriptRunner {
continue;
}
if (opcode == 5212) {
- int1 = Static118.method2352();
+ int1 = WorldMap.method2352();
int2 = 0;
if (int1 == -1) {
local2522 = EMPTY_STRING;
@@ -2764,7 +2771,7 @@ public final class ScriptRunner {
}
if (opcode == 5213) {
int2 = 0;
- int1 = Static119.method2385();
+ int1 = WorldMap.method2385();
if (int1 == -1) {
local2522 = EMPTY_STRING;
} else {
@@ -2779,7 +2786,7 @@ public final class ScriptRunner {
if (opcode == 5214) {
isp--;
int1 = intStack[isp];
- Static80.method3616(int1 >> 14 & 0x3FFF, int1 & 0x3FFF);
+ WorldMap.method3616(int1 >> 14 & 0x3FFF, int1 & 0x3FFF);
continue;
}
if (opcode == 5215) {
@@ -2805,13 +2812,13 @@ public final class ScriptRunner {
if (opcode == 5216) {
isp--;
int1 = intStack[isp];
- Static253.method4332(int1);
+ MapList.method4332(int1);
continue;
}
if (opcode == 5217) {
isp--;
int1 = intStack[isp];
- if (Static90.method1855(int1)) {
+ if (MapList.method1855(int1)) {
intStack[isp++] = 1;
} else {
intStack[isp++] = 0;
@@ -2819,7 +2826,7 @@ public final class ScriptRunner {
continue;
}
if (opcode == 5218) {
- local7293 = Static214.method4361();
+ local7293 = WorldMap.method4361();
if (local7293 == null) {
intStack[isp++] = -1;
} else {
@@ -2829,7 +2836,7 @@ public final class ScriptRunner {
}
if (opcode == 5219) {
ssp--;
- Static44.method1149(stringStack[ssp]);
+ WorldMap.method1149(stringStack[ssp]);
continue;
}
if (opcode == 5220) {
@@ -2975,12 +2982,9 @@ public final class ScriptRunner {
string = EMPTY_STRING;
if (Player.lastLogAddress != null) {
string = Static181.method3341(Player.lastLogAddress.intArg2);
- try {
- if (Player.lastLogAddress.result != null) {
- @Pc(8281) byte[] local8281 = ((String) Player.lastLogAddress.result).getBytes("ISO-8859-1");
- string = JagString.decodeString(local8281, local8281.length, 0);
- }
- } catch (@Pc(8290) UnsupportedEncodingException local8290) {
+ if (Player.lastLogAddress.result != null) {
+ @Pc(8281) byte[] local8281 = ((String) Player.lastLogAddress.result).getBytes(StandardCharsets.ISO_8859_1);
+ string = JagString.decodeString(local8281, local8281.length, 0);
}
}
stringStack[ssp++] = string;
@@ -3002,7 +3006,7 @@ public final class ScriptRunner {
if (GameShell.frame != null || local1552 && SignLink.anInt5928 != 3 && SignLink.osName.startsWith("win") && !client.haveIe6) {
Static164.newTab = local1552;
Static175.url = local8356;
- Static33.openUrlRequest = GameShell.signLink.openUrl(new String(local8356.method3148(), "ISO-8859-1"));
+ Static33.openUrlRequest = GameShell.signLink.openUrl(new String(local8356.method3148(), StandardCharsets.ISO_8859_1));
continue;
}
Static169.openUrl(local8356, local1552);
@@ -3656,16 +3660,16 @@ public final class ScriptRunner {
int2 = intStack[isp + 2];
int3 = intStack[isp + 1];
int1 = intStack[isp];
- Static102.aCalendar2.clear();
- Static102.aCalendar2.set(11, 12);
- Static102.aCalendar2.set(int2, int3, int1);
- intStack[isp++] = (int) (Static102.aCalendar2.getTime().getTime() / 86400000L) - 11745;
+ aCalendar2.clear();
+ aCalendar2.set(11, 12);
+ aCalendar2.set(int2, int3, int1);
+ intStack[isp++] = (int) (aCalendar2.getTime().getTime() / 86400000L) - 11745;
continue;
}
if (opcode == 6303) {
- Static102.aCalendar2.clear();
- Static102.aCalendar2.setTime(new Date(MonotonicClock.currentTimeMillis()));
- intStack[isp++] = Static102.aCalendar2.get(1);
+ aCalendar2.clear();
+ aCalendar2.setTime(new Date(MonotonicClock.currentTimeMillis()));
+ intStack[isp++] = aCalendar2.get(1);
continue;
}
if (opcode == 6304) {
@@ -3853,7 +3857,7 @@ public final class ScriptRunner {
string = stringStack[ssp];
isp--;
int3 = intStack[isp];
- stringStack[ssp++] = JagString.concatenate(new JagString[] { string, Static110.method2285(int3) });
+ stringStack[ssp++] = JagString.concatenate(new JagString[] { string, JagString.parseIntTrue(int3) });
continue;
}
if (opcode == 4103) {
@@ -3866,10 +3870,10 @@ public final class ScriptRunner {
isp--;
int1 = intStack[isp];
@Pc(11770) long local11770 = (long) int1 * 86400000L + 1014768000000L;
- Static102.aCalendar2.setTime(new Date(local11770));
- local652 = Static102.aCalendar2.get(5);
- c = Static102.aCalendar2.get(2);
- local1087 = Static102.aCalendar2.get(1);
+ aCalendar2.setTime(new Date(local11770));
+ local652 = aCalendar2.get(5);
+ c = aCalendar2.get(2);
+ local1087 = aCalendar2.get(1);
stringStack[ssp++] = JagString.concatenate(new JagString[] { JagString.parseInt(local652), Static163.aClass100_767, Static34.aClass100Array40[c], Static163.aClass100_767, JagString.parseInt(local1087) });
continue;
}
@@ -4140,7 +4144,7 @@ public final class ScriptRunner {
} catch (@Pc(14378) Exception ex) {
if (script.name == null) {
if (client.modeWhere != 0) {
- Chat.add(EMPTY_STRING, 0, Static136.CS_ERROR);
+ Chat.add(EMPTY_STRING, 0, CS_ERROR);
}
TracingException.report("CS2 - scr:" + script.key + " op:" + op, ex);
} else {
diff --git a/client/src/main/java/rt4/SoftwareAlphaSprite.java b/client/src/main/java/rt4/SoftwareAlphaSprite.java
index b148fc6..f971ab5 100644
--- a/client/src/main/java/rt4/SoftwareAlphaSprite.java
+++ b/client/src/main/java/rt4/SoftwareAlphaSprite.java
@@ -856,7 +856,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite {
@OriginalMember(owner = "client!am", name = "d", descriptor = "(II)V")
@Override
- public final void method1421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
+ public final void renderHorizontalFlipTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
arg0 += this.anInt1860 - this.width - this.anInt1863;
arg1 += this.anInt1861;
@Pc(21) int local21 = arg0 + arg1 * SoftwareRaster.width;
diff --git a/client/src/main/java/rt4/SoftwareFont.java b/client/src/main/java/rt4/SoftwareFont.java
index 4ecba76..af0441d 100644
--- a/client/src/main/java/rt4/SoftwareFont.java
+++ b/client/src/main/java/rt4/SoftwareFont.java
@@ -126,6 +126,22 @@ public final class SoftwareFont extends Font {
}
}
+ @OriginalMember(owner = "client!jh", name = "a", descriptor = "(IILclient!ve;Lclient!ve;I)Lclient!dd;")
+ public static SoftwareFont method2412(@OriginalArg(0) int arg0, @OriginalArg(2) Js5 arg1, @OriginalArg(3) Js5 arg2) {
+ return SpriteLoader.decode(arg2, 0, arg0) ? method4635(arg1.getFile(arg0, 0)) : null;
+ }
+
+ @OriginalMember(owner = "client!j", name = "a", descriptor = "([BI)Lclient!dd;")
+ public static SoftwareFont method4635(@OriginalArg(0) byte[] arg0) {
+ if (arg0 == null) {
+ return null;
+ } else {
+ @Pc(22) SoftwareFont local22 = new SoftwareFont(arg0, SpriteLoader.xOffsets, SpriteLoader.yOffsets, SpriteLoader.innerWidths, SpriteLoader.innerHeights, SpriteLoader.pixels);
+ SpriteLoader.clear();
+ return local22;
+ }
+ }
+
@OriginalMember(owner = "client!dd", name = "a", descriptor = "(IIIIIIIZ)V")
@Override
protected final void renderGlyphTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) {
diff --git a/client/src/main/java/rt4/SoftwareRaster.java b/client/src/main/java/rt4/SoftwareRaster.java
index 53ef1ab..ca10080 100644
--- a/client/src/main/java/rt4/SoftwareRaster.java
+++ b/client/src/main/java/rt4/SoftwareRaster.java
@@ -51,7 +51,7 @@ public final class SoftwareRaster {
}
@OriginalMember(owner = "client!kb", name = "a", descriptor = "(IIIIII)V")
- public static void method2484(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
+ public static void fillRectAlpha(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
if (arg0 < clipLeft) {
arg2 -= clipLeft - arg0;
arg0 = clipLeft;
diff --git a/client/src/main/java/rt4/SoftwareSprite.java b/client/src/main/java/rt4/SoftwareSprite.java
index ae6120b..f73bd35 100644
--- a/client/src/main/java/rt4/SoftwareSprite.java
+++ b/client/src/main/java/rt4/SoftwareSprite.java
@@ -203,10 +203,33 @@ public class SoftwareSprite extends Sprite {
@OriginalMember(owner = "client!gf", name = "a", descriptor = "(Lclient!ve;IIB)Lclient!mm;")
public static SoftwareSprite loadSoftwareAlphaSprite(@OriginalArg(0) Js5 arg0, @OriginalArg(2) int arg1) {
- return SpriteLoader.decode(arg0, 0, arg1) ? Static102.method2071() : null;
+ return SpriteLoader.decode(arg0, 0, arg1) ? method2071() : null;
}
- @OriginalMember(owner = "client!mm", name = "d", descriptor = "(I)V")
+ @OriginalMember(owner = "client!hn", name = "d", descriptor = "(I)Lclient!mm;")
+ public static SoftwareSprite method2071() {
+ @Pc(13) int local13 = SpriteLoader.innerHeights[0] * SpriteLoader.innerWidths[0];
+ @Pc(17) byte[] local17 = SpriteLoader.pixels[0];
+ @Pc(78) SoftwareSprite local78;
+ if (SpriteLoader.hasAlpha[0]) {
+ @Pc(30) byte[] local30 = SpriteLoader.alpha[0];
+ @Pc(33) int[] local33 = new int[local13];
+ for (@Pc(35) int local35 = 0; local35 < local13; local35++) {
+ local33[local35] = (local30[local35] & 0xFF) << 24 | SpriteLoader.palette[local17[local35] & 0xFF];
+ }
+ local78 = new SoftwareAlphaSprite(SpriteLoader.width, SpriteLoader.height, SpriteLoader.xOffsets[0], SpriteLoader.yOffsets[0], SpriteLoader.innerWidths[0], SpriteLoader.innerHeights[0], local33);
+ } else {
+ @Pc(83) int[] local83 = new int[local13];
+ for (@Pc(85) int local85 = 0; local85 < local13; local85++) {
+ local83[local85] = SpriteLoader.palette[local17[local85] & 0xFF];
+ }
+ local78 = new SoftwareSprite(SpriteLoader.width, SpriteLoader.height, SpriteLoader.xOffsets[0], SpriteLoader.yOffsets[0], SpriteLoader.innerWidths[0], SpriteLoader.innerHeights[0], local83);
+ }
+ SpriteLoader.clear();
+ return local78;
+ }
+
+ @OriginalMember(owner = "client!mm", name = "d", descriptor = "(I)V")
public final void method298(@OriginalArg(0) int arg0) {
if (this.width == this.anInt1860 && this.height == this.anInt1866) {
return;
@@ -822,7 +845,7 @@ public class SoftwareSprite extends Sprite {
@OriginalMember(owner = "client!mm", name = "d", descriptor = "(II)V")
@Override
- public void method1421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
+ public void renderHorizontalFlipTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
arg0 += this.anInt1860 - this.width - this.anInt1863;
arg1 += this.anInt1861;
@Pc(21) int local21 = arg0 + arg1 * SoftwareRaster.width;
diff --git a/client/src/main/java/rt4/Sprite.java b/client/src/main/java/rt4/Sprite.java
index 40bc728..68f779e 100644
--- a/client/src/main/java/rt4/Sprite.java
+++ b/client/src/main/java/rt4/Sprite.java
@@ -52,7 +52,7 @@ public abstract class Sprite extends SecondaryNode {
}
@OriginalMember(owner = "client!qf", name = "d", descriptor = "(II)V")
- public abstract void method1421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1);
+ public abstract void renderHorizontalFlipTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1);
@OriginalMember(owner = "client!qf", name = "b", descriptor = "(IIIII)V")
public abstract void method1422(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4);
diff --git a/client/src/main/java/rt4/Static1.java b/client/src/main/java/rt4/Static1.java
index a4c0247..fb95d0a 100644
--- a/client/src/main/java/rt4/Static1.java
+++ b/client/src/main/java/rt4/Static1.java
@@ -553,18 +553,18 @@ public final class Static1 {
}
WorldMap.aClass3_Sub2_Sub1_2.method1415(arg0, arg3);
@Pc(147) int local147 = arg1 * Static109.anInt2884 / WorldMap.length + arg3;
- @Pc(153) int local153 = Static37.anInt1176 * arg1 / WorldMap.length;
+ @Pc(153) int local153 = WorldMap.anInt1176 * arg1 / WorldMap.length;
@Pc(161) int local161 = arg0 + arg2 * Static109.anInt2882 / WorldMap.width;
- @Pc(167) int local167 = arg2 * Static89.anInt2387 / WorldMap.width;
+ @Pc(167) int local167 = arg2 * WorldMap.anInt2387 / WorldMap.width;
@Pc(169) int local169 = 16711680;
if (client.game == 1) {
local169 = 16777215;
}
if (GlRenderer.enabled) {
- GlRaster.method1182(local161, local147, local167, local153, local169, 128);
+ GlRaster.fillRectAlpha(local161, local147, local167, local153, local169, 128);
GlRaster.method1179(local161, local147, local167, local153, local169);
} else {
- SoftwareRaster.method2484(local161, local147, local167, local153, local169, 128);
+ SoftwareRaster.fillRectAlpha(local161, local147, local167, local153, local169, 128);
SoftwareRaster.drawRect(local161, local147, local167, local153, local169);
}
if (Static201.anInt1864 <= 0) {
@@ -581,9 +581,9 @@ public final class Static1 {
@Pc(258) int local258 = arg3 + local238.anInt4314 * arg1 / WorldMap.length;
@Pc(267) int local267 = arg2 * local238.anInt4307 / WorldMap.width + arg0;
if (GlRenderer.enabled) {
- GlRaster.method1182(local267 - 2, local258 + -2, 4, 4, 16776960, local225);
+ GlRaster.fillRectAlpha(local267 - 2, local258 + -2, 4, 4, 16776960, local225);
} else {
- SoftwareRaster.method2484(local267 - 2, local258 + -2, 4, 4, 16776960, local225);
+ SoftwareRaster.fillRectAlpha(local267 - 2, local258 + -2, 4, 4, 16776960, local225);
}
}
}
diff --git a/client/src/main/java/rt4/Static101.java b/client/src/main/java/rt4/Static101.java
index a9e1085..2ef55e6 100644
--- a/client/src/main/java/rt4/Static101.java
+++ b/client/src/main/java/rt4/Static101.java
@@ -6,10 +6,7 @@ import org.openrs2.deob.annotation.Pc;
public final class Static101 {
- @OriginalMember(owner = "client!hm", name = "R", descriptor = "Lclient!na;")
- public static final JagString aClass100_537 = JagString.parse("
");
-
- @OriginalMember(owner = "client!hm", name = "T", descriptor = "Lclient!na;")
+ @OriginalMember(owner = "client!hm", name = "T", descriptor = "Lclient!na;")
public static final JagString aClass100_538 = JagString.parse(" ");
@OriginalMember(owner = "client!hm", name = "ab", descriptor = "I")
diff --git a/client/src/main/java/rt4/Static102.java b/client/src/main/java/rt4/Static102.java
index 5933229..1c4dcac 100644
--- a/client/src/main/java/rt4/Static102.java
+++ b/client/src/main/java/rt4/Static102.java
@@ -1,44 +1,10 @@
package rt4;
-import java.util.Calendar;
-
import org.openrs2.deob.annotation.OriginalMember;
-import org.openrs2.deob.annotation.Pc;
public final class Static102 {
- @OriginalMember(owner = "client!hn", name = "K", descriptor = "Ljava/util/Calendar;")
- public static final Calendar aCalendar2 = Calendar.getInstance();
-
- @OriginalMember(owner = "client!hn", name = "Y", descriptor = "I")
+ @OriginalMember(owner = "client!hn", name = "Y", descriptor = "I")
public static int anInt2680 = 0;
- @OriginalMember(owner = "client!hn", name = "d", descriptor = "(I)Lclient!mm;")
- public static SoftwareSprite method2071() {
- @Pc(13) int local13 = SpriteLoader.innerHeights[0] * SpriteLoader.innerWidths[0];
- @Pc(17) byte[] local17 = SpriteLoader.pixels[0];
- @Pc(78) SoftwareSprite local78;
- if (SpriteLoader.hasAlpha[0]) {
- @Pc(30) byte[] local30 = SpriteLoader.alpha[0];
- @Pc(33) int[] local33 = new int[local13];
- for (@Pc(35) int local35 = 0; local35 < local13; local35++) {
- local33[local35] = (local30[local35] & 0xFF) << 24 | SpriteLoader.palette[local17[local35] & 0xFF];
- }
- local78 = new SoftwareAlphaSprite(SpriteLoader.width, SpriteLoader.height, SpriteLoader.xOffsets[0], SpriteLoader.yOffsets[0], SpriteLoader.innerWidths[0], SpriteLoader.innerHeights[0], local33);
- } else {
- @Pc(83) int[] local83 = new int[local13];
- for (@Pc(85) int local85 = 0; local85 < local13; local85++) {
- local83[local85] = SpriteLoader.palette[local17[local85] & 0xFF];
- }
- local78 = new SoftwareSprite(SpriteLoader.width, SpriteLoader.height, SpriteLoader.xOffsets[0], SpriteLoader.yOffsets[0], SpriteLoader.innerWidths[0], SpriteLoader.innerHeights[0], local83);
- }
- SpriteLoader.clear();
- return local78;
- }
-
- @OriginalMember(owner = "client!hn", name = "f", descriptor = "(B)V")
- public static void method2073() {
- Inv.objectContainerCache = new HashTable(32);
- }
-
}
diff --git a/client/src/main/java/rt4/Static104.java b/client/src/main/java/rt4/Static104.java
index b497511..653d1fc 100644
--- a/client/src/main/java/rt4/Static104.java
+++ b/client/src/main/java/rt4/Static104.java
@@ -6,199 +6,7 @@ import org.openrs2.deob.annotation.Pc;
public final class Static104 {
- @OriginalMember(owner = "client!ia", name = "a", descriptor = "(BLclient!fe;)V")
- public static void method2247(@OriginalArg(1) PathingEntity arg0) {
- @Pc(9) BasType local9 = arg0.getBasType();
- arg0.movementSeqId = local9.idleAnimationId;
- if (arg0.movementQueueSize == 0) {
- arg0.anInt3417 = 0;
- return;
- }
- if (arg0.seqId != -1 && arg0.anInt3420 == 0) {
- @Pc(40) SeqType local40 = SeqTypeList.get(arg0.seqId);
- if (arg0.anInt3405 > 0 && local40.anInt5363 == 0) {
- arg0.anInt3417++;
- return;
- }
- if (arg0.anInt3405 <= 0 && local40.anInt5349 == 0) {
- arg0.anInt3417++;
- return;
- }
- }
- @Pc(79) int local79 = arg0.xFine;
- @Pc(82) int local82 = arg0.zFine;
- @Pc(99) int local99 = arg0.movementQueueX[arg0.movementQueueSize - 1] * 128 + arg0.getSize() * 64;
- @Pc(116) int local116 = arg0.movementQueueZ[arg0.movementQueueSize - 1] * 128 + arg0.getSize() * 64;
- if (local99 - local79 > 256 || local99 - local79 < -256 || local116 - local82 > 256 || local116 - local82 < -256) {
- arg0.xFine = local99;
- arg0.zFine = local116;
- return;
- }
- if (local99 <= local79) {
- if (local79 <= local99) {
- if (local116 > local82) {
- arg0.anInt3400 = 1024;
- } else if (local82 > local116) {
- arg0.anInt3400 = 0;
- }
- } else if (local116 > local82) {
- arg0.anInt3400 = 768;
- } else if (local116 < local82) {
- arg0.anInt3400 = 256;
- } else {
- arg0.anInt3400 = 512;
- }
- } else if (local116 > local82) {
- arg0.anInt3400 = 1280;
- } else if (local82 > local116) {
- arg0.anInt3400 = 1792;
- } else {
- arg0.anInt3400 = 1536;
- }
- @Pc(224) int local224 = arg0.anInt3400 - arg0.anInt3381 & 0x7FF;
- @Pc(227) int local227 = local9.turnAnimation1;
- if (local224 > 1024) {
- local224 -= 2048;
- }
- @Pc(233) boolean local233 = true;
- @Pc(235) byte local235 = 1;
- if (local224 >= -256 && local224 <= 256) {
- local227 = local9.walkAnimation;
- } else if (local224 >= 256 && local224 < 768) {
- local227 = local9.turnAnimation3;
- } else if (local224 >= -768 && local224 <= -256) {
- local227 = local9.turnAnimation2;
- }
- @Pc(273) int local273 = 4;
- if (local227 == -1) {
- local227 = local9.walkAnimation;
- }
- arg0.movementSeqId = local227;
- if (arg0 instanceof Npc) {
- local233 = ((Npc) arg0).type.aBoolean181;
- }
- if (local233) {
- if (arg0.anInt3381 != arg0.anInt3400 && arg0.faceEntity == -1 && arg0.anInt3376 != 0) {
- local273 = 2;
- }
- if (arg0.movementQueueSize > 2) {
- local273 = 6;
- }
- if (arg0.movementQueueSize > 3) {
- local273 = 8;
- }
- if (arg0.anInt3417 > 0 && arg0.movementQueueSize > 1) {
- local273 = 8;
- arg0.anInt3417--;
- }
- } else {
- if (arg0.movementQueueSize > 1) {
- local273 = 6;
- }
- if (arg0.movementQueueSize > 2) {
- local273 = 8;
- }
- if (arg0.anInt3417 > 0 && arg0.movementQueueSize > 1) {
- arg0.anInt3417--;
- local273 = 8;
- }
- }
- if (arg0.movementQueueSpeed[arg0.movementQueueSize - 1] == 2) {
- local273 <<= 0x1;
- local235 = 2;
- } else if (arg0.movementQueueSpeed[arg0.movementQueueSize - 1] == 0) {
- local235 = 0;
- local273 >>= 0x1;
- }
- if (local273 < 8 || local9.runAnimationId == -1) {
- if (local9.anInt1062 != -1 && local235 == 0) {
- if (local9.turnAnimation1 == arg0.movementSeqId && local9.anInt1042 != -1) {
- arg0.movementSeqId = local9.anInt1042;
- } else if (local9.turnAnimation2 == arg0.movementSeqId && local9.anInt1066 != -1) {
- arg0.movementSeqId = local9.anInt1066;
- } else if (local9.turnAnimation3 == arg0.movementSeqId && local9.anInt1048 != -1) {
- arg0.movementSeqId = local9.anInt1048;
- } else {
- arg0.movementSeqId = local9.anInt1062;
- }
- }
- } else if (local9.turnAnimation1 == arg0.movementSeqId && local9.runAnimationId2 != -1) {
- arg0.movementSeqId = local9.runAnimationId2;
- } else if (arg0.movementSeqId == local9.turnAnimation2 && local9.runAnimationId3 != -1) {
- arg0.movementSeqId = local9.runAnimationId3;
- } else if (arg0.movementSeqId == local9.turnAnimation3 && local9.runAnimationId4 != -1) {
- arg0.movementSeqId = local9.runAnimationId4;
- } else {
- arg0.movementSeqId = local9.runAnimationId;
- }
- if (local9.anInt1032 != -1) {
- local273 <<= 0x7;
- if (arg0.movementQueueSize == 1) {
- @Pc(594) int local594 = (local99 >= arg0.xFine ? local99 - arg0.xFine : -local99 + arg0.xFine) << 7;
- @Pc(600) int local600 = arg0.anInt3358 * arg0.anInt3358;
- @Pc(622) int local622 = (local116 < arg0.zFine ? arg0.zFine - local116 : -arg0.zFine + local116) << 7;
- @Pc(629) int local629 = local594 > local622 ? local594 : local622;
- @Pc(636) int local636 = local9.anInt1032 * 2 * local629;
- if (local636 < local600) {
- arg0.anInt3358 /= 2;
- } else if (local629 < local600 / 2) {
- arg0.anInt3358 -= local9.anInt1032;
- if (arg0.anInt3358 < 0) {
- arg0.anInt3358 = 0;
- }
- } else if (arg0.anInt3358 < local273) {
- arg0.anInt3358 += local9.anInt1032;
- if (arg0.anInt3358 > local273) {
- arg0.anInt3358 = local273;
- }
- }
- } else if (local273 > arg0.anInt3358) {
- arg0.anInt3358 += local9.anInt1032;
- if (local273 < arg0.anInt3358) {
- arg0.anInt3358 = local273;
- }
- } else if (arg0.anInt3358 > 0) {
- arg0.anInt3358 -= local9.anInt1032;
- if (arg0.anInt3358 < 0) {
- arg0.anInt3358 = 0;
- }
- }
- local273 = arg0.anInt3358 >> 7;
- if (local273 < 1) {
- local273 = 1;
- }
- }
- if (local79 < local99) {
- arg0.xFine += local273;
- if (local99 < arg0.xFine) {
- arg0.xFine = local99;
- }
- } else if (local79 > local99) {
- arg0.xFine -= local273;
- if (local99 > arg0.xFine) {
- arg0.xFine = local99;
- }
- }
- if (local82 < local116) {
- arg0.zFine += local273;
- if (arg0.zFine > local116) {
- arg0.zFine = local116;
- }
- } else if (local116 < local82) {
- arg0.zFine -= local273;
- if (local116 > arg0.zFine) {
- arg0.zFine = local116;
- }
- }
- if (arg0.xFine == local99 && local116 == arg0.zFine) {
- arg0.movementQueueSize--;
- if (arg0.anInt3405 > 0) {
- arg0.anInt3405--;
- }
- }
- }
-
- @OriginalMember(owner = "client!ia", name = "a", descriptor = "(IB)I")
+ @OriginalMember(owner = "client!ia", name = "a", descriptor = "(IB)I")
public static int method2251(@OriginalArg(0) int arg0) {
@Pc(11) int local11 = arg0 & 0x3F;
@Pc(17) int local17 = arg0 >> 6 & 0x3;
diff --git a/client/src/main/java/rt4/Static107.java b/client/src/main/java/rt4/Static107.java
index 02a1b23..451c8bf 100644
--- a/client/src/main/java/rt4/Static107.java
+++ b/client/src/main/java/rt4/Static107.java
@@ -13,7 +13,4 @@ public final class Static107 {
@OriginalMember(owner = "client!id", name = "d", descriptor = "[[[I")
public static final int[][][] anIntArrayArrayArray9 = new int[2][][];
- @OriginalMember(owner = "client!id", name = "e", descriptor = "[I")
- public static final int[] anIntArray259 = new int[14];
-
}
diff --git a/client/src/main/java/rt4/Static109.java b/client/src/main/java/rt4/Static109.java
index 14ccc10..664013c 100644
--- a/client/src/main/java/rt4/Static109.java
+++ b/client/src/main/java/rt4/Static109.java
@@ -1,7 +1,6 @@
package rt4;
import org.openrs2.deob.annotation.OriginalMember;
-import org.openrs2.deob.annotation.Pc;
public final class Static109 {
@@ -17,15 +16,4 @@ public final class Static109 {
@OriginalMember(owner = "client!ig", name = "i", descriptor = "I")
public static int anInt2886;
- @OriginalMember(owner = "client!ig", name = "a", descriptor = "(I)V")
- public static void method2274() {
- for (@Pc(7) int local7 = 0; local7 < NpcList.size; local7++) {
- @Pc(18) int local18 = NpcList.ids[local7];
- @Pc(22) Npc local22 = NpcList.npcs[local18];
- if (local22 != null) {
- Static263.method4514(local22.type.size, local22);
- }
- }
- }
-
}
diff --git a/client/src/main/java/rt4/Static110.java b/client/src/main/java/rt4/Static110.java
index b984fed..b8b89e7 100644
--- a/client/src/main/java/rt4/Static110.java
+++ b/client/src/main/java/rt4/Static110.java
@@ -10,8 +10,4 @@ public final class Static110 {
Static182.aClass3_Sub14ArrayArray2[arg0] = arg1;
}
- @OriginalMember(owner = "client!ih", name = "a", descriptor = "(ZII)Lclient!na;")
- public static JagString method2285(@OriginalArg(2) int arg0) {
- return JagString.parseInt(true, arg0);
- }
}
diff --git a/client/src/main/java/rt4/Static112.java b/client/src/main/java/rt4/Static112.java
index 7a1289e..3d856e3 100644
--- a/client/src/main/java/rt4/Static112.java
+++ b/client/src/main/java/rt4/Static112.java
@@ -5,9 +5,6 @@ import org.openrs2.deob.annotation.Pc;
public final class Static112 {
- @OriginalMember(owner = "client!ij", name = "a", descriptor = "Lclient!na;")
- public static final JagString DUELFRIEND = JagString.parse(":duelfriend:");
-
@OriginalMember(owner = "client!ij", name = "a", descriptor = "(B)V")
public static void method2297() {
@Pc(3) int local3 = Static183.anInt4271;
@@ -31,9 +28,9 @@ public final class Static112 {
}
}
} else if (GlRenderer.enabled) {
- GlRaster.method1182(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910);
+ GlRaster.fillRectAlpha(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910);
} else {
- SoftwareRaster.method2484(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910);
+ SoftwareRaster.fillRectAlpha(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910);
}
}
@Pc(112) int local112;
@@ -44,13 +41,13 @@ public final class Static112 {
Static39.aClass3_Sub2_Sub1_1.renderTransparent(local114 * Static39.aClass3_Sub2_Sub1_1.width + local3, local9);
}
Static181.aClass3_Sub2_Sub1_9.renderTransparent(local3, local9);
- Static181.aClass3_Sub2_Sub1_9.method1421(local3 + local13 - Static181.aClass3_Sub2_Sub1_9.width, local9);
+ Static181.aClass3_Sub2_Sub1_9.renderHorizontalFlipTransparent(local3 + local13 - Static181.aClass3_Sub2_Sub1_9.width, local9);
}
- Fonts.b12Full.method2857(LocalizedText.CHOOSE_OPTION, local3 + 3, local9 + 14, Static195.anInt4581, -1);
+ Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local3 + 3, local9 + 14, Static195.anInt4581, -1);
if (GlRenderer.enabled) {
- GlRaster.method1182(local3, local9 + 20, local13, local11 - 20, Static40.anInt1275, 256 - Static111.anInt2910);
+ GlRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, Static40.anInt1275, 256 - Static111.anInt2910);
} else {
- SoftwareRaster.method2484(local3, local9 + 20, local13, local11 - 20, Static40.anInt1275, 256 - Static111.anInt2910);
+ SoftwareRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, Static40.anInt1275, 256 - Static111.anInt2910);
}
local114 = Mouse.anInt5032;
local112 = Mouse.anInt4873;
@@ -60,9 +57,9 @@ public final class Static112 {
local219 = (MiniMenu.size - local203 - 1) * 15 + local9 + 35;
if (local3 < local112 && local112 < local3 + local13 && local114 > local219 - 13 && local114 < local219 + 3) {
if (GlRenderer.enabled) {
- GlRaster.method1182(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208);
+ GlRaster.fillRectAlpha(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208);
} else {
- SoftwareRaster.method2484(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208);
+ SoftwareRaster.fillRectAlpha(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208);
}
}
}
@@ -97,10 +94,10 @@ public final class Static112 {
local219 = (local11 - 20) / Static92.aClass3_Sub2_Sub1_6.height;
for (local418 = 0; local418 < local219; local418++) {
Static92.aClass3_Sub2_Sub1_6.renderTransparent(local3, local9 + local418 * Static92.aClass3_Sub2_Sub1_6.height + 20);
- Static92.aClass3_Sub2_Sub1_6.method1421(local3 + local13 - Static92.aClass3_Sub2_Sub1_6.width, local9 + 20 + local418 * Static92.aClass3_Sub2_Sub1_6.height);
+ Static92.aClass3_Sub2_Sub1_6.renderHorizontalFlipTransparent(local3 + local13 - Static92.aClass3_Sub2_Sub1_6.width, local9 + 20 + local418 * Static92.aClass3_Sub2_Sub1_6.height);
}
Static204.aClass3_Sub2_Sub1_10.renderTransparent(local3, local11 + local9 - Static204.aClass3_Sub2_Sub1_10.height);
- Static204.aClass3_Sub2_Sub1_10.method1421(local3 + local13 - Static204.aClass3_Sub2_Sub1_10.width, local9 - -local11 + -Static204.aClass3_Sub2_Sub1_10.height);
+ Static204.aClass3_Sub2_Sub1_10.renderHorizontalFlipTransparent(local3 + local13 - Static204.aClass3_Sub2_Sub1_10.width, local9 - -local11 + -Static204.aClass3_Sub2_Sub1_10.height);
}
for (local203 = 0; local203 < MiniMenu.size; local203++) {
local219 = (MiniMenu.size - local203 - 1) * 15 + local9 + 35;
@@ -108,7 +105,7 @@ public final class Static112 {
if (local3 < local112 && local13 + local3 > local112 && local219 - 13 < local114 && local114 < local219 + 3) {
local418 = Static262.anInt5752;
}
- Fonts.b12Full.method2857(MiniMenu.getOp(local203), local3 + 3, local219, local418, 0);
+ Fonts.b12Full.renderLeft(MiniMenu.getOp(local203), local3 + 3, local219, local418, 0);
}
Static121.method2407(Static183.anInt4271, Static229.anInt5138, Static13.anInt436, Static24.anInt761);
}
diff --git a/client/src/main/java/rt4/Static114.java b/client/src/main/java/rt4/Static114.java
index e5dc8da..3d64742 100644
--- a/client/src/main/java/rt4/Static114.java
+++ b/client/src/main/java/rt4/Static114.java
@@ -13,22 +13,6 @@ public final class Static114 {
@OriginalMember(owner = "client!j", name = "O", descriptor = "[I")
public static final int[] anIntArray565 = new int[] { 1, -1, -1, 1 };
- @OriginalMember(owner = "client!j", name = "c", descriptor = "(I)V")
- public static void method4625() {
- Static204.aClass69_113 = new LinkedList();
- }
-
- @OriginalMember(owner = "client!j", name = "a", descriptor = "([BI)Lclient!dd;")
- public static SoftwareFont method4635(@OriginalArg(0) byte[] arg0) {
- if (arg0 == null) {
- return null;
- } else {
- @Pc(22) SoftwareFont local22 = new SoftwareFont(arg0, SpriteLoader.xOffsets, SpriteLoader.yOffsets, SpriteLoader.innerWidths, SpriteLoader.innerHeights, SpriteLoader.pixels);
- SpriteLoader.clear();
- return local22;
- }
- }
-
@OriginalMember(owner = "client!j", name = "a", descriptor = "(BZLclient!na;)V")
public static void drawTextOnScreen(@OriginalArg(1) boolean arg0, @OriginalArg(2) JagString arg1) {
@Pc(24) int local24 = Fonts.p12Full.method2856(arg1, 250);
diff --git a/client/src/main/java/rt4/Static116.java b/client/src/main/java/rt4/Static116.java
index aa8b357..bcdf668 100644
--- a/client/src/main/java/rt4/Static116.java
+++ b/client/src/main/java/rt4/Static116.java
@@ -1,18 +1,10 @@
package rt4;
-import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
-import org.openrs2.deob.annotation.Pc;
public final class Static116 {
@OriginalMember(owner = "client!jb", name = "n", descriptor = "I")
public static int anInt2952 = 0;
- @OriginalMember(owner = "client!jb", name = "a", descriptor = "(ILclient!ve;I)Lclient!jk;")
- public static MidiInstrument method2320(@OriginalArg(1) Js5 arg0, @OriginalArg(2) int arg1) {
- @Pc(9) byte[] local9 = arg0.method4500(arg1);
- return local9 == null ? null : new MidiInstrument(local9);
- }
-
}
diff --git a/client/src/main/java/rt4/Static118.java b/client/src/main/java/rt4/Static118.java
index 88c386a..50f539d 100644
--- a/client/src/main/java/rt4/Static118.java
+++ b/client/src/main/java/rt4/Static118.java
@@ -9,12 +9,6 @@ public final class Static118 {
@OriginalMember(owner = "client!jd", name = "i", descriptor = "Lclient!be;")
public static Component aClass13_15;
- @OriginalMember(owner = "client!jd", name = "a", descriptor = "(B)I")
- public static int method2352() {
- Static232.anInt5212 = 0;
- return Static119.method2385();
- }
-
@OriginalMember(owner = "client!jd", name = "a", descriptor = "(II[Lclient!be;)V")
public static void method2354(@OriginalArg(1) int arg0, @OriginalArg(2) Component[] arg1) {
for (@Pc(7) int local7 = 0; local7 < arg1.length; local7++) {
diff --git a/client/src/main/java/rt4/Static119.java b/client/src/main/java/rt4/Static119.java
index a8eff14..9592c08 100644
--- a/client/src/main/java/rt4/Static119.java
+++ b/client/src/main/java/rt4/Static119.java
@@ -7,18 +7,4 @@ public final class Static119 {
@OriginalMember(owner = "client!je", name = "eb", descriptor = "[I")
public static int[] anIntArray282;
- @OriginalMember(owner = "client!je", name = "j", descriptor = "(I)I")
- public static int method2385() {
- if (WorldMap.labels == null) {
- return -1;
- }
- while (Static232.anInt5212 < WorldMap.labels.anInt5074) {
- if (WorldMap.labels.method3897(Static232.anInt5212)) {
- return Static232.anInt5212++;
- }
- Static232.anInt5212++;
- }
- return -1;
- }
-
}
diff --git a/client/src/main/java/rt4/Static122.java b/client/src/main/java/rt4/Static122.java
index 7d7f112..ec742cd 100644
--- a/client/src/main/java/rt4/Static122.java
+++ b/client/src/main/java/rt4/Static122.java
@@ -5,10 +5,7 @@ import org.openrs2.deob.annotation.OriginalMember;
public final class Static122 {
- @OriginalMember(owner = "client!jh", name = "g", descriptor = "Lclient!na;")
- public static final JagString aClass100_591 = JagString.parse("(Udns");
-
- @OriginalMember(owner = "client!jh", name = "a", descriptor = "(Lclient!ve;ZIIZI)V")
+ @OriginalMember(owner = "client!jh", name = "a", descriptor = "(Lclient!ve;ZIIZI)V")
public static void method2410(@OriginalArg(0) Js5 arg0, @OriginalArg(2) int arg1, @OriginalArg(5) int arg2) {
Static172.aClass153_70 = arg0;
MidiPlayer.anInt441 = 1;
@@ -19,8 +16,4 @@ public final class Static122 {
MidiPlayer.anInt1757 = 10000;
}
- @OriginalMember(owner = "client!jh", name = "a", descriptor = "(IILclient!ve;Lclient!ve;I)Lclient!dd;")
- public static SoftwareFont method2412(@OriginalArg(0) int arg0, @OriginalArg(2) Js5 arg1, @OriginalArg(3) Js5 arg2) {
- return SpriteLoader.decode(arg2, 0, arg0) ? Static114.method4635(arg1.getFile(arg0, 0)) : null;
- }
}
diff --git a/client/src/main/java/rt4/Static125.java b/client/src/main/java/rt4/Static125.java
index 7d26769..181f3e5 100644
--- a/client/src/main/java/rt4/Static125.java
+++ b/client/src/main/java/rt4/Static125.java
@@ -2,7 +2,6 @@ package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
-import org.openrs2.deob.annotation.Pc;
public final class Static125 {
@@ -23,104 +22,4 @@ public final class Static125 {
CreateManager.reply = -3;
}
- @OriginalMember(owner = "client!jl", name = "c", descriptor = "(I)V")
- public static void updateLockedCamera() {
- @Pc(9) int local9 = Static248.anInt4232 * 128 + 64;
- @Pc(15) int local15 = Static245.anInt5375 * 128 + 64;
- @Pc(23) int local23 = SceneGraph.getTileHeight(Player.level, local15, local9) - Static231.anInt5203;
- if (Static113.anInt4612 >= 100) {
- Static138.renderX = Static245.anInt5375 * 128 + 64;
- Static134.renderZ = Static248.anInt4232 * 128 + 64;
- Static5.anInt40 = SceneGraph.getTileHeight(Player.level, Static138.renderX, Static134.renderZ) - Static231.anInt5203;
- } else {
- if (Static138.renderX < local15) {
- Static138.renderX += Static233.anInt5225 + Static113.anInt4612 * (local15 - Static138.renderX) / 1000;
- if (Static138.renderX > local15) {
- Static138.renderX = local15;
- }
- }
- if (Static5.anInt40 < local23) {
- Static5.anInt40 += (local23 - Static5.anInt40) * Static113.anInt4612 / 1000 + Static233.anInt5225;
- if (Static5.anInt40 > local23) {
- Static5.anInt40 = local23;
- }
- }
- if (Static138.renderX > local15) {
- Static138.renderX -= Static233.anInt5225 + (Static138.renderX - local15) * Static113.anInt4612 / 1000;
- if (Static138.renderX < local15) {
- Static138.renderX = local15;
- }
- }
- if (Static134.renderZ < local9) {
- Static134.renderZ += Static233.anInt5225 + Static113.anInt4612 * (local9 - Static134.renderZ) / 1000;
- if (local9 < Static134.renderZ) {
- Static134.renderZ = local9;
- }
- }
- if (local23 < Static5.anInt40) {
- Static5.anInt40 -= (Static5.anInt40 - local23) * Static113.anInt4612 / 1000 + Static233.anInt5225;
- if (local23 > Static5.anInt40) {
- Static5.anInt40 = local23;
- }
- }
- if (Static134.renderZ > local9) {
- Static134.renderZ -= Static233.anInt5225 + (Static134.renderZ - local9) * Static113.anInt4612 / 1000;
- if (local9 > Static134.renderZ) {
- Static134.renderZ = local9;
- }
- }
- }
- local9 = Static265.anInt5765 * 128 + 64;
- local15 = Static251.anInt5449 * 128 + 64;
- local23 = SceneGraph.getTileHeight(Player.level, local15, local9) - Static260.anInt1744;
- @Pc(236) int local236 = local23 - Static5.anInt40;
- @Pc(241) int local241 = local9 - Static134.renderZ;
- @Pc(246) int local246 = local15 - Static138.renderX;
- @Pc(257) int local257 = (int) Math.sqrt((double) (local246 * local246 + local241 * local241));
- @Pc(268) int local268 = (int) (Math.atan2((double) local236, (double) local257) * 325.949D) & 0x7FF;
- if (local268 < 128) {
- local268 = 128;
- }
- if (local268 > 383) {
- local268 = 383;
- }
- @Pc(292) int local292 = (int) (-325.949D * Math.atan2((double) local246, (double) local241)) & 0x7FF;
- if (Static240.cameraPitch < local268) {
- Static240.cameraPitch += Static133.anInt5230 + Static233.anInt5217 * (local268 - Static240.cameraPitch) / 1000;
- if (Static240.cameraPitch > local268) {
- Static240.cameraPitch = local268;
- }
- }
- if (Static240.cameraPitch > local268) {
- Static240.cameraPitch -= (Static240.cameraPitch - local268) * Static233.anInt5217 / 1000 + Static133.anInt5230;
- if (Static240.cameraPitch < local268) {
- Static240.cameraPitch = local268;
- }
- }
- @Pc(350) int local350 = local292 - Static184.cameraYaw;
- if (local350 > 1024) {
- local350 -= 2048;
- }
- if (local350 < -1024) {
- local350 += 2048;
- }
- if (local350 > 0) {
- Static184.cameraYaw += local350 * Static233.anInt5217 / 1000 + Static133.anInt5230;
- Static184.cameraYaw &= 0x7FF;
- }
- if (local350 < 0) {
- Static184.cameraYaw -= Static233.anInt5217 * -local350 / 1000 + Static133.anInt5230;
- Static184.cameraYaw &= 0x7FF;
- }
- @Pc(404) int local404 = local292 - Static184.cameraYaw;
- if (local404 > 1024) {
- local404 -= 2048;
- }
- if (local404 < -1024) {
- local404 += 2048;
- }
- if (local404 < 0 && local350 > 0 || local404 > 0 && local350 < 0) {
- Static184.cameraYaw = local292;
- }
- }
}
diff --git a/client/src/main/java/rt4/Static127.java b/client/src/main/java/rt4/Static127.java
index 5b6b85d..70afabf 100644
--- a/client/src/main/java/rt4/Static127.java
+++ b/client/src/main/java/rt4/Static127.java
@@ -1,6 +1,8 @@
package rt4;
import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
@@ -9,6 +11,18 @@ public final class Static127 {
@OriginalMember(owner = "client!hh", name = "a", descriptor = "Lclient!na;")
public static final JagString aClass100_520 = JagString.parse("(U4");
+ @OriginalMember(owner = "client!mj", name = "g", descriptor = "Lclient!na;")
+ public static final JagString aClass100_761 = JagString.parse("(U3");
+ @OriginalMember(owner = "client!wh", name = "u", descriptor = "Lclient!na;")
+ public static final JagString aClass100_1097 = JagString.parse("(U2");
+ @OriginalMember(owner = "client!bm", name = "p", descriptor = "Lclient!na;")
+ public static final JagString aClass100_133 = JagString.parse("(U1");
+ @OriginalMember(owner = "client!tb", name = "P", descriptor = "Lclient!na;")
+ public static final JagString aClass100_1002 = JagString.parse("(U5");
+ @OriginalMember(owner = "client!jh", name = "g", descriptor = "Lclient!na;")
+ public static final JagString aClass100_591 = JagString.parse("(Udns");
+ @OriginalMember(owner = "client!dm", name = "n", descriptor = "Lclient!na;")
+ public static final JagString PERCENT_SIGN = JagString.parse("(U");
@OriginalMember(owner = "client!k", name = "j", descriptor = "I")
public static int anInt3126;
@@ -121,9 +135,9 @@ public final class Static127 {
@Pc(382) int local382 = local367 + local81;
for (@Pc(384) int local384 = 0; local384 < 4; local384++) {
if (local378 >= 0 && local382 >= 0 && local378 < 104 && local382 < 104) {
- Static159.objStacks[local384][local358][local367] = Static159.objStacks[local384][local378][local382];
+ SceneGraph.objStacks[local384][local358][local367] = SceneGraph.objStacks[local384][local378][local382];
} else {
- Static159.objStacks[local384][local358][local367] = null;
+ SceneGraph.objStacks[local384][local358][local367] = null;
}
}
}
@@ -160,38 +174,35 @@ public final class Static127 {
@OriginalMember(owner = "client!k", name = "a", descriptor = "(Lclient!be;Lclient!na;I)Lclient!na;")
public static JagString method2465(@OriginalArg(0) Component arg0, @OriginalArg(1) JagString arg1) {
- if (arg1.indexOf(Static49.PERCENT_SIGN) == -1) {
+ if (arg1.indexOf(PERCENT_SIGN) == -1) {
return arg1;
}
while (true) {
- @Pc(14) int local14 = arg1.indexOf(Static23.aClass100_133);
+ @Pc(14) int local14 = arg1.indexOf(aClass100_133);
if (local14 == -1) {
while (true) {
- local14 = arg1.indexOf(Static276.aClass100_1097);
+ local14 = arg1.indexOf(aClass100_1097);
if (local14 == -1) {
while (true) {
- local14 = arg1.indexOf(Static160.aClass100_761);
+ local14 = arg1.indexOf(aClass100_761);
if (local14 == -1) {
while (true) {
local14 = arg1.indexOf(aClass100_520);
if (local14 == -1) {
while (true) {
- local14 = arg1.indexOf(Static235.aClass100_1002);
+ local14 = arg1.indexOf(aClass100_1002);
if (local14 == -1) {
while (true) {
- local14 = arg1.indexOf(Static122.aClass100_591);
+ local14 = arg1.indexOf(aClass100_591);
if (local14 == -1) {
return arg1;
}
@Pc(246) JagString local246 = JagString.EMPTY;
if (Player.lastLogAddress != null) {
local246 = Static181.method3341(Player.lastLogAddress.intArg2);
- try {
- if (Player.lastLogAddress.result != null) {
- @Pc(265) byte[] local265 = ((String) Player.lastLogAddress.result).getBytes("ISO-8859-1");
- local246 = JagString.decodeString(local265, local265.length, 0);
- }
- } catch (@Pc(274) UnsupportedEncodingException local274) {
+ if (Player.lastLogAddress.result != null) {
+ @Pc(265) byte[] local265 = ((String) Player.lastLogAddress.result).getBytes(StandardCharsets.ISO_8859_1);
+ local246 = JagString.decodeString(local265, local265.length, 0);
}
}
arg1 = JagString.concatenate(new JagString[] { arg1.substring(local14, 0), local246, arg1.substring(local14 + 4) });
diff --git a/client/src/main/java/rt4/Static131.java b/client/src/main/java/rt4/Static131.java
index 9ebc9ae..f31bc8c 100644
--- a/client/src/main/java/rt4/Static131.java
+++ b/client/src/main/java/rt4/Static131.java
@@ -10,10 +10,7 @@ public final class Static131 {
@OriginalMember(owner = "client!kd", name = "ub", descriptor = "I")
public static int anInt3255;
- @OriginalMember(owner = "client!kd", name = "mb", descriptor = "[Lclient!cl;")
- public static final AnimFrameset[] aClass3_Sub2_Sub7Array5 = new AnimFrameset[14];
-
- @OriginalMember(owner = "client!kd", name = "ob", descriptor = "I")
+ @OriginalMember(owner = "client!kd", name = "ob", descriptor = "I")
public static int anInt3251 = 0;
@OriginalMember(owner = "client!kd", name = "sb", descriptor = "[I")
diff --git a/client/src/main/java/rt4/Static136.java b/client/src/main/java/rt4/Static136.java
index f7bbfa4..eac5330 100644
--- a/client/src/main/java/rt4/Static136.java
+++ b/client/src/main/java/rt4/Static136.java
@@ -10,11 +10,8 @@ public final class Static136 {
@OriginalMember(owner = "client!kk", name = "j", descriptor = "I")
public static int anInt3325 = 0;
- @OriginalMember(owner = "client!kk", name = "m", descriptor = "Lclient!na;")
- public static final JagString CS_ERROR = JagString.parse("Clientscript error )2 check log for details");
-
@OriginalMember(owner = "client!kk", name = "a", descriptor = "(I)Z")
public static boolean method2655() {
- return MidiPlayer.anInt441 == 0 ? Static172.aClass3_Sub3_Sub4_2.method4414() : true;
+ return MidiPlayer.anInt441 != 0 || Static172.midiPcmStream.method4414();
}
}
diff --git a/client/src/main/java/rt4/Static145.java b/client/src/main/java/rt4/Static145.java
index 957197b..9ec5d78 100644
--- a/client/src/main/java/rt4/Static145.java
+++ b/client/src/main/java/rt4/Static145.java
@@ -67,7 +67,7 @@ public final class Static145 {
SoftwareRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0);
SoftwareRaster.drawRect(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0);
}
- Fonts.b12Full.method2857(LocalizedText.CHOOSE_OPTION, local11 + 3, local3 + 14, 6116423, -1);
+ Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local11 + 3, local3 + 14, 6116423, -1);
@Pc(96) int local96 = Mouse.anInt5032;
@Pc(98) int local98 = Mouse.anInt4873;
for (@Pc(107) int local107 = 0; local107 < MiniMenu.size; local107++) {
@@ -76,7 +76,7 @@ public final class Static145 {
if (local11 < local98 && local98 < local11 + local9 && local127 - 13 < local96 && local96 < local127 + 3) {
local129 = 16776960;
}
- Fonts.b12Full.method2857(MiniMenu.getOp(local107), local11 + 3, local127, local129, 0);
+ Fonts.b12Full.renderLeft(MiniMenu.getOp(local107), local11 + 3, local127, local129, 0);
}
Static121.method2407(Static183.anInt4271, Static229.anInt5138, Static13.anInt436, Static24.anInt761);
}
diff --git a/client/src/main/java/rt4/Static146.java b/client/src/main/java/rt4/Static146.java
index f887173..20488a9 100644
--- a/client/src/main/java/rt4/Static146.java
+++ b/client/src/main/java/rt4/Static146.java
@@ -12,10 +12,7 @@ public final class Static146 {
@OriginalMember(owner = "client!lg", name = "b", descriptor = "Z")
public static boolean aBoolean174 = false;
- @OriginalMember(owner = "client!lg", name = "c", descriptor = "[Lclient!tk;")
- public static final SeqType[] aClass144Array1 = new SeqType[14];
-
- @OriginalMember(owner = "client!lg", name = "a", descriptor = "(ZLclient!wa;Lclient!na;)I")
+ @OriginalMember(owner = "client!lg", name = "a", descriptor = "(ZLclient!wa;Lclient!na;)I")
public static int method2748(@OriginalArg(1) Buffer arg0, @OriginalArg(2) JagString arg1) {
@Pc(6) int local6 = arg0.offset;
@Pc(14) byte[] local14 = arg1.method3148();
diff --git a/client/src/main/java/rt4/Static159.java b/client/src/main/java/rt4/Static159.java
index 13b52d4..8408dc5 100644
--- a/client/src/main/java/rt4/Static159.java
+++ b/client/src/main/java/rt4/Static159.java
@@ -9,10 +9,7 @@ public final class Static159 {
@OriginalMember(owner = "client!mi", name = "Z", descriptor = "I")
public static int anInt3893;
- @OriginalMember(owner = "client!mi", name = "Y", descriptor = "[[[Lclient!ih;")
- public static final LinkedList[][][] objStacks = new LinkedList[4][104][104];
-
- @OriginalMember(owner = "client!mi", name = "a", descriptor = "([IBLclient!km;[I[I)V")
+ @OriginalMember(owner = "client!mi", name = "a", descriptor = "([IBLclient!km;[I[I)V")
public static void method3037(@OriginalArg(0) int[] arg0, @OriginalArg(2) Npc arg1, @OriginalArg(3) int[] arg2, @OriginalArg(4) int[] arg3) {
for (@Pc(3) int local3 = 0; local3 < arg3.length; local3++) {
@Pc(15) int local15 = arg3[local3];
diff --git a/client/src/main/java/rt4/Static160.java b/client/src/main/java/rt4/Static160.java
index cfd4fbc..64fc49d 100644
--- a/client/src/main/java/rt4/Static160.java
+++ b/client/src/main/java/rt4/Static160.java
@@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc;
public final class Static160 {
- @OriginalMember(owner = "client!mj", name = "g", descriptor = "Lclient!na;")
- public static final JagString aClass100_761 = JagString.parse("(U3");
-
@OriginalMember(owner = "client!mj", name = "a", descriptor = "(IILclient!be;IB)V")
public static void method3047(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Component arg2, @OriginalArg(3) int arg3) {
if (GlRenderer.enabled) {
diff --git a/client/src/main/java/rt4/Static164.java b/client/src/main/java/rt4/Static164.java
index d59ef2d..c5e8ee2 100644
--- a/client/src/main/java/rt4/Static164.java
+++ b/client/src/main/java/rt4/Static164.java
@@ -227,7 +227,7 @@ public final class Static164 {
local133 = local71;
}
if (arg3 && (local5.stackable == 1 || arg5 != 1) && arg5 != -1) {
- ObjTypeList.aClass3_Sub2_Sub9_Sub1_1.method2857(Static52.method1288(arg5), 0, 9, 16776960, 1);
+ ObjTypeList.aClass3_Sub2_Sub9_Sub1_1.renderLeft(Static52.method1288(arg5), 0, 9, 16776960, 1);
}
SoftwareRaster.method2491(local118, local120, local122);
SoftwareRaster.method2488(local125);
diff --git a/client/src/main/java/rt4/Static172.java b/client/src/main/java/rt4/Static172.java
index 25718db..b12b3fc 100644
--- a/client/src/main/java/rt4/Static172.java
+++ b/client/src/main/java/rt4/Static172.java
@@ -7,7 +7,7 @@ import org.openrs2.deob.annotation.Pc;
public final class Static172 {
@OriginalMember(owner = "client!nj", name = "e", descriptor = "Lclient!va;")
- public static MidiPcmStream aClass3_Sub3_Sub4_2;
+ public static MidiPcmStream midiPcmStream;
@OriginalMember(owner = "client!nj", name = "g", descriptor = "Lclient!ve;")
public static Js5 aClass153_70;
diff --git a/client/src/main/java/rt4/Static18.java b/client/src/main/java/rt4/Static18.java
index 682e2e5..6be9031 100644
--- a/client/src/main/java/rt4/Static18.java
+++ b/client/src/main/java/rt4/Static18.java
@@ -12,28 +12,6 @@ public final class Static18 {
@OriginalMember(owner = "client!bh", name = "C", descriptor = "Lclient!na;")
public static final JagString COMPLETE_PERCENT = JagString.parse("
(X100(U(Y");
- @OriginalMember(owner = "client!bh", name = "a", descriptor = "(Lclient!fe;Z)V")
- public static void method553(@OriginalArg(0) PathingEntity arg0) {
- @Pc(8) int local8 = arg0.anInt3395 - client.loop;
- @Pc(20) int local20 = arg0.anInt3380 * 128 + arg0.getSize() * 64;
- @Pc(36) int local36 = arg0.anInt3428 * 128 + arg0.getSize() * 64;
- if (arg0.anInt3431 == 0) {
- arg0.anInt3400 = 1024;
- }
- arg0.xFine += (local20 - arg0.xFine) / local8;
- arg0.zFine += (local36 - arg0.zFine) / local8;
- if (arg0.anInt3431 == 1) {
- arg0.anInt3400 = 1536;
- }
- arg0.anInt3417 = 0;
- if (arg0.anInt3431 == 2) {
- arg0.anInt3400 = 0;
- }
- if (arg0.anInt3431 == 3) {
- arg0.anInt3400 = 512;
- }
- }
-
@OriginalMember(owner = "client!bh", name = "a", descriptor = "(IB)I")
public static int method554(@OriginalArg(0) int arg0) {
return arg0 >>> 8;
diff --git a/client/src/main/java/rt4/Static204.java b/client/src/main/java/rt4/Static204.java
index 3a1b43a..c4cf9ce 100644
--- a/client/src/main/java/rt4/Static204.java
+++ b/client/src/main/java/rt4/Static204.java
@@ -9,9 +9,6 @@ public final class Static204 {
@OriginalMember(owner = "client!qi", name = "z", descriptor = "Lclient!qf;")
public static Sprite aClass3_Sub2_Sub1_10;
- @OriginalMember(owner = "client!qi", name = "u", descriptor = "Lclient!ih;")
- public static LinkedList aClass69_113 = new LinkedList();
-
@OriginalMember(owner = "client!qi", name = "B", descriptor = "Lclient!na;")
public static final JagString aClass100_896 = JagString.parse("