From ff0e890dcd199ae495e96e5e3cfdc476421adbbd Mon Sep 17 00:00:00 2001 From: Pazaz Date: Sun, 1 May 2022 12:48:59 -0400 Subject: [PATCH] Renamed some static classes --- .../rt4/{Static289.java => ArrayUtils.java} | 14 +- .../src/main/java/rt4/AttachLocRequest.java | 2 +- client/src/main/java/rt4/AudioChannel.java | 2 +- .../{Static287.java => BrowserControl.java} | 8 +- client/src/main/java/rt4/Camera.java | 4 +- client/src/main/java/rt4/Cheat.java | 4 +- client/src/main/java/rt4/Class106.java | 6 +- client/src/main/java/rt4/ClientProt.java | 4 +- client/src/main/java/rt4/ColorUtils.java | 70 ++ client/src/main/java/rt4/Font.java | 8 +- client/src/main/java/rt4/GlFont.java | 10 +- client/src/main/java/rt4/GlModel.java | 4 +- .../java/rt4/{Static46.java => GlRaster.java} | 2 +- client/src/main/java/rt4/GlSprite.java | 8 +- client/src/main/java/rt4/JagString.java | 4 +- client/src/main/java/rt4/LoadingBar.java | 12 +- client/src/main/java/rt4/LoadingBarAwt.java | 4 +- client/src/main/java/rt4/Loc.java | 10 +- client/src/main/java/rt4/LocType.java | 12 +- client/src/main/java/rt4/MidiNoteStream.java | 8 +- client/src/main/java/rt4/MidiPcmStream.java | 4 +- client/src/main/java/rt4/MiniMap.java | 8 +- .../main/java/rt4/MonochromeImageCache.java | 9 +- .../java/rt4/MonochromeImageCacheBack.java | 18 - client/src/main/java/rt4/NpcType.java | 4 +- client/src/main/java/rt4/NpcTypeList.java | 18 +- client/src/main/java/rt4/ObjTypeList.java | 10 + client/src/main/java/rt4/PerlinNoise.java | 56 ++ client/src/main/java/rt4/SceneGraph.java | 22 +- client/src/main/java/rt4/ScriptRunner.java | 12 +- .../main/java/rt4/SoftwareAlphaSprite.java | 109 ++- client/src/main/java/rt4/SoftwareFont.java | 114 ++- .../main/java/rt4/SoftwareIndexedSprite.java | 120 ++- client/src/main/java/rt4/SoftwareSprite.java | 183 +++- client/src/main/java/rt4/SoundPcmStream.java | 781 +++++++++++++++++- client/src/main/java/rt4/SpriteLoader.java | 10 + client/src/main/java/rt4/Static1.java | 10 +- client/src/main/java/rt4/Static105.java | 73 +- client/src/main/java/rt4/Static107.java | 5 +- client/src/main/java/rt4/Static11.java | 7 - client/src/main/java/rt4/Static112.java | 6 +- client/src/main/java/rt4/Static114.java | 4 +- client/src/main/java/rt4/Static115.java | 31 +- client/src/main/java/rt4/Static12.java | 5 +- client/src/main/java/rt4/Static124.java | 2 +- client/src/main/java/rt4/Static126.java | 2 +- client/src/main/java/rt4/Static130.java | 5 - client/src/main/java/rt4/Static132.java | 8 +- client/src/main/java/rt4/Static136.java | 5 +- client/src/main/java/rt4/Static138.java | 10 - client/src/main/java/rt4/Static142.java | 12 +- client/src/main/java/rt4/Static145.java | 6 +- client/src/main/java/rt4/Static15.java | 2 +- client/src/main/java/rt4/Static156.java | 4 +- client/src/main/java/rt4/Static160.java | 2 +- client/src/main/java/rt4/Static163.java | 3 - client/src/main/java/rt4/Static165.java | 3 - client/src/main/java/rt4/Static169.java | 2 +- client/src/main/java/rt4/Static170.java | 6 - client/src/main/java/rt4/Static185.java | 12 +- client/src/main/java/rt4/Static196.java | 8 +- client/src/main/java/rt4/Static200.java | 14 +- client/src/main/java/rt4/Static211.java | 7 +- client/src/main/java/rt4/Static217.java | 2 +- client/src/main/java/rt4/Static221.java | 2 +- client/src/main/java/rt4/Static23.java | 30 +- client/src/main/java/rt4/Static24.java | 8 - client/src/main/java/rt4/Static240.java | 3 - client/src/main/java/rt4/Static243.java | 5 +- client/src/main/java/rt4/Static245.java | 8 +- client/src/main/java/rt4/Static247.java | 4 +- client/src/main/java/rt4/Static248.java | 4 +- client/src/main/java/rt4/Static252.java | 12 +- client/src/main/java/rt4/Static253.java | 7 +- client/src/main/java/rt4/Static254.java | 23 +- client/src/main/java/rt4/Static260.java | 2 +- client/src/main/java/rt4/Static262.java | 3 - client/src/main/java/rt4/Static263.java | 2 +- client/src/main/java/rt4/Static269.java | 25 +- client/src/main/java/rt4/Static274.java | 8 - client/src/main/java/rt4/Static276.java | 2 +- client/src/main/java/rt4/Static278.java | 38 +- client/src/main/java/rt4/Static279.java | 3 - client/src/main/java/rt4/Static28.java | 2 +- client/src/main/java/rt4/Static283.java | 105 --- client/src/main/java/rt4/Static284.java | 743 ----------------- client/src/main/java/rt4/Static285.java | 112 --- client/src/main/java/rt4/Static286.java | 120 --- client/src/main/java/rt4/Static290.java | 179 ---- client/src/main/java/rt4/Static3.java | 2 +- client/src/main/java/rt4/Static4.java | 7 +- client/src/main/java/rt4/Static40.java | 7 +- client/src/main/java/rt4/Static45.java | 74 +- client/src/main/java/rt4/Static54.java | 4 +- client/src/main/java/rt4/Static65.java | 13 - client/src/main/java/rt4/Static69.java | 2 +- client/src/main/java/rt4/Static73.java | 4 +- client/src/main/java/rt4/Static74.java | 20 +- client/src/main/java/rt4/Static78.java | 5 +- client/src/main/java/rt4/Static79.java | 6 +- client/src/main/java/rt4/Static87.java | 42 +- client/src/main/java/rt4/Static89.java | 6 +- client/src/main/java/rt4/Static9.java | 8 +- client/src/main/java/rt4/SynthInstrument.java | 2 +- client/src/main/java/rt4/TextureOp17.java | 2 +- client/src/main/java/rt4/TextureOp20.java | 2 +- client/src/main/java/rt4/TextureOp22.java | 24 +- client/src/main/java/rt4/TextureOp25.java | 2 +- client/src/main/java/rt4/TextureOp4.java | 8 +- client/src/main/java/rt4/TextureOp6.java | 2 +- client/src/main/java/rt4/TextureOp7.java | 2 +- client/src/main/java/rt4/TitleScreen.java | 37 +- client/src/main/java/rt4/VarbitTypeList.java | 12 +- client/src/main/java/rt4/WorldMapFont.java | 135 +-- client/src/main/java/rt4/client.java | 6 +- .../java/com/itspazaz/rt4/Playground.java | 91 +- 116 files changed, 1932 insertions(+), 1973 deletions(-) rename client/src/main/java/rt4/{Static289.java => ArrayUtils.java} (86%) rename client/src/main/java/rt4/{Static287.java => BrowserControl.java} (65%) create mode 100644 client/src/main/java/rt4/ColorUtils.java rename client/src/main/java/rt4/{Static46.java => GlRaster.java} (99%) delete mode 100644 client/src/main/java/rt4/MonochromeImageCacheBack.java create mode 100644 client/src/main/java/rt4/PerlinNoise.java delete mode 100644 client/src/main/java/rt4/Static283.java delete mode 100644 client/src/main/java/rt4/Static284.java delete mode 100644 client/src/main/java/rt4/Static285.java delete mode 100644 client/src/main/java/rt4/Static286.java delete mode 100644 client/src/main/java/rt4/Static290.java diff --git a/client/src/main/java/rt4/Static289.java b/client/src/main/java/rt4/ArrayUtils.java similarity index 86% rename from client/src/main/java/rt4/Static289.java rename to client/src/main/java/rt4/ArrayUtils.java index 6d273da..a5a00eb 100644 --- a/client/src/main/java/rt4/Static289.java +++ b/client/src/main/java/rt4/ArrayUtils.java @@ -4,10 +4,10 @@ import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; -public final class Static289 { +public final class ArrayUtils { @OriginalMember(owner = "client!kg", name = "a", descriptor = "([JI[JII)V") - public static void method2611(@OriginalArg(0) long[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) long[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { + public static void copy(@OriginalArg(0) long[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) long[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { @Pc(15) int local15; if (arg0 == arg2) { if (arg1 == arg3) { @@ -47,7 +47,7 @@ public final class Static289 { } @OriginalMember(owner = "client!kg", name = "a", descriptor = "([II[III)V") - public static void method2613(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { + public static void copy(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { @Pc(15) int local15; if (arg0 == arg2) { if (arg1 == arg3) { @@ -95,7 +95,7 @@ public final class Static289 { } @OriginalMember(owner = "client!kg", name = "a", descriptor = "([IIII)V") - public static void method2614(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + public static void fill(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { @Pc(5) int local5 = arg1 + arg2 - 7; while (arg1 < local5) { arg0[arg1++] = arg3; @@ -114,7 +114,7 @@ public final class Static289 { } @OriginalMember(owner = "client!kg", name = "a", descriptor = "([FI[FII)V") - public static void method2615(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) float[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { + public static void copy(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) float[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { if (arg0 == arg2) { return; } @@ -137,7 +137,7 @@ public final class Static289 { } @OriginalMember(owner = "client!kg", name = "a", descriptor = "([SI[SII)V") - public static void method2616(@OriginalArg(0) short[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) short[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { + public static void copy(@OriginalArg(0) short[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) short[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { @Pc(15) int local15; if (arg0 == arg2) { if (arg1 == arg3) { @@ -185,7 +185,7 @@ public final class Static289 { } @OriginalMember(owner = "client!kg", name = "a", descriptor = "([Ljava/lang/Object;I[Ljava/lang/Object;II)V") - public static void method2617(@OriginalArg(0) Object[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Object[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { + public static void copy(@OriginalArg(0) Object[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Object[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { @Pc(15) int local15; if (arg0 == arg2) { if (arg1 == arg3) { diff --git a/client/src/main/java/rt4/AttachLocRequest.java b/client/src/main/java/rt4/AttachLocRequest.java index f0d6efd..621b3e9 100644 --- a/client/src/main/java/rt4/AttachLocRequest.java +++ b/client/src/main/java/rt4/AttachLocRequest.java @@ -82,7 +82,7 @@ public final class AttachLocRequest extends Node { @Pc(110) int centerX0 = (width >> 1) + request.x; @Pc(117) int centerZ0 = (length >> 1) + request.z; @Pc(126) int centerZ1 = (length + 1 >> 1) + request.z; - @Pc(130) int[][] tileHeights = SceneGraph.activeTileHeightMap[Player.level]; + @Pc(130) int[][] tileHeights = SceneGraph.tileHeights[Player.level]; @Pc(157) int y = tileHeights[centerX1][centerZ1] + tileHeights[centerX0][centerZ1] + tileHeights[centerX0][centerZ0] + tileHeights[centerX1][centerZ0] >> 2; @Pc(159) Entity attachment = null; @Pc(164) int layer = Loc.LAYERS[request.shape]; diff --git a/client/src/main/java/rt4/AudioChannel.java b/client/src/main/java/rt4/AudioChannel.java index e879122..329a0a0 100644 --- a/client/src/main/java/rt4/AudioChannel.java +++ b/client/src/main/java/rt4/AudioChannel.java @@ -144,7 +144,7 @@ public class AudioChannel { if (stereo) { local1 = 512; } - Static289.clear(arg0, 0, local1); + ArrayUtils.clear(arg0, 0, local1); this.anInt4638 -= 256; if (this.stream != null && this.anInt4638 <= 0) { this.anInt4638 += sampleRate >> 4; diff --git a/client/src/main/java/rt4/Static287.java b/client/src/main/java/rt4/BrowserControl.java similarity index 65% rename from client/src/main/java/rt4/Static287.java rename to client/src/main/java/rt4/BrowserControl.java index 38207d5..3cb6620 100644 --- a/client/src/main/java/rt4/Static287.java +++ b/client/src/main/java/rt4/BrowserControl.java @@ -5,20 +5,20 @@ import java.applet.Applet; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -public final class Static287 { +public final class BrowserControl { @OriginalMember(owner = "client!gh", name = "a", descriptor = "(Ljava/lang/String;BLjava/applet/Applet;)Ljava/lang/Object;") - public static Object method1757(@OriginalArg(0) String arg0, @OriginalArg(2) Applet arg1) throws Throwable { + public static Object call(@OriginalArg(0) String arg0, @OriginalArg(2) Applet arg1) throws Throwable { return null; // JSObject.getWindow(arg1).call(arg0, (Object[]) null); } @OriginalMember(owner = "client!gh", name = "a", descriptor = "(Ljava/applet/Applet;Ljava/lang/String;[Ljava/lang/Object;B)Ljava/lang/Object;") - public static Object method1758(@OriginalArg(0) Applet arg0, @OriginalArg(1) String arg1, @OriginalArg(2) Object[] arg2) throws Throwable { + public static Object call(@OriginalArg(0) Applet arg0, @OriginalArg(1) String arg1, @OriginalArg(2) Object[] arg2) throws Throwable { return null; // JSObject.getWindow(arg0).call(arg1, arg2); } @OriginalMember(owner = "client!gh", name = "a", descriptor = "(Ljava/applet/Applet;ZLjava/lang/String;)V") - public static void method1759(@OriginalArg(0) Applet arg0, @OriginalArg(2) String arg1) throws Throwable { + public static void eval(@OriginalArg(0) Applet arg0, @OriginalArg(2) String arg1) throws Throwable { // JSObject.getWindow(arg0).eval(arg1); } } diff --git a/client/src/main/java/rt4/Camera.java b/client/src/main/java/rt4/Camera.java index 38427b9..5792dba 100644 --- a/client/src/main/java/rt4/Camera.java +++ b/client/src/main/java/rt4/Camera.java @@ -35,10 +35,10 @@ public class Camera { for (local64 = local33 - 4; local64 <= local33 + 4; local64++) { for (@Pc(73) int local73 = local37 - 4; local73 <= local37 + 4; local73++) { @Pc(80) int local80 = Player.level; - if (local80 < 3 && (Static12.tileSettings[1][local64][local73] & 0x2) == 2) { + if (local80 < 3 && (SceneGraph.tileFlags[1][local64][local73] & 0x2) == 2) { local80++; } - @Pc(117) int local117 = (Static232.aByteArrayArrayArray13[local80][local64][local73] & 0xFF) * 8 + local43 - SceneGraph.activeTileHeightMap[local80][local64][local73]; + @Pc(117) int local117 = (Static232.aByteArrayArrayArray13[local80][local64][local73] & 0xFF) * 8 + local43 - SceneGraph.tileHeights[local80][local64][local73]; if (local117 > local45) { local45 = local117; } diff --git a/client/src/main/java/rt4/Cheat.java b/client/src/main/java/rt4/Cheat.java index c8d2cf2..1c6a2f8 100644 --- a/client/src/main/java/rt4/Cheat.java +++ b/client/src/main/java/rt4/Cheat.java @@ -73,6 +73,8 @@ public class Cheat { public static final JagString aClass100_892 = JagString.parse("mem="); @OriginalMember(owner = "client!gg", name = "Y", descriptor = "Lclient!na;") public static final JagString aClass100_476 = JagString.parse("::gc"); + @OriginalMember(owner = "client!wk", name = "u", descriptor = "Lclient!na;") + public static final JagString CLIENTJS5DROP = JagString.parse("::clientjs5drop"); @OriginalMember(owner = "client!dg", name = "f", descriptor = "Z") public static boolean displayFps = false; @OriginalMember(owner = "client!nj", name = "a", descriptor = "Z") @@ -130,7 +132,7 @@ public class Cheat { if (arg0.equalsIgnoreCase(CLIENTDROP)) { Static175.method3279(); } - if (arg0.equalsIgnoreCase(Static279.JS5DROP)) { + if (arg0.equalsIgnoreCase(CLIENTJS5DROP)) { client.js5NetQueue.quit(); } if (arg0.equalsIgnoreCase(JS5DROP)) { diff --git a/client/src/main/java/rt4/Class106.java b/client/src/main/java/rt4/Class106.java index 7fd442e..434a503 100644 --- a/client/src/main/java/rt4/Class106.java +++ b/client/src/main/java/rt4/Class106.java @@ -76,7 +76,7 @@ public abstract class Class106 { @Pc(178) int local178 = local162 + 1; @Pc(182) int local182 = local170 + 1; @Pc(190) int local190 = local11[local82] * local16 >> 12; - @Pc(194) int local194 = MonochromeImageCacheBack.anIntArray1[local166]; + @Pc(194) int local194 = MonochromeImageCache.anIntArray1[local166]; @Pc(199) int local199 = local190 * this.anInt5002; @Pc(203) int local203 = local170 & 0xFF; @Pc(207) int local207 = local162 & 0xFF; @@ -98,7 +98,7 @@ public abstract class Class106 { @Pc(259) short local259 = this.aShortArray69[local236 + local232]; local126 = local138 & 0xFFF; local222 &= 0xFF; - @Pc(271) int local271 = MonochromeImageCacheBack.anIntArray1[local126]; + @Pc(271) int local271 = MonochromeImageCache.anIntArray1[local126]; @Pc(278) short local278 = this.aShortArray69[local222 + local232]; @Pc(285) short local285 = this.aShortArray69[local227 + local222]; if (local118 <= local178) { @@ -107,7 +107,7 @@ public abstract class Class106 { local178 &= 0xFF; } @Pc(300) int local300 = local190 - 4096; - @Pc(304) int local304 = MonochromeImageCacheBack.anIntArray1[local190]; + @Pc(304) int local304 = MonochromeImageCache.anIntArray1[local190]; @Pc(308) int local308 = local126 - 4096; @Pc(315) short local315 = this.aShortArray69[local227 + local236]; @Pc(327) int local327 = Static225.method3891(local166, local126, local190, this.aShortArray69[local285 + local207]); diff --git a/client/src/main/java/rt4/ClientProt.java b/client/src/main/java/rt4/ClientProt.java index 8df83e5..3c9ca16 100644 --- a/client/src/main/java/rt4/ClientProt.java +++ b/client/src/main/java/rt4/ClientProt.java @@ -1001,7 +1001,7 @@ public class ClientProt { for (i = 0; i < 4; i++) { for (chunkX = 0; chunkX < 104; chunkX++) { for (chunkZ = 0; chunkZ < 104; chunkZ++) { - Static12.tileSettings[i][chunkX][chunkZ] = 0; + SceneGraph.tileFlags[i][chunkX][chunkZ] = 0; } } } @@ -1089,7 +1089,7 @@ public class ClientProt { if (GlRenderer.enabled) { for (chunkX = 0; chunkX < 13; chunkX++) { for (chunkZ = 0; chunkZ < 13; chunkZ++) { - Static242.shadows[chunkX][chunkZ].method4676(SceneGraph.activeTileHeightMap[0], chunkX * 8, chunkZ * 8); + Static242.shadows[chunkX][chunkZ].method4676(SceneGraph.tileHeights[0], chunkX * 8, chunkZ * 8); } } } diff --git a/client/src/main/java/rt4/ColorUtils.java b/client/src/main/java/rt4/ColorUtils.java new file mode 100644 index 0000000..72f256d --- /dev/null +++ b/client/src/main/java/rt4/ColorUtils.java @@ -0,0 +1,70 @@ +package rt4; + +import org.openrs2.deob.annotation.OriginalArg; +import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; + +public class ColorUtils { + @OriginalMember(owner = "client!ib", name = "a", descriptor = "(II)I") + public static int rgbToHsl(@OriginalArg(1) int arg0) { + @Pc(10) double local10 = (double) (arg0 >> 16 & 0xFF) / 256.0D; + @Pc(19) double local19 = (double) (arg0 >> 8 & 0xFF) / 256.0D; + @Pc(25) double local25 = 0.0D; + @Pc(32) double local32 = (double) (arg0 & 0xFF) / 256.0D; + @Pc(34) double local34 = local10; + @Pc(37) double local37 = (double) 0; + @Pc(39) double local39 = local10; + if (local10 > local19) { + local34 = local19; + } + if (local32 < local34) { + local34 = local32; + } + if (local19 > local10) { + local39 = local19; + } + if (local32 > local39) { + local39 = local32; + } + @Pc(72) double local72 = (local34 + local39) / 2.0D; + if (local34 != local39) { + if (local72 < 0.5D) { + local37 = (local39 - local34) / (local34 + local39); + } + if (local72 >= 0.5D) { + local37 = (local39 - local34) / (2.0D - local39 - local34); + } + if (local39 == local10) { + local25 = (local19 - local32) / (local39 - local34); + } else if (local19 == local39) { + local25 = (local32 - local10) / (local39 - local34) + 2.0D; + } else if (local39 == local32) { + local25 = (local10 - local19) / (-local34 + local39) + 4.0D; + } + } + @Pc(159) int local159 = (int) (local37 * 256.0D); + @Pc(164) int local164 = (int) (local72 * 256.0D); + local25 /= 6.0D; + if (local164 < 0) { + local164 = 0; + } else if (local164 > 255) { + local164 = 255; + } + @Pc(188) int local188 = (int) (local25 * 256.0D); + if (local159 < 0) { + local159 = 0; + } else if (local159 > 255) { + local159 = 255; + } + if (local164 > 243) { + local159 >>= 0x4; + } else if (local164 > 217) { + local159 >>= 0x3; + } else if (local164 > 192) { + local159 >>= 0x2; + } else if (local164 > 179) { + local159 >>= 0x1; + } + return (local188 >> 2 << 10) + (local159 >> 5 << 7) + (local164 >> 1); + } +} diff --git a/client/src/main/java/rt4/Font.java b/client/src/main/java/rt4/Font.java index 05e41fd..92d41e1 100644 --- a/client/src/main/java/rt4/Font.java +++ b/client/src/main/java/rt4/Font.java @@ -282,14 +282,14 @@ public abstract class Font extends SecondaryNode { @Pc(323) int local323 = this.glyphWidths[local22]; if (strikethroughColor != -1) { if (GlRenderer.enabled) { - Static46.method1174(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local323, strikethroughColor); + GlRaster.method1174(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local323, strikethroughColor); } else { SoftwareRaster.drawHorizontalLine(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local323, strikethroughColor); } } if (underlineColor != -1) { if (GlRenderer.enabled) { - Static46.method1174(arg1, local4 + this.lineHeight + 1, local323, underlineColor); + GlRaster.method1174(arg1, local4 + this.lineHeight + 1, local323, underlineColor); } else { SoftwareRaster.drawHorizontalLine(arg1, local4 + this.lineHeight + 1, local323, underlineColor); } @@ -974,14 +974,14 @@ public abstract class Font extends SecondaryNode { @Pc(387) int local387 = this.glyphWidths[local24]; if (strikethroughColor != -1) { if (GlRenderer.enabled) { - Static46.method1174(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local387, strikethroughColor); + GlRaster.method1174(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local387, strikethroughColor); } else { SoftwareRaster.drawHorizontalLine(arg1, local4 + (int) ((double) this.lineHeight * 0.7D), local387, strikethroughColor); } } if (underlineColor != -1) { if (GlRenderer.enabled) { - Static46.method1174(arg1, local4 + this.lineHeight, local387, underlineColor); + GlRaster.method1174(arg1, local4 + this.lineHeight, local387, underlineColor); } else { SoftwareRaster.drawHorizontalLine(arg1, local4 + this.lineHeight, local387, underlineColor); } diff --git a/client/src/main/java/rt4/GlFont.java b/client/src/main/java/rt4/GlFont.java index dab43fb..e83068e 100644 --- a/client/src/main/java/rt4/GlFont.java +++ b/client/src/main/java/rt4/GlFont.java @@ -41,7 +41,7 @@ public final class GlFont extends Font { @OriginalMember(owner = "client!dj", name = "a", descriptor = "(Lclient!cf;)V") public static void method1188(@OriginalArg(0) GlSprite arg0) { - if (arg0.height != Static46.anInt1441 - Static46.clipY) { + if (arg0.height != GlRaster.anInt1441 - GlRaster.clipY) { throw new IllegalArgumentException(); } masked = arg0; @@ -93,10 +93,10 @@ public final class GlFont extends Font { gl.glBindTexture(GL2.GL_TEXTURE_2D, mask.textureId); gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_COMBINE_RGB, GL2.GL_REPLACE); gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_PREVIOUS); - @Pc(98) float maskX0 = (float) (x - Static46.clipX) / (float) mask.powerOfTwoWidth; - @Pc(107) float maskY0 = (float) (y - Static46.clipY) / (float) mask.powerOfTwoHeight; - @Pc(118) float maskX1 = (float) (x + width - Static46.clipX) / (float) mask.powerOfTwoWidth; - @Pc(129) float maskY1 = (float) (y + height - Static46.clipY) / (float) mask.powerOfTwoHeight; + @Pc(98) float maskX0 = (float) (x - GlRaster.clipX) / (float) mask.powerOfTwoWidth; + @Pc(107) float maskY0 = (float) (y - GlRaster.clipY) / (float) mask.powerOfTwoHeight; + @Pc(118) float maskX1 = (float) (x + width - GlRaster.clipX) / (float) mask.powerOfTwoWidth; + @Pc(129) float maskY1 = (float) (y + height - GlRaster.clipY) / (float) mask.powerOfTwoHeight; gl.glBegin(GL2.GL_TRIANGLE_FAN); gl.glMultiTexCoord2f(GL2.GL_TEXTURE1, maskX1, maskY0); gl.glTexCoord2f(s1, t0); diff --git a/client/src/main/java/rt4/GlModel.java b/client/src/main/java/rt4/GlModel.java index 98575e8..4b861ac 100644 --- a/client/src/main/java/rt4/GlModel.java +++ b/client/src/main/java/rt4/GlModel.java @@ -888,14 +888,14 @@ public final class GlModel extends Model { @OriginalMember(owner = "client!td", name = "a", descriptor = "([FI)[F") public static float[] method4112(@OriginalArg(0) float[] arg0, @OriginalArg(1) int arg1) { @Pc(2) float[] local2 = new float[arg1]; - Static289.method2615(arg0, 0, local2, 0, arg1); + ArrayUtils.copy(arg0, 0, local2, 0, arg1); return local2; } @OriginalMember(owner = "client!td", name = "a", descriptor = "([SI)[S") public static short[] method4119(@OriginalArg(0) short[] arg0, @OriginalArg(1) int arg1) { @Pc(2) short[] local2 = new short[arg1]; - Static289.method2616(arg0, 0, local2, 0, arg1); + ArrayUtils.copy(arg0, 0, local2, 0, arg1); return local2; } diff --git a/client/src/main/java/rt4/Static46.java b/client/src/main/java/rt4/GlRaster.java similarity index 99% rename from client/src/main/java/rt4/Static46.java rename to client/src/main/java/rt4/GlRaster.java index e94d022..609cc65 100644 --- a/client/src/main/java/rt4/Static46.java +++ b/client/src/main/java/rt4/GlRaster.java @@ -6,7 +6,7 @@ import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; -public final class Static46 { +public final class GlRaster { @OriginalMember(owner = "client!dj", name = "b", descriptor = "I") public static int clipY = 0; diff --git a/client/src/main/java/rt4/GlSprite.java b/client/src/main/java/rt4/GlSprite.java index 2cb716f..acc6832 100644 --- a/client/src/main/java/rt4/GlSprite.java +++ b/client/src/main/java/rt4/GlSprite.java @@ -87,10 +87,10 @@ public class GlSprite extends Sprite { local11.glBindTexture(GL2.GL_TEXTURE_2D, arg2.textureId); local11.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_COMBINE_RGB, GL2.GL_REPLACE); local11.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_PREVIOUS); - @Pc(47) float local47 = (float) (arg0 - Static46.clipX) / (float) arg2.powerOfTwoWidth; - @Pc(56) float local56 = (float) (arg1 - Static46.clipY) / (float) arg2.powerOfTwoHeight; - @Pc(68) float local68 = (float) (arg0 + this.width - Static46.clipX) / (float) arg2.powerOfTwoWidth; - @Pc(80) float local80 = (float) (arg1 + this.height - Static46.clipY) / (float) arg2.powerOfTwoHeight; + @Pc(47) float local47 = (float) (arg0 - GlRaster.clipX) / (float) arg2.powerOfTwoWidth; + @Pc(56) float local56 = (float) (arg1 - GlRaster.clipY) / (float) arg2.powerOfTwoHeight; + @Pc(68) float local68 = (float) (arg0 + this.width - GlRaster.clipX) / (float) arg2.powerOfTwoWidth; + @Pc(80) float local80 = (float) (arg1 + this.height - GlRaster.clipY) / (float) arg2.powerOfTwoHeight; @Pc(85) int local85 = arg0 + this.anInt1863; @Pc(90) int local90 = arg1 + this.anInt1861; local11.glBegin(GL2.GL_TRIANGLE_FAN); diff --git a/client/src/main/java/rt4/JagString.java b/client/src/main/java/rt4/JagString.java index 8e40023..47fcbf8 100644 --- a/client/src/main/java/rt4/JagString.java +++ b/client/src/main/java/rt4/JagString.java @@ -507,7 +507,7 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(ZLjava/applet/Applet;)V") public final void method3134(@OriginalArg(1) Applet arg0) throws Throwable { @Pc(16) String local16 = new String(this.chars, 0, this.length); - Static287.method1759(arg0, local16); + BrowserControl.eval(arg0, local16); } @OriginalMember(owner = "client!na", name = "a", descriptor = "(III)I") @@ -885,7 +885,7 @@ public final class JagString implements StringInterface { @OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/applet/Applet;)Ljava/lang/Object;") public final Object browserControlCall(@OriginalArg(1) Applet arg0) throws Throwable { @Pc(12) String local12 = new String(this.chars, 0, this.length); - @Pc(17) Object local17 = Static287.method1757(local12, arg0); + @Pc(17) Object local17 = BrowserControl.call(local12, arg0); if (local17 instanceof String) { @Pc(24) byte[] local24 = ((String) local17).getBytes(); local17 = Static10.decodeString(local24, local24.length, 0); diff --git a/client/src/main/java/rt4/LoadingBar.java b/client/src/main/java/rt4/LoadingBar.java index 82a87ad..14f6b9e 100644 --- a/client/src/main/java/rt4/LoadingBar.java +++ b/client/src/main/java/rt4/LoadingBar.java @@ -11,16 +11,16 @@ public class LoadingBar { if (GlRenderer.enabled || arg0) { local9 = GameShell.canvasHeight; @Pc(15) int local15 = local9 * 956 / 503; - Static78.titleBg.renderResizedTransparent((GameShell.canvasWidth - local15) / 2, 0, local15, local9); - Static243.logo.renderTransparent(GameShell.canvasWidth / 2 - Static243.logo.width / 2, 18); + TitleScreen.titleBg.renderResizedTransparent((GameShell.canvasWidth - local15) / 2, 0, local15, local9); + TitleScreen.logo.renderTransparent(GameShell.canvasWidth / 2 - TitleScreen.logo.width / 2, 18); } arg1.renderCenter(LocalizedText.GAME0_LOADING, GameShell.canvasWidth / 2, GameShell.canvasHeight / 2 - 26, 16777215, -1); local9 = GameShell.canvasHeight / 2 - 18; if (GlRenderer.enabled) { - Static46.method1179(GameShell.canvasWidth / 2 - 152, local9, 304, 34, 9179409); - Static46.method1179(GameShell.canvasWidth / 2 - 151, local9 - -1, 302, 32, 0); - Static46.method1186(GameShell.canvasWidth / 2 - 150, local9 + 2, client.mainLoadPercentage * 3, 30, 9179409); - Static46.method1186(GameShell.canvasWidth / 2 + client.mainLoadPercentage * 3 - 150, local9 + 2, 300 - client.mainLoadPercentage * 3, 30, 0); + GlRaster.method1179(GameShell.canvasWidth / 2 - 152, local9, 304, 34, 9179409); + GlRaster.method1179(GameShell.canvasWidth / 2 - 151, local9 - -1, 302, 32, 0); + GlRaster.method1186(GameShell.canvasWidth / 2 - 150, local9 + 2, client.mainLoadPercentage * 3, 30, 9179409); + GlRaster.method1186(GameShell.canvasWidth / 2 + client.mainLoadPercentage * 3 - 150, local9 + 2, 300 - client.mainLoadPercentage * 3, 30, 0); } else { SoftwareRaster.drawRect(GameShell.canvasWidth / 2 - 152, local9, 304, 34, 9179409); SoftwareRaster.drawRect(GameShell.canvasWidth / 2 - 151, local9 + 1, 302, 32, 0); diff --git a/client/src/main/java/rt4/LoadingBarAwt.java b/client/src/main/java/rt4/LoadingBarAwt.java index 35cf8e8..f72c5ce 100644 --- a/client/src/main/java/rt4/LoadingBarAwt.java +++ b/client/src/main/java/rt4/LoadingBarAwt.java @@ -54,10 +54,10 @@ public class LoadingBarAwt { local6.setColor(Color.white); arg2.method3112(local146 + 22, local140 + (-arg2.method3155(aFontMetrics1) + 304) / 2, local6); } - if (Static278.mainLoadPrimaryText != null) { + if (client.mainLoadPrimaryText != null) { local6.setFont(Static222.aFont1); local6.setColor(Color.white); - Static278.mainLoadPrimaryText.method3112(GameShell.canvasHeight / 2 - 26, GameShell.canvasWidth / 2 - Static278.mainLoadPrimaryText.method3155(aFontMetrics1) / 2, local6); + client.mainLoadPrimaryText.method3112(GameShell.canvasHeight / 2 - 26, GameShell.canvasWidth / 2 - client.mainLoadPrimaryText.method3155(aFontMetrics1) / 2, local6); } } catch (@Pc(252) Exception local252) { GameShell.canvas.repaint(); diff --git a/client/src/main/java/rt4/Loc.java b/client/src/main/java/rt4/Loc.java index 1050669..79e0583 100644 --- a/client/src/main/java/rt4/Loc.java +++ b/client/src/main/java/rt4/Loc.java @@ -227,7 +227,7 @@ public final class Loc extends Entity { @OriginalMember(owner = "client!dc", name = "a", descriptor = "(ZI)Lclient!th;") private Entity method1048(@OriginalArg(0) boolean arg0) { - @Pc(12) boolean local12 = Static107.surfaceTileHeightMap != SceneGraph.activeTileHeightMap; + @Pc(12) boolean local12 = SceneGraph.surfaceTileHeights != SceneGraph.tileHeights; @Pc(19) LocType local19 = LocTypeList.get(this.anInt1299); @Pc(22) int local22 = local19.anInt4430; if (local19.multiLocs != null) { @@ -279,15 +279,15 @@ public final class Loc extends Entity { if (arg0 && !local256) { return null; } - @Pc(267) int[][] local267 = SceneGraph.activeTileHeightMap[this.anInt1303]; + @Pc(267) int[][] local267 = SceneGraph.tileHeights[this.anInt1303]; @Pc(293) int local293 = local267[local178][local201] + local267[local185][local201] + local267[local185][local192] + local267[local178][local192] >> 2; @Pc(302) int local302 = (local160 << 6) + (this.anInt1308 << 7); @Pc(311) int local311 = (local157 << 6) + (this.anInt1300 << 7); @Pc(314) int[][] local314 = null; if (local12) { - local314 = Static107.surfaceTileHeightMap[0]; + local314 = SceneGraph.surfaceTileHeights[0]; } else if (this.anInt1303 < 3) { - local314 = SceneGraph.activeTileHeightMap[this.anInt1303 + 1]; + local314 = SceneGraph.tileHeights[this.anInt1303 + 1]; } if (GlRenderer.enabled && local256) { Static242.method4207(this.aClass36_Sub1_2, this.anInt1296, this.anInt1294, this.anInt1319); @@ -308,7 +308,7 @@ public final class Loc extends Entity { } @Pc(429) int local429 = 0; if (this.anInt1303 != 0) { - @Pc(439) int[][] local439 = SceneGraph.activeTileHeightMap[0]; + @Pc(439) int[][] local439 = SceneGraph.tileHeights[0]; local429 = local293 - (local439[local178][local192] + local439[local185][local192] + local439[local185][local201] + local439[local178][local201] >> 2); } @Pc(471) SoftwareIndexedSprite local471 = local389.aClass36_Sub1_3; diff --git a/client/src/main/java/rt4/LocType.java b/client/src/main/java/rt4/LocType.java index fe13691..8095afb 100644 --- a/client/src/main/java/rt4/LocType.java +++ b/client/src/main/java/rt4/LocType.java @@ -8,7 +8,9 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!pb") public final class LocType { - @OriginalMember(owner = "client!pb", name = "a", descriptor = "[S") + @OriginalMember(owner = "client!wf", name = "o", descriptor = "[Lclient!gb;") + public static final RawModel[] tempModels = new RawModel[4]; + @OriginalMember(owner = "client!pb", name = "a", descriptor = "[S") private short[] retextureSource; @OriginalMember(owner = "client!pb", name = "b", descriptor = "[S") @@ -257,11 +259,11 @@ public final class LocType { LocTypeList.aClass99_24.put(local7, (long) local60); } if (local46 > 1) { - Static274.tempModels[local48] = local7; + tempModels[local48] = local7; } } if (local46 > 1) { - local7 = new RawModel(Static274.tempModels, local46); + local7 = new RawModel(tempModels, local46); } } else { local46 = -1; @@ -650,11 +652,11 @@ public final class LocType { return null; } if (local24 > 1) { - Static274.tempModels[local177] = local175; + tempModels[local177] = local175; } } if (local24 > 1) { - local175 = new RawModel(Static274.tempModels, local24); + local175 = new RawModel(tempModels, local24); } local79 = new GlModel(local175, local10, local17, arg1); LocTypeList.aClass99_24.put(local79, local135); diff --git a/client/src/main/java/rt4/MidiNoteStream.java b/client/src/main/java/rt4/MidiNoteStream.java index 3e7c3ed..ddd1d0d 100644 --- a/client/src/main/java/rt4/MidiNoteStream.java +++ b/client/src/main/java/rt4/MidiNoteStream.java @@ -56,9 +56,9 @@ public final class MidiNoteStream extends PcmStream { arg0.anInt3775 = local27 * arg1 + arg0.anInt3775 & 0xFFFFF; if (arg1 >= local37) { if (this.aClass3_Sub3_Sub4_3.anIntArray509[arg0.anInt3773] == 0) { - arg0.aClass3_Sub3_Sub1_3 = Static284.method399(arg0.aClass3_Sub16_Sub1_1, arg0.aClass3_Sub3_Sub1_3.method405(), arg0.aClass3_Sub3_Sub1_3.method392(), arg0.aClass3_Sub3_Sub1_3.method418()); + arg0.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(arg0.aClass3_Sub16_Sub1_1, arg0.aClass3_Sub3_Sub1_3.method405(), arg0.aClass3_Sub3_Sub1_3.method392(), arg0.aClass3_Sub3_Sub1_3.method418()); } else { - arg0.aClass3_Sub3_Sub1_3 = Static284.method399(arg0.aClass3_Sub16_Sub1_1, arg0.aClass3_Sub3_Sub1_3.method405(), 0, arg0.aClass3_Sub3_Sub1_3.method418()); + arg0.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(arg0.aClass3_Sub16_Sub1_1, arg0.aClass3_Sub3_Sub1_3.method405(), 0, arg0.aClass3_Sub3_Sub1_3.method418()); this.aClass3_Sub3_Sub4_3.method4442(arg0, arg0.aClass3_Sub18_1.aShortArray36[arg0.anInt3779] < 0); } if (arg0.aClass3_Sub18_1.aShortArray36[arg0.anInt3779] < 0) { @@ -138,9 +138,9 @@ public final class MidiNoteStream extends PcmStream { } arg1.anInt3775 += local26 * local36 - 1048576; if (this.aClass3_Sub3_Sub4_3.anIntArray509[arg1.anInt3773] == 0) { - arg1.aClass3_Sub3_Sub1_3 = Static284.method399(arg1.aClass3_Sub16_Sub1_1, local58.method405(), local58.method392(), local58.method418()); + arg1.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(arg1.aClass3_Sub16_Sub1_1, local58.method405(), local58.method392(), local58.method418()); } else { - arg1.aClass3_Sub3_Sub1_3 = Static284.method399(arg1.aClass3_Sub16_Sub1_1, local58.method405(), 0, local58.method418()); + arg1.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(arg1.aClass3_Sub16_Sub1_1, local58.method405(), 0, local58.method418()); this.aClass3_Sub3_Sub4_3.method4442(arg1, arg1.aClass3_Sub18_1.aShortArray36[arg1.anInt3779] < 0); arg1.aClass3_Sub3_Sub1_3.method398(local55, local58.method392()); } diff --git a/client/src/main/java/rt4/MidiPcmStream.java b/client/src/main/java/rt4/MidiPcmStream.java index 2c3bd41..6777aec 100644 --- a/client/src/main/java/rt4/MidiPcmStream.java +++ b/client/src/main/java/rt4/MidiPcmStream.java @@ -302,9 +302,9 @@ public final class MidiPcmStream extends PcmStream { local133.anInt3782 = 0; local133.anInt3763 = 0; if (this.anIntArray509[arg1] == 0) { - local133.aClass3_Sub3_Sub1_3 = Static284.method399(local126, this.method4439(local133), this.method4449(local133), this.method4437(local133)); + local133.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(local126, this.method4439(local133), this.method4449(local133), this.method4437(local133)); } else { - local133.aClass3_Sub3_Sub1_3 = Static284.method399(local126, this.method4439(local133), 0, this.method4437(local133)); + local133.aClass3_Sub3_Sub1_3 = SoundPcmStream.method399(local126, this.method4439(local133), 0, this.method4437(local133)); this.method4442(local133, local118.aShortArray36[arg2] < 0); } if (local118.aShortArray36[arg2] < 0) { diff --git a/client/src/main/java/rt4/MiniMap.java b/client/src/main/java/rt4/MiniMap.java index 8ec4a78..38d95ff 100644 --- a/client/src/main/java/rt4/MiniMap.java +++ b/client/src/main/java/rt4/MiniMap.java @@ -102,10 +102,10 @@ public class MiniMap { for (local37 = 1; local37 < 103; local37++) { local76 = 4 * 512 * (103 - local37) + 24628; for (local80 = 1; local80 < 103; local80++) { - if ((Static12.tileSettings[arg0][local80][local37] & 0x18) == 0) { + if ((SceneGraph.tileFlags[arg0][local80][local37] & 0x18) == 0) { renderTile(local32, local76, arg0, local80, local37); } - if (arg0 < 3 && (Static12.tileSettings[arg0 + 1][local80][local37] & 0x8) != 0) { + if (arg0 < 3 && (SceneGraph.tileFlags[arg0 + 1][local80][local37] & 0x8) != 0) { renderTile(local32, local76, arg0 + 1, local80, local37); } local76 += 4; @@ -165,7 +165,7 @@ public class MiniMap { local35 = (int) (Math.random() * 20.0D) + 238 - 10 << 16; for (local37 = 1; local37 < 103; local37++) { for (local76 = 1; local76 < 103; local76++) { - if ((Static12.tileSettings[arg0][local76][local37] & 0x18) == 0 && !Static164.method3109(local76, local455, local37, local35, arg0)) { + if ((SceneGraph.tileFlags[arg0][local76][local37] & 0x18) == 0 && !Static164.method3109(local76, local455, local37, local35, arg0)) { if (GlRenderer.enabled) { SoftwareRaster.pixels = null; } else { @@ -173,7 +173,7 @@ public class MiniMap { } return false; } - if (arg0 < 3 && (Static12.tileSettings[arg0 + 1][local76][local37] & 0x8) != 0 && !Static164.method3109(local76, local455, local37, local35, arg0 + 1)) { + if (arg0 < 3 && (SceneGraph.tileFlags[arg0 + 1][local76][local37] & 0x8) != 0 && !Static164.method3109(local76, local455, local37, local35, arg0 + 1)) { if (GlRenderer.enabled) { SoftwareRaster.pixels = null; } else { diff --git a/client/src/main/java/rt4/MonochromeImageCache.java b/client/src/main/java/rt4/MonochromeImageCache.java index ce8d2d7..78fc06f 100644 --- a/client/src/main/java/rt4/MonochromeImageCache.java +++ b/client/src/main/java/rt4/MonochromeImageCache.java @@ -11,7 +11,10 @@ public final class MonochromeImageCache { @OriginalMember(owner = "client!nd", name = "c", descriptor = "[B") public static final byte[] aByteArray53 = new byte[32896]; - @OriginalMember(owner = "client!nd", name = "f", descriptor = "I") + @OriginalMember(owner = "client!a", name = "b", descriptor = "[I") + public static final int[] anIntArray1 = new int[4096]; + + @OriginalMember(owner = "client!nd", name = "f", descriptor = "I") private int anInt4062 = -1; @OriginalMember(owner = "client!nd", name = "k", descriptor = "I") @@ -42,6 +45,10 @@ public final class MonochromeImageCache { aByteArray53[local8++] = (byte) (255.0D / Math.sqrt((double) ((float) (local15 * local15 + local10 * local10 + 65535) / 65535.0F))); } } + + for (@Pc(4) int local4 = 0; local4 < 4096; local4++) { + anIntArray1[local4] = Static273.method3211(local4); + } } @OriginalMember(owner = "client!nd", name = "", descriptor = "(III)V") diff --git a/client/src/main/java/rt4/MonochromeImageCacheBack.java b/client/src/main/java/rt4/MonochromeImageCacheBack.java deleted file mode 100644 index 326329a..0000000 --- a/client/src/main/java/rt4/MonochromeImageCacheBack.java +++ /dev/null @@ -1,18 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalClass; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -@OriginalClass("client!a") -public final class MonochromeImageCacheBack { - - @OriginalMember(owner = "client!a", name = "b", descriptor = "[I") - public static final int[] anIntArray1 = new int[4096]; - - static { - for (@Pc(4) int local4 = 0; local4 < 4096; local4++) { - anIntArray1[local4] = Static273.method3211(local4); - } - } -} diff --git a/client/src/main/java/rt4/NpcType.java b/client/src/main/java/rt4/NpcType.java index 5c319f8..d5def57 100644 --- a/client/src/main/java/rt4/NpcType.java +++ b/client/src/main/java/rt4/NpcType.java @@ -222,7 +222,7 @@ public final class NpcType { @Pc(13) NpcType local13 = this.getMultiNpc(); return local13 == null ? null : local13.getBodyModel(seqs, arg1, arg2, arg3, arg4, arg5, seqType1, arg7, seqType2); } - @Pc(40) Model local40 = (Model) NpcTypeList.aClass99_18.get((long) this.id); + @Pc(40) Model local40 = (Model) NpcTypeList.models.get((long) this.id); @Pc(46) boolean local46; @Pc(173) int local173; @Pc(235) int local235; @@ -336,7 +336,7 @@ public final class NpcType { if (GlRenderer.enabled) { ((GlModel) local40).method4111(false, false, false, false, false, true); } - NpcTypeList.aClass99_18.put(local40, (long) this.id); + NpcTypeList.models.put(local40, (long) this.id); } local46 = false; @Pc(721) boolean local721 = false; diff --git a/client/src/main/java/rt4/NpcTypeList.java b/client/src/main/java/rt4/NpcTypeList.java index 42f5590..1cf9495 100644 --- a/client/src/main/java/rt4/NpcTypeList.java +++ b/client/src/main/java/rt4/NpcTypeList.java @@ -8,7 +8,7 @@ public class NpcTypeList { @OriginalMember(owner = "client!he", name = "V", descriptor = "Lclient!n;") public static final SoftLruHashTable types = new SoftLruHashTable(64); @OriginalMember(owner = "client!jl", name = "x", descriptor = "Lclient!n;") - public static final SoftLruHashTable aClass99_18 = new SoftLruHashTable(50); + public static final SoftLruHashTable models = new SoftLruHashTable(50); @OriginalMember(owner = "client!vf", name = "k", descriptor = "Lclient!n;") public static final SoftLruHashTable headModels = new SoftLruHashTable(5); @OriginalMember(owner = "client!gm", name = "ib", descriptor = "Lclient!ve;") @@ -42,21 +42,21 @@ public class NpcTypeList { @OriginalMember(owner = "client!t", name = "b", descriptor = "(B)V") public static void method4001() { types.method3103(); - aClass99_18.method3103(); + models.method3103(); headModels.method3103(); } @OriginalMember(owner = "client!qi", name = "e", descriptor = "(B)V") public static void method3673() { types.clear(); - aClass99_18.clear(); + models.clear(); headModels.clear(); } @OriginalMember(owner = "client!ra", name = "c", descriptor = "(BI)V") public static void clean() { types.clean(5); - aClass99_18.clean(5); + models.clean(5); headModels.clean(5); } @@ -69,4 +69,14 @@ public class NpcTypeList { public static int method3322(@OriginalArg(0) int arg0) { return arg0 & 0x7F; } + + @OriginalMember(owner = "client!wj", name = "b", descriptor = "(I)V") + public static void clearModels() { + models.clear(); + } + + @OriginalMember(owner = "client!ba", name = "e", descriptor = "(I)V") + public static void clearHeadModels() { + headModels.clear(); + } } diff --git a/client/src/main/java/rt4/ObjTypeList.java b/client/src/main/java/rt4/ObjTypeList.java index 1bfc04f..8830a36 100644 --- a/client/src/main/java/rt4/ObjTypeList.java +++ b/client/src/main/java/rt4/ObjTypeList.java @@ -96,4 +96,14 @@ public class ObjTypeList { method3302(); } } + + @OriginalMember(owner = "client!rc", name = "a", descriptor = "(Z)V") + public static void clearModels() { + models.clear(); + } + + @OriginalMember(owner = "client!wa", name = "e", descriptor = "(B)V") + public static void clearSprites() { + objectSpriteCache.clear(); + } } diff --git a/client/src/main/java/rt4/PerlinNoise.java b/client/src/main/java/rt4/PerlinNoise.java new file mode 100644 index 0000000..3432ebf --- /dev/null +++ b/client/src/main/java/rt4/PerlinNoise.java @@ -0,0 +1,56 @@ +package rt4; + +import org.openrs2.deob.annotation.OriginalArg; +import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; + +public class PerlinNoise { + @OriginalMember(owner = "client!fc", name = "a", descriptor = "(III)I") + public static int getTileHeight(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { + @Pc(36) int local36 = interpolatedNoise(4, arg1 + 45365, arg0 - -91923) + (interpolatedNoise(2, arg1 + 10294, arg0 + 37821) - 128 >> 1) + (interpolatedNoise(1, arg1, arg0) + -128 >> 2) - 128; + local36 = (int) ((double) local36 * 0.3D) + 35; + if (local36 < 10) { + local36 = 10; + } else if (local36 > 60) { + local36 = 60; + } + return local36; + } + + @OriginalMember(owner = "client!ja", name = "a", descriptor = "(IIII)I") + public static int interpolatedNoise(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { + @Pc(7) int local7 = arg1 / arg0; + @Pc(11) int local11 = arg2 / arg0; + @Pc(17) int local17 = arg2 & arg0 - 1; + @Pc(23) int local23 = arg0 - 1 & arg1; + @Pc(28) int local28 = smoothNoise(local7, local11); + @Pc(35) int local35 = smoothNoise(local7 + 1, local11); + @Pc(42) int local42 = smoothNoise(local7, local11 + 1); + @Pc(56) int local56 = smoothNoise(local7 + 1, local11 + 1); + @Pc(63) int local63 = interpolate(local28, local35, local23, arg0); + @Pc(70) int local70 = interpolate(local42, local56, local23, arg0); + return interpolate(local63, local70, local17, arg0); + } + + @OriginalMember(owner = "client!bn", name = "a", descriptor = "(IIB)I") + public static int smoothNoise(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + @Pc(47) int local47 = noise(arg0 - 1, arg1 + -1) + noise(arg0 + 1, arg1 + -1) + noise(arg0 + -1, arg1 - -1) + noise(arg0 + 1, arg1 - -1); + @Pc(76) int local76 = noise(arg0 - 1, arg1) + noise(arg0 + 1, arg1) + noise(arg0, arg1 + -1) + noise(arg0, arg1 + 1); + @Pc(81) int local81 = noise(arg0, arg1); + return local76 / 8 + local47 / 16 + local81 / 4; + } + + @OriginalMember(owner = "client!nh", name = "a", descriptor = "(IIIII)I") + public static int interpolate(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(4) int arg3) { + @Pc(22) int local22 = 65536 - MathUtils.cos[arg2 * 1024 / arg3] >> 1; + return (arg0 * (65536 - local22) >> 16) + (arg1 * local22 >> 16); + } + + @OriginalMember(owner = "client!km", name = "b", descriptor = "(III)I") + public static int noise(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { + @Pc(14) int local14 = arg1 * 57 + arg0; + @Pc(20) int local20 = local14 ^ local14 << 13; + @Pc(34) int local34 = Integer.MAX_VALUE & (local20 * local20 * 15731 + 789221) * local20 + 1376312589; + return local34 >> 19 & 0xFF; + } +} diff --git a/client/src/main/java/rt4/SceneGraph.java b/client/src/main/java/rt4/SceneGraph.java index 9f1b57e..b1b69a9 100644 --- a/client/src/main/java/rt4/SceneGraph.java +++ b/client/src/main/java/rt4/SceneGraph.java @@ -5,11 +5,23 @@ import org.openrs2.deob.annotation.OriginalMember; 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!kc", name = "o", descriptor = "[[[Lclient!bj;") public static Tile[][][] tiles; @OriginalMember(owner = "client!gj", name = "m", descriptor = "[[[I") - public static int[][][] activeTileHeightMap; + public static int[][][] tileHeights; + @OriginalMember(owner = "client!id", name = "i", descriptor = "[[[I") + public static int[][][] surfaceTileHeights; + @OriginalMember(owner = "client!tg", name = "g", descriptor = "[[[B") + public static byte[][][] tileOverlays; + @OriginalMember(owner = "client!n", name = "h", descriptor = "[[[B") + public static byte[][][] tileShapes; + @OriginalMember(owner = "client!ac", name = "e", descriptor = "[[[B") + public static byte[][][] tileAngles; + @OriginalMember(owner = "client!ui", name = "eb", descriptor = "[[[B") + public static byte[][][] tileUnderlays; @OriginalMember(owner = "client!km", name = "f", descriptor = "(I)Z") public static boolean allLevelsAreVisible() { @@ -18,7 +30,7 @@ public class SceneGraph { @OriginalMember(owner = "client!ql", name = "a", descriptor = "(IIII)I") public static int getTileHeight(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - if (activeTileHeightMap == null) { + if (tileHeights == null) { return 0; } @Pc(12) int local12 = arg1 >> 7; @@ -29,11 +41,11 @@ public class SceneGraph { @Pc(36) int local36 = arg1 & 0x7F; @Pc(40) int local40 = arg2 & 0x7F; @Pc(42) int local42 = arg0; - if (arg0 < 3 && (Static12.tileSettings[1][local12][local16] & 0x2) == 2) { + if (arg0 < 3 && (tileFlags[1][local12][local16] & 0x2) == 2) { local42 = arg0 + 1; } - @Pc(91) int local91 = local36 * activeTileHeightMap[local42][local12 + 1][local16 + 1] + activeTileHeightMap[local42][local12][local16 + 1] * (128 - local36) >> 7; - @Pc(118) int local118 = local36 * activeTileHeightMap[local42][local12 + 1][local16] + (128 - local36) * activeTileHeightMap[local42][local12][local16] >> 7; + @Pc(91) int local91 = local36 * tileHeights[local42][local12 + 1][local16 + 1] + tileHeights[local42][local12][local16 + 1] * (128 - local36) >> 7; + @Pc(118) int local118 = local36 * tileHeights[local42][local12 + 1][local16] + (128 - local36) * tileHeights[local42][local12][local16] >> 7; return local40 * local91 + (128 - local40) * local118 >> 7; } diff --git a/client/src/main/java/rt4/ScriptRunner.java b/client/src/main/java/rt4/ScriptRunner.java index 12a895e..0beb889 100644 --- a/client/src/main/java/rt4/ScriptRunner.java +++ b/client/src/main/java/rt4/ScriptRunner.java @@ -2906,11 +2906,11 @@ public final class ScriptRunner { } if (opcode == 5401) { isp -= 2; - client.aShortArray88[intStack[isp]] = (short) Static105.method2253(intStack[isp + 1]); - Static211.clearObjectModelCache(); - Static269.clearObjectSpriteCache(); - Static278.method4649(); - Static11.clearNpcHeadCache(); + client.aShortArray88[intStack[isp]] = (short) ColorUtils.rgbToHsl(intStack[isp + 1]); + ObjTypeList.clearModels(); + ObjTypeList.clearSprites(); + NpcTypeList.clearModels(); + NpcTypeList.clearHeadModels(); Static87.method1807(); continue; } @@ -3228,7 +3228,7 @@ public final class ScriptRunner { Static145.method2742(); } } - Static269.clearObjectSpriteCache(); + ObjTypeList.clearSprites(); Preferences.write(GameShell.signLink); Preferences.sentToServer = false; continue; diff --git a/client/src/main/java/rt4/SoftwareAlphaSprite.java b/client/src/main/java/rt4/SoftwareAlphaSprite.java index b53a975..e5fb7d6 100644 --- a/client/src/main/java/rt4/SoftwareAlphaSprite.java +++ b/client/src/main/java/rt4/SoftwareAlphaSprite.java @@ -13,6 +13,103 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { super(arg0, arg1, arg2, arg3, arg4, arg5, arg6); } + @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIIIIII)V") + public static void method317(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10, @OriginalArg(12) int arg11) { + @Pc(1) int local1 = arg2; + for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { + @Pc(12) int local12 = (arg3 >> 16) * arg10; + for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { + @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; + @Pc(29) int local29 = arg0[arg4]; + @Pc(37) int local37 = (local25 >>> 24) * arg11 >> 8; + @Pc(41) int local41 = 256 - local37; + arg0[arg4++] = ((local25 & 0xFF00FF) * local37 + (local29 & 0xFF00FF) * local41 & 0xFF00FF00) + ((local25 & 0xFF00) * local37 + (local29 & 0xFF00) * local41 & 0xFF0000) >>> 8; + arg2 += arg8; + } + arg3 += arg9; + arg2 = local1; + arg4 += arg5; + } + } + + @OriginalMember(owner = "client!am", name = "c", descriptor = "([I[IIIIIIII)V") + public static void method318(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + @Pc(2) int local2 = -arg4; + for (@Pc(5) int local5 = -arg5; local5 < 0; local5++) { + for (@Pc(9) int local9 = local2; local9 < 0; local9++) { + @Pc(16) int local16 = arg1[arg2--]; + @Pc(20) int local20 = local16 >>> 24; + if (local20 == 0) { + arg3++; + } else { + @Pc(26) int local26 = 256 - local20; + @Pc(30) int local30 = arg0[arg3]; + arg0[arg3++] = ((local16 & 0xFF00FF) * local20 + (local30 & 0xFF00FF) * local26 & 0xFF00FF00) + ((local16 & 0xFF00) * local20 + (local30 & 0xFF00) * local26 & 0xFF0000) >>> 8; + } + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!am", name = "d", descriptor = "([I[IIIIIIII)V") + public static void method319(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + @Pc(2) int local2 = -arg4; + for (@Pc(5) int local5 = -arg5; local5 < 0; local5++) { + for (@Pc(9) int local9 = local2; local9 < 0; local9++) { + @Pc(16) int local16 = arg1[arg2++]; + @Pc(20) int local20 = local16 >>> 24; + if (local20 == 0) { + arg3++; + } else { + @Pc(26) int local26 = 256 - local20; + @Pc(30) int local30 = arg0[arg3]; + arg0[arg3++] = ((local16 & 0xFF00FF) * local20 + (local30 & 0xFF00FF) * local26 & 0xFF00FF00) + ((local16 & 0xFF00) * local20 + (local30 & 0xFF00) * local26 & 0xFF0000) >>> 8; + } + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIII)V") + public static void method320(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { + for (@Pc(2) int local2 = -arg5; local2 < 0; local2++) { + for (@Pc(7) int local7 = -arg4; local7 < 0; local7++) { + @Pc(19) int local19 = (arg1[arg2] >>> 24) * arg8 >> 8; + @Pc(23) int local23 = 256 - local19; + @Pc(28) int local28 = arg1[arg2++]; + @Pc(32) int local32 = arg0[arg3]; + arg0[arg3++] = ((local28 & 0xFF00FF) * local19 + (local32 & 0xFF00FF) * local23 & 0xFF00FF00) + ((local28 & 0xFF00) * local19 + (local32 & 0xFF00) * local23 & 0xFF0000) >>> 8; + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIIIII)V") + public static void method321(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { + @Pc(1) int local1 = arg2; + for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { + @Pc(12) int local12 = (arg3 >> 16) * arg10; + for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { + @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; + @Pc(29) int local29 = local25 >>> 24; + if (local29 == 0) { + arg4++; + } else { + @Pc(35) int local35 = 256 - local29; + @Pc(39) int local39 = arg0[arg4]; + arg0[arg4++] = ((local25 & 0xFF00FF) * local29 + (local39 & 0xFF00FF) * local35 & 0xFF00FF00) + ((local25 & 0xFF00) * local29 + (local39 & 0xFF00) * local35 & 0xFF0000) >>> 8; + } + arg2 += arg8; + } + arg3 += arg9; + arg2 = local1; + arg4 += arg5; + } + } + @OriginalMember(owner = "client!am", name = "a", descriptor = "(IIIIIIDI)V") @Override public final void method306(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(6) double arg2) { @@ -83,7 +180,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static283.method319(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); + method319(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); } } @@ -125,7 +222,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static283.method319(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); + method319(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); } } @@ -696,7 +793,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local12 += local26 * local150; local130 += local150; } - Static283.method317(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7, arg4); + method317(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7, arg4); } @OriginalMember(owner = "client!am", name = "a", descriptor = "(IIII)V") @@ -754,7 +851,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local12 += local26 * local150; local130 += local150; } - Static283.method321(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7); + method321(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7); } @OriginalMember(owner = "client!am", name = "d", descriptor = "(II)V") @@ -795,7 +892,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local36 += local47; } if (local32 > 0 && local29 > 0) { - Static283.method318(SoftwareRaster.pixels, this.pixels, local26, local21, local32, local29, local36, local40); + method318(SoftwareRaster.pixels, this.pixels, local26, local21, local32, local29, local36, local40); } } @@ -837,7 +934,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static283.method320(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29, arg2); + method320(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29, arg2); } } } diff --git a/client/src/main/java/rt4/SoftwareFont.java b/client/src/main/java/rt4/SoftwareFont.java index 62eff79..4ecba76 100644 --- a/client/src/main/java/rt4/SoftwareFont.java +++ b/client/src/main/java/rt4/SoftwareFont.java @@ -9,7 +9,7 @@ import org.openrs2.deob.annotation.Pc; public final class SoftwareFont extends Font { @OriginalMember(owner = "client!dd", name = "Eb", descriptor = "[[B") - private byte[][] aByteArrayArray7 = new byte[256][]; + private byte[][] pixels = new byte[256][]; @OriginalMember(owner = "client!dd", name = "", descriptor = "([B)V") public SoftwareFont(@OriginalArg(0) byte[] arg0) { @@ -19,7 +19,111 @@ public final class SoftwareFont extends Font { @OriginalMember(owner = "client!dd", name = "", descriptor = "([B[I[I[I[I[[B)V") public SoftwareFont(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int[] arg3, @OriginalArg(4) int[] arg4, @OriginalArg(5) byte[][] arg5) { super(arg0, arg1, arg2, arg3, arg4); - this.aByteArrayArray7 = arg5; + this.pixels = arg5; + } + + @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIII)V") + public static void blit(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8) { + @Pc(4) int local4 = -(arg5 >> 2); + @Pc(9) int local9 = -(arg5 & 0x3); + for (@Pc(12) int local12 = -arg6; local12 < 0; local12++) { + @Pc(16) int local16; + for (local16 = local4; local16 < 0; local16++) { + if (arg1[arg3++] == 0) { + arg4++; + } else { + arg0[arg4++] = arg2; + } + if (arg1[arg3++] == 0) { + arg4++; + } else { + arg0[arg4++] = arg2; + } + if (arg1[arg3++] == 0) { + arg4++; + } else { + arg0[arg4++] = arg2; + } + if (arg1[arg3++] == 0) { + arg4++; + } else { + arg0[arg4++] = arg2; + } + } + for (local16 = local9; local16 < 0; local16++) { + if (arg1[arg3++] == 0) { + arg4++; + } else { + arg0[arg4++] = arg2; + } + } + arg4 += arg7; + arg3 += arg8; + } + } + + @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIIIII[I[I)V") + public static void blitMasked(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int[] arg11, @OriginalArg(12) int[] arg12) { + @Pc(3) int local3 = arg2 - SoftwareRaster.clipLeft; + @Pc(7) int local7 = arg3 - SoftwareRaster.clipTop; + for (@Pc(9) int local9 = local7; local9 < local7 + arg5; local9++) { + @Pc(18) int local18 = arg11[local9]; + @Pc(22) int local22 = arg12[local9]; + @Pc(24) int local24 = arg4; + @Pc(31) int local31; + if (local3 > local18) { + local31 = local3 - local18; + if (local31 >= local22) { + arg7 += arg4 + arg10; + arg8 += arg4 + arg9; + continue; + } + local22 -= local31; + } else { + local31 = local18 - local3; + if (local31 >= arg4) { + arg7 += arg4 + arg10; + arg8 += arg4 + arg9; + continue; + } + arg7 += local31; + local24 = arg4 - local31; + arg8 += local31; + } + local31 = 0; + if (local24 < local22) { + local22 = local24; + } else { + local31 = local24 - local22; + } + for (@Pc(99) int local99 = -local22; local99 < 0; local99++) { + if (arg1[arg7++] == 0) { + arg8++; + } else { + SoftwareRaster.pixels[arg8++] = arg6; + } + } + arg7 += local31 + arg10; + arg8 += local31 + arg9; + } + } + + @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIIII)V") + public static void blitTransparent(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9) { + @Pc(17) int local17 = ((arg2 & 0xFF00FF) * arg9 & 0xFF00FF00) + ((arg2 & 0xFF00) * arg9 & 0xFF0000) >> 8; + @Pc(21) int local21 = 256 - arg9; + for (@Pc(24) int local24 = -arg6; local24 < 0; local24++) { + for (@Pc(29) int local29 = -arg5; local29 < 0; local29++) { + if (arg1[arg3++] == 0) { + arg4++; + } else { + @Pc(40) int local40 = arg0[arg4]; + arg0[arg4++] = (((local40 & 0xFF00FF) * local21 & 0xFF00FF00) + ((local40 & 0xFF00) * local21 & 0xFF0000) >> 8) + local17; + } + } + arg4 += arg7; + arg3 += arg8; + } } @OriginalMember(owner = "client!dd", name = "a", descriptor = "(IIIIIIIZ)V") @@ -56,7 +160,7 @@ public final class SoftwareFont extends Font { local9 += local20; } if (arg3 > 0 && arg4 > 0) { - Static285.method1139(SoftwareRaster.pixels, this.aByteArrayArray7[arg0], arg5, local13, local5, arg3, arg4, local9, local11, arg6); + blitTransparent(SoftwareRaster.pixels, this.pixels[arg0], arg5, local13, local5, arg3, arg4, local9, local11, arg6); } } @@ -97,9 +201,9 @@ public final class SoftwareFont extends Font { return; } if (SoftwareRaster.anIntArray295 == null) { - Static285.method1137(SoftwareRaster.pixels, this.aByteArrayArray7[arg0], arg5, local13, local5, arg3, arg4, local9, local11); + blit(SoftwareRaster.pixels, this.pixels[arg0], arg5, local13, local5, arg3, arg4, local9, local11); } else { - Static285.method1138(SoftwareRaster.pixels, this.aByteArrayArray7[arg0], arg1, arg2, arg3, arg4, arg5, local13, local5, local9, local11, SoftwareRaster.anIntArray295, SoftwareRaster.anIntArray296); + blitMasked(SoftwareRaster.pixels, this.pixels[arg0], arg1, arg2, arg3, arg4, arg5, local13, local5, local9, local11, SoftwareRaster.anIntArray295, SoftwareRaster.anIntArray296); } } } diff --git a/client/src/main/java/rt4/SoftwareIndexedSprite.java b/client/src/main/java/rt4/SoftwareIndexedSprite.java index e6e4d96..295a10d 100644 --- a/client/src/main/java/rt4/SoftwareIndexedSprite.java +++ b/client/src/main/java/rt4/SoftwareIndexedSprite.java @@ -35,6 +35,118 @@ public final class SoftwareIndexedSprite extends IndexedSprite { this.anIntArray144 = new int[arg2]; } + @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIIIII)V") + public static void method1391(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int arg11) { + @Pc(1) int local1 = arg3; + for (@Pc(4) int local4 = -arg8; local4 < 0; local4++) { + @Pc(12) int local12 = (arg4 >> 16) * arg11; + for (@Pc(15) int local15 = -arg7; local15 < 0; local15++) { + @Pc(25) byte local25 = arg1[(arg3 >> 16) + local12]; + if (local25 == 0) { + arg5++; + } else { + arg0[arg5++] = arg2[local25 & 0xFF]; + } + arg3 += arg9; + } + arg4 += arg10; + arg3 = local1; + arg5 += arg6; + } + } + + @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIII)V") + public static void method1393(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { + @Pc(4) int local4 = -(arg5 >> 2); + @Pc(9) int local9 = -(arg5 & 0x3); + for (@Pc(12) int local12 = -arg6; local12 < 0; local12++) { + @Pc(16) int local16; + @Pc(23) byte local23; + for (local16 = local4; local16 < 0; local16++) { + local23 = arg1[arg3++]; + if (local23 == 0) { + arg4++; + } else { + arg0[arg4++] = arg2[local23 & 0xFF]; + } + local23 = arg1[arg3++]; + if (local23 == 0) { + arg4++; + } else { + arg0[arg4++] = arg2[local23 & 0xFF]; + } + local23 = arg1[arg3++]; + if (local23 == 0) { + arg4++; + } else { + arg0[arg4++] = arg2[local23 & 0xFF]; + } + local23 = arg1[arg3++]; + if (local23 == 0) { + arg4++; + } else { + arg0[arg4++] = arg2[local23 & 0xFF]; + } + } + for (local16 = local9; local16 < 0; local16++) { + local23 = arg1[arg3++]; + if (local23 == 0) { + arg4++; + } else { + arg0[arg4++] = arg2[local23 & 0xFF]; + } + } + arg4 += arg7; + arg3 += arg8; + } + } + + @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIIIIII)V") + public static void method1394(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int arg11, @OriginalArg(12) int arg12) { + @Pc(1) int local1 = arg3; + @Pc(7) int local7 = arg12 >> 16 & 0xFF; + @Pc(13) int local13 = arg12 >> 8 & 0xFF; + @Pc(17) int local17 = arg12 & 0xFF; + for (@Pc(20) int local20 = -arg8; local20 < 0; local20++) { + @Pc(28) int local28 = (arg4 >> 16) * arg11; + for (@Pc(31) int local31 = -arg7; local31 < 0; local31++) { + @Pc(41) byte local41 = arg1[(arg3 >> 16) + local28]; + if (local41 == 0) { + arg5++; + } else { + @Pc(49) int local49 = arg2[local41 & 0xFF]; + @Pc(55) int local55 = local49 >> 16 & 0xFF; + @Pc(61) int local61 = local49 >> 8 & 0xFF; + @Pc(65) int local65 = local49 & 0xFF; + arg0[arg5++] = (local55 * local7 >> 8 << 16) + (local61 * local13 >> 8 << 8) + (local65 * local17 >> 8); + } + arg3 += arg9; + } + arg4 += arg10; + arg3 = local1; + arg5 += arg6; + } + } + + @OriginalMember(owner = "client!ek", name = "b", descriptor = "([I[B[IIIIIIII)V") + public static void method1397(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9) { + @Pc(3) int local3 = 256 - arg9; + for (@Pc(6) int local6 = -arg6; local6 < 0; local6++) { + for (@Pc(11) int local11 = -arg5; local11 < 0; local11++) { + @Pc(18) byte local18 = arg1[arg3++]; + if (local18 == 0) { + arg4++; + } else { + @Pc(26) int local26 = arg2[local18 & 0xFF]; + @Pc(30) int local30 = arg0[arg4]; + arg0[arg4++] = ((local26 & 0xFF00FF) * arg9 + (local30 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local26 & 0xFF00) * arg9 + (local30 & 0xFF00) * local3 & 0xFF0000) >> 8; + } + } + arg4 += arg7; + arg3 += arg8; + } + } + @OriginalMember(owner = "client!ek", name = "b", descriptor = "(III)V") public final void adjustPalette(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { for (@Pc(1) int local1 = 0; local1 < this.anIntArray144.length; local1++) { @@ -114,7 +226,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local7 += local21 * local145; local125 += local145; } - Static286.method1394(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2, arg4); + method1394(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2, arg4); } @OriginalMember(owner = "client!ek", name = "a", descriptor = "()V") @@ -197,7 +309,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static286.method1397(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29, arg2); + method1397(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29, arg2); } } @@ -271,7 +383,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local7 += local21 * local145; local125 += local145; } - Static286.method1391(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2); + method1391(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2); } @OriginalMember(owner = "client!ek", name = "a", descriptor = "(II)V") @@ -312,7 +424,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static286.method1393(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29); + method1393(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29); } } } diff --git a/client/src/main/java/rt4/SoftwareSprite.java b/client/src/main/java/rt4/SoftwareSprite.java index 9c7e864..aa9b154 100644 --- a/client/src/main/java/rt4/SoftwareSprite.java +++ b/client/src/main/java/rt4/SoftwareSprite.java @@ -30,6 +30,177 @@ public class SoftwareSprite extends Sprite { this.anInt1863 = this.anInt1861 = 0; } + @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIII)V") + public static void method300(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + @Pc(4) int local4 = -(arg4 >> 2); + @Pc(9) int local9 = -(arg4 & 0x3); + for (@Pc(12) int local12 = -arg5; local12 < 0; local12++) { + @Pc(16) int local16; + @Pc(23) int local23; + for (local16 = local4; local16 < 0; local16++) { + local23 = arg1[arg2++]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2++]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2++]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2++]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + } + for (local16 = local9; local16 < 0; local16++) { + local23 = arg1[arg2++]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!mm", name = "b", descriptor = "([I[IIIIIIII)V") + public static void method302(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + @Pc(4) int local4 = -(arg4 >> 2); + @Pc(9) int local9 = -(arg4 & 0x3); + for (@Pc(12) int local12 = -arg5; local12 < 0; local12++) { + @Pc(16) int local16; + @Pc(23) int local23; + for (local16 = local4; local16 < 0; local16++) { + local23 = arg1[arg2--]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2--]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2--]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + local23 = arg1[arg2--]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + } + for (local16 = local9; local16 < 0; local16++) { + local23 = arg1[arg2--]; + if (local23 == 0) { + arg3++; + } else { + arg0[arg3++] = local23; + } + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIII)V") + public static void method305(@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, @OriginalArg(7) int arg7) { + for (@Pc(2) int local2 = -arg5; local2 < 0; local2++) { + @Pc(10) int local10 = arg3 + arg4 - 3; + while (arg3 < local10) { + arg0[arg3++] = arg1[arg2++]; + arg0[arg3++] = arg1[arg2++]; + arg0[arg3++] = arg1[arg2++]; + arg0[arg3++] = arg1[arg2++]; + } + local10 += 3; + while (arg3 < local10) { + arg0[arg3++] = arg1[arg2++]; + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIIIIII)V") + public static void method307(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10, @OriginalArg(12) int arg11) { + @Pc(3) int local3 = 256 - arg11; + @Pc(5) int local5 = arg2; + for (@Pc(8) int local8 = -arg7; local8 < 0; local8++) { + @Pc(16) int local16 = (arg3 >> 16) * arg10; + for (@Pc(19) int local19 = -arg6; local19 < 0; local19++) { + @Pc(29) int local29 = arg1[(arg2 >> 16) + local16]; + if (local29 == 0) { + arg4++; + } else { + @Pc(35) int local35 = arg0[arg4]; + arg0[arg4++] = ((local29 & 0xFF00FF) * arg11 + (local35 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local29 & 0xFF00) * arg11 + (local35 & 0xFF00) * local3 & 0xFF0000) >> 8; + } + arg2 += arg8; + } + arg3 += arg9; + arg2 = local5; + arg4 += arg5; + } + } + + @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIII)V") + public static void method308(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { + @Pc(3) int local3 = 256 - arg8; + for (@Pc(6) int local6 = -arg5; local6 < 0; local6++) { + for (@Pc(11) int local11 = -arg4; local11 < 0; local11++) { + @Pc(18) int local18 = arg1[arg2++]; + if (local18 == 0) { + arg3++; + } else { + @Pc(24) int local24 = arg0[arg3]; + arg0[arg3++] = ((local18 & 0xFF00FF) * arg8 + (local24 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local18 & 0xFF00) * arg8 + (local24 & 0xFF00) * local3 & 0xFF0000) >> 8; + } + } + arg3 += arg6; + arg2 += arg7; + } + } + + @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIIIII)V") + public static void method316(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { + @Pc(1) int local1 = arg2; + for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { + @Pc(12) int local12 = (arg3 >> 16) * arg10; + for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { + @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; + if (local25 == 0) { + arg4++; + } else { + arg0[arg4++] = local25; + } + arg2 += arg8; + } + arg3 += arg9; + arg2 = local1; + arg4 += arg5; + } + } + @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) { @@ -117,7 +288,7 @@ public class SoftwareSprite extends Sprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static290.method305(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); + method305(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); } } @@ -682,7 +853,7 @@ public class SoftwareSprite extends Sprite { local36 += local47; } if (local32 > 0 && local29 > 0) { - Static290.method302(SoftwareRaster.pixels, this.pixels, local26, local21, local32, local29, local36, local40); + method302(SoftwareRaster.pixels, this.pixels, local26, local21, local32, local29, local36, local40); } } @@ -724,7 +895,7 @@ public class SoftwareSprite extends Sprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static290.method308(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29, arg2); + method308(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29, arg2); } } @@ -766,7 +937,7 @@ public class SoftwareSprite extends Sprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - Static290.method300(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); + method300(SoftwareRaster.pixels, this.pixels, local17, local15, local23, local20, local27, local29); } } @@ -1066,7 +1237,7 @@ public class SoftwareSprite extends Sprite { local12 += local26 * local150; local130 += local150; } - Static290.method307(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7, arg4); + method307(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7, arg4); } @OriginalMember(owner = "client!mm", name = "b", descriptor = "(III)V") @@ -1155,6 +1326,6 @@ public class SoftwareSprite extends Sprite { local12 += local26 * local150; local130 += local150; } - Static290.method316(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7); + method316(SoftwareRaster.pixels, this.pixels, local12, local14, local46, local130, arg2, arg3, local26, local32, local7); } } diff --git a/client/src/main/java/rt4/SoundPcmStream.java b/client/src/main/java/rt4/SoundPcmStream.java index f5ca100..e96615b 100644 --- a/client/src/main/java/rt4/SoundPcmStream.java +++ b/client/src/main/java/rt4/SoundPcmStream.java @@ -84,7 +84,742 @@ public final class SoundPcmStream extends PcmStream { return arg0.aByteArray47 == null || arg0.aByteArray47.length == 0 ? null : new SoundPcmStream(arg0, (int) ((long) arg0.anInt3316 * 256L * (long) 100 / (long) (AudioChannel.sampleRate * 100)), arg1 << 6); } - @OriginalMember(owner = "client!b", name = "b", descriptor = "([III)V") + @OriginalMember(owner = "client!b", name = "a", descriptor = "(I[B[IIIIIIIILclient!b;)I") + public static int method387(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(10) SoundPcmStream arg8) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg7 >> 8; + @Pc(11) int local11 = arg4 << 2; + @Pc(15) int local15 = arg5 << 2; + @Pc(22) int local22; + if ((local22 = arg3 + local7 - arg2) > arg6) { + local22 = arg6; + } + arg3 <<= 0x1; + local22 <<= 0x1; + local22 -= 6; + @Pc(43) byte local43; + @Pc(46) int local46; + while (arg3 < local22) { + @Pc(41) int local41 = arg2 + 1; + local43 = arg0[arg2]; + local46 = arg3 + 1; + arg1[arg3] += local43 * local11; + @Pc(56) int local56 = local46 + 1; + arg1[local46] += local43 * local15; + @Pc(66) int local66 = local41 + 1; + @Pc(68) byte local68 = arg0[local41]; + @Pc(71) int local71 = local56 + 1; + arg1[local56] += local68 * local11; + @Pc(81) int local81 = local71 + 1; + arg1[local71] += local68 * local15; + @Pc(91) int local91 = local66 + 1; + @Pc(93) byte local93 = arg0[local66]; + @Pc(96) int local96 = local81 + 1; + arg1[local81] += local93 * local11; + @Pc(106) int local106 = local96 + 1; + arg1[local96] += local93 * local15; + arg2 = local91 + 1; + @Pc(118) byte local118 = arg0[local91]; + @Pc(121) int local121 = local106 + 1; + arg1[local106] += local118 * local11; + arg3 = local121 + 1; + arg1[local121] += local118 * local15; + } + local22 += 6; + while (arg3 < local22) { + local43 = arg0[arg2++]; + local46 = arg3 + 1; + arg1[arg3] += local43 * local11; + arg3 = local46 + 1; + arg1[local46] += local43 * local15; + } + arg8.anInt346 = arg2 << 8; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIIIIILclient!b;II)I") + public static int method388(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9, @OriginalArg(13) SoundPcmStream arg10, @OriginalArg(14) int arg11, @OriginalArg(15) int arg12) { + arg10.anInt348 -= arg10.anInt344 * arg3; + @Pc(23) int local23; + if (arg11 == 0 || (local23 = arg3 + (arg9 + arg11 - arg2 - 257) / arg11) > arg8) { + local23 = arg8; + } + arg3 <<= 0x1; + local23 <<= 0x1; + @Pc(46) byte local46; + @Pc(65) int local65; + @Pc(62) int local62; + @Pc(64) int local64; + while (arg3 < local23) { + @Pc(42) int local42 = arg2 >> 8; + local46 = arg0[local42]; + local62 = (local46 << 8) + (arg0[local42 + 1] - local46) * (arg2 & 0xFF); + local64 = arg3; + local65 = arg3 + 1; + arg1[local64] += local62 * arg4 >> 6; + arg4 += arg6; + @Pc(80) int local80 = local65; + arg3 = local65 + 1; + arg1[local80] += local62 * arg5 >> 6; + arg5 += arg7; + arg2 += arg11; + } + if (arg11 == 0 || (local23 = (arg3 >> 1) + (arg9 + arg11 - arg2 - 1) / arg11) > arg8) { + local23 = arg8; + } + local23 <<= 0x1; + while (arg3 < local23) { + local46 = arg0[arg2 >> 8]; + local62 = (local46 << 8) + (arg12 - local46) * (arg2 & 0xFF); + local64 = arg3; + local65 = arg3 + 1; + arg1[local64] += local62 * arg4 >> 6; + arg4 += arg6; + local64 = local65; + arg3 = local65 + 1; + arg1[local64] += local62 * arg5 >> 6; + arg5 += arg7; + arg2 += arg11; + } + local65 = arg3 >> 1; + arg10.anInt348 += arg10.anInt344 * local65; + arg10.anInt355 = arg4; + arg10.anInt352 = arg5; + arg10.anInt346 = arg2; + return local65; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIIILclient!b;II)I") + public static int method389(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { + arg8.anInt355 -= arg8.anInt347 * arg3; + arg8.anInt352 -= arg8.anInt354 * arg3; + @Pc(32) int local32; + if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2 - 257) / arg9) > arg6) { + local32 = arg6; + } + @Pc(47) byte local47; + @Pc(49) int local49; + while (arg3 < local32) { + @Pc(43) int local43 = arg2 >> 8; + local47 = arg0[local43]; + local49 = arg3++; + arg1[local49] += ((local47 << 8) + (arg0[local43 + 1] - local47) * (arg2 & 0xFF)) * arg4 >> 6; + arg4 += arg5; + arg2 += arg9; + } + if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2 - 1) / arg9) > arg6) { + local32 = arg6; + } + while (arg3 < local32) { + local47 = arg0[arg2 >> 8]; + local49 = arg3++; + arg1[local49] += ((local47 << 8) + (arg10 - local47) * (arg2 & 0xFF)) * arg4 >> 6; + arg4 += arg5; + arg2 += arg9; + } + arg8.anInt355 += arg8.anInt347 * arg3; + arg8.anInt352 += arg8.anInt354 * arg3; + arg8.anInt348 = arg4; + arg8.anInt346 = arg2; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIILclient!b;II)I") + public static int method390(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(8) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) SoundPcmStream arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9) { + @Pc(14) int local14; + if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 + 256 - arg2) / arg8) > arg5) { + local14 = arg5; + } + @Pc(33) int local33; + while (arg3 < local14) { + @Pc(25) int local25 = arg2 >> 8; + @Pc(31) byte local31 = arg0[local25 - 1]; + local33 = arg3++; + arg1[local33] += ((local31 << 8) + (arg0[local25] - local31) * (arg2 & 0xFF)) * arg4 >> 6; + arg2 += arg8; + } + if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2) / arg8) > arg5) { + local14 = arg5; + } + while (arg3 < local14) { + local33 = arg3++; + arg1[local33] += ((arg9 << 8) + (arg0[arg2 >> 8] - arg9) * (arg2 & 0xFF)) * arg4 >> 6; + arg2 += arg8; + } + arg7.anInt346 = arg2; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "([B[IIIIIIILclient!b;)I") + public static int method391(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) SoundPcmStream arg7) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg6 >> 8; + @Pc(11) int local11 = arg4 << 2; + @Pc(18) int local18; + if ((local18 = arg3 + local7 - arg2) > arg5) { + local18 = arg5; + } + local18 -= 3; + @Pc(28) int local28; + while (arg3 < local18) { + local28 = arg3++; + @Pc(31) int local31 = arg1[local28]; + @Pc(34) int local34 = arg2 + 1; + arg1[local28] = local31 + arg0[arg2] * local11; + @Pc(41) int local41 = arg3++; + @Pc(44) int local44 = arg1[local41]; + @Pc(47) int local47 = local34 + 1; + arg1[local41] = local44 + arg0[local34] * local11; + @Pc(54) int local54 = arg3++; + @Pc(57) int local57 = arg1[local54]; + @Pc(60) int local60 = local47 + 1; + arg1[local54] = local57 + arg0[local47] * local11; + @Pc(67) int local67 = arg3++; + @Pc(70) int local70 = arg1[local67]; + arg2 = local60 + 1; + arg1[local67] = local70 + arg0[local60] * local11; + } + local18 += 3; + while (arg3 < local18) { + local28 = arg3++; + arg1[local28] += arg0[arg2++] * local11; + } + arg7.anInt346 = arg2 << 8; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "(I[B[IIIIIIIIIILclient!b;)I") + public static int method393(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(10) int arg8, @OriginalArg(11) int arg9, @OriginalArg(12) SoundPcmStream arg10) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg9 >> 8; + arg4 <<= 0x2; + arg5 <<= 0x2; + @Pc(19) int local19 = arg6 << 2; + @Pc(23) int local23 = arg7 << 2; + @Pc(30) int local30; + if ((local30 = arg3 + local7 - arg2) > arg8) { + local30 = arg8; + } + arg10.anInt348 += arg10.anInt344 * (local30 - arg3); + arg3 <<= 0x1; + local30 <<= 0x1; + local30 -= 6; + @Pc(62) byte local62; + @Pc(65) int local65; + while (arg3 < local30) { + @Pc(60) int local60 = arg2 + 1; + local62 = arg0[arg2]; + local65 = arg3 + 1; + arg1[arg3] += local62 * arg4; + @Pc(76) int local76 = arg4 + local19; + @Pc(79) int local79 = local65 + 1; + arg1[local65] += local62 * arg5; + @Pc(90) int local90 = arg5 + local23; + @Pc(93) int local93 = local60 + 1; + @Pc(95) byte local95 = arg0[local60]; + @Pc(98) int local98 = local79 + 1; + arg1[local79] += local95 * local76; + @Pc(109) int local109 = local76 + local19; + @Pc(112) int local112 = local98 + 1; + arg1[local98] += local95 * local90; + @Pc(123) int local123 = local90 + local23; + @Pc(126) int local126 = local93 + 1; + @Pc(128) byte local128 = arg0[local93]; + @Pc(131) int local131 = local112 + 1; + arg1[local112] += local128 * local109; + @Pc(142) int local142 = local109 + local19; + @Pc(145) int local145 = local131 + 1; + arg1[local131] += local128 * local123; + @Pc(156) int local156 = local123 + local23; + arg2 = local126 + 1; + @Pc(161) byte local161 = arg0[local126]; + @Pc(164) int local164 = local145 + 1; + arg1[local145] += local161 * local142; + arg4 = local142 + local19; + arg3 = local164 + 1; + arg1[local164] += local161 * local156; + arg5 = local156 + local23; + } + local30 += 6; + while (arg3 < local30) { + local62 = arg0[arg2++]; + local65 = arg3 + 1; + arg1[arg3] += local62 * arg4; + arg4 += local19; + arg3 = local65 + 1; + arg1[local65] += local62 * arg5; + arg5 += local23; + } + arg10.anInt355 = arg4 >> 2; + arg10.anInt352 = arg5 >> 2; + arg10.anInt346 = arg2 << 8; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "([B[IIIIIIIILclient!b;)I") + public static int method394(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) SoundPcmStream arg8) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg7 >> 8; + arg4 <<= 0x2; + @Pc(15) int local15 = arg5 << 2; + @Pc(24) int local24; + if ((local24 = arg3 + arg2 + 1 - local7) > arg6) { + local24 = arg6; + } + arg8.anInt355 += arg8.anInt347 * (local24 - arg3); + arg8.anInt352 += arg8.anInt354 * (local24 - arg3); + local24 -= 3; + @Pc(56) int local56; + while (arg3 < local24) { + local56 = arg3++; + @Pc(59) int local59 = arg1[local56]; + @Pc(62) int local62 = arg2 - 1; + arg1[local56] = local59 + arg0[arg2] * arg4; + @Pc(71) int local71 = arg4 + local15; + @Pc(73) int local73 = arg3++; + @Pc(76) int local76 = arg1[local73]; + @Pc(79) int local79 = local62 - 1; + arg1[local73] = local76 + arg0[local62] * local71; + @Pc(88) int local88 = local71 + local15; + @Pc(90) int local90 = arg3++; + @Pc(93) int local93 = arg1[local90]; + @Pc(96) int local96 = local79 - 1; + arg1[local90] = local93 + arg0[local79] * local88; + @Pc(105) int local105 = local88 + local15; + @Pc(107) int local107 = arg3++; + @Pc(110) int local110 = arg1[local107]; + arg2 = local96 - 1; + arg1[local107] = local110 + arg0[local96] * local105; + arg4 = local105 + local15; + } + local24 += 3; + while (arg3 < local24) { + local56 = arg3++; + arg1[local56] += arg0[arg2--] * arg4; + arg4 += local15; + } + arg8.anInt348 = arg4 >> 2; + arg8.anInt346 = arg2 << 8; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "([B[IIIIIIIILclient!b;)I") + public static int method395(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) SoundPcmStream arg8) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg7 >> 8; + arg4 <<= 0x2; + @Pc(15) int local15 = arg5 << 2; + @Pc(22) int local22; + if ((local22 = arg3 + local7 - arg2) > arg6) { + local22 = arg6; + } + arg8.anInt355 += arg8.anInt347 * (local22 - arg3); + arg8.anInt352 += arg8.anInt354 * (local22 - arg3); + local22 -= 3; + @Pc(54) int local54; + while (arg3 < local22) { + local54 = arg3++; + @Pc(57) int local57 = arg1[local54]; + @Pc(60) int local60 = arg2 + 1; + arg1[local54] = local57 + arg0[arg2] * arg4; + @Pc(69) int local69 = arg4 + local15; + @Pc(71) int local71 = arg3++; + @Pc(74) int local74 = arg1[local71]; + @Pc(77) int local77 = local60 + 1; + arg1[local71] = local74 + arg0[local60] * local69; + @Pc(86) int local86 = local69 + local15; + @Pc(88) int local88 = arg3++; + @Pc(91) int local91 = arg1[local88]; + @Pc(94) int local94 = local77 + 1; + arg1[local88] = local91 + arg0[local77] * local86; + @Pc(103) int local103 = local86 + local15; + @Pc(105) int local105 = arg3++; + @Pc(108) int local108 = arg1[local105]; + arg2 = local94 + 1; + arg1[local105] = local108 + arg0[local94] * local103; + arg4 = local103 + local15; + } + local22 += 3; + while (arg3 < local22) { + local54 = arg3++; + arg1[local54] += arg0[arg2++] * arg4; + arg4 += local15; + } + arg8.anInt348 = arg4 >> 2; + arg8.anInt346 = arg2 << 8; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "a", descriptor = "(Lclient!kj;III)Lclient!b;") + public static SoundPcmStream method399(@OriginalArg(0) PcmSound arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + return arg0.aByteArray47 == null || arg0.aByteArray47.length == 0 ? null : new SoundPcmStream(arg0, arg1, arg2, arg3); + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIIILclient!b;II)I") + public static int method400(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { + @Pc(14) int local14; + if (arg9 == 0 || (local14 = arg3 + (arg7 + arg9 - arg2 - 257) / arg9) > arg6) { + local14 = arg6; + } + arg3 <<= 0x1; + local14 <<= 0x1; + @Pc(37) byte local37; + @Pc(56) int local56; + @Pc(53) int local53; + @Pc(55) int local55; + while (arg3 < local14) { + @Pc(33) int local33 = arg2 >> 8; + local37 = arg0[local33]; + local53 = (local37 << 8) + (arg0[local33 + 1] - local37) * (arg2 & 0xFF); + local55 = arg3; + local56 = arg3 + 1; + arg1[local55] += local53 * arg4 >> 6; + @Pc(67) int local67 = local56; + arg3 = local56 + 1; + arg1[local67] += local53 * arg5 >> 6; + arg2 += arg9; + } + if (arg9 == 0 || (local14 = (arg3 >> 1) + (arg7 + arg9 - arg2 - 1) / arg9) > arg6) { + local14 = arg6; + } + local14 <<= 0x1; + while (arg3 < local14) { + local37 = arg0[arg2 >> 8]; + local53 = (local37 << 8) + (arg10 - local37) * (arg2 & 0xFF); + local55 = arg3; + local56 = arg3 + 1; + arg1[local55] += local53 * arg4 >> 6; + local55 = local56; + arg3 = local56 + 1; + arg1[local55] += local53 * arg5 >> 6; + arg2 += arg9; + } + arg8.anInt346 = arg2; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIILclient!b;II)I") + public static int method422(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(8) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) SoundPcmStream arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9) { + @Pc(14) int local14; + if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2 - 257) / arg8) > arg5) { + local14 = arg5; + } + @Pc(29) byte local29; + @Pc(31) int local31; + while (arg3 < local14) { + @Pc(25) int local25 = arg2 >> 8; + local29 = arg0[local25]; + local31 = arg3++; + arg1[local31] += ((local29 << 8) + (arg0[local25 + 1] - local29) * (arg2 & 0xFF)) * arg4 >> 6; + arg2 += arg8; + } + if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2 - 1) / arg8) > arg5) { + local14 = arg5; + } + while (arg3 < local14) { + local29 = arg0[arg2 >> 8]; + local31 = arg3++; + arg1[local31] += ((local29 << 8) + (arg9 - local29) * (arg2 & 0xFF)) * arg4 >> 6; + arg2 += arg8; + } + arg7.anInt346 = arg2; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "e", descriptor = "(II)I") + public static int method421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + return arg1 < 0 ? -arg0 : (int) ((double) arg0 * Math.sqrt((double) arg1 * 1.220703125E-4D) + 0.5D); + } + + @OriginalMember(owner = "client!b", name = "d", descriptor = "(II)I") + public static int method419(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + return arg1 < 0 ? arg0 : (int) ((double) arg0 * Math.sqrt((double) (16384 - arg1) * 1.220703125E-4D) + 0.5D); + } + + @OriginalMember(owner = "client!b", name = "d", descriptor = "(II[B[IIIIIIIILclient!b;II)I") + public static int method420(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { + @Pc(14) int local14; + if (arg9 == 0 || (local14 = arg3 + (arg7 + arg9 + 256 - arg2) / arg9) > arg6) { + local14 = arg6; + } + arg3 <<= 0x1; + local14 <<= 0x1; + @Pc(56) int local56; + @Pc(53) int local53; + @Pc(55) int local55; + while (arg3 < local14) { + @Pc(33) int local33 = arg2 >> 8; + @Pc(39) byte local39 = arg0[local33 - 1]; + local53 = (local39 << 8) + (arg0[local33] - local39) * (arg2 & 0xFF); + local55 = arg3; + local56 = arg3 + 1; + arg1[local55] += local53 * arg4 >> 6; + @Pc(67) int local67 = local56; + arg3 = local56 + 1; + arg1[local67] += local53 * arg5 >> 6; + arg2 += arg9; + } + if (arg9 == 0 || (local14 = (arg3 >> 1) + (arg7 + arg9 - arg2) / arg9) > arg6) { + local14 = arg6; + } + local14 <<= 0x1; + while (arg3 < local14) { + local53 = (arg10 << 8) + (arg0[arg2 >> 8] - arg10) * (arg2 & 0xFF); + local55 = arg3; + local56 = arg3 + 1; + arg1[local55] += local53 * arg4 >> 6; + local55 = local56; + arg3 = local56 + 1; + arg1[local55] += local53 * arg5 >> 6; + arg2 += arg9; + } + arg8.anInt346 = arg2; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "([B[IIIIIIILclient!b;)I") + public static int method413(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) SoundPcmStream arg7) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg6 >> 8; + @Pc(11) int local11 = arg4 << 2; + @Pc(20) int local20; + if ((local20 = arg3 + arg2 + 1 - local7) > arg5) { + local20 = arg5; + } + local20 -= 3; + @Pc(30) int local30; + while (arg3 < local20) { + local30 = arg3++; + @Pc(33) int local33 = arg1[local30]; + @Pc(36) int local36 = arg2 - 1; + arg1[local30] = local33 + arg0[arg2] * local11; + @Pc(43) int local43 = arg3++; + @Pc(46) int local46 = arg1[local43]; + @Pc(49) int local49 = local36 - 1; + arg1[local43] = local46 + arg0[local36] * local11; + @Pc(56) int local56 = arg3++; + @Pc(59) int local59 = arg1[local56]; + @Pc(62) int local62 = local49 - 1; + arg1[local56] = local59 + arg0[local49] * local11; + @Pc(69) int local69 = arg3++; + @Pc(72) int local72 = arg1[local69]; + arg2 = local62 - 1; + arg1[local69] = local72 + arg0[local62] * local11; + } + local20 += 3; + while (arg3 < local20) { + local30 = arg3++; + arg1[local30] += arg0[arg2--] * local11; + } + arg7.anInt346 = arg2 << 8; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "c", descriptor = "(II[B[IIIIIIIILclient!b;II)I") + public static int method415(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { + arg8.anInt355 -= arg8.anInt347 * arg3; + arg8.anInt352 -= arg8.anInt354 * arg3; + @Pc(32) int local32; + if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 + 256 - arg2) / arg9) > arg6) { + local32 = arg6; + } + @Pc(51) int local51; + while (arg3 < local32) { + @Pc(43) int local43 = arg2 >> 8; + @Pc(49) byte local49 = arg0[local43 - 1]; + local51 = arg3++; + arg1[local51] += ((local49 << 8) + (arg0[local43] - local49) * (arg2 & 0xFF)) * arg4 >> 6; + arg4 += arg5; + arg2 += arg9; + } + if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2) / arg9) > arg6) { + local32 = arg6; + } + while (arg3 < local32) { + local51 = arg3++; + arg1[local51] += ((arg10 << 8) + (arg0[arg2 >> 8] - arg10) * (arg2 & 0xFF)) * arg4 >> 6; + arg4 += arg5; + arg2 += arg9; + } + arg8.anInt355 += arg8.anInt347 * arg3; + arg8.anInt352 += arg8.anInt354 * arg3; + arg8.anInt348 = arg4; + arg8.anInt346 = arg2; + return arg3; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "(I[B[IIIIIIIILclient!b;)I") + public static int method414(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(10) SoundPcmStream arg8) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg7 >> 8; + @Pc(11) int local11 = arg4 << 2; + @Pc(15) int local15 = arg5 << 2; + @Pc(24) int local24; + if ((local24 = arg3 + arg2 + 1 - local7) > arg6) { + local24 = arg6; + } + arg3 <<= 0x1; + local24 <<= 0x1; + local24 -= 6; + @Pc(45) byte local45; + @Pc(48) int local48; + while (arg3 < local24) { + @Pc(43) int local43 = arg2 - 1; + local45 = arg0[arg2]; + local48 = arg3 + 1; + arg1[arg3] += local45 * local11; + @Pc(58) int local58 = local48 + 1; + arg1[local48] += local45 * local15; + @Pc(68) int local68 = local43 - 1; + @Pc(70) byte local70 = arg0[local43]; + @Pc(73) int local73 = local58 + 1; + arg1[local58] += local70 * local11; + @Pc(83) int local83 = local73 + 1; + arg1[local73] += local70 * local15; + @Pc(93) int local93 = local68 - 1; + @Pc(95) byte local95 = arg0[local68]; + @Pc(98) int local98 = local83 + 1; + arg1[local83] += local95 * local11; + @Pc(108) int local108 = local98 + 1; + arg1[local98] += local95 * local15; + arg2 = local93 - 1; + @Pc(120) byte local120 = arg0[local93]; + @Pc(123) int local123 = local108 + 1; + arg1[local108] += local120 * local11; + arg3 = local123 + 1; + arg1[local123] += local120 * local15; + } + local24 += 6; + while (arg3 < local24) { + local45 = arg0[arg2--]; + local48 = arg3 + 1; + arg1[arg3] += local45 * local11; + arg3 = local48 + 1; + arg1[local48] += local45 * local15; + } + arg8.anInt346 = arg2 << 8; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIIIIILclient!b;II)I") + public static int method407(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9, @OriginalArg(13) SoundPcmStream arg10, @OriginalArg(14) int arg11, @OriginalArg(15) int arg12) { + arg10.anInt348 -= arg10.anInt344 * arg3; + @Pc(23) int local23; + if (arg11 == 0 || (local23 = arg3 + (arg9 + arg11 + 256 - arg2) / arg11) > arg8) { + local23 = arg8; + } + arg3 <<= 0x1; + local23 <<= 0x1; + @Pc(65) int local65; + @Pc(62) int local62; + @Pc(64) int local64; + while (arg3 < local23) { + @Pc(42) int local42 = arg2 >> 8; + @Pc(48) byte local48 = arg0[local42 - 1]; + local62 = (local48 << 8) + (arg0[local42] - local48) * (arg2 & 0xFF); + local64 = arg3; + local65 = arg3 + 1; + arg1[local64] += local62 * arg4 >> 6; + arg4 += arg6; + @Pc(80) int local80 = local65; + arg3 = local65 + 1; + arg1[local80] += local62 * arg5 >> 6; + arg5 += arg7; + arg2 += arg11; + } + if (arg11 == 0 || (local23 = (arg3 >> 1) + (arg9 + arg11 - arg2) / arg11) > arg8) { + local23 = arg8; + } + local23 <<= 0x1; + while (arg3 < local23) { + local62 = (arg12 << 8) + (arg0[arg2 >> 8] - arg12) * (arg2 & 0xFF); + local64 = arg3; + local65 = arg3 + 1; + arg1[local64] += local62 * arg4 >> 6; + arg4 += arg6; + local64 = local65; + arg3 = local65 + 1; + arg1[local64] += local62 * arg5 >> 6; + arg5 += arg7; + arg2 += arg11; + } + local65 = arg3 >> 1; + arg10.anInt348 += arg10.anInt344 * local65; + arg10.anInt355 = arg4; + arg10.anInt352 = arg5; + arg10.anInt346 = arg2; + return local65; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "(I[B[IIIIIIIIIILclient!b;)I") + public static int method402(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(10) int arg8, @OriginalArg(11) int arg9, @OriginalArg(12) SoundPcmStream arg10) { + arg2 >>= 0x8; + @Pc(7) int local7 = arg9 >> 8; + arg4 <<= 0x2; + arg5 <<= 0x2; + @Pc(19) int local19 = arg6 << 2; + @Pc(23) int local23 = arg7 << 2; + @Pc(32) int local32; + if ((local32 = arg3 + arg2 + 1 - local7) > arg8) { + local32 = arg8; + } + arg10.anInt348 += arg10.anInt344 * (local32 - arg3); + arg3 <<= 0x1; + local32 <<= 0x1; + local32 -= 6; + @Pc(64) byte local64; + @Pc(67) int local67; + while (arg3 < local32) { + @Pc(62) int local62 = arg2 - 1; + local64 = arg0[arg2]; + local67 = arg3 + 1; + arg1[arg3] += local64 * arg4; + @Pc(78) int local78 = arg4 + local19; + @Pc(81) int local81 = local67 + 1; + arg1[local67] += local64 * arg5; + @Pc(92) int local92 = arg5 + local23; + @Pc(95) int local95 = local62 - 1; + @Pc(97) byte local97 = arg0[local62]; + @Pc(100) int local100 = local81 + 1; + arg1[local81] += local97 * local78; + @Pc(111) int local111 = local78 + local19; + @Pc(114) int local114 = local100 + 1; + arg1[local100] += local97 * local92; + @Pc(125) int local125 = local92 + local23; + @Pc(128) int local128 = local95 - 1; + @Pc(130) byte local130 = arg0[local95]; + @Pc(133) int local133 = local114 + 1; + arg1[local114] += local130 * local111; + @Pc(144) int local144 = local111 + local19; + @Pc(147) int local147 = local133 + 1; + arg1[local133] += local130 * local125; + @Pc(158) int local158 = local125 + local23; + arg2 = local128 - 1; + @Pc(163) byte local163 = arg0[local128]; + @Pc(166) int local166 = local147 + 1; + arg1[local147] += local163 * local144; + arg4 = local144 + local19; + arg3 = local166 + 1; + arg1[local166] += local163 * local158; + arg5 = local158 + local23; + } + local32 += 6; + while (arg3 < local32) { + local64 = arg0[arg2--]; + local67 = arg3 + 1; + arg1[arg3] += local64 * arg4; + arg4 += local19; + arg3 = local67 + 1; + arg1[local67] += local64 * arg5; + arg5 += local23; + } + arg10.anInt355 = arg4 >> 2; + arg10.anInt352 = arg5 >> 2; + arg10.anInt346 = arg2 << 8; + return arg3 >> 1; + } + + @OriginalMember(owner = "client!b", name = "b", descriptor = "([III)V") @Override public final synchronized void read(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { if (this.anInt343 == 0 && this.anInt351 == 0) { @@ -252,8 +987,8 @@ public final class SoundPcmStream extends PcmStream { local10 = 0; local2 = 0; } else { - local10 = Static284.method419(local2, this.anInt349); - local8 = Static284.method421(local2, this.anInt349); + local10 = method419(local2, this.anInt349); + local8 = method421(local2, this.anInt349); } if (this.anInt348 != local2 || this.anInt355 != local10 || this.anInt352 != local8) { if (this.anInt348 < local2) { @@ -352,14 +1087,14 @@ public final class SoundPcmStream extends PcmStream { this.anInt351 += arg1; if (this.anInt342 == 256 && (this.anInt346 & 0xFF) == 0) { if (AudioChannel.stereo) { - arg1 = Static284.method393(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); + arg1 = method393(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); } else { - arg1 = Static284.method395(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); + arg1 = method395(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); } } else if (AudioChannel.stereo) { - arg1 = Static284.method388(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); + arg1 = method388(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); } else { - arg1 = Static284.method389(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); + arg1 = method389(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); } this.anInt351 -= arg1; if (this.anInt351 != 0) { @@ -372,14 +1107,14 @@ public final class SoundPcmStream extends PcmStream { } if (this.anInt342 == 256 && (this.anInt346 & 0xFF) == 0) { if (AudioChannel.stereo) { - return Static284.method387(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); + return method387(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); } - return Static284.method391(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); + return method391(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); } if (AudioChannel.stereo) { - return Static284.method400(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); + return method400(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); } - return Static284.method422(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); + return method422(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); } } @@ -602,14 +1337,14 @@ public final class SoundPcmStream extends PcmStream { this.anInt351 += arg1; if (this.anInt342 == -256 && (this.anInt346 & 0xFF) == 0) { if (AudioChannel.stereo) { - arg1 = Static284.method402(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); + arg1 = method402(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this); } else { - arg1 = Static284.method394(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); + arg1 = method394(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this); } } else if (AudioChannel.stereo) { - arg1 = Static284.method407(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); + arg1 = method407(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, this.anInt347, this.anInt354, local7, arg2, this, this.anInt342, arg4); } else { - arg1 = Static284.method415(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); + arg1 = method415(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, this.anInt344, local7, arg2, this, this.anInt342, arg4); } this.anInt351 -= arg1; if (this.anInt351 != 0) { @@ -622,14 +1357,14 @@ public final class SoundPcmStream extends PcmStream { } if (this.anInt342 == -256 && (this.anInt346 & 0xFF) == 0) { if (AudioChannel.stereo) { - return Static284.method414(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); + return method414(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this); } - return Static284.method413(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); + return method413(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this); } if (AudioChannel.stereo) { - return Static284.method420(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); + return method420(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt355, this.anInt352, arg3, arg2, this, this.anInt342, arg4); } - return Static284.method390(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); + return method390(((PcmSound) this.aClass3_Sub16_5).aByteArray47, arg0, this.anInt346, arg1, this.anInt348, arg3, arg2, this, this.anInt342, arg4); } } @@ -686,8 +1421,8 @@ public final class SoundPcmStream extends PcmStream { @OriginalMember(owner = "client!b", name = "k", descriptor = "()V") private void method416() { this.anInt348 = this.anInt343; - this.anInt355 = Static284.method419(this.anInt343, this.anInt349); - this.anInt352 = Static284.method421(this.anInt343, this.anInt349); + this.anInt355 = method419(this.anInt343, this.anInt349); + this.anInt352 = method421(this.anInt343, this.anInt349); } @OriginalMember(owner = "client!b", name = "a", descriptor = "(III)V") @@ -696,8 +1431,8 @@ public final class SoundPcmStream extends PcmStream { this.method408(arg1, arg2); return; } - @Pc(10) int local10 = Static284.method419(arg1, arg2); - @Pc(14) int local14 = Static284.method421(arg1, arg2); + @Pc(10) int local10 = method419(arg1, arg2); + @Pc(14) int local14 = method421(arg1, arg2); if (this.anInt355 == local10 && this.anInt352 == local14) { this.anInt351 = 0; return; diff --git a/client/src/main/java/rt4/SpriteLoader.java b/client/src/main/java/rt4/SpriteLoader.java index d486b6f..192304a 100644 --- a/client/src/main/java/rt4/SpriteLoader.java +++ b/client/src/main/java/rt4/SpriteLoader.java @@ -312,4 +312,14 @@ public class SpriteLoader { public static SoftwareIndexedSprite[] method3088(@OriginalArg(1) int arg0, @OriginalArg(2) Js5 arg1) { return decode(arg1, arg0) ? createSoftwareIndexedSprites() : null; } + + @OriginalMember(owner = "client!da", name = "a", descriptor = "(ILclient!ve;Z)Lclient!ok;") + public static IndexedSprite loadIndexedSpriteAutoDetect(@OriginalArg(0) int arg0, @OriginalArg(1) Js5 arg1) { + return decode(arg1, arg0) ? Static276.method4614() : null; + } + + @OriginalMember(owner = "client!kc", name = "a", descriptor = "(ILclient!ve;I)Lclient!qf;") + public static Sprite loadSpriteAutoDetect(@OriginalArg(1) Js5 arg0, @OriginalArg(2) int arg1) { + return decode(arg0, arg1) ? method1764() : null; + } } diff --git a/client/src/main/java/rt4/Static1.java b/client/src/main/java/rt4/Static1.java index 61ebb41..4b42f5e 100644 --- a/client/src/main/java/rt4/Static1.java +++ b/client/src/main/java/rt4/Static1.java @@ -530,8 +530,8 @@ public final class Static1 { @OriginalMember(owner = "client!a", name = "a", descriptor = "(IIIII)V") public static void method4(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(4) int arg3) { if (GlRenderer.enabled) { - Static46.method1187(arg0, arg3, arg2 + arg0, arg1 + arg3); - Static46.method1186(arg0, arg3, arg2, arg1, 0); + GlRaster.method1187(arg0, arg3, arg2 + arg0, arg1 + arg3); + GlRaster.method1186(arg0, arg3, arg2, arg1, 0); } else { SoftwareRaster.method2496(arg0, arg3, arg2 + arg0, arg3 + arg1); SoftwareRaster.fillRect(arg0, arg3, arg2, arg1, 0); @@ -564,8 +564,8 @@ public final class Static1 { local169 = 16777215; } if (GlRenderer.enabled) { - Static46.method1182(local161, local147, local167, local153, local169, 128); - Static46.method1179(local161, local147, local167, local153, local169); + GlRaster.method1182(local161, local147, local167, local153, local169, 128); + GlRaster.method1179(local161, local147, local167, local153, local169); } else { SoftwareRaster.method2484(local161, local147, local167, local153, local169, 128); SoftwareRaster.drawRect(local161, local147, local167, local153, local169); @@ -584,7 +584,7 @@ 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) { - Static46.method1182(local267 - 2, local258 + -2, 4, 4, 16776960, local225); + GlRaster.method1182(local267 - 2, local258 + -2, 4, 4, 16776960, local225); } else { SoftwareRaster.method2484(local267 - 2, local258 + -2, 4, 4, 16776960, local225); } diff --git a/client/src/main/java/rt4/Static105.java b/client/src/main/java/rt4/Static105.java index 208ba8f..b6f6456 100644 --- a/client/src/main/java/rt4/Static105.java +++ b/client/src/main/java/rt4/Static105.java @@ -24,79 +24,16 @@ public final class Static105 { @OriginalMember(owner = "client!ib", name = "l", descriptor = "I") public static int anInt2863 = 0; - @OriginalMember(owner = "client!ib", name = "a", descriptor = "(II)I") - public static int method2253(@OriginalArg(1) int arg0) { - @Pc(10) double local10 = (double) (arg0 >> 16 & 0xFF) / 256.0D; - @Pc(19) double local19 = (double) (arg0 >> 8 & 0xFF) / 256.0D; - @Pc(25) double local25 = 0.0D; - @Pc(32) double local32 = (double) (arg0 & 0xFF) / 256.0D; - @Pc(34) double local34 = local10; - @Pc(37) double local37 = (double) 0; - @Pc(39) double local39 = local10; - if (local10 > local19) { - local34 = local19; - } - if (local32 < local34) { - local34 = local32; - } - if (local19 > local10) { - local39 = local19; - } - if (local32 > local39) { - local39 = local32; - } - @Pc(72) double local72 = (local34 + local39) / 2.0D; - if (local34 != local39) { - if (local72 < 0.5D) { - local37 = (local39 - local34) / (local34 + local39); - } - if (local72 >= 0.5D) { - local37 = (local39 - local34) / (2.0D - local39 - local34); - } - if (local39 == local10) { - local25 = (local19 - local32) / (local39 - local34); - } else if (local19 == local39) { - local25 = (local32 - local10) / (local39 - local34) + 2.0D; - } else if (local39 == local32) { - local25 = (local10 - local19) / (-local34 + local39) + 4.0D; - } - } - @Pc(159) int local159 = (int) (local37 * 256.0D); - @Pc(164) int local164 = (int) (local72 * 256.0D); - local25 /= 6.0D; - if (local164 < 0) { - local164 = 0; - } else if (local164 > 255) { - local164 = 255; - } - @Pc(188) int local188 = (int) (local25 * 256.0D); - if (local159 < 0) { - local159 = 0; - } else if (local159 > 255) { - local159 = 255; - } - if (local164 > 243) { - local159 >>= 0x4; - } else if (local164 > 217) { - local159 >>= 0x3; - } else if (local164 > 192) { - local159 >>= 0x2; - } else if (local164 > 179) { - local159 >>= 0x1; - } - return (local188 >> 2 << 10) + (local159 >> 5 << 7) + (local164 >> 1); - } - @OriginalMember(owner = "client!ib", name = "b", descriptor = "(I)V") public static void method2255() { Static251.anIntArray479 = null; Static60.anIntArrayArrayArray6 = null; Static128.anIntArray293 = null; - Static163.aByteArrayArrayArray11 = null; - Static4.aByteArrayArrayArray1 = null; + SceneGraph.tileShapes = null; + SceneGraph.tileAngles = null; Static118.aByteArrayArrayArray9 = null; - Static240.aByteArrayArrayArray14 = null; - Static253.aByteArrayArrayArray16 = null; + SceneGraph.tileOverlays = null; + SceneGraph.tileUnderlays = null; Static139.anIntArray325 = null; Static221.anIntArray376 = null; Static279.anIntArray568 = null; @@ -104,7 +41,7 @@ public final class Static105 { @OriginalMember(owner = "client!ib", name = "a", descriptor = "(IIIIIIIILclient!th;IZJ)Z") public static boolean method2256(@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, @OriginalArg(7) int arg7, @OriginalArg(8) Entity arg8, @OriginalArg(9) int arg9, @OriginalArg(10) boolean arg10, @OriginalArg(11) long arg11) { - @Pc(6) boolean local6 = SceneGraph.activeTileHeightMap == Static80.underWaterTileHeightMap; + @Pc(6) boolean local6 = SceneGraph.tileHeights == Static80.underWaterTileHeightMap; @Pc(8) int local8 = 0; @Pc(17) int local17; for (@Pc(10) int local10 = arg1; local10 < arg1 + arg3; local10++) { diff --git a/client/src/main/java/rt4/Static107.java b/client/src/main/java/rt4/Static107.java index 16c355d..d0c3048 100644 --- a/client/src/main/java/rt4/Static107.java +++ b/client/src/main/java/rt4/Static107.java @@ -4,10 +4,7 @@ import org.openrs2.deob.annotation.OriginalMember; public final class Static107 { - @OriginalMember(owner = "client!id", name = "i", descriptor = "[[[I") - public static int[][][] surfaceTileHeightMap; - - @OriginalMember(owner = "client!id", name = "k", descriptor = "I") + @OriginalMember(owner = "client!id", name = "k", descriptor = "I") public static int anInt2878; @OriginalMember(owner = "client!id", name = "b", descriptor = "I") diff --git a/client/src/main/java/rt4/Static11.java b/client/src/main/java/rt4/Static11.java index eeb43fa..fb85aa1 100644 --- a/client/src/main/java/rt4/Static11.java +++ b/client/src/main/java/rt4/Static11.java @@ -1,12 +1,5 @@ package rt4; -import org.openrs2.deob.annotation.OriginalMember; - public final class Static11 { - @OriginalMember(owner = "client!ba", name = "e", descriptor = "(I)V") - public static void clearNpcHeadCache() { - NpcTypeList.headModels.clear(); - } - } diff --git a/client/src/main/java/rt4/Static112.java b/client/src/main/java/rt4/Static112.java index a4321e1..0be8d0e 100644 --- a/client/src/main/java/rt4/Static112.java +++ b/client/src/main/java/rt4/Static112.java @@ -31,7 +31,7 @@ public final class Static112 { } } } else if (GlRenderer.enabled) { - Static46.method1182(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910); + GlRaster.method1182(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910); } else { SoftwareRaster.method2484(local3, local9, local13, 20, Static40.anInt1275, 256 - Static111.anInt2910); } @@ -48,7 +48,7 @@ public final class Static112 { } Fonts.b12Full.method2857(LocalizedText.CHOOSE_OPTION, local3 + 3, local9 + 14, Static195.anInt4581, -1); if (GlRenderer.enabled) { - Static46.method1182(local3, local9 + 20, local13, local11 - 20, Static40.anInt1275, 256 - Static111.anInt2910); + GlRaster.method1182(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); } @@ -60,7 +60,7 @@ public final class Static112 { local219 = (Static231.anInt5204 - local203 - 1) * 15 + local9 + 35; if (local3 < local112 && local112 < local3 + local13 && local114 > local219 - 13 && local114 < local219 + 3) { if (GlRenderer.enabled) { - Static46.method1182(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208); + GlRaster.method1182(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208); } else { SoftwareRaster.method2484(local3, local219 - 13, local13, 16, Static251.anInt5457, 256 - Static232.anInt5208); } diff --git a/client/src/main/java/rt4/Static114.java b/client/src/main/java/rt4/Static114.java index a273870..675d0a6 100644 --- a/client/src/main/java/rt4/Static114.java +++ b/client/src/main/java/rt4/Static114.java @@ -37,8 +37,8 @@ public final class Static114 { @Pc(24) int local24 = Fonts.p12Full.method2856(arg1, 250); @Pc(31) int local31 = Fonts.p12Full.getParagraphLineCount(arg1, 250) * 13; if (GlRenderer.enabled) { - Static46.method1186(6, 6, local24 + 4 + 4, local31 + 8, 0); - Static46.method1179(6, 6, local24 + 4 + 4, local31 + 4 + 4, 16777215); + GlRaster.method1186(6, 6, local24 + 4 + 4, local31 + 8, 0); + GlRaster.method1179(6, 6, local24 + 4 + 4, local31 + 4 + 4, 16777215); } else { SoftwareRaster.fillRect(6, 6, local24 + 4 + 4, local31 + 8, 0); SoftwareRaster.drawRect(6, 6, local24 + 8, 4 + 4 + local31, 16777215); diff --git a/client/src/main/java/rt4/Static115.java b/client/src/main/java/rt4/Static115.java index 3de76aa..fedf701 100644 --- a/client/src/main/java/rt4/Static115.java +++ b/client/src/main/java/rt4/Static115.java @@ -30,27 +30,12 @@ public final class Static115 { return null; } else { @Pc(18) int[] local18 = new int[arg0.length]; - Static289.method2613(arg0, 0, local18, 0, arg0.length); + ArrayUtils.copy(arg0, 0, local18, 0, arg0.length); return local18; } } - @OriginalMember(owner = "client!ja", name = "a", descriptor = "(IIII)I") - public static int method2309(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - @Pc(7) int local7 = arg1 / arg0; - @Pc(11) int local11 = arg2 / arg0; - @Pc(17) int local17 = arg2 & arg0 - 1; - @Pc(23) int local23 = arg0 - 1 & arg1; - @Pc(28) int local28 = Static24.method670(local7, local11); - @Pc(35) int local35 = Static24.method670(local7 + 1, local11); - @Pc(42) int local42 = Static24.method670(local7, local11 + 1); - @Pc(56) int local56 = Static24.method670(local7 + 1, local11 + 1); - @Pc(63) int local63 = Static170.method2569(local28, local35, local23, arg0); - @Pc(70) int local70 = Static170.method2569(local42, local56, local23, arg0); - return Static170.method2569(local63, local70, local17, arg0); - } - - @OriginalMember(owner = "client!ja", name = "a", descriptor = "(IIIIB)V") + @OriginalMember(owner = "client!ja", name = "a", descriptor = "(IIIIB)V") public static void method2310(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { if (Cross.type == 1) { Sprites.crosses[Cross.milliseconds / 100].method1423(Cross.x - 8, Cross.y + -8); @@ -94,9 +79,9 @@ public final class Static115 { local115 = arg2 * 512 * local51 / (local86 * 334); local122 = (arg0 - local115) / 2; if (arg4) { - Static46.method1177(); - Static46.method1186(arg3, arg1, local122, arg2, 0); - Static46.method1186(arg0 + arg3 - local122, arg1, local122, arg2, 0); + GlRaster.method1177(); + GlRaster.method1186(arg3, arg1, local122, arg2, 0); + GlRaster.method1186(arg0 + arg3 - local122, arg1, local122, arg2, 0); } arg3 += local122; arg0 -= local122 * 2; @@ -109,9 +94,9 @@ public final class Static115 { local115 = local86 * arg0 * 334 / (local51 * 512); local122 = (arg2 - local115) / 2; if (arg4) { - Static46.method1177(); - Static46.method1186(arg3, arg1, arg0, local122, 0); - Static46.method1186(arg3, arg1 + arg2 - local122, arg0, local122, 0); + GlRaster.method1177(); + GlRaster.method1186(arg3, arg1, arg0, local122, 0); + GlRaster.method1186(arg3, arg1 + arg2 - local122, arg0, local122, 0); } arg2 -= local122 * 2; arg1 += local122; diff --git a/client/src/main/java/rt4/Static12.java b/client/src/main/java/rt4/Static12.java index b282d61..e830320 100644 --- a/client/src/main/java/rt4/Static12.java +++ b/client/src/main/java/rt4/Static12.java @@ -8,10 +8,7 @@ public final class Static12 { @OriginalMember(owner = "client!bb", name = "M", descriptor = "I") public static int anInt406; - @OriginalMember(owner = "client!bb", name = "g", descriptor = "[[[B") - public static final byte[][][] tileSettings = new byte[4][104][104]; - - @OriginalMember(owner = "client!bb", name = "t", descriptor = "[[B") + @OriginalMember(owner = "client!bb", name = "t", descriptor = "[[B") public static final byte[][] aByteArrayArray2 = new byte[250][]; @OriginalMember(owner = "client!bb", name = "A", descriptor = "Lclient!na;") diff --git a/client/src/main/java/rt4/Static124.java b/client/src/main/java/rt4/Static124.java index 6dd1ccc..ab45e93 100644 --- a/client/src/main/java/rt4/Static124.java +++ b/client/src/main/java/rt4/Static124.java @@ -41,7 +41,7 @@ public final class Static124 { @Pc(90) CollisionMap local90 = null; if (!arg1) { @Pc(95) int local95 = local50; - if ((Static12.tileSettings[1][local72][local76] & 0x2) == 2) { + if ((SceneGraph.tileFlags[1][local72][local76] & 0x2) == 2) { local95 = local50 - 1; } if (local95 >= 0) { diff --git a/client/src/main/java/rt4/Static126.java b/client/src/main/java/rt4/Static126.java index 99d6105..78192f4 100644 --- a/client/src/main/java/rt4/Static126.java +++ b/client/src/main/java/rt4/Static126.java @@ -35,7 +35,7 @@ public final class Static126 { Static9.method182(); } if (GlRenderer.enabled) { - Static46.method1177(); + GlRaster.method1177(); } else { SoftwareRaster.method2503(); } diff --git a/client/src/main/java/rt4/Static130.java b/client/src/main/java/rt4/Static130.java index c5a0fa2..f9ffe9b 100644 --- a/client/src/main/java/rt4/Static130.java +++ b/client/src/main/java/rt4/Static130.java @@ -1,6 +1,5 @@ package rt4; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; public final class Static130 { @@ -11,8 +10,4 @@ public final class Static130 { @OriginalMember(owner = "client!kc", name = "s", descriptor = "[I") public static final int[] anIntArray300 = new int[] { 1, 1, 1, 1, 4, 1, 1, 5, 6, 1, 5, 0, 7, 0, 4, 1, 7, 2, 1, 1, 6, 1, 1, 3, 6, 1, 7, 0, 0, 6, 7, 0, 1, 7, 6, 1, 1, 1, 5, 4, 3, 2, 1, 1, 0, 4, 1, 5 }; - @OriginalMember(owner = "client!kc", name = "a", descriptor = "(ILclient!ve;I)Lclient!qf;") - public static Sprite loadSpriteAutoDetect(@OriginalArg(1) Js5 arg0, @OriginalArg(2) int arg1) { - return SpriteLoader.decode(arg0, arg1) ? SpriteLoader.method1764() : null; - } } diff --git a/client/src/main/java/rt4/Static132.java b/client/src/main/java/rt4/Static132.java index 5b8dc5a..c81c2b4 100644 --- a/client/src/main/java/rt4/Static132.java +++ b/client/src/main/java/rt4/Static132.java @@ -77,10 +77,10 @@ public final class Static132 { @Pc(21) int local21 = local20 = local7 + 128; @Pc(26) int local26; @Pc(27) int local27 = local26 = local15 + 128; - @Pc(37) int local37 = SceneGraph.activeTileHeightMap[arg1][arg6][arg7] - Static123.anInt3947; - @Pc(49) int local49 = SceneGraph.activeTileHeightMap[arg1][arg6 + 1][arg7] - Static123.anInt3947; - @Pc(63) int local63 = SceneGraph.activeTileHeightMap[arg1][arg6 + 1][arg7 + 1] - Static123.anInt3947; - @Pc(75) int local75 = SceneGraph.activeTileHeightMap[arg1][arg6][arg7 + 1] - Static123.anInt3947; + @Pc(37) int local37 = SceneGraph.tileHeights[arg1][arg6][arg7] - Static123.anInt3947; + @Pc(49) int local49 = SceneGraph.tileHeights[arg1][arg6 + 1][arg7] - Static123.anInt3947; + @Pc(63) int local63 = SceneGraph.tileHeights[arg1][arg6 + 1][arg7 + 1] - Static123.anInt3947; + @Pc(75) int local75 = SceneGraph.tileHeights[arg1][arg6][arg7 + 1] - Static123.anInt3947; @Pc(85) int local85 = local15 * arg4 + local7 * arg5 >> 16; @Pc(95) int local95 = local15 * arg5 - local7 * arg4 >> 16; @Pc(97) int local97 = local85; diff --git a/client/src/main/java/rt4/Static136.java b/client/src/main/java/rt4/Static136.java index 2603e86..f7bbfa4 100644 --- a/client/src/main/java/rt4/Static136.java +++ b/client/src/main/java/rt4/Static136.java @@ -7,10 +7,7 @@ public final class Static136 { @OriginalMember(owner = "client!kk", name = "i", descriptor = "I") public static int anInt3324; - @OriginalMember(owner = "client!kk", name = "g", descriptor = "I") - public static int logoId = -1; - - @OriginalMember(owner = "client!kk", name = "j", descriptor = "I") + @OriginalMember(owner = "client!kk", name = "j", descriptor = "I") public static int anInt3325 = 0; @OriginalMember(owner = "client!kk", name = "m", descriptor = "Lclient!na;") diff --git a/client/src/main/java/rt4/Static138.java b/client/src/main/java/rt4/Static138.java index 5d9d8a3..a0716a5 100644 --- a/client/src/main/java/rt4/Static138.java +++ b/client/src/main/java/rt4/Static138.java @@ -1,8 +1,6 @@ package rt4; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static138 { @@ -63,12 +61,4 @@ public final class Static138 { @OriginalMember(owner = "client!km", name = "ad", descriptor = "I") public static int fp = 0; - @OriginalMember(owner = "client!km", name = "b", descriptor = "(III)I") - public static int method2695(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - @Pc(14) int local14 = arg1 * 57 + arg0; - @Pc(20) int local20 = local14 ^ local14 << 13; - @Pc(34) int local34 = Integer.MAX_VALUE & (local20 * local20 * 15731 + 789221) * local20 + 1376312589; - return local34 >> 19 & 0xFF; - } - } diff --git a/client/src/main/java/rt4/Static142.java b/client/src/main/java/rt4/Static142.java index ff15be4..a0d08ad 100644 --- a/client/src/main/java/rt4/Static142.java +++ b/client/src/main/java/rt4/Static142.java @@ -147,13 +147,13 @@ public final class Static142 { local639 = local508.width * local17.hitpointsBar / 255; local642 = local508.height; if (GlRenderer.enabled) { - Static46.method1183(local161, local359, local161 + local639, local359 + local642); + GlRaster.method1183(local161, local359, local161 + local639, local359 + local642); } else { SoftwareRaster.method2498(local161, local359, local161 + local639, local642 + local359); } local512.method1423(local161, local359); if (GlRenderer.enabled) { - Static46.method1187(arg2, arg0, arg1 + arg2, arg0 - -arg4); + GlRaster.method1187(arg2, arg0, arg1 + arg2, arg0 - -arg4); } else { SoftwareRaster.method2496(arg2, arg0, arg1 + arg2, arg4 + arg0); } @@ -269,13 +269,13 @@ public final class Static142 { if (Static191.anIntArray391[local5] == 4) { local642 = (150 - Static191.anIntArray384[local5]) * (Fonts.b12Full.getStringWidth(local962) + 100) / 150; if (GlRenderer.enabled) { - Static46.method1183(Static65.anInt1951 + arg2 - 50, arg0, Static65.anInt1951 + arg2 + 50, arg4 + arg0); + GlRaster.method1183(Static65.anInt1951 + arg2 - 50, arg0, Static65.anInt1951 + arg2 + 50, arg4 + arg0); } else { SoftwareRaster.method2498(arg2 + Static65.anInt1951 - 50, arg0, Static65.anInt1951 + arg2 + 50, arg4 + arg0); } Fonts.b12Full.method2857(local962, arg2 + Static65.anInt1951 + 50 - local642, arg0 + Static16.anInt548, local639, 0); if (GlRenderer.enabled) { - Static46.method1187(arg2, arg0, arg1 + arg2, arg4 + arg0); + GlRaster.method1187(arg2, arg0, arg1 + arg2, arg4 + arg0); } else { SoftwareRaster.method2496(arg2, arg0, arg2 + arg1, arg0 + arg4); } @@ -284,7 +284,7 @@ public final class Static142 { @Pc(1372) int local1372 = 0; local642 = 150 - Static191.anIntArray384[local5]; if (GlRenderer.enabled) { - Static46.method1183(arg2, Static16.anInt548 + arg0 - Fonts.b12Full.lineHeight - 1, arg1 + arg2, arg0 + Static16.anInt548 + 5); + GlRaster.method1183(arg2, Static16.anInt548 + arg0 - Fonts.b12Full.lineHeight - 1, arg1 + arg2, arg0 + Static16.anInt548 + 5); } else { SoftwareRaster.method2498(arg2, Static16.anInt548 + arg0 - Fonts.b12Full.lineHeight - 1, arg2 + arg1, Static16.anInt548 + arg0 + 5); } @@ -295,7 +295,7 @@ public final class Static142 { } Fonts.b12Full.renderCenter(local962, Static65.anInt1951 + arg2, local1372 + arg0 + Static16.anInt548, local639, 0); if (GlRenderer.enabled) { - Static46.method1187(arg2, arg0, arg2 + arg1, arg0 + arg4); + GlRaster.method1187(arg2, arg0, arg2 + arg1, arg0 + arg4); } else { SoftwareRaster.method2496(arg2, arg0, arg2 + arg1, arg0 + arg4); } diff --git a/client/src/main/java/rt4/Static145.java b/client/src/main/java/rt4/Static145.java index b0ac6d3..65edb0f 100644 --- a/client/src/main/java/rt4/Static145.java +++ b/client/src/main/java/rt4/Static145.java @@ -62,9 +62,9 @@ public final class Static145 { @Pc(11) int local11 = Static183.anInt4271; @Pc(15) int local15 = Static13.anInt436; if (GlRenderer.enabled) { - Static46.method1186(local11, local3, local9, local15, 6116423); - Static46.method1186(local11 + 1, local3 + 1, local9 - 2, 16, 0); - Static46.method1179(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0); + GlRaster.method1186(local11, local3, local9, local15, 6116423); + GlRaster.method1186(local11 + 1, local3 + 1, local9 - 2, 16, 0); + GlRaster.method1179(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0); } else { SoftwareRaster.fillRect(local11, local3, local9, local15, 6116423); SoftwareRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0); diff --git a/client/src/main/java/rt4/Static15.java b/client/src/main/java/rt4/Static15.java index 7153216..f6517c3 100644 --- a/client/src/main/java/rt4/Static15.java +++ b/client/src/main/java/rt4/Static15.java @@ -30,6 +30,6 @@ public final class Static15 { @OriginalMember(owner = "client!be", name = "a", descriptor = "(II)I") public static int method492(@OriginalArg(1) int arg0) { - return arg0 == 16711935 ? -1 : Static105.method2253(arg0); + return arg0 == 16711935 ? -1 : ColorUtils.rgbToHsl(arg0); } } diff --git a/client/src/main/java/rt4/Static156.java b/client/src/main/java/rt4/Static156.java index 5d00c7c..2c346d9 100644 --- a/client/src/main/java/rt4/Static156.java +++ b/client/src/main/java/rt4/Static156.java @@ -67,11 +67,11 @@ public final class Static156 { if (local146 >= 0 && local152 >= 0 && local146 < Static152.mapSizeX && local152 < Static99.mapSizeZ) { @Pc(176) int local176; if (Static80.underWaterTileHeightMap == null) { - local176 = Static107.surfaceTileHeightMap[0][local146][local152] + 128 - Static123.anInt3947; + local176 = SceneGraph.surfaceTileHeights[0][local146][local152] + 128 - Static123.anInt3947; } else { local176 = Static80.underWaterTileHeightMap[0][local146][local152] + 128 - Static123.anInt3947; } - @Pc(201) int local201 = Static107.surfaceTileHeightMap[3][local146][local152] - Static123.anInt3947 - 1000; + @Pc(201) int local201 = SceneGraph.surfaceTileHeights[3][local146][local152] - Static123.anInt3947 - 1000; Static89.aBooleanArrayArray3[local104][local113] = Static160.method3049(local130, local201, local176, local140, local99); } else { Static89.aBooleanArrayArray3[local104][local113] = false; diff --git a/client/src/main/java/rt4/Static160.java b/client/src/main/java/rt4/Static160.java index e53b57f..2845538 100644 --- a/client/src/main/java/rt4/Static160.java +++ b/client/src/main/java/rt4/Static160.java @@ -15,7 +15,7 @@ public final class Static160 { @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) { - Static46.method1187(arg0, arg1, arg2.anInt445 + arg0, arg2.anInt459 + arg1); + GlRaster.method1187(arg0, arg1, arg2.anInt445 + arg0, arg2.anInt459 + arg1); } if (Static270.minimapState >= 3) { if (GlRenderer.enabled) { diff --git a/client/src/main/java/rt4/Static163.java b/client/src/main/java/rt4/Static163.java index 20ca3d8..3eeed2a 100644 --- a/client/src/main/java/rt4/Static163.java +++ b/client/src/main/java/rt4/Static163.java @@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static163 { - @OriginalMember(owner = "client!n", name = "h", descriptor = "[[[B") - public static byte[][][] aByteArrayArrayArray11; - @OriginalMember(owner = "client!n", name = "e", descriptor = "Lclient!na;") public static final JagString aClass100_767 = JagString.parse(")2"); diff --git a/client/src/main/java/rt4/Static165.java b/client/src/main/java/rt4/Static165.java index 17423a3..bb8f390 100644 --- a/client/src/main/java/rt4/Static165.java +++ b/client/src/main/java/rt4/Static165.java @@ -18,9 +18,6 @@ public final class Static165 { @OriginalMember(owner = "client!nb", name = "d", descriptor = "I") public static int anInt4035 = 0; - @OriginalMember(owner = "client!nb", name = "m", descriptor = "Lclient!na;") - public static final JagString aClass100_776 = JagString.parse("logo"); - @OriginalMember(owner = "client!nb", name = "n", descriptor = "Lclient!na;") public static final JagString DETAILS = JagString.parse("details"); diff --git a/client/src/main/java/rt4/Static169.java b/client/src/main/java/rt4/Static169.java index 6bf5074..3c77a8a 100644 --- a/client/src/main/java/rt4/Static169.java +++ b/client/src/main/java/rt4/Static169.java @@ -27,7 +27,7 @@ public final class Static169 { } if (GlRenderer.enabled && GameShell.openWindowJavaScript) { try { - Static287.method1758(GameShell.signLink.applet, "openjs", new Object[] { arg0.method3127(GameShell.instance.getCodeBase()).toString() }); + BrowserControl.call(GameShell.signLink.applet, "openjs", new Object[] { arg0.method3127(GameShell.instance.getCodeBase()).toString() }); return; } catch (@Pc(48) Throwable local48) { } diff --git a/client/src/main/java/rt4/Static170.java b/client/src/main/java/rt4/Static170.java index 9447f56..a079661 100644 --- a/client/src/main/java/rt4/Static170.java +++ b/client/src/main/java/rt4/Static170.java @@ -12,12 +12,6 @@ public final class Static170 { @OriginalMember(owner = "client!nh", name = "fb", descriptor = "[I") public static final int[] JS5_ARCHIVE_WEIGHTS = new int[] { 4, 4, 1, 2, 6, 4, 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - @OriginalMember(owner = "client!nh", name = "a", descriptor = "(IIIII)I") - public static int method2569(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(4) int arg3) { - @Pc(22) int local22 = 65536 - MathUtils.cos[arg2 * 1024 / arg3] >> 1; - return (arg0 * (65536 - local22) >> 16) + (arg1 * local22 >> 16); - } - @OriginalMember(owner = "client!nh", name = "a", descriptor = "(IIIILclient!th;JZ)V") public static void method2570(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) Entity arg4, @OriginalArg(5) long arg5, @OriginalArg(6) boolean arg6) { if (arg4 == null) { diff --git a/client/src/main/java/rt4/Static185.java b/client/src/main/java/rt4/Static185.java index 32d3f2b..a1300a4 100644 --- a/client/src/main/java/rt4/Static185.java +++ b/client/src/main/java/rt4/Static185.java @@ -14,8 +14,8 @@ public final class Static185 { @OriginalMember(owner = "client!p", name = "a", descriptor = "(IZIZLclient!mj;IIIBII)V") public static void method3397(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) CollisionMap arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9) { - if (arg1 && !SceneGraph.allLevelsAreVisible() && (Static12.tileSettings[0][arg7][arg8] & 0x2) == 0) { - if ((Static12.tileSettings[arg2][arg7][arg8] & 0x10) != 0) { + if (arg1 && !SceneGraph.allLevelsAreVisible() && (SceneGraph.tileFlags[0][arg7][arg8] & 0x2) == 0) { + if ((SceneGraph.tileFlags[arg2][arg7][arg8] & 0x10) != 0) { return; } if (Static4.method22(arg8, arg7, arg2) != Static41.anInt1316) { @@ -56,22 +56,22 @@ public final class Static185 { local129 = (local81 >> 1) + arg8; local133 = arg8 + (local81 + 1 >> 1); } - @Pc(153) int[][] local153 = SceneGraph.activeTileHeightMap[arg0]; + @Pc(153) int[][] local153 = SceneGraph.tileHeights[arg0]; @Pc(165) int local165 = (local84 << 6) + (arg7 << 7); @Pc(173) int local173 = (local81 << 6) + (arg8 << 7); @Pc(199) int local199 = local153[local103][local133] + local153[local112][local129] + local153[local103][local129] + local153[local112][local133] >> 2; @Pc(201) int local201 = 0; @Pc(213) int[][] local213; if (GlRenderer.enabled && arg0 != 0) { - local213 = SceneGraph.activeTileHeightMap[0]; + local213 = SceneGraph.tileHeights[0]; local201 = local199 - (local213[local112][local133] + local213[local112][local129] + local213[local103][local129] + local213[local103][local133] >> 2); } local213 = null; @Pc(261) long local261 = (long) (arg7 | 0x40000000 | arg8 << 7 | arg6 << 14 | arg9 << 20); if (arg3) { - local213 = Static107.surfaceTileHeightMap[0]; + local213 = SceneGraph.surfaceTileHeights[0]; } else if (arg0 < 3) { - local213 = SceneGraph.activeTileHeightMap[arg0 + 1]; + local213 = SceneGraph.tileHeights[arg0 + 1]; } if (local62.anInt4429 == 0 || arg3) { local261 |= Long.MIN_VALUE; diff --git a/client/src/main/java/rt4/Static196.java b/client/src/main/java/rt4/Static196.java index 10bd97d..aaa3c67 100644 --- a/client/src/main/java/rt4/Static196.java +++ b/client/src/main/java/rt4/Static196.java @@ -24,14 +24,14 @@ public final class Static196 { } else { local14 = 4; } - Static163.aByteArrayArrayArray11 = new byte[local14][104][104]; + SceneGraph.tileShapes = new byte[local14][104][104]; Static128.anIntArray293 = new int[104]; Static60.anIntArrayArrayArray6 = new int[local14][105][105]; Static118.aByteArrayArrayArray9 = new byte[local14][105][105]; - Static240.aByteArrayArrayArray14 = new byte[local14][104][104]; + SceneGraph.tileOverlays = new byte[local14][104][104]; Static279.anIntArray568 = new int[104]; - Static4.aByteArrayArrayArray1 = new byte[local14][104][104]; - Static253.aByteArrayArrayArray16 = new byte[local14][104][104]; + SceneGraph.tileAngles = new byte[local14][104][104]; + SceneGraph.tileUnderlays = new byte[local14][104][104]; } } diff --git a/client/src/main/java/rt4/Static200.java b/client/src/main/java/rt4/Static200.java index 0ac7786..45b95d6 100644 --- a/client/src/main/java/rt4/Static200.java +++ b/client/src/main/java/rt4/Static200.java @@ -11,12 +11,12 @@ public final class Static200 { if (Static231.anInt5204 == arg0) { return; } - Static289.method2617(Static254.aClass100Array168, arg0 + 1, Static254.aClass100Array168, arg0, Static231.anInt5204 - arg0); - Static289.method2617(Static233.aClass100Array160, arg0 + 1, Static233.aClass100Array160, arg0, Static231.anInt5204 - arg0); - Static289.method2613(Static190.anIntArray382, arg0 + 1, Static190.anIntArray382, arg0, Static231.anInt5204 - arg0); - Static289.method2616(Static39.aShortArray6, arg0 + 1, Static39.aShortArray6, arg0, Static231.anInt5204 - arg0); - Static289.method2611(Static159.aLongArray5, arg0 + 1, Static159.aLongArray5, arg0, Static231.anInt5204 - arg0); - Static289.method2613(Static196.anIntArray408, arg0 + 1, Static196.anIntArray408, arg0, Static231.anInt5204 - arg0); - Static289.method2613(Static56.anIntArray142, arg0 + 1, Static56.anIntArray142, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static254.aClass100Array168, arg0 + 1, Static254.aClass100Array168, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static233.aClass100Array160, arg0 + 1, Static233.aClass100Array160, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static190.anIntArray382, arg0 + 1, Static190.anIntArray382, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static39.aShortArray6, arg0 + 1, Static39.aShortArray6, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static159.aLongArray5, arg0 + 1, Static159.aLongArray5, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static196.anIntArray408, arg0 + 1, Static196.anIntArray408, arg0, Static231.anInt5204 - arg0); + ArrayUtils.copy(Static56.anIntArray142, arg0 + 1, Static56.anIntArray142, arg0, Static231.anInt5204 - arg0); } } diff --git a/client/src/main/java/rt4/Static211.java b/client/src/main/java/rt4/Static211.java index 188e156..293c3d4 100644 --- a/client/src/main/java/rt4/Static211.java +++ b/client/src/main/java/rt4/Static211.java @@ -30,12 +30,7 @@ public final class Static211 { return local12 == -1 ? Static93.aClass100_517 : WorldMap.labels.aClass100Array153[local12].method3140(Static101.aClass100_538, Static197.aClass100_872); } - @OriginalMember(owner = "client!rc", name = "a", descriptor = "(Z)V") - public static void clearObjectModelCache() { - ObjTypeList.models.clear(); - } - - @OriginalMember(owner = "client!rc", name = "d", descriptor = "(I)V") + @OriginalMember(owner = "client!rc", name = "d", descriptor = "(I)V") public static void method930() { if (client.musicChannel != null) { client.musicChannel.quit(); diff --git a/client/src/main/java/rt4/Static217.java b/client/src/main/java/rt4/Static217.java index f865350..b018cdf 100644 --- a/client/src/main/java/rt4/Static217.java +++ b/client/src/main/java/rt4/Static217.java @@ -115,7 +115,7 @@ public final class Static217 { @Pc(154) CollisionMap local154 = null; if (!arg7) { @Pc(159) int local159 = arg1; - if ((Static12.tileSettings[1][local120][local137] & 0x2) == 2) { + if ((SceneGraph.tileFlags[1][local120][local137] & 0x2) == 2) { local159 = arg1 - 1; } if (local159 >= 0) { diff --git a/client/src/main/java/rt4/Static221.java b/client/src/main/java/rt4/Static221.java index 6213906..949f6d4 100644 --- a/client/src/main/java/rt4/Static221.java +++ b/client/src/main/java/rt4/Static221.java @@ -55,7 +55,7 @@ public final class Static221 { local24 += SoftwareRaster.width - 128; } if (GlRenderer.enabled) { - Static46.method1178(Static167.aClass3_Sub2_Sub1_Sub1_3.pixels, arg0, arg1, Static167.aClass3_Sub2_Sub1_Sub1_3.width, Static167.aClass3_Sub2_Sub1_Sub1_3.height); + GlRaster.method1178(Static167.aClass3_Sub2_Sub1_Sub1_3.pixels, arg0, arg1, Static167.aClass3_Sub2_Sub1_Sub1_3.width, Static167.aClass3_Sub2_Sub1_Sub1_3.height); } else { Static167.aClass3_Sub2_Sub1_Sub1_3.method1415(arg0, arg1); } diff --git a/client/src/main/java/rt4/Static23.java b/client/src/main/java/rt4/Static23.java index f4d21da..55d19fb 100644 --- a/client/src/main/java/rt4/Static23.java +++ b/client/src/main/java/rt4/Static23.java @@ -26,21 +26,21 @@ public final class Static23 { for (local3 = arg1; local3 < arg3 + arg1; local3++) { for (local10 = arg2; local10 < arg2 + arg4; local10++) { if (local10 >= 0 && local10 < 104 && local3 >= 0 && local3 < 104) { - SceneGraph.activeTileHeightMap[arg0][local10][local3] = arg0 <= 0 ? 0 : SceneGraph.activeTileHeightMap[arg0 - 1][local10][local3]; + SceneGraph.tileHeights[arg0][local10][local3] = arg0 <= 0 ? 0 : SceneGraph.tileHeights[arg0 - 1][local10][local3]; } } } if (arg2 > 0 && arg2 < 104) { for (local3 = arg1 + 1; local3 < arg1 + arg3; local3++) { if (local3 >= 0 && local3 < 104) { - SceneGraph.activeTileHeightMap[arg0][arg2][local3] = SceneGraph.activeTileHeightMap[arg0][arg2 - 1][local3]; + SceneGraph.tileHeights[arg0][arg2][local3] = SceneGraph.tileHeights[arg0][arg2 - 1][local3]; } } } if (arg1 > 0 && arg1 < 104) { for (local3 = arg2 + 1; local3 < arg2 + arg4; local3++) { if (local3 >= 0 && local3 < 104) { - SceneGraph.activeTileHeightMap[arg0][local3][arg1] = SceneGraph.activeTileHeightMap[arg0][local3][arg1 - 1]; + SceneGraph.tileHeights[arg0][local3][arg1] = SceneGraph.tileHeights[arg0][local3][arg1 - 1]; } } } @@ -48,19 +48,19 @@ public final class Static23 { return; } if (arg0 == 0) { - if (arg2 > 0 && SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1] != 0) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1]; - } else if (arg1 > 0 && SceneGraph.activeTileHeightMap[arg0][arg2][arg1 - 1] != 0) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2][arg1 - 1]; - } else if (arg2 > 0 && arg1 > 0 && SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1 - 1] != 0) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1 - 1]; + if (arg2 > 0 && SceneGraph.tileHeights[arg0][arg2 - 1][arg1] != 0) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2 - 1][arg1]; + } else if (arg1 > 0 && SceneGraph.tileHeights[arg0][arg2][arg1 - 1] != 0) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2][arg1 - 1]; + } else if (arg2 > 0 && arg1 > 0 && SceneGraph.tileHeights[arg0][arg2 - 1][arg1 - 1] != 0) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2 - 1][arg1 - 1]; } - } else if (arg2 > 0 && SceneGraph.activeTileHeightMap[arg0 - 1][arg2 - 1][arg1] != SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1]) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1]; - } else if (arg1 > 0 && SceneGraph.activeTileHeightMap[arg0][arg2][arg1 - 1] != SceneGraph.activeTileHeightMap[arg0 - 1][arg2][arg1 - 1]) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2][arg1 - 1]; - } else if (arg2 > 0 && arg1 > 0 && SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1 - 1] != SceneGraph.activeTileHeightMap[arg0 - 1][arg2 - 1][arg1 - 1]) { - SceneGraph.activeTileHeightMap[arg0][arg2][arg1] = SceneGraph.activeTileHeightMap[arg0][arg2 - 1][arg1 - 1]; + } else if (arg2 > 0 && SceneGraph.tileHeights[arg0 - 1][arg2 - 1][arg1] != SceneGraph.tileHeights[arg0][arg2 - 1][arg1]) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2 - 1][arg1]; + } else if (arg1 > 0 && SceneGraph.tileHeights[arg0][arg2][arg1 - 1] != SceneGraph.tileHeights[arg0 - 1][arg2][arg1 - 1]) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2][arg1 - 1]; + } else if (arg2 > 0 && arg1 > 0 && SceneGraph.tileHeights[arg0][arg2 - 1][arg1 - 1] != SceneGraph.tileHeights[arg0 - 1][arg2 - 1][arg1 - 1]) { + SceneGraph.tileHeights[arg0][arg2][arg1] = SceneGraph.tileHeights[arg0][arg2 - 1][arg1 - 1]; } } diff --git a/client/src/main/java/rt4/Static24.java b/client/src/main/java/rt4/Static24.java index 1ff9426..29bebd8 100644 --- a/client/src/main/java/rt4/Static24.java +++ b/client/src/main/java/rt4/Static24.java @@ -23,14 +23,6 @@ public final class Static24 { return local8; } - @OriginalMember(owner = "client!bn", name = "a", descriptor = "(IIB)I") - public static int method670(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - @Pc(47) int local47 = Static138.method2695(arg0 - 1, arg1 + -1) + Static138.method2695(arg0 + 1, arg1 + -1) + Static138.method2695(arg0 + -1, arg1 - -1) + Static138.method2695(arg0 + 1, arg1 - -1); - @Pc(76) int local76 = Static138.method2695(arg0 - 1, arg1) + Static138.method2695(arg0 + 1, arg1) + Static138.method2695(arg0, arg1 + -1) + Static138.method2695(arg0, arg1 + 1); - @Pc(81) int local81 = Static138.method2695(arg0, arg1); - return local76 / 8 + local47 / 16 + local81 / 4; - } - @OriginalMember(owner = "client!bn", name = "d", descriptor = "(II)Z") public static boolean method671(@OriginalArg(1) int arg0) { return arg0 >= 48 && arg0 <= 57; diff --git a/client/src/main/java/rt4/Static240.java b/client/src/main/java/rt4/Static240.java index 122adbe..e6b7833 100644 --- a/client/src/main/java/rt4/Static240.java +++ b/client/src/main/java/rt4/Static240.java @@ -10,9 +10,6 @@ public final class Static240 { @OriginalMember(owner = "client!tg", name = "c", descriptor = "I") public static int screenLowerX; - @OriginalMember(owner = "client!tg", name = "g", descriptor = "[[[B") - public static byte[][][] aByteArrayArrayArray14; - @OriginalMember(owner = "client!tg", name = "e", descriptor = "Lclient!na;") public static final JagString aClass100_1008 = JagString.parse(""); diff --git a/client/src/main/java/rt4/Static243.java b/client/src/main/java/rt4/Static243.java index a028faf..3b0dba7 100644 --- a/client/src/main/java/rt4/Static243.java +++ b/client/src/main/java/rt4/Static243.java @@ -6,10 +6,7 @@ import org.openrs2.deob.annotation.Pc; public final class Static243 { - @OriginalMember(owner = "client!tk", name = "o", descriptor = "Lclient!ok;") - public static IndexedSprite logo; - - @OriginalMember(owner = "client!tk", name = "D", descriptor = "[Lclient!ec;") + @OriginalMember(owner = "client!tk", name = "D", descriptor = "[Lclient!ec;") public static Scenery[] aClass31Array3; @OriginalMember(owner = "client!tk", name = "K", descriptor = "[I") diff --git a/client/src/main/java/rt4/Static245.java b/client/src/main/java/rt4/Static245.java index c4af42f..33e19f6 100644 --- a/client/src/main/java/rt4/Static245.java +++ b/client/src/main/java/rt4/Static245.java @@ -43,9 +43,9 @@ public final class Static245 { for (local103 = 0; local103 < 64; local103++) { for (local108 = 0; local108 < 64; local108++) { if (arg6 == local17 && arg8 <= local103 && arg8 + 8 > local103 && arg7 <= local108 && local108 < arg7 + 8) { - Static278.method4651(0, 0, arg9, local96, Static202.method3659(arg0, local103 & 0x7, local108 & 0x7) + arg4, Static214.method4360(arg0, local108 & 0x7, local103 & 0x7) + arg1, arg0, arg2); + Static278.readTile(0, 0, arg9, local96, Static202.method3659(arg0, local103 & 0x7, local108 & 0x7) + arg4, Static214.method4360(arg0, local108 & 0x7, local103 & 0x7) + arg1, arg0, arg2); } else { - Static278.method4651(0, 0, arg9, local96, -1, -1, 0, 0); + Static278.readTile(0, 0, arg9, local96, -1, -1, 0, 0); } } } @@ -159,8 +159,8 @@ public final class Static245 { local417 = local517.anInt2240 >> 7; local255 = local517.anInt2245 >> 7; if (local417 >= 0 && local255 >= 0 && local417 < 104 && local255 < 104) { - local517.aBoolean125 = (Static12.tileSettings[1][local417][local255] & 0x2) != 0; - local517.anInt2235 = SceneGraph.activeTileHeightMap[local517.anInt2241][local417][local255] - local517.anInt2235; + local517.aBoolean125 = (SceneGraph.tileFlags[1][local417][local255] & 0x2) != 0; + local517.anInt2235 = SceneGraph.tileHeights[local517.anInt2241][local417][local255] - local517.anInt2235; Static120.method2389(local517); } } diff --git a/client/src/main/java/rt4/Static247.java b/client/src/main/java/rt4/Static247.java index e33e524..8bfe426 100644 --- a/client/src/main/java/rt4/Static247.java +++ b/client/src/main/java/rt4/Static247.java @@ -73,7 +73,7 @@ public final class Static247 { local31 = SceneGraph.tiles[local24]; @Pc(33) float local33 = 0.0F; if (GlRenderer.enabled) { - if (Static80.underWaterTileHeightMap == SceneGraph.activeTileHeightMap) { + if (Static80.underWaterTileHeightMap == SceneGraph.tileHeights) { var9 = Static62.anIntArrayArray11[local18][local21]; var10 = var9 & 0xFFFFFF; if (var10 != Static152.anInt3604) { @@ -86,7 +86,7 @@ public final class Static247 { Static22.anInt730 = local65; Static147.method2761(local65); } - local115 = Static107.surfaceTileHeightMap[0][local18][local21] + Static107.surfaceTileHeightMap[0][local18 + 1][local21] + Static107.surfaceTileHeightMap[0][local18][local21 + 1] + Static107.surfaceTileHeightMap[0][local18 + 1][local21 + 1] >> 2; + local115 = SceneGraph.surfaceTileHeights[0][local18][local21] + SceneGraph.surfaceTileHeights[0][local18 + 1][local21] + SceneGraph.surfaceTileHeights[0][local18][local21 + 1] + SceneGraph.surfaceTileHeights[0][local18 + 1][local21 + 1] >> 2; MaterialManager.setMaterial(-local115, 3); local33 = 201.5F; GlRenderer.method4159(local33); diff --git a/client/src/main/java/rt4/Static248.java b/client/src/main/java/rt4/Static248.java index bfac514..39565b6 100644 --- a/client/src/main/java/rt4/Static248.java +++ b/client/src/main/java/rt4/Static248.java @@ -84,7 +84,7 @@ public final class Static248 { } } } - @Pc(240) boolean local240 = SceneGraph.activeTileHeightMap == Static80.underWaterTileHeightMap; + @Pc(240) boolean local240 = SceneGraph.tileHeights == Static80.underWaterTileHeightMap; if (GlRenderer.enabled) { @Pc(244) GL2 local244 = GlRenderer.gl; local244.glPushMatrix(); @@ -124,7 +124,7 @@ public final class Static248 { } if (local32 == 0 && Preferences.sceneryShadowsType > 0) { GlRenderer.method4159(101.5F); - Static242.method4198(Static167.anInt4069, Static193.anInt4539, Static277.tileVisibilityDistance, arg1, Static48.aBooleanArrayArray1, SceneGraph.activeTileHeightMap[0]); + Static242.method4198(Static167.anInt4069, Static193.anInt4539, Static277.tileVisibilityDistance, arg1, Static48.aBooleanArrayArray1, SceneGraph.tileHeights[0]); } local32++; } diff --git a/client/src/main/java/rt4/Static252.java b/client/src/main/java/rt4/Static252.java index ea1e6da..79b8da7 100644 --- a/client/src/main/java/rt4/Static252.java +++ b/client/src/main/java/rt4/Static252.java @@ -40,12 +40,12 @@ public final class Static252 { } if (Static227.cameraType != 1) { local33 = SceneGraph.getTileHeight(Player.level, Static138.renderX, Static134.renderZ); - if (local33 - Static5.anInt40 < 800 && (Static12.tileSettings[Player.level][Static138.renderX >> 7][Static134.renderZ >> 7] & 0x4) != 0) { + if (local33 - Static5.anInt40 < 800 && (SceneGraph.tileFlags[Player.level][Static138.renderX >> 7][Static134.renderZ >> 7] & 0x4) != 0) { Static254.method4348(false, Static138.renderX >> 7, Static134.renderZ >> 7, SceneGraph.tiles, 1); } return; } - if ((Static12.tileSettings[Player.level][PlayerList.self.xFine >> 7][PlayerList.self.zFine >> 7] & 0x4) != 0) { + if ((SceneGraph.tileFlags[Player.level][PlayerList.self.xFine >> 7][PlayerList.self.zFine >> 7] & 0x4) != 0) { Static254.method4348(false, PlayerList.self.xFine >> 7, PlayerList.self.zFine >> 7, SceneGraph.tiles, 0); } if (Static240.cameraPitch >= 310) { @@ -78,7 +78,7 @@ public final class Static252 { } else if (local40 > local135) { local40--; } - if ((Static12.tileSettings[Player.level][local33][local40] & 0x4) != 0) { + if ((SceneGraph.tileFlags[Player.level][local33][local40] & 0x4) != 0) { Static254.method4348(false, local33, local40, SceneGraph.tiles, 1); break; } @@ -90,7 +90,7 @@ public final class Static252 { local33--; } local186 -= 65536; - if ((Static12.tileSettings[Player.level][local33][local40] & 0x4) != 0) { + if ((SceneGraph.tileFlags[Player.level][local33][local40] & 0x4) != 0) { Static254.method4348(false, local33, local40, SceneGraph.tiles, 1); break; } @@ -106,7 +106,7 @@ public final class Static252 { } else if (local33 > local162) { local33--; } - if ((Static12.tileSettings[Player.level][local33][local40] & 0x4) != 0) { + if ((SceneGraph.tileFlags[Player.level][local33][local40] & 0x4) != 0) { Static254.method4348(false, local33, local40, SceneGraph.tiles, 1); break; } @@ -118,7 +118,7 @@ public final class Static252 { local40--; } local186 -= 65536; - if ((Static12.tileSettings[Player.level][local33][local40] & 0x4) != 0) { + if ((SceneGraph.tileFlags[Player.level][local33][local40] & 0x4) != 0) { Static254.method4348(false, local33, local40, SceneGraph.tiles, 1); break; } diff --git a/client/src/main/java/rt4/Static253.java b/client/src/main/java/rt4/Static253.java index 2538a45..858a18e 100644 --- a/client/src/main/java/rt4/Static253.java +++ b/client/src/main/java/rt4/Static253.java @@ -15,9 +15,6 @@ public final class Static253 { @OriginalMember(owner = "client!ui", name = "T", descriptor = "F") public static float aFloat36; - @OriginalMember(owner = "client!ui", name = "eb", descriptor = "[[[B") - public static byte[][][] aByteArrayArrayArray16; - @OriginalMember(owner = "client!ui", name = "mb", descriptor = "F") public static float aFloat37; @@ -90,7 +87,7 @@ public final class Static253 { } Static252.method4302(); if (GlRenderer.enabled) { - Static46.method1187(arg2, arg4, arg2 + arg3, arg4 - -arg0); + GlRaster.method1187(arg2, arg4, arg2 + arg3, arg4 - -arg0); @Pc(248) float local248 = (float) Static240.cameraPitch * 0.17578125F; @Pc(253) float local253 = (float) Static184.cameraYaw * 0.17578125F; if (Static227.cameraType == 3) { @@ -158,7 +155,7 @@ public final class Static253 { } if (Static19.aBoolean43) { if (GlRenderer.enabled) { - Static46.method1186(arg2, arg4, arg3, arg0, 0); + GlRaster.method1186(arg2, arg4, arg3, arg0, 0); } else { SoftwareRaster.fillRect(arg2, arg4, arg3, arg0, 0); } diff --git a/client/src/main/java/rt4/Static254.java b/client/src/main/java/rt4/Static254.java index bd6c3db..56e781a 100644 --- a/client/src/main/java/rt4/Static254.java +++ b/client/src/main/java/rt4/Static254.java @@ -26,7 +26,7 @@ public final class Static254 { @Pc(14) byte local14 = arg0 ? 1 : (byte) (Static136.anInt3325 & 0xFF); if (local14 == Static266.aByteArrayArrayArray15[Player.level][arg1][arg2]) { return false; - } else if ((Static12.tileSettings[Player.level][arg1][arg2] & 0x4) == 0) { + } else if ((SceneGraph.tileFlags[Player.level][arg1][arg2] & 0x4) == 0) { return false; } else { @Pc(47) int local47 = 0; @@ -44,13 +44,13 @@ public final class Static254 { local47 = local47 + 1 & 0xFFF; @Pc(130) boolean local130 = false; @Pc(132) boolean local132 = false; - if ((Static12.tileSettings[Player.level][local108][local122] & 0x4) == 0) { + if ((SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0) { local130 = true; } @Pc(150) int local150; @Pc(191) int local191; label238: for (local150 = Player.level + 1; local150 <= 3; local150++) { - if ((Static12.tileSettings[local150][local108][local122] & 0x8) == 0) { + if ((SceneGraph.tileFlags[local150][local108][local122] & 0x8) == 0) { @Pc(227) int local227; @Pc(358) int local358; if (local130 && arg3[local150][local108][local122] != null) { @@ -104,8 +104,8 @@ public final class Static254 { } } if (local132) { - if (SceneGraph.activeTileHeightMap[Player.level + 1][local108][local122] > Static79.anIntArray205[arg4]) { - Static79.anIntArray205[arg4] = SceneGraph.activeTileHeightMap[Player.level + 1][local108][local122]; + if (SceneGraph.tileHeights[Player.level + 1][local108][local122] > Static79.anIntArray205[arg4]) { + Static79.anIntArray205[arg4] = SceneGraph.tileHeights[Player.level + 1][local108][local122]; } local150 = local108 << 7; if (local150 < Static149.anIntArray338[arg4]) { @@ -129,7 +129,7 @@ public final class Static254 { } local122++; if (local122 < 104) { - if (local108 - 1 >= 0 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] && (Static12.tileSettings[Player.level][local108][local122] & 0x4) == 0 && (Static12.tileSettings[Player.level][local108 - 1][local122 - 1] & 0x4) == 0) { + if (local108 - 1 >= 0 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 - 1][local122 - 1] & 0x4) == 0) { Static259.anIntArray514[local69] = 0x52000000 | 0x120000 | local108 - 1; Static84.anIntArray209[local69] = local122 | 0x130000; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; @@ -141,7 +141,7 @@ public final class Static254 { local69 = local69 + 1 & 0xFFF; Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; } - if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (Static12.tileSettings[Player.level][local108][local122] & 0x4) == 0 && (Static12.tileSettings[Player.level][local108 + 1][local122 - 1] & 0x4) == 0) { + if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 + 1][local122 - 1] & 0x4) == 0) { Static259.anIntArray514[local69] = 0x92000000 | 0x520000 | local108 + 1; Static84.anIntArray209[local69] = local122 | 0x530000; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; @@ -157,7 +157,7 @@ public final class Static254 { } local122--; if (local122 >= 0) { - if (local108 - 1 >= 0 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14 && (Static12.tileSettings[Player.level][local108][local122] & 0x4) == 0 && (Static12.tileSettings[Player.level][local108 - 1][local122 + 1] & 0x4) == 0) { + if (local108 - 1 >= 0 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 - 1][local122 + 1] & 0x4) == 0) { Static259.anIntArray514[local69] = local108 - 1 | 0xD20000 | 0x12000000; Static84.anIntArray209[local69] = local122 | 0xD30000; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; @@ -169,7 +169,7 @@ public final class Static254 { local69 = local69 + 1 & 0xFFF; Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; } - if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (Static12.tileSettings[Player.level][local108][local122] & 0x4) == 0 && (Static12.tileSettings[Player.level][local108 + 1][local122 + 1] & 0x4) == 0) { + if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 + 1][local122 + 1] & 0x4) == 0) { Static259.anIntArray514[local69] = local108 + 1 | 0xD2000000 | 0x920000; Static84.anIntArray209[local69] = local122 | 0x930000; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; @@ -189,11 +189,6 @@ public final class Static254 { } } - @OriginalMember(owner = "client!uj", name = "a", descriptor = "(II)I") - public static int method4349(@OriginalArg(0) int arg0) { - return arg0 >>> 10; - } - @OriginalMember(owner = "client!uj", name = "a", descriptor = "(Lclient!wa;II)Lclient!na;") public static JagString method4350(@OriginalArg(0) Buffer arg0) { try { diff --git a/client/src/main/java/rt4/Static260.java b/client/src/main/java/rt4/Static260.java index 5bcd0a0..677a7c7 100644 --- a/client/src/main/java/rt4/Static260.java +++ b/client/src/main/java/rt4/Static260.java @@ -46,7 +46,7 @@ public final class Static260 { } @Pc(10) int local10 = arg1 << 7; @Pc(14) int local14 = arg2 << 7; - @Pc(24) int local24 = SceneGraph.activeTileHeightMap[arg0][arg1][arg2] - 1; + @Pc(24) int local24 = SceneGraph.tileHeights[arg0][arg1][arg2] - 1; @Pc(28) int local28 = local24 - 120; @Pc(32) int local32 = local24 - 230; @Pc(36) int local36 = local24 - 238; diff --git a/client/src/main/java/rt4/Static262.java b/client/src/main/java/rt4/Static262.java index 88d8544..b46fd7e 100644 --- a/client/src/main/java/rt4/Static262.java +++ b/client/src/main/java/rt4/Static262.java @@ -12,9 +12,6 @@ public final class Static262 { @OriginalMember(owner = "client!vf", name = "g", descriptor = "[I") public static final int[] anIntArray515 = new int[14]; - @OriginalMember(owner = "client!vf", name = "m", descriptor = "I") - public static int bgId = -1; - @OriginalMember(owner = "client!vf", name = "a", descriptor = "(IIIILclient!th;Lclient!th;IIJ)V") public static void method4508(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) Entity arg4, @OriginalArg(5) Entity arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long arg8) { if (arg4 == null && arg5 == null) { diff --git a/client/src/main/java/rt4/Static263.java b/client/src/main/java/rt4/Static263.java index e3e436c..129992a 100644 --- a/client/src/main/java/rt4/Static263.java +++ b/client/src/main/java/rt4/Static263.java @@ -30,7 +30,7 @@ public final class Static263 { return null; } else { @Pc(19) short[] local19 = new short[arg0.length]; - Static289.method2616(arg0, 0, local19, 0, arg0.length); + ArrayUtils.copy(arg0, 0, local19, 0, arg0.length); return local19; } } diff --git a/client/src/main/java/rt4/Static269.java b/client/src/main/java/rt4/Static269.java index 7530376..f109289 100644 --- a/client/src/main/java/rt4/Static269.java +++ b/client/src/main/java/rt4/Static269.java @@ -9,11 +9,6 @@ public final class Static269 { @OriginalMember(owner = "client!wa", name = "pb", descriptor = "Lclient!na;") public static final JagString aClass100_556 = JagString.parse("
"); - @OriginalMember(owner = "client!wa", name = "e", descriptor = "(B)V") - public static void clearObjectSpriteCache() { - ObjTypeList.objectSpriteCache.clear(); - } - @OriginalMember(owner = "client!wa", name = "a", descriptor = "([Lclient!mj;ZIIIII[B)V") public static void method2203(@OriginalArg(0) CollisionMap[] arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) byte[] arg6) { @Pc(14) int local14; @@ -40,7 +35,7 @@ public final class Static269 { for (local14 = 0; local14 < local99; local14++) { for (local21 = 0; local21 < 64; local21++) { for (local117 = 0; local117 < 64; local117++) { - Static278.method4651(arg2, arg5, arg1, local95, local117 + arg3, arg4 + local21, 0, local14); + Static278.readTile(arg2, arg5, arg1, local95, local117 + arg3, arg4 + local21, 0, local14); } } } @@ -179,8 +174,8 @@ public final class Static269 { local194 = local529.anInt2245 >> 7; local190 = local529.anInt2240 >> 7; if (local190 >= 0 && local194 >= 0 && local190 < 104 && local194 < 104) { - local529.aBoolean125 = (Static12.tileSettings[1][local190][local194] & 0x2) != 0; - local529.anInt2235 = SceneGraph.activeTileHeightMap[local529.anInt2241][local190][local194] - local529.anInt2235; + local529.aBoolean125 = (SceneGraph.tileFlags[1][local190][local194] & 0x2) != 0; + local529.anInt2235 = SceneGraph.tileHeights[local529.anInt2241][local190][local194] - local529.anInt2235; Static120.method2389(local529); } } @@ -224,7 +219,7 @@ public final class Static269 { WorldMap.method3413(); } if (GlRenderer.enabled) { - Static46.method1187(arg0, arg1, arg0 + arg3, arg2 + arg1); + GlRaster.method1187(arg0, arg1, arg0 + arg3, arg2 + arg1); } else { SoftwareRaster.method2496(arg0, arg1, arg0 + arg3, arg2 + arg1); } @@ -234,11 +229,11 @@ public final class Static269 { local50 = arg0 + arg3 / 2; local61 = arg2 / 2 + arg1 - 18 - 20; if (GlRenderer.enabled) { - Static46.method1186(arg0, arg1, arg3, arg2, 0); - Static46.method1179(local50 - 152, local61, 304, 34, 9179409); - Static46.method1179(local50 - 151, local61 + 1, 302, 32, 0); - Static46.method1186(local50 - 150, local61 + 2, WorldMap.loadPercentage * 3, 30, 9179409); - Static46.method1186(local50 + WorldMap.loadPercentage * 3 - 150, local61 - -2, 300 - WorldMap.loadPercentage * 3, 30, 0); + GlRaster.method1186(arg0, arg1, arg3, arg2, 0); + GlRaster.method1179(local50 - 152, local61, 304, 34, 9179409); + GlRaster.method1179(local50 - 151, local61 + 1, 302, 32, 0); + GlRaster.method1186(local50 - 150, local61 + 2, WorldMap.loadPercentage * 3, 30, 9179409); + GlRaster.method1186(local50 + WorldMap.loadPercentage * 3 - 150, local61 - -2, 300 - WorldMap.loadPercentage * 3, 30, 0); } else { SoftwareRaster.fillRect(arg0, arg1, arg3, arg2, 0); SoftwareRaster.drawRect(local50 - 152, local61, 304, 34, 9179409); @@ -266,7 +261,7 @@ public final class Static269 { Static214.method4364(arg3, 0, local61, local50, 0, local236, arg2, local211); Static48.method1195(arg3, 0, local61, local236, arg2, 0, local211, local50); Static38.method959(0, 0, local211, arg3, local236, local50, local61, arg2); - Static46.method1178(WorldMap.aClass3_Sub2_Sub1_Sub1_2.pixels, arg0, arg1, arg3, arg2); + GlRaster.method1178(WorldMap.aClass3_Sub2_Sub1_Sub1_2.pixels, arg0, arg1, arg3, arg2); SoftwareRaster.pixels = null; } else { Static214.method4364(arg3 + arg0, arg1, local61, local50, arg0, local236, arg1 + arg2, local211); diff --git a/client/src/main/java/rt4/Static274.java b/client/src/main/java/rt4/Static274.java index 8441431..d9be0c8 100644 --- a/client/src/main/java/rt4/Static274.java +++ b/client/src/main/java/rt4/Static274.java @@ -1,6 +1,5 @@ package rt4; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; public final class Static274 { @@ -14,11 +13,4 @@ public final class Static274 { @OriginalMember(owner = "client!wf", name = "j", descriptor = "Lclient!be;") public static Component staticActiveComponent1; - @OriginalMember(owner = "client!wf", name = "o", descriptor = "[Lclient!gb;") - public static final RawModel[] tempModels = new RawModel[4]; - - @OriginalMember(owner = "client!wf", name = "a", descriptor = "(II)I") - public static int method3845(@OriginalArg(0) int arg0) { - return arg0 & 0x3FF; - } } diff --git a/client/src/main/java/rt4/Static276.java b/client/src/main/java/rt4/Static276.java index d1f7075..970aca8 100644 --- a/client/src/main/java/rt4/Static276.java +++ b/client/src/main/java/rt4/Static276.java @@ -23,7 +23,7 @@ public final class Static276 { if (Static9.method187(arg0, arg1, arg2)) { @Pc(10) int local10 = arg1 << 7; @Pc(14) int local14 = arg2 << 7; - return Static256.method4394(local10 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg2] + arg3, local14 + 1) && Static256.method4394(local10 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg2] + arg3, local14 + 1) && Static256.method4394(local10 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg2 + 1] + arg3, local14 + 128 - 1) && Static256.method4394(local10 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg2 + 1] + arg3, local14 + 128 - 1); + return Static256.method4394(local10 + 1, SceneGraph.tileHeights[arg0][arg1][arg2] + arg3, local14 + 1) && Static256.method4394(local10 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2] + arg3, local14 + 1) && Static256.method4394(local10 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2 + 1] + arg3, local14 + 128 - 1) && Static256.method4394(local10 + 1, SceneGraph.tileHeights[arg0][arg1][arg2 + 1] + arg3, local14 + 128 - 1); } else { return false; } diff --git a/client/src/main/java/rt4/Static278.java b/client/src/main/java/rt4/Static278.java index 3862dd8..3a9f25d 100644 --- a/client/src/main/java/rt4/Static278.java +++ b/client/src/main/java/rt4/Static278.java @@ -9,9 +9,6 @@ public final class Static278 { @OriginalMember(owner = "client!wj", name = "b", descriptor = "Lclient!na;") public static final JagString aClass100_1101 = JagString.parse(" "); - @OriginalMember(owner = "client!wj", name = "e", descriptor = "Lclient!na;") - public static JagString mainLoadPrimaryText = null; - @OriginalMember(owner = "client!wj", name = "f", descriptor = "Lclient!na;") public static final JagString aClass100_1103 = JagString.parse("ul"); @@ -36,23 +33,18 @@ public final class Static278 { public static void setRenderTiles(@OriginalArg(0) boolean arg0) { if (arg0) { SceneGraph.tiles = Static276.underWaterGroundTiles; - SceneGraph.activeTileHeightMap = Static80.underWaterTileHeightMap; + SceneGraph.tileHeights = Static80.underWaterTileHeightMap; Static182.aClass3_Sub14ArrayArray2 = Static195.underWaterHdTiles; } else { SceneGraph.tiles = Static197.surfaceGroundTiles; - SceneGraph.activeTileHeightMap = Static107.surfaceTileHeightMap; + SceneGraph.tileHeights = SceneGraph.surfaceTileHeights; Static182.aClass3_Sub14ArrayArray2 = Static36.surfaceHdTiles; } Static126.anInt3114 = SceneGraph.tiles.length; } - @OriginalMember(owner = "client!wj", name = "b", descriptor = "(I)V") - public static void method4649() { - NpcTypeList.aClass99_18.clear(); - } - @OriginalMember(owner = "client!wj", name = "a", descriptor = "(IIZLclient!wa;IIBII)V") - public static void method4651(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) boolean arg2, @OriginalArg(3) Buffer arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + public static void readTile(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) boolean arg2, @OriginalArg(3) Buffer arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { @Pc(32) int local32; if (arg5 < 0 || arg5 >= 104 || arg4 < 0 || arg4 >= 104) { while (true) { @@ -71,44 +63,44 @@ public final class Static278 { return; } if (!arg2) { - Static12.tileSettings[arg7][arg5][arg4] = 0; + SceneGraph.tileFlags[arg7][arg5][arg4] = 0; } while (true) { local32 = arg3.g1(); if (local32 == 0) { if (arg2) { - SceneGraph.activeTileHeightMap[0][arg5][arg4] = Static107.surfaceTileHeightMap[0][arg5][arg4]; + SceneGraph.tileHeights[0][arg5][arg4] = SceneGraph.surfaceTileHeights[0][arg5][arg4]; } else if (arg7 == 0) { - SceneGraph.activeTileHeightMap[0][arg5][arg4] = -Static65.method1498(arg4 + arg1 + 556238, arg0 + arg5 + 932731) * 8; + SceneGraph.tileHeights[0][arg5][arg4] = -PerlinNoise.getTileHeight(arg4 + arg1 + 556238, arg0 + arg5 + 932731) * 8; } else { - SceneGraph.activeTileHeightMap[arg7][arg5][arg4] = SceneGraph.activeTileHeightMap[arg7 - 1][arg5][arg4] - 240; + SceneGraph.tileHeights[arg7][arg5][arg4] = SceneGraph.tileHeights[arg7 - 1][arg5][arg4] - 240; } break; } if (local32 == 1) { @Pc(111) int local111 = arg3.g1(); if (arg2) { - SceneGraph.activeTileHeightMap[0][arg5][arg4] = Static107.surfaceTileHeightMap[0][arg5][arg4] + local111 * 8; + SceneGraph.tileHeights[0][arg5][arg4] = SceneGraph.surfaceTileHeights[0][arg5][arg4] + local111 * 8; } else { if (local111 == 1) { local111 = 0; } if (arg7 == 0) { - SceneGraph.activeTileHeightMap[0][arg5][arg4] = -local111 * 8; + SceneGraph.tileHeights[0][arg5][arg4] = -local111 * 8; } else { - SceneGraph.activeTileHeightMap[arg7][arg5][arg4] = SceneGraph.activeTileHeightMap[arg7 - 1][arg5][arg4] - local111 * 8; + SceneGraph.tileHeights[arg7][arg5][arg4] = SceneGraph.tileHeights[arg7 - 1][arg5][arg4] - local111 * 8; } } break; } if (local32 <= 49) { - Static240.aByteArrayArrayArray14[arg7][arg5][arg4] = arg3.g1s(); - Static163.aByteArrayArrayArray11[arg7][arg5][arg4] = (byte) ((local32 - 2) / 4); - Static4.aByteArrayArrayArray1[arg7][arg5][arg4] = (byte) (local32 + arg6 - 2 & 0x3); + SceneGraph.tileOverlays[arg7][arg5][arg4] = arg3.g1s(); + SceneGraph.tileShapes[arg7][arg5][arg4] = (byte) ((local32 - 2) / 4); + SceneGraph.tileAngles[arg7][arg5][arg4] = (byte) (local32 + arg6 - 2 & 0x3); } else if (local32 > 81) { - Static253.aByteArrayArrayArray16[arg7][arg5][arg4] = (byte) (local32 - 81); + SceneGraph.tileUnderlays[arg7][arg5][arg4] = (byte) (local32 - 81); } else if (!arg2) { - Static12.tileSettings[arg7][arg5][arg4] = (byte) (local32 - 49); + SceneGraph.tileFlags[arg7][arg5][arg4] = (byte) (local32 - 49); } } } diff --git a/client/src/main/java/rt4/Static279.java b/client/src/main/java/rt4/Static279.java index 98f2b15..f203b22 100644 --- a/client/src/main/java/rt4/Static279.java +++ b/client/src/main/java/rt4/Static279.java @@ -9,9 +9,6 @@ public final class Static279 { @OriginalMember(owner = "client!wk", name = "v", descriptor = "[I") public static int[] anIntArray568; - @OriginalMember(owner = "client!wk", name = "u", descriptor = "Lclient!na;") - public static final JagString JS5DROP = JagString.parse("::clientjs5drop"); - @OriginalMember(owner = "client!wk", name = "x", descriptor = "Lclient!na;") public static final JagString aClass100_1107 = JagString.parse(")4l="); diff --git a/client/src/main/java/rt4/Static28.java b/client/src/main/java/rt4/Static28.java index 33cad73..af919c1 100644 --- a/client/src/main/java/rt4/Static28.java +++ b/client/src/main/java/rt4/Static28.java @@ -14,7 +14,7 @@ public final class Static28 { Static99.mapSizeZ = 104; Static277.tileVisibilityDistance = tileVisibility; Static197.surfaceGroundTiles = new Tile[4][Static152.mapSizeX][Static99.mapSizeZ]; - Static107.surfaceTileHeightMap = new int[4][Static152.mapSizeX + 1][Static99.mapSizeZ + 1]; + SceneGraph.surfaceTileHeights = new int[4][Static152.mapSizeX + 1][Static99.mapSizeZ + 1]; if (GlRenderer.enabled) { Static36.surfaceHdTiles = new GlTile[4][]; } diff --git a/client/src/main/java/rt4/Static283.java b/client/src/main/java/rt4/Static283.java deleted file mode 100644 index 33e7d0b..0000000 --- a/client/src/main/java/rt4/Static283.java +++ /dev/null @@ -1,105 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static283 { - - @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIIIIII)V") - public static void method317(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10, @OriginalArg(12) int arg11) { - @Pc(1) int local1 = arg2; - for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { - @Pc(12) int local12 = (arg3 >> 16) * arg10; - for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { - @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; - @Pc(29) int local29 = arg0[arg4]; - @Pc(37) int local37 = (local25 >>> 24) * arg11 >> 8; - @Pc(41) int local41 = 256 - local37; - arg0[arg4++] = ((local25 & 0xFF00FF) * local37 + (local29 & 0xFF00FF) * local41 & 0xFF00FF00) + ((local25 & 0xFF00) * local37 + (local29 & 0xFF00) * local41 & 0xFF0000) >>> 8; - arg2 += arg8; - } - arg3 += arg9; - arg2 = local1; - arg4 += arg5; - } - } - - @OriginalMember(owner = "client!am", name = "c", descriptor = "([I[IIIIIIII)V") - public static void method318(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { - @Pc(2) int local2 = -arg4; - for (@Pc(5) int local5 = -arg5; local5 < 0; local5++) { - for (@Pc(9) int local9 = local2; local9 < 0; local9++) { - @Pc(16) int local16 = arg1[arg2--]; - @Pc(20) int local20 = local16 >>> 24; - if (local20 == 0) { - arg3++; - } else { - @Pc(26) int local26 = 256 - local20; - @Pc(30) int local30 = arg0[arg3]; - arg0[arg3++] = ((local16 & 0xFF00FF) * local20 + (local30 & 0xFF00FF) * local26 & 0xFF00FF00) + ((local16 & 0xFF00) * local20 + (local30 & 0xFF00) * local26 & 0xFF0000) >>> 8; - } - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!am", name = "d", descriptor = "([I[IIIIIIII)V") - public static void method319(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { - @Pc(2) int local2 = -arg4; - for (@Pc(5) int local5 = -arg5; local5 < 0; local5++) { - for (@Pc(9) int local9 = local2; local9 < 0; local9++) { - @Pc(16) int local16 = arg1[arg2++]; - @Pc(20) int local20 = local16 >>> 24; - if (local20 == 0) { - arg3++; - } else { - @Pc(26) int local26 = 256 - local20; - @Pc(30) int local30 = arg0[arg3]; - arg0[arg3++] = ((local16 & 0xFF00FF) * local20 + (local30 & 0xFF00FF) * local26 & 0xFF00FF00) + ((local16 & 0xFF00) * local20 + (local30 & 0xFF00) * local26 & 0xFF0000) >>> 8; - } - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIII)V") - public static void method320(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { - for (@Pc(2) int local2 = -arg5; local2 < 0; local2++) { - for (@Pc(7) int local7 = -arg4; local7 < 0; local7++) { - @Pc(19) int local19 = (arg1[arg2] >>> 24) * arg8 >> 8; - @Pc(23) int local23 = 256 - local19; - @Pc(28) int local28 = arg1[arg2++]; - @Pc(32) int local32 = arg0[arg3]; - arg0[arg3++] = ((local28 & 0xFF00FF) * local19 + (local32 & 0xFF00FF) * local23 & 0xFF00FF00) + ((local28 & 0xFF00) * local19 + (local32 & 0xFF00) * local23 & 0xFF0000) >>> 8; - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!am", name = "b", descriptor = "([I[IIIIIIIIIII)V") - public static void method321(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { - @Pc(1) int local1 = arg2; - for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { - @Pc(12) int local12 = (arg3 >> 16) * arg10; - for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { - @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; - @Pc(29) int local29 = local25 >>> 24; - if (local29 == 0) { - arg4++; - } else { - @Pc(35) int local35 = 256 - local29; - @Pc(39) int local39 = arg0[arg4]; - arg0[arg4++] = ((local25 & 0xFF00FF) * local29 + (local39 & 0xFF00FF) * local35 & 0xFF00FF00) + ((local25 & 0xFF00) * local29 + (local39 & 0xFF00) * local35 & 0xFF0000) >>> 8; - } - arg2 += arg8; - } - arg3 += arg9; - arg2 = local1; - arg4 += arg5; - } - } -} diff --git a/client/src/main/java/rt4/Static284.java b/client/src/main/java/rt4/Static284.java deleted file mode 100644 index ba93153..0000000 --- a/client/src/main/java/rt4/Static284.java +++ /dev/null @@ -1,743 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static284 { - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(I[B[IIIIIIIILclient!b;)I") - public static int method387(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(10) SoundPcmStream arg8) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg7 >> 8; - @Pc(11) int local11 = arg4 << 2; - @Pc(15) int local15 = arg5 << 2; - @Pc(22) int local22; - if ((local22 = arg3 + local7 - arg2) > arg6) { - local22 = arg6; - } - arg3 <<= 0x1; - local22 <<= 0x1; - local22 -= 6; - @Pc(43) byte local43; - @Pc(46) int local46; - while (arg3 < local22) { - @Pc(41) int local41 = arg2 + 1; - local43 = arg0[arg2]; - local46 = arg3 + 1; - arg1[arg3] += local43 * local11; - @Pc(56) int local56 = local46 + 1; - arg1[local46] += local43 * local15; - @Pc(66) int local66 = local41 + 1; - @Pc(68) byte local68 = arg0[local41]; - @Pc(71) int local71 = local56 + 1; - arg1[local56] += local68 * local11; - @Pc(81) int local81 = local71 + 1; - arg1[local71] += local68 * local15; - @Pc(91) int local91 = local66 + 1; - @Pc(93) byte local93 = arg0[local66]; - @Pc(96) int local96 = local81 + 1; - arg1[local81] += local93 * local11; - @Pc(106) int local106 = local96 + 1; - arg1[local96] += local93 * local15; - arg2 = local91 + 1; - @Pc(118) byte local118 = arg0[local91]; - @Pc(121) int local121 = local106 + 1; - arg1[local106] += local118 * local11; - arg3 = local121 + 1; - arg1[local121] += local118 * local15; - } - local22 += 6; - while (arg3 < local22) { - local43 = arg0[arg2++]; - local46 = arg3 + 1; - arg1[arg3] += local43 * local11; - arg3 = local46 + 1; - arg1[local46] += local43 * local15; - } - arg8.anInt346 = arg2 << 8; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIIIIILclient!b;II)I") - public static int method388(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9, @OriginalArg(13) SoundPcmStream arg10, @OriginalArg(14) int arg11, @OriginalArg(15) int arg12) { - arg10.anInt348 -= arg10.anInt344 * arg3; - @Pc(23) int local23; - if (arg11 == 0 || (local23 = arg3 + (arg9 + arg11 - arg2 - 257) / arg11) > arg8) { - local23 = arg8; - } - arg3 <<= 0x1; - local23 <<= 0x1; - @Pc(46) byte local46; - @Pc(65) int local65; - @Pc(62) int local62; - @Pc(64) int local64; - while (arg3 < local23) { - @Pc(42) int local42 = arg2 >> 8; - local46 = arg0[local42]; - local62 = (local46 << 8) + (arg0[local42 + 1] - local46) * (arg2 & 0xFF); - local64 = arg3; - local65 = arg3 + 1; - arg1[local64] += local62 * arg4 >> 6; - arg4 += arg6; - @Pc(80) int local80 = local65; - arg3 = local65 + 1; - arg1[local80] += local62 * arg5 >> 6; - arg5 += arg7; - arg2 += arg11; - } - if (arg11 == 0 || (local23 = (arg3 >> 1) + (arg9 + arg11 - arg2 - 1) / arg11) > arg8) { - local23 = arg8; - } - local23 <<= 0x1; - while (arg3 < local23) { - local46 = arg0[arg2 >> 8]; - local62 = (local46 << 8) + (arg12 - local46) * (arg2 & 0xFF); - local64 = arg3; - local65 = arg3 + 1; - arg1[local64] += local62 * arg4 >> 6; - arg4 += arg6; - local64 = local65; - arg3 = local65 + 1; - arg1[local64] += local62 * arg5 >> 6; - arg5 += arg7; - arg2 += arg11; - } - local65 = arg3 >> 1; - arg10.anInt348 += arg10.anInt344 * local65; - arg10.anInt355 = arg4; - arg10.anInt352 = arg5; - arg10.anInt346 = arg2; - return local65; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIIILclient!b;II)I") - public static int method389(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { - arg8.anInt355 -= arg8.anInt347 * arg3; - arg8.anInt352 -= arg8.anInt354 * arg3; - @Pc(32) int local32; - if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2 - 257) / arg9) > arg6) { - local32 = arg6; - } - @Pc(47) byte local47; - @Pc(49) int local49; - while (arg3 < local32) { - @Pc(43) int local43 = arg2 >> 8; - local47 = arg0[local43]; - local49 = arg3++; - arg1[local49] += ((local47 << 8) + (arg0[local43 + 1] - local47) * (arg2 & 0xFF)) * arg4 >> 6; - arg4 += arg5; - arg2 += arg9; - } - if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2 - 1) / arg9) > arg6) { - local32 = arg6; - } - while (arg3 < local32) { - local47 = arg0[arg2 >> 8]; - local49 = arg3++; - arg1[local49] += ((local47 << 8) + (arg10 - local47) * (arg2 & 0xFF)) * arg4 >> 6; - arg4 += arg5; - arg2 += arg9; - } - arg8.anInt355 += arg8.anInt347 * arg3; - arg8.anInt352 += arg8.anInt354 * arg3; - arg8.anInt348 = arg4; - arg8.anInt346 = arg2; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(II[B[IIIIIIILclient!b;II)I") - public static int method390(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(8) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) SoundPcmStream arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9) { - @Pc(14) int local14; - if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 + 256 - arg2) / arg8) > arg5) { - local14 = arg5; - } - @Pc(33) int local33; - while (arg3 < local14) { - @Pc(25) int local25 = arg2 >> 8; - @Pc(31) byte local31 = arg0[local25 - 1]; - local33 = arg3++; - arg1[local33] += ((local31 << 8) + (arg0[local25] - local31) * (arg2 & 0xFF)) * arg4 >> 6; - arg2 += arg8; - } - if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2) / arg8) > arg5) { - local14 = arg5; - } - while (arg3 < local14) { - local33 = arg3++; - arg1[local33] += ((arg9 << 8) + (arg0[arg2 >> 8] - arg9) * (arg2 & 0xFF)) * arg4 >> 6; - arg2 += arg8; - } - arg7.anInt346 = arg2; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "([B[IIIIIIILclient!b;)I") - public static int method391(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) SoundPcmStream arg7) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg6 >> 8; - @Pc(11) int local11 = arg4 << 2; - @Pc(18) int local18; - if ((local18 = arg3 + local7 - arg2) > arg5) { - local18 = arg5; - } - local18 -= 3; - @Pc(28) int local28; - while (arg3 < local18) { - local28 = arg3++; - @Pc(31) int local31 = arg1[local28]; - @Pc(34) int local34 = arg2 + 1; - arg1[local28] = local31 + arg0[arg2] * local11; - @Pc(41) int local41 = arg3++; - @Pc(44) int local44 = arg1[local41]; - @Pc(47) int local47 = local34 + 1; - arg1[local41] = local44 + arg0[local34] * local11; - @Pc(54) int local54 = arg3++; - @Pc(57) int local57 = arg1[local54]; - @Pc(60) int local60 = local47 + 1; - arg1[local54] = local57 + arg0[local47] * local11; - @Pc(67) int local67 = arg3++; - @Pc(70) int local70 = arg1[local67]; - arg2 = local60 + 1; - arg1[local67] = local70 + arg0[local60] * local11; - } - local18 += 3; - while (arg3 < local18) { - local28 = arg3++; - arg1[local28] += arg0[arg2++] * local11; - } - arg7.anInt346 = arg2 << 8; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(I[B[IIIIIIIIIILclient!b;)I") - public static int method393(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(10) int arg8, @OriginalArg(11) int arg9, @OriginalArg(12) SoundPcmStream arg10) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg9 >> 8; - arg4 <<= 0x2; - arg5 <<= 0x2; - @Pc(19) int local19 = arg6 << 2; - @Pc(23) int local23 = arg7 << 2; - @Pc(30) int local30; - if ((local30 = arg3 + local7 - arg2) > arg8) { - local30 = arg8; - } - arg10.anInt348 += arg10.anInt344 * (local30 - arg3); - arg3 <<= 0x1; - local30 <<= 0x1; - local30 -= 6; - @Pc(62) byte local62; - @Pc(65) int local65; - while (arg3 < local30) { - @Pc(60) int local60 = arg2 + 1; - local62 = arg0[arg2]; - local65 = arg3 + 1; - arg1[arg3] += local62 * arg4; - @Pc(76) int local76 = arg4 + local19; - @Pc(79) int local79 = local65 + 1; - arg1[local65] += local62 * arg5; - @Pc(90) int local90 = arg5 + local23; - @Pc(93) int local93 = local60 + 1; - @Pc(95) byte local95 = arg0[local60]; - @Pc(98) int local98 = local79 + 1; - arg1[local79] += local95 * local76; - @Pc(109) int local109 = local76 + local19; - @Pc(112) int local112 = local98 + 1; - arg1[local98] += local95 * local90; - @Pc(123) int local123 = local90 + local23; - @Pc(126) int local126 = local93 + 1; - @Pc(128) byte local128 = arg0[local93]; - @Pc(131) int local131 = local112 + 1; - arg1[local112] += local128 * local109; - @Pc(142) int local142 = local109 + local19; - @Pc(145) int local145 = local131 + 1; - arg1[local131] += local128 * local123; - @Pc(156) int local156 = local123 + local23; - arg2 = local126 + 1; - @Pc(161) byte local161 = arg0[local126]; - @Pc(164) int local164 = local145 + 1; - arg1[local145] += local161 * local142; - arg4 = local142 + local19; - arg3 = local164 + 1; - arg1[local164] += local161 * local156; - arg5 = local156 + local23; - } - local30 += 6; - while (arg3 < local30) { - local62 = arg0[arg2++]; - local65 = arg3 + 1; - arg1[arg3] += local62 * arg4; - arg4 += local19; - arg3 = local65 + 1; - arg1[local65] += local62 * arg5; - arg5 += local23; - } - arg10.anInt355 = arg4 >> 2; - arg10.anInt352 = arg5 >> 2; - arg10.anInt346 = arg2 << 8; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "([B[IIIIIIIILclient!b;)I") - public static int method394(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) SoundPcmStream arg8) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg7 >> 8; - arg4 <<= 0x2; - @Pc(15) int local15 = arg5 << 2; - @Pc(24) int local24; - if ((local24 = arg3 + arg2 + 1 - local7) > arg6) { - local24 = arg6; - } - arg8.anInt355 += arg8.anInt347 * (local24 - arg3); - arg8.anInt352 += arg8.anInt354 * (local24 - arg3); - local24 -= 3; - @Pc(56) int local56; - while (arg3 < local24) { - local56 = arg3++; - @Pc(59) int local59 = arg1[local56]; - @Pc(62) int local62 = arg2 - 1; - arg1[local56] = local59 + arg0[arg2] * arg4; - @Pc(71) int local71 = arg4 + local15; - @Pc(73) int local73 = arg3++; - @Pc(76) int local76 = arg1[local73]; - @Pc(79) int local79 = local62 - 1; - arg1[local73] = local76 + arg0[local62] * local71; - @Pc(88) int local88 = local71 + local15; - @Pc(90) int local90 = arg3++; - @Pc(93) int local93 = arg1[local90]; - @Pc(96) int local96 = local79 - 1; - arg1[local90] = local93 + arg0[local79] * local88; - @Pc(105) int local105 = local88 + local15; - @Pc(107) int local107 = arg3++; - @Pc(110) int local110 = arg1[local107]; - arg2 = local96 - 1; - arg1[local107] = local110 + arg0[local96] * local105; - arg4 = local105 + local15; - } - local24 += 3; - while (arg3 < local24) { - local56 = arg3++; - arg1[local56] += arg0[arg2--] * arg4; - arg4 += local15; - } - arg8.anInt348 = arg4 >> 2; - arg8.anInt346 = arg2 << 8; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "([B[IIIIIIIILclient!b;)I") - public static int method395(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) SoundPcmStream arg8) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg7 >> 8; - arg4 <<= 0x2; - @Pc(15) int local15 = arg5 << 2; - @Pc(22) int local22; - if ((local22 = arg3 + local7 - arg2) > arg6) { - local22 = arg6; - } - arg8.anInt355 += arg8.anInt347 * (local22 - arg3); - arg8.anInt352 += arg8.anInt354 * (local22 - arg3); - local22 -= 3; - @Pc(54) int local54; - while (arg3 < local22) { - local54 = arg3++; - @Pc(57) int local57 = arg1[local54]; - @Pc(60) int local60 = arg2 + 1; - arg1[local54] = local57 + arg0[arg2] * arg4; - @Pc(69) int local69 = arg4 + local15; - @Pc(71) int local71 = arg3++; - @Pc(74) int local74 = arg1[local71]; - @Pc(77) int local77 = local60 + 1; - arg1[local71] = local74 + arg0[local60] * local69; - @Pc(86) int local86 = local69 + local15; - @Pc(88) int local88 = arg3++; - @Pc(91) int local91 = arg1[local88]; - @Pc(94) int local94 = local77 + 1; - arg1[local88] = local91 + arg0[local77] * local86; - @Pc(103) int local103 = local86 + local15; - @Pc(105) int local105 = arg3++; - @Pc(108) int local108 = arg1[local105]; - arg2 = local94 + 1; - arg1[local105] = local108 + arg0[local94] * local103; - arg4 = local103 + local15; - } - local22 += 3; - while (arg3 < local22) { - local54 = arg3++; - arg1[local54] += arg0[arg2++] * arg4; - arg4 += local15; - } - arg8.anInt348 = arg4 >> 2; - arg8.anInt346 = arg2 << 8; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "a", descriptor = "(Lclient!kj;III)Lclient!b;") - public static SoundPcmStream method399(@OriginalArg(0) PcmSound arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - return arg0.aByteArray47 == null || arg0.aByteArray47.length == 0 ? null : new SoundPcmStream(arg0, arg1, arg2, arg3); - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIIILclient!b;II)I") - public static int method400(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { - @Pc(14) int local14; - if (arg9 == 0 || (local14 = arg3 + (arg7 + arg9 - arg2 - 257) / arg9) > arg6) { - local14 = arg6; - } - arg3 <<= 0x1; - local14 <<= 0x1; - @Pc(37) byte local37; - @Pc(56) int local56; - @Pc(53) int local53; - @Pc(55) int local55; - while (arg3 < local14) { - @Pc(33) int local33 = arg2 >> 8; - local37 = arg0[local33]; - local53 = (local37 << 8) + (arg0[local33 + 1] - local37) * (arg2 & 0xFF); - local55 = arg3; - local56 = arg3 + 1; - arg1[local55] += local53 * arg4 >> 6; - @Pc(67) int local67 = local56; - arg3 = local56 + 1; - arg1[local67] += local53 * arg5 >> 6; - arg2 += arg9; - } - if (arg9 == 0 || (local14 = (arg3 >> 1) + (arg7 + arg9 - arg2 - 1) / arg9) > arg6) { - local14 = arg6; - } - local14 <<= 0x1; - while (arg3 < local14) { - local37 = arg0[arg2 >> 8]; - local53 = (local37 << 8) + (arg10 - local37) * (arg2 & 0xFF); - local55 = arg3; - local56 = arg3 + 1; - arg1[local55] += local53 * arg4 >> 6; - local55 = local56; - arg3 = local56 + 1; - arg1[local55] += local53 * arg5 >> 6; - arg2 += arg9; - } - arg8.anInt346 = arg2; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "(I[B[IIIIIIIIIILclient!b;)I") - public static int method402(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(10) int arg8, @OriginalArg(11) int arg9, @OriginalArg(12) SoundPcmStream arg10) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg9 >> 8; - arg4 <<= 0x2; - arg5 <<= 0x2; - @Pc(19) int local19 = arg6 << 2; - @Pc(23) int local23 = arg7 << 2; - @Pc(32) int local32; - if ((local32 = arg3 + arg2 + 1 - local7) > arg8) { - local32 = arg8; - } - arg10.anInt348 += arg10.anInt344 * (local32 - arg3); - arg3 <<= 0x1; - local32 <<= 0x1; - local32 -= 6; - @Pc(64) byte local64; - @Pc(67) int local67; - while (arg3 < local32) { - @Pc(62) int local62 = arg2 - 1; - local64 = arg0[arg2]; - local67 = arg3 + 1; - arg1[arg3] += local64 * arg4; - @Pc(78) int local78 = arg4 + local19; - @Pc(81) int local81 = local67 + 1; - arg1[local67] += local64 * arg5; - @Pc(92) int local92 = arg5 + local23; - @Pc(95) int local95 = local62 - 1; - @Pc(97) byte local97 = arg0[local62]; - @Pc(100) int local100 = local81 + 1; - arg1[local81] += local97 * local78; - @Pc(111) int local111 = local78 + local19; - @Pc(114) int local114 = local100 + 1; - arg1[local100] += local97 * local92; - @Pc(125) int local125 = local92 + local23; - @Pc(128) int local128 = local95 - 1; - @Pc(130) byte local130 = arg0[local95]; - @Pc(133) int local133 = local114 + 1; - arg1[local114] += local130 * local111; - @Pc(144) int local144 = local111 + local19; - @Pc(147) int local147 = local133 + 1; - arg1[local133] += local130 * local125; - @Pc(158) int local158 = local125 + local23; - arg2 = local128 - 1; - @Pc(163) byte local163 = arg0[local128]; - @Pc(166) int local166 = local147 + 1; - arg1[local147] += local163 * local144; - arg4 = local144 + local19; - arg3 = local166 + 1; - arg1[local166] += local163 * local158; - arg5 = local158 + local23; - } - local32 += 6; - while (arg3 < local32) { - local64 = arg0[arg2--]; - local67 = arg3 + 1; - arg1[arg3] += local64 * arg4; - arg4 += local19; - arg3 = local67 + 1; - arg1[local67] += local64 * arg5; - arg5 += local23; - } - arg10.anInt355 = arg4 >> 2; - arg10.anInt352 = arg5 >> 2; - arg10.anInt346 = arg2 << 8; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIIIIILclient!b;II)I") - public static int method407(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9, @OriginalArg(13) SoundPcmStream arg10, @OriginalArg(14) int arg11, @OriginalArg(15) int arg12) { - arg10.anInt348 -= arg10.anInt344 * arg3; - @Pc(23) int local23; - if (arg11 == 0 || (local23 = arg3 + (arg9 + arg11 + 256 - arg2) / arg11) > arg8) { - local23 = arg8; - } - arg3 <<= 0x1; - local23 <<= 0x1; - @Pc(65) int local65; - @Pc(62) int local62; - @Pc(64) int local64; - while (arg3 < local23) { - @Pc(42) int local42 = arg2 >> 8; - @Pc(48) byte local48 = arg0[local42 - 1]; - local62 = (local48 << 8) + (arg0[local42] - local48) * (arg2 & 0xFF); - local64 = arg3; - local65 = arg3 + 1; - arg1[local64] += local62 * arg4 >> 6; - arg4 += arg6; - @Pc(80) int local80 = local65; - arg3 = local65 + 1; - arg1[local80] += local62 * arg5 >> 6; - arg5 += arg7; - arg2 += arg11; - } - if (arg11 == 0 || (local23 = (arg3 >> 1) + (arg9 + arg11 - arg2) / arg11) > arg8) { - local23 = arg8; - } - local23 <<= 0x1; - while (arg3 < local23) { - local62 = (arg12 << 8) + (arg0[arg2 >> 8] - arg12) * (arg2 & 0xFF); - local64 = arg3; - local65 = arg3 + 1; - arg1[local64] += local62 * arg4 >> 6; - arg4 += arg6; - local64 = local65; - arg3 = local65 + 1; - arg1[local64] += local62 * arg5 >> 6; - arg5 += arg7; - arg2 += arg11; - } - local65 = arg3 >> 1; - arg10.anInt348 += arg10.anInt344 * local65; - arg10.anInt355 = arg4; - arg10.anInt352 = arg5; - arg10.anInt346 = arg2; - return local65; - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "([B[IIIIIIILclient!b;)I") - public static int method413(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) SoundPcmStream arg7) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg6 >> 8; - @Pc(11) int local11 = arg4 << 2; - @Pc(20) int local20; - if ((local20 = arg3 + arg2 + 1 - local7) > arg5) { - local20 = arg5; - } - local20 -= 3; - @Pc(30) int local30; - while (arg3 < local20) { - local30 = arg3++; - @Pc(33) int local33 = arg1[local30]; - @Pc(36) int local36 = arg2 - 1; - arg1[local30] = local33 + arg0[arg2] * local11; - @Pc(43) int local43 = arg3++; - @Pc(46) int local46 = arg1[local43]; - @Pc(49) int local49 = local36 - 1; - arg1[local43] = local46 + arg0[local36] * local11; - @Pc(56) int local56 = arg3++; - @Pc(59) int local59 = arg1[local56]; - @Pc(62) int local62 = local49 - 1; - arg1[local56] = local59 + arg0[local49] * local11; - @Pc(69) int local69 = arg3++; - @Pc(72) int local72 = arg1[local69]; - arg2 = local62 - 1; - arg1[local69] = local72 + arg0[local62] * local11; - } - local20 += 3; - while (arg3 < local20) { - local30 = arg3++; - arg1[local30] += arg0[arg2--] * local11; - } - arg7.anInt346 = arg2 << 8; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "(I[B[IIIIIIIILclient!b;)I") - public static int method414(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(8) int arg6, @OriginalArg(9) int arg7, @OriginalArg(10) SoundPcmStream arg8) { - arg2 >>= 0x8; - @Pc(7) int local7 = arg7 >> 8; - @Pc(11) int local11 = arg4 << 2; - @Pc(15) int local15 = arg5 << 2; - @Pc(24) int local24; - if ((local24 = arg3 + arg2 + 1 - local7) > arg6) { - local24 = arg6; - } - arg3 <<= 0x1; - local24 <<= 0x1; - local24 -= 6; - @Pc(45) byte local45; - @Pc(48) int local48; - while (arg3 < local24) { - @Pc(43) int local43 = arg2 - 1; - local45 = arg0[arg2]; - local48 = arg3 + 1; - arg1[arg3] += local45 * local11; - @Pc(58) int local58 = local48 + 1; - arg1[local48] += local45 * local15; - @Pc(68) int local68 = local43 - 1; - @Pc(70) byte local70 = arg0[local43]; - @Pc(73) int local73 = local58 + 1; - arg1[local58] += local70 * local11; - @Pc(83) int local83 = local73 + 1; - arg1[local73] += local70 * local15; - @Pc(93) int local93 = local68 - 1; - @Pc(95) byte local95 = arg0[local68]; - @Pc(98) int local98 = local83 + 1; - arg1[local83] += local95 * local11; - @Pc(108) int local108 = local98 + 1; - arg1[local98] += local95 * local15; - arg2 = local93 - 1; - @Pc(120) byte local120 = arg0[local93]; - @Pc(123) int local123 = local108 + 1; - arg1[local108] += local120 * local11; - arg3 = local123 + 1; - arg1[local123] += local120 * local15; - } - local24 += 6; - while (arg3 < local24) { - local45 = arg0[arg2--]; - local48 = arg3 + 1; - arg1[arg3] += local45 * local11; - arg3 = local48 + 1; - arg1[local48] += local45 * local15; - } - arg8.anInt346 = arg2 << 8; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "c", descriptor = "(II[B[IIIIIIIILclient!b;II)I") - public static int method415(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { - arg8.anInt355 -= arg8.anInt347 * arg3; - arg8.anInt352 -= arg8.anInt354 * arg3; - @Pc(32) int local32; - if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 + 256 - arg2) / arg9) > arg6) { - local32 = arg6; - } - @Pc(51) int local51; - while (arg3 < local32) { - @Pc(43) int local43 = arg2 >> 8; - @Pc(49) byte local49 = arg0[local43 - 1]; - local51 = arg3++; - arg1[local51] += ((local49 << 8) + (arg0[local43] - local49) * (arg2 & 0xFF)) * arg4 >> 6; - arg4 += arg5; - arg2 += arg9; - } - if (arg9 == 0 || (local32 = arg3 + (arg7 + arg9 - arg2) / arg9) > arg6) { - local32 = arg6; - } - while (arg3 < local32) { - local51 = arg3++; - arg1[local51] += ((arg10 << 8) + (arg0[arg2 >> 8] - arg10) * (arg2 & 0xFF)) * arg4 >> 6; - arg4 += arg5; - arg2 += arg9; - } - arg8.anInt355 += arg8.anInt347 * arg3; - arg8.anInt352 += arg8.anInt354 * arg3; - arg8.anInt348 = arg4; - arg8.anInt346 = arg2; - return arg3; - } - - @OriginalMember(owner = "client!b", name = "d", descriptor = "(II)I") - public static int method419(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - return arg1 < 0 ? arg0 : (int) ((double) arg0 * Math.sqrt((double) (16384 - arg1) * 1.220703125E-4D) + 0.5D); - } - - @OriginalMember(owner = "client!b", name = "d", descriptor = "(II[B[IIIIIIIILclient!b;II)I") - public static int method420(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(7) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) int arg7, @OriginalArg(11) SoundPcmStream arg8, @OriginalArg(12) int arg9, @OriginalArg(13) int arg10) { - @Pc(14) int local14; - if (arg9 == 0 || (local14 = arg3 + (arg7 + arg9 + 256 - arg2) / arg9) > arg6) { - local14 = arg6; - } - arg3 <<= 0x1; - local14 <<= 0x1; - @Pc(56) int local56; - @Pc(53) int local53; - @Pc(55) int local55; - while (arg3 < local14) { - @Pc(33) int local33 = arg2 >> 8; - @Pc(39) byte local39 = arg0[local33 - 1]; - local53 = (local39 << 8) + (arg0[local33] - local39) * (arg2 & 0xFF); - local55 = arg3; - local56 = arg3 + 1; - arg1[local55] += local53 * arg4 >> 6; - @Pc(67) int local67 = local56; - arg3 = local56 + 1; - arg1[local67] += local53 * arg5 >> 6; - arg2 += arg9; - } - if (arg9 == 0 || (local14 = (arg3 >> 1) + (arg7 + arg9 - arg2) / arg9) > arg6) { - local14 = arg6; - } - local14 <<= 0x1; - while (arg3 < local14) { - local53 = (arg10 << 8) + (arg0[arg2 >> 8] - arg10) * (arg2 & 0xFF); - local55 = arg3; - local56 = arg3 + 1; - arg1[local55] += local53 * arg4 >> 6; - local55 = local56; - arg3 = local56 + 1; - arg1[local55] += local53 * arg5 >> 6; - arg2 += arg9; - } - arg8.anInt346 = arg2; - return arg3 >> 1; - } - - @OriginalMember(owner = "client!b", name = "e", descriptor = "(II)I") - public static int method421(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - return arg1 < 0 ? -arg0 : (int) ((double) arg0 * Math.sqrt((double) arg1 * 1.220703125E-4D) + 0.5D); - } - - @OriginalMember(owner = "client!b", name = "b", descriptor = "(II[B[IIIIIIILclient!b;II)I") - public static int method422(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int[] arg1, @OriginalArg(4) int arg2, @OriginalArg(5) int arg3, @OriginalArg(6) int arg4, @OriginalArg(8) int arg5, @OriginalArg(9) int arg6, @OriginalArg(10) SoundPcmStream arg7, @OriginalArg(11) int arg8, @OriginalArg(12) int arg9) { - @Pc(14) int local14; - if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2 - 257) / arg8) > arg5) { - local14 = arg5; - } - @Pc(29) byte local29; - @Pc(31) int local31; - while (arg3 < local14) { - @Pc(25) int local25 = arg2 >> 8; - local29 = arg0[local25]; - local31 = arg3++; - arg1[local31] += ((local29 << 8) + (arg0[local25 + 1] - local29) * (arg2 & 0xFF)) * arg4 >> 6; - arg2 += arg8; - } - if (arg8 == 0 || (local14 = arg3 + (arg6 + arg8 - arg2 - 1) / arg8) > arg5) { - local14 = arg5; - } - while (arg3 < local14) { - local29 = arg0[arg2 >> 8]; - local31 = arg3++; - arg1[local31] += ((local29 << 8) + (arg9 - local29) * (arg2 & 0xFF)) * arg4 >> 6; - arg2 += arg8; - } - arg7.anInt346 = arg2; - return arg3; - } -} diff --git a/client/src/main/java/rt4/Static285.java b/client/src/main/java/rt4/Static285.java deleted file mode 100644 index 83fbd2e..0000000 --- a/client/src/main/java/rt4/Static285.java +++ /dev/null @@ -1,112 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static285 { - - @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIII)V") - public static void method1137(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8) { - @Pc(4) int local4 = -(arg5 >> 2); - @Pc(9) int local9 = -(arg5 & 0x3); - for (@Pc(12) int local12 = -arg6; local12 < 0; local12++) { - @Pc(16) int local16; - for (local16 = local4; local16 < 0; local16++) { - if (arg1[arg3++] == 0) { - arg4++; - } else { - arg0[arg4++] = arg2; - } - if (arg1[arg3++] == 0) { - arg4++; - } else { - arg0[arg4++] = arg2; - } - if (arg1[arg3++] == 0) { - arg4++; - } else { - arg0[arg4++] = arg2; - } - if (arg1[arg3++] == 0) { - arg4++; - } else { - arg0[arg4++] = arg2; - } - } - for (local16 = local9; local16 < 0; local16++) { - if (arg1[arg3++] == 0) { - arg4++; - } else { - arg0[arg4++] = arg2; - } - } - arg4 += arg7; - arg3 += arg8; - } - } - - @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIIIII[I[I)V") - public static void method1138(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int[] arg11, @OriginalArg(12) int[] arg12) { - @Pc(3) int local3 = arg2 - SoftwareRaster.clipLeft; - @Pc(7) int local7 = arg3 - SoftwareRaster.clipTop; - for (@Pc(9) int local9 = local7; local9 < local7 + arg5; local9++) { - @Pc(18) int local18 = arg11[local9]; - @Pc(22) int local22 = arg12[local9]; - @Pc(24) int local24 = arg4; - @Pc(31) int local31; - if (local3 > local18) { - local31 = local3 - local18; - if (local31 >= local22) { - arg7 += arg4 + arg10; - arg8 += arg4 + arg9; - continue; - } - local22 -= local31; - } else { - local31 = local18 - local3; - if (local31 >= arg4) { - arg7 += arg4 + arg10; - arg8 += arg4 + arg9; - continue; - } - arg7 += local31; - local24 = arg4 - local31; - arg8 += local31; - } - local31 = 0; - if (local24 < local22) { - local22 = local24; - } else { - local31 = local24 - local22; - } - for (@Pc(99) int local99 = -local22; local99 < 0; local99++) { - if (arg1[arg7++] == 0) { - arg8++; - } else { - SoftwareRaster.pixels[arg8++] = arg6; - } - } - arg7 += local31 + arg10; - arg8 += local31 + arg9; - } - } - - @OriginalMember(owner = "client!dd", name = "a", descriptor = "([I[BIIIIIIII)V") - public static void method1139(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9) { - @Pc(17) int local17 = ((arg2 & 0xFF00FF) * arg9 & 0xFF00FF00) + ((arg2 & 0xFF00) * arg9 & 0xFF0000) >> 8; - @Pc(21) int local21 = 256 - arg9; - for (@Pc(24) int local24 = -arg6; local24 < 0; local24++) { - for (@Pc(29) int local29 = -arg5; local29 < 0; local29++) { - if (arg1[arg3++] == 0) { - arg4++; - } else { - @Pc(40) int local40 = arg0[arg4]; - arg0[arg4++] = (((local40 & 0xFF00FF) * local21 & 0xFF00FF00) + ((local40 & 0xFF00) * local21 & 0xFF0000) >> 8) + local17; - } - } - arg4 += arg7; - arg3 += arg8; - } - } -} diff --git a/client/src/main/java/rt4/Static286.java b/client/src/main/java/rt4/Static286.java deleted file mode 100644 index c673f01..0000000 --- a/client/src/main/java/rt4/Static286.java +++ /dev/null @@ -1,120 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static286 { - - @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIIIII)V") - public static void method1391(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int arg11) { - @Pc(1) int local1 = arg3; - for (@Pc(4) int local4 = -arg8; local4 < 0; local4++) { - @Pc(12) int local12 = (arg4 >> 16) * arg11; - for (@Pc(15) int local15 = -arg7; local15 < 0; local15++) { - @Pc(25) byte local25 = arg1[(arg3 >> 16) + local12]; - if (local25 == 0) { - arg5++; - } else { - arg0[arg5++] = arg2[local25 & 0xFF]; - } - arg3 += arg9; - } - arg4 += arg10; - arg3 = local1; - arg5 += arg6; - } - } - - @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIII)V") - public static void method1393(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { - @Pc(4) int local4 = -(arg5 >> 2); - @Pc(9) int local9 = -(arg5 & 0x3); - for (@Pc(12) int local12 = -arg6; local12 < 0; local12++) { - @Pc(16) int local16; - @Pc(23) byte local23; - for (local16 = local4; local16 < 0; local16++) { - local23 = arg1[arg3++]; - if (local23 == 0) { - arg4++; - } else { - arg0[arg4++] = arg2[local23 & 0xFF]; - } - local23 = arg1[arg3++]; - if (local23 == 0) { - arg4++; - } else { - arg0[arg4++] = arg2[local23 & 0xFF]; - } - local23 = arg1[arg3++]; - if (local23 == 0) { - arg4++; - } else { - arg0[arg4++] = arg2[local23 & 0xFF]; - } - local23 = arg1[arg3++]; - if (local23 == 0) { - arg4++; - } else { - arg0[arg4++] = arg2[local23 & 0xFF]; - } - } - for (local16 = local9; local16 < 0; local16++) { - local23 = arg1[arg3++]; - if (local23 == 0) { - arg4++; - } else { - arg0[arg4++] = arg2[local23 & 0xFF]; - } - } - arg4 += arg7; - arg3 += arg8; - } - } - - @OriginalMember(owner = "client!ek", name = "a", descriptor = "([I[B[IIIIIIIIIII)V") - public static void method1394(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int arg11, @OriginalArg(12) int arg12) { - @Pc(1) int local1 = arg3; - @Pc(7) int local7 = arg12 >> 16 & 0xFF; - @Pc(13) int local13 = arg12 >> 8 & 0xFF; - @Pc(17) int local17 = arg12 & 0xFF; - for (@Pc(20) int local20 = -arg8; local20 < 0; local20++) { - @Pc(28) int local28 = (arg4 >> 16) * arg11; - for (@Pc(31) int local31 = -arg7; local31 < 0; local31++) { - @Pc(41) byte local41 = arg1[(arg3 >> 16) + local28]; - if (local41 == 0) { - arg5++; - } else { - @Pc(49) int local49 = arg2[local41 & 0xFF]; - @Pc(55) int local55 = local49 >> 16 & 0xFF; - @Pc(61) int local61 = local49 >> 8 & 0xFF; - @Pc(65) int local65 = local49 & 0xFF; - arg0[arg5++] = (local55 * local7 >> 8 << 16) + (local61 * local13 >> 8 << 8) + (local65 * local17 >> 8); - } - arg3 += arg9; - } - arg4 += arg10; - arg3 = local1; - arg5 += arg6; - } - } - - @OriginalMember(owner = "client!ek", name = "b", descriptor = "([I[B[IIIIIIII)V") - public static void method1397(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9) { - @Pc(3) int local3 = 256 - arg9; - for (@Pc(6) int local6 = -arg6; local6 < 0; local6++) { - for (@Pc(11) int local11 = -arg5; local11 < 0; local11++) { - @Pc(18) byte local18 = arg1[arg3++]; - if (local18 == 0) { - arg4++; - } else { - @Pc(26) int local26 = arg2[local18 & 0xFF]; - @Pc(30) int local30 = arg0[arg4]; - arg0[arg4++] = ((local26 & 0xFF00FF) * arg9 + (local30 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local26 & 0xFF00) * arg9 + (local30 & 0xFF00) * local3 & 0xFF0000) >> 8; - } - } - arg4 += arg7; - arg3 += arg8; - } - } -} diff --git a/client/src/main/java/rt4/Static290.java b/client/src/main/java/rt4/Static290.java deleted file mode 100644 index c30bbe4..0000000 --- a/client/src/main/java/rt4/Static290.java +++ /dev/null @@ -1,179 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static290 { - - @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIII)V") - public static void method300(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { - @Pc(4) int local4 = -(arg4 >> 2); - @Pc(9) int local9 = -(arg4 & 0x3); - for (@Pc(12) int local12 = -arg5; local12 < 0; local12++) { - @Pc(16) int local16; - @Pc(23) int local23; - for (local16 = local4; local16 < 0; local16++) { - local23 = arg1[arg2++]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2++]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2++]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2++]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - } - for (local16 = local9; local16 < 0; local16++) { - local23 = arg1[arg2++]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!mm", name = "b", descriptor = "([I[IIIIIIII)V") - public static void method302(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { - @Pc(4) int local4 = -(arg4 >> 2); - @Pc(9) int local9 = -(arg4 & 0x3); - for (@Pc(12) int local12 = -arg5; local12 < 0; local12++) { - @Pc(16) int local16; - @Pc(23) int local23; - for (local16 = local4; local16 < 0; local16++) { - local23 = arg1[arg2--]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2--]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2--]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - local23 = arg1[arg2--]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - } - for (local16 = local9; local16 < 0; local16++) { - local23 = arg1[arg2--]; - if (local23 == 0) { - arg3++; - } else { - arg0[arg3++] = local23; - } - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIII)V") - public static void method305(@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, @OriginalArg(7) int arg7) { - for (@Pc(2) int local2 = -arg5; local2 < 0; local2++) { - @Pc(10) int local10 = arg3 + arg4 - 3; - while (arg3 < local10) { - arg0[arg3++] = arg1[arg2++]; - arg0[arg3++] = arg1[arg2++]; - arg0[arg3++] = arg1[arg2++]; - arg0[arg3++] = arg1[arg2++]; - } - local10 += 3; - while (arg3 < local10) { - arg0[arg3++] = arg1[arg2++]; - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIIIIII)V") - public static void method307(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10, @OriginalArg(12) int arg11) { - @Pc(3) int local3 = 256 - arg11; - @Pc(5) int local5 = arg2; - for (@Pc(8) int local8 = -arg7; local8 < 0; local8++) { - @Pc(16) int local16 = (arg3 >> 16) * arg10; - for (@Pc(19) int local19 = -arg6; local19 < 0; local19++) { - @Pc(29) int local29 = arg1[(arg2 >> 16) + local16]; - if (local29 == 0) { - arg4++; - } else { - @Pc(35) int local35 = arg0[arg4]; - arg0[arg4++] = ((local29 & 0xFF00FF) * arg11 + (local35 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local29 & 0xFF00) * arg11 + (local35 & 0xFF00) * local3 & 0xFF0000) >> 8; - } - arg2 += arg8; - } - arg3 += arg9; - arg2 = local5; - arg4 += arg5; - } - } - - @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIII)V") - public static void method308(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8) { - @Pc(3) int local3 = 256 - arg8; - for (@Pc(6) int local6 = -arg5; local6 < 0; local6++) { - for (@Pc(11) int local11 = -arg4; local11 < 0; local11++) { - @Pc(18) int local18 = arg1[arg2++]; - if (local18 == 0) { - arg3++; - } else { - @Pc(24) int local24 = arg0[arg3]; - arg0[arg3++] = ((local18 & 0xFF00FF) * arg8 + (local24 & 0xFF00FF) * local3 & 0xFF00FF00) + ((local18 & 0xFF00) * arg8 + (local24 & 0xFF00) * local3 & 0xFF0000) >> 8; - } - } - arg3 += arg6; - arg2 += arg7; - } - } - - @OriginalMember(owner = "client!mm", name = "a", descriptor = "([I[IIIIIIIIIII)V") - public static void method316(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { - @Pc(1) int local1 = arg2; - for (@Pc(4) int local4 = -arg7; local4 < 0; local4++) { - @Pc(12) int local12 = (arg3 >> 16) * arg10; - for (@Pc(15) int local15 = -arg6; local15 < 0; local15++) { - @Pc(25) int local25 = arg1[(arg2 >> 16) + local12]; - if (local25 == 0) { - arg4++; - } else { - arg0[arg4++] = local25; - } - arg2 += arg8; - } - arg3 += arg9; - arg2 = local1; - arg4 += arg5; - } - } -} diff --git a/client/src/main/java/rt4/Static3.java b/client/src/main/java/rt4/Static3.java index 4be0403..23e1760 100644 --- a/client/src/main/java/rt4/Static3.java +++ b/client/src/main/java/rt4/Static3.java @@ -43,7 +43,7 @@ public final class Static3 { } } Static105.aClass114Array1 = new Class114[local22]; - Static289.method2617(local20, 0, Static105.aClass114Array1, 0, local22); + ArrayUtils.copy(local20, 0, Static105.aClass114Array1, 0, local22); @Pc(112) int[] local112 = new int[Static105.aClass114Array1.length]; for (@Pc(114) int local114 = 0; local114 < Static105.aClass114Array1.length; local114++) { @Pc(122) Class114 local122 = Static105.aClass114Array1[local114]; diff --git a/client/src/main/java/rt4/Static4.java b/client/src/main/java/rt4/Static4.java index 550593e..4e51702 100644 --- a/client/src/main/java/rt4/Static4.java +++ b/client/src/main/java/rt4/Static4.java @@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static4 { - @OriginalMember(owner = "client!ac", name = "e", descriptor = "[[[B") - public static byte[][][] aByteArrayArrayArray1; - @OriginalMember(owner = "client!ac", name = "i", descriptor = "Lclient!ih;") public static final LinkedList highPriorityRequests = new LinkedList(); @@ -26,8 +23,8 @@ public final class Static4 { @OriginalMember(owner = "client!ac", name = "a", descriptor = "(IIII)I") public static int method22(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(3) int arg2) { - if ((Static12.tileSettings[arg2][arg1][arg0] & 0x8) == 0) { - return arg2 <= 0 || (Static12.tileSettings[1][arg1][arg0] & 0x2) == 0 ? arg2 : arg2 - 1; + if ((SceneGraph.tileFlags[arg2][arg1][arg0] & 0x8) == 0) { + return arg2 <= 0 || (SceneGraph.tileFlags[1][arg1][arg0] & 0x2) == 0 ? arg2 : arg2 - 1; } else { return 0; } diff --git a/client/src/main/java/rt4/Static40.java b/client/src/main/java/rt4/Static40.java index 041fcf8..06c36ec 100644 --- a/client/src/main/java/rt4/Static40.java +++ b/client/src/main/java/rt4/Static40.java @@ -76,12 +76,7 @@ public final class Static40 { Static184.cameraYaw = (int) ((double) Static84.aFloat10 * 325.949D) & 0x7FF; } - @OriginalMember(owner = "client!da", name = "a", descriptor = "(ILclient!ve;Z)Lclient!ok;") - public static IndexedSprite loadIndexedSpriteAutoDetect(@OriginalArg(0) int arg0, @OriginalArg(1) Js5 arg1) { - return SpriteLoader.decode(arg1, arg0) ? Static276.method4614() : null; - } - - @OriginalMember(owner = "client!da", name = "a", descriptor = "(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;") + @OriginalMember(owner = "client!da", name = "a", descriptor = "(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;") public static String method1014(@OriginalArg(0) String arg0, @OriginalArg(1) String arg1, @OriginalArg(3) String arg2) { for (@Pc(5) int local5 = arg2.indexOf(arg0); local5 != -1; local5 = arg2.indexOf(arg0, local5 + arg1.length())) { arg2 = arg2.substring(0, local5) + arg1 + arg2.substring(arg0.length() + local5); diff --git a/client/src/main/java/rt4/Static45.java b/client/src/main/java/rt4/Static45.java index 42b34a7..0f53b37 100644 --- a/client/src/main/java/rt4/Static45.java +++ b/client/src/main/java/rt4/Static45.java @@ -23,9 +23,9 @@ public final class Static45 { for (level = 0; level < 4; level++) { for (x = 0; x < 104; x++) { for (@Pc(22) int z = 0; z < 104; z++) { - if ((Static12.tileSettings[level][x][z] & 0x1) == 1) { + if ((SceneGraph.tileFlags[level][x][z] & 0x1) == 1) { @Pc(43) int transformedLevel = level; - if ((Static12.tileSettings[1][x][z] & 0x2) == 2) { + if ((SceneGraph.tileFlags[1][x][z] & 0x2) == 2) { transformedLevel = level - 1; } if (transformedLevel >= 0) { @@ -83,8 +83,8 @@ public final class Static45 { local173 = local168 * 768 >> 8; for (local178 = 1; local178 < 103; local178++) { for (local194 = 1; local194 < 103; local194++) { - local209 = SceneGraph.activeTileHeightMap[local152][local194][local178 + 1] - SceneGraph.activeTileHeightMap[local152][local194][local178 - 1]; - local202 = SceneGraph.activeTileHeightMap[local152][local194 + 1][local178] - SceneGraph.activeTileHeightMap[local152][local194 - 1][local178]; + local209 = SceneGraph.tileHeights[local152][local194][local178 + 1] - SceneGraph.tileHeights[local152][local194][local178 - 1]; + local202 = SceneGraph.tileHeights[local152][local194 + 1][local178] - SceneGraph.tileHeights[local152][local194 - 1][local178]; local349 = (int) Math.sqrt((double) (local202 * local202 + local209 * local209 + 65536)); local267 = (local209 << 8) / local349; local254 = -65536 / local349; @@ -109,8 +109,8 @@ public final class Static45 { local200 = local194 * 1024 >> 8; for (local202 = 1; local202 < 103; local202++) { for (local209 = 1; local209 < 103; local209++) { - local234 = SceneGraph.activeTileHeightMap[local152][local209 + 1][local202] - SceneGraph.activeTileHeightMap[local152][local209 - 1][local202]; - local254 = SceneGraph.activeTileHeightMap[local152][local209][local202 + 1] - SceneGraph.activeTileHeightMap[local152][local209][local202 - 1]; + local234 = SceneGraph.tileHeights[local152][local209 + 1][local202] - SceneGraph.tileHeights[local152][local209 - 1][local202]; + local254 = SceneGraph.tileHeights[local152][local209][local202 + 1] - SceneGraph.tileHeights[local152][local209][local202 - 1]; local267 = (int) Math.sqrt((double) (local234 * local234 + local254 * local254 + 65536)); local273 = (local234 << 8) / local267; local322 = (local159[local209][local202 + 1] >> 3) + (local159[local209][local202 - 1] >> 2) + (local159[local209 - 1][local202] >> 2) + (local159[local209 + 1][local202] >> 3) + (local159[local209][local202] >> 1); @@ -133,7 +133,7 @@ public final class Static45 { local178 = local168 + 5; @Pc(729) int local729; if (local178 < 104) { - local194 = Static253.aByteArrayArrayArray16[local152][local178][local173] & 0xFF; + local194 = SceneGraph.tileUnderlays[local152][local178][local173] & 0xFF; if (local194 > 0) { @Pc(693) FluType local693 = FluTypeList.get(local194 - 1); Static221.anIntArray376[local173] += local693.weightedHue; @@ -145,7 +145,7 @@ public final class Static45 { } local194 = local168 - 5; if (local194 >= 0) { - local200 = Static253.aByteArrayArrayArray16[local152][local194][local173] & 0xFF; + local200 = SceneGraph.tileUnderlays[local152][local194][local173] & 0xFF; if (local200 > 0) { @Pc(758) FluType local758 = FluTypeList.get(local200 - 1); Static221.anIntArray376[local173] -= local758.weightedHue; @@ -187,20 +187,20 @@ public final class Static45 { } for (local168 = 1; local168 < 103; local168++) { label771: for (local173 = 1; local173 < 103; local173++) { - if (underwater || SceneGraph.allLevelsAreVisible() || (Static12.tileSettings[0][local168][local173] & 0x2) != 0 || (Static12.tileSettings[local152][local168][local173] & 0x10) == 0 && Static4.method22(local173, local168, local152) == Static41.anInt1316) { + if (underwater || SceneGraph.allLevelsAreVisible() || (SceneGraph.tileFlags[0][local168][local173] & 0x2) != 0 || (SceneGraph.tileFlags[local152][local168][local173] & 0x10) == 0 && Static4.method22(local173, local168, local152) == Static41.anInt1316) { if (Static146.anInt3508 > local152) { Static146.anInt3508 = local152; } - local178 = Static253.aByteArrayArrayArray16[local152][local168][local173] & 0xFF; - local194 = Static240.aByteArrayArrayArray14[local152][local168][local173] & 0xFF; + local178 = SceneGraph.tileUnderlays[local152][local168][local173] & 0xFF; + local194 = SceneGraph.tileOverlays[local152][local168][local173] & 0xFF; if (local178 > 0 || local194 > 0) { - local202 = SceneGraph.activeTileHeightMap[local152][local168 + 1][local173]; - local200 = SceneGraph.activeTileHeightMap[local152][local168][local173]; - local349 = SceneGraph.activeTileHeightMap[local152][local168][local173 + 1]; - local209 = SceneGraph.activeTileHeightMap[local152][local168 + 1][local173 + 1]; + local202 = SceneGraph.tileHeights[local152][local168 + 1][local173]; + local200 = SceneGraph.tileHeights[local152][local168][local173]; + local349 = SceneGraph.tileHeights[local152][local168][local173 + 1]; + local209 = SceneGraph.tileHeights[local152][local168 + 1][local173 + 1]; if (local152 > 0) { @Pc(1067) boolean local1067 = true; - if (local178 == 0 && Static163.aByteArrayArrayArray11[local152][local168][local173] != 0) { + if (local178 == 0 && SceneGraph.tileShapes[local152][local168][local173] != 0) { local1067 = false; } if (local194 > 0 && !FloTypeList.method4395(local194 - 1).aBoolean312) { @@ -231,13 +231,13 @@ public final class Static45 { if (local194 == 0) { Static176.method3305(local152, local168, local173, 0, 0, -1, local200, local202, local209, local349, Static87.method1814(local267, local234), Static87.method1814(local273, local234), Static87.method1814(local326, local234), Static87.method1814(local332, local234), 0, 0, 0, 0, local254, 0); if (GlRenderer.enabled && local152 > 0 && local234 != -1 && FluTypeList.get(local178 - 1).aBoolean198) { - Static242.method4197(0, 0, true, false, local168, local173, local200 - SceneGraph.activeTileHeightMap[0][local168][local173], -SceneGraph.activeTileHeightMap[0][local168 + 1][local173] + local202, local209 - SceneGraph.activeTileHeightMap[0][local168 + 1][local173 + 1], local349 - SceneGraph.activeTileHeightMap[0][local168][local173 + 1]); + Static242.method4197(0, 0, true, false, local168, local173, local200 - SceneGraph.tileHeights[0][local168][local173], -SceneGraph.tileHeights[0][local168 + 1][local173] + local202, local209 - SceneGraph.tileHeights[0][local168 + 1][local173 + 1], local349 - SceneGraph.tileHeights[0][local168][local173 + 1]); } if (GlRenderer.enabled && !underwater && Static62.anIntArrayArray11 != null && local152 == 0) { for (local322 = local168 - 1; local322 <= local168 + 1; local322++) { for (@Pc(1794) int local1794 = local173 - 1; local1794 <= local173 + 1; local1794++) { if ((local322 != local168 || local173 != local1794) && local322 >= 0 && local322 < 104 && local1794 >= 0 && local1794 < 104) { - @Pc(1834) int local1834 = Static240.aByteArrayArrayArray14[local152][local322][local1794] & 0xFF; + @Pc(1834) int local1834 = SceneGraph.tileOverlays[local152][local322][local1794] & 0xFF; if (local1834 != 0) { @Pc(1842) FloType local1842 = FloTypeList.method4395(local1834 - 1); if (local1842.texture != -1 && Rasteriser.textureProvider.method3237(local1842.texture) == 4) { @@ -250,8 +250,8 @@ public final class Static45 { } } } else { - local322 = Static163.aByteArrayArrayArray11[local152][local168][local173] + 1; - @Pc(1242) byte local1242 = Static4.aByteArrayArrayArray1[local152][local168][local173]; + local322 = SceneGraph.tileShapes[local152][local168][local173] + 1; + @Pc(1242) byte local1242 = SceneGraph.tileAngles[local152][local168][local173]; @Pc(1248) FloType local1248 = FloTypeList.method4395(local194 - 1); @Pc(1301) int local1301; @Pc(1353) int local1353; @@ -263,7 +263,7 @@ public final class Static45 { label737: for (local1288 = local168 - 1; local1288 <= local168 + 1; local1288++) { for (local1301 = local173 - 1; local1301 <= local173 + 1; local1301++) { if ((local168 != local1288 || local1301 != local173) && local1288 >= 0 && local1288 < 104 && local1301 >= 0 && local1301 < 104) { - local1353 = Static240.aByteArrayArrayArray14[local152][local1288][local1301] & 0xFF; + local1353 = SceneGraph.tileOverlays[local152][local1288][local1301] & 0xFF; if (local1353 != 0) { @Pc(1366) FloType local1366 = FloTypeList.method4395(local1353 - 1); if (local1366.texture != -1 && Rasteriser.textureProvider.method3237(local1366.texture) == 4) { @@ -312,7 +312,7 @@ public final class Static45 { } Static176.method3305(local152, local168, local173, local322, local1242, local1288, local200, local202, local209, local349, Static87.method1814(local267, local234), Static87.method1814(local273, local234), Static87.method1814(local326, local234), Static87.method1814(local332, local234), Static230.method3949(local1301, local267), Static230.method3949(local1301, local273), Static230.method3949(local1301, local326), Static230.method3949(local1301, local332), local254, local1353); if (GlRenderer.enabled && local152 > 0) { - Static242.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).aBoolean198, local168, local173, local200 - SceneGraph.activeTileHeightMap[0][local168][local173], local202 - SceneGraph.activeTileHeightMap[0][local168 + 1][local173], local209 - SceneGraph.activeTileHeightMap[0][local168 + 1][local173 + 1], -SceneGraph.activeTileHeightMap[0][local168][local173 + 1] + local349); + Static242.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).aBoolean198, local168, local173, local200 - SceneGraph.tileHeights[0][local168][local173], local202 - SceneGraph.tileHeights[0][local168 + 1][local173], local209 - SceneGraph.tileHeights[0][local168 + 1][local173 + 1], -SceneGraph.tileHeights[0][local168][local173 + 1] + local349); } } } @@ -321,7 +321,7 @@ public final class Static45 { } if (GlRenderer.enabled) { @Pc(1888) float[][] local1888 = new float[105][105]; - @Pc(1892) int[][] local1892 = SceneGraph.activeTileHeightMap[local152]; + @Pc(1892) int[][] local1892 = SceneGraph.tileHeights[local152]; @Pc(1896) float[][] local1896 = new float[105][105]; @Pc(1900) float[][] local1900 = new float[105][105]; local200 = 1; @@ -329,12 +329,12 @@ public final class Static45 { if (local200 > 103) { @Pc(2025) GlTile[] local2025; if (underwater) { - local2025 = Static193.method3501(Static12.tileSettings, Static163.aByteArrayArrayArray11[local152], Static253.aByteArrayArrayArray16[local152], local146, local1896, Static62.anIntArrayArray11, Static240.aByteArrayArrayArray14[local152], Static4.aByteArrayArrayArray1[local152], local1888, local152, local1900, local142, SceneGraph.activeTileHeightMap[local152], Static107.surfaceTileHeightMap[0]); + local2025 = Static193.method3501(SceneGraph.tileFlags, SceneGraph.tileShapes[local152], SceneGraph.tileUnderlays[local152], local146, local1896, Static62.anIntArrayArray11, SceneGraph.tileOverlays[local152], SceneGraph.tileAngles[local152], local1888, local152, local1900, local142, SceneGraph.tileHeights[local152], SceneGraph.surfaceTileHeights[0]); Static110.method2280(local152, local2025); break; } - local2025 = Static193.method3501(Static12.tileSettings, Static163.aByteArrayArrayArray11[local152], Static253.aByteArrayArrayArray16[local152], local146, local1896, null, Static240.aByteArrayArrayArray14[local152], Static4.aByteArrayArrayArray1[local152], local1888, local152, local1900, local142, SceneGraph.activeTileHeightMap[local152], null); - @Pc(2049) GlTile[] local2049 = Static1.method2(local1896, local1888, SceneGraph.activeTileHeightMap[local152], local152, local1900, Static4.aByteArrayArrayArray1[local152], local146, Static163.aByteArrayArrayArray11[local152], Static253.aByteArrayArrayArray16[local152], Static240.aByteArrayArrayArray14[local152], Static12.tileSettings); + local2025 = Static193.method3501(SceneGraph.tileFlags, SceneGraph.tileShapes[local152], SceneGraph.tileUnderlays[local152], local146, local1896, null, SceneGraph.tileOverlays[local152], SceneGraph.tileAngles[local152], local1888, local152, local1900, local142, SceneGraph.tileHeights[local152], null); + @Pc(2049) GlTile[] local2049 = Static1.method2(local1896, local1888, SceneGraph.tileHeights[local152], local152, local1900, SceneGraph.tileAngles[local152], local146, SceneGraph.tileShapes[local152], SceneGraph.tileUnderlays[local152], SceneGraph.tileOverlays[local152], SceneGraph.tileFlags); @Pc(2057) GlTile[] local2057 = new GlTile[local2025.length + local2049.length]; for (local349 = 0; local349 < local2025.length; local349++) { local2057[local349] = local2025[local349]; @@ -343,7 +343,7 @@ public final class Static45 { local2057[local2025.length + local349] = local2049[local349]; } Static110.method2280(local152, local2057); - Static221.method3393(local1900, Static253.aByteArrayArrayArray16[local152], Static4.aByteArrayArrayArray1[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, Static163.aByteArrayArrayArray11[local152], Static240.aByteArrayArrayArray14[local152], SceneGraph.activeTileHeightMap[local152], local1888); + Static221.method3393(local1900, SceneGraph.tileUnderlays[local152], SceneGraph.tileAngles[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, SceneGraph.tileShapes[local152], SceneGraph.tileOverlays[local152], SceneGraph.tileHeights[local152], local1888); break; } for (local202 = 1; local202 <= 103; local202++) { @@ -357,10 +357,10 @@ public final class Static45 { local200++; } } - Static253.aByteArrayArrayArray16[local152] = null; - Static240.aByteArrayArrayArray14[local152] = null; - Static163.aByteArrayArrayArray11[local152] = null; - Static4.aByteArrayArrayArray1[local152] = null; + SceneGraph.tileUnderlays[local152] = null; + SceneGraph.tileOverlays[local152] = null; + SceneGraph.tileShapes[local152] = null; + SceneGraph.tileAngles[local152] = null; Static118.aByteArrayArrayArray9[local152] = null; } Static220.method3801(); @@ -370,7 +370,7 @@ public final class Static45 { @Pc(2204) int local2204; for (local152 = 0; local152 < 104; local152++) { for (local2204 = 0; local2204 < 104; local2204++) { - if ((Static12.tileSettings[1][local152][local2204] & 0x2) == 2) { + if ((SceneGraph.tileFlags[1][local152][local2204] & 0x2) == 2) { Static224.method3884(local152, local2204); } } @@ -403,8 +403,8 @@ public final class Static45 { } local202 = (local200 + 1 - local194) * (-local173 + (local178 - -1)); if (local202 >= 8) { - local349 = SceneGraph.activeTileHeightMap[local200][local168][local173] - 240; - local234 = SceneGraph.activeTileHeightMap[local194][local168][local173]; + local349 = SceneGraph.tileHeights[local200][local168][local173] - 240; + local234 = SceneGraph.tileHeights[local194][local168][local173]; Static278.method4647(1, local168 * 128, local168 * 128, local173 * 128, local178 * 128 + 128, local349, local234); for (local254 = local194; local254 <= local200; local254++) { for (local267 = local173; local267 <= local178; local267++) { @@ -438,8 +438,8 @@ public final class Static45 { } local202 = (local178 + 1 - local173) * (-local194 + local200 - -1); if (local202 >= 8) { - local349 = SceneGraph.activeTileHeightMap[local200][local173][local2204] - 240; - local234 = SceneGraph.activeTileHeightMap[local194][local173][local2204]; + local349 = SceneGraph.tileHeights[local200][local173][local2204] - 240; + local234 = SceneGraph.tileHeights[local194][local173][local2204]; Static278.method4647(2, local173 * 128, local178 * 128 + 128, local2204 * 128, local2204 * 128, local349, local234); for (local254 = local194; local254 <= local200; local254++) { for (local267 = local173; local267 <= local178; local267++) { @@ -472,7 +472,7 @@ public final class Static45 { local178++; } if ((local178 + 1 - local173) * (local200 - (local194 - 1)) >= 4) { - local202 = SceneGraph.activeTileHeightMap[local152][local173][local194]; + local202 = SceneGraph.tileHeights[local152][local173][local194]; Static278.method4647(4, local173 * 128, local178 * 128 + 128, local194 * 128, local200 * 128 + 128, local202, local202); for (local209 = local173; local209 <= local178; local209++) { for (local349 = local194; local349 <= local200; local349++) { diff --git a/client/src/main/java/rt4/Static54.java b/client/src/main/java/rt4/Static54.java index 1992c6a..6ca9f4c 100644 --- a/client/src/main/java/rt4/Static54.java +++ b/client/src/main/java/rt4/Static54.java @@ -23,7 +23,7 @@ public final class Static54 { public static void method1305(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) Component arg3) { client.audioLoop(); if (GlRenderer.enabled) { - Static46.method1187(arg2, arg1, arg2 + arg3.anInt445, arg1 + arg3.anInt459); + GlRaster.method1187(arg2, arg1, arg2 + arg3.anInt445, arg1 + arg3.anInt459); } else { SoftwareRaster.method2496(arg2, arg1, arg2 + arg3.anInt445, arg1 + arg3.anInt459); } @@ -192,7 +192,7 @@ public final class Static54 { Static60.method1446(arg3, Sprites.mapflags, local181, local146, arg1, arg2); } if (GlRenderer.enabled) { - Static46.method1186(arg2 + arg3.anInt445 / 2 - 1, arg1 + -1 - -(arg3.anInt459 / 2), 3, 3, 16777215); + GlRaster.method1186(arg2 + arg3.anInt445 / 2 - 1, arg1 + -1 - -(arg3.anInt459 / 2), 3, 3, 16777215); } else { SoftwareRaster.fillRect(arg3.anInt445 / 2 + arg2 - 1, arg3.anInt459 / 2 + -1 + arg1, 3, 3, 16777215); } diff --git a/client/src/main/java/rt4/Static65.java b/client/src/main/java/rt4/Static65.java index 3460ef8..e3380ad 100644 --- a/client/src/main/java/rt4/Static65.java +++ b/client/src/main/java/rt4/Static65.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 Static65 { @@ -17,16 +16,4 @@ public final class Static65 { return Static254.method4350(arg0); } - @OriginalMember(owner = "client!fc", name = "a", descriptor = "(III)I") - public static int method1498(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - @Pc(36) int local36 = Static115.method2309(4, arg1 + 45365, arg0 - -91923) + (Static115.method2309(2, arg1 + 10294, arg0 + 37821) - 128 >> 1) + (Static115.method2309(1, arg1, arg0) + -128 >> 2) - 128; - local36 = (int) ((double) local36 * 0.3D) + 35; - if (local36 < 10) { - local36 = 10; - } else if (local36 > 60) { - local36 = 60; - } - return local36; - } - } diff --git a/client/src/main/java/rt4/Static69.java b/client/src/main/java/rt4/Static69.java index 20fb289..7191141 100644 --- a/client/src/main/java/rt4/Static69.java +++ b/client/src/main/java/rt4/Static69.java @@ -69,7 +69,7 @@ public final class Static69 { if (local39 >= 0 && local39 < Static99.mapSizeZ && (!local1 || local28 >= local7 || local39 >= local15 || local39 < arg3 && local28 != arg2)) { @Pc(71) Tile local71 = SceneGraph.tiles[local17][local28][local39]; if (local71 != null) { - @Pc(158) int local158 = (SceneGraph.activeTileHeightMap[local17][local28][local39] + SceneGraph.activeTileHeightMap[local17][local28 + 1][local39] + SceneGraph.activeTileHeightMap[local17][local28][local39 + 1] + SceneGraph.activeTileHeightMap[local17][local28 + 1][local39 + 1]) / 4 - (SceneGraph.activeTileHeightMap[arg1][arg2][arg3] + SceneGraph.activeTileHeightMap[arg1][arg2 + 1][arg3] + SceneGraph.activeTileHeightMap[arg1][arg2][arg3 + 1] + SceneGraph.activeTileHeightMap[arg1][arg2 + 1][arg3 + 1]) / 4; + @Pc(158) int local158 = (SceneGraph.tileHeights[local17][local28][local39] + SceneGraph.tileHeights[local17][local28 + 1][local39] + SceneGraph.tileHeights[local17][local28][local39 + 1] + SceneGraph.tileHeights[local17][local28 + 1][local39 + 1]) / 4 - (SceneGraph.tileHeights[arg1][arg2][arg3] + SceneGraph.tileHeights[arg1][arg2 + 1][arg3] + SceneGraph.tileHeights[arg1][arg2][arg3 + 1] + SceneGraph.tileHeights[arg1][arg2 + 1][arg3 + 1]) / 4; @Pc(161) Wall local161 = local71.aClass77_1; if (local161 != null) { if (local161.primary.method4543()) { diff --git a/client/src/main/java/rt4/Static73.java b/client/src/main/java/rt4/Static73.java index 88832e6..ff01834 100644 --- a/client/src/main/java/rt4/Static73.java +++ b/client/src/main/java/rt4/Static73.java @@ -77,7 +77,7 @@ public final class Static73 { } local16 = (arg1 << 7) + 1; local20 = (arg3 << 7) + 2; - @Pc(156) int local156 = SceneGraph.activeTileHeightMap[arg0][arg1][arg3] + arg5; + @Pc(156) int local156 = SceneGraph.tileHeights[arg0][arg1][arg3] + arg5; if (!Static256.method4394(local16, local156, local20)) { return false; } @@ -96,7 +96,7 @@ public final class Static73 { } else if (Static9.method187(arg0, arg1, arg3)) { local16 = arg1 << 7; local20 = arg3 << 7; - return Static256.method4394(local16 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg3] + arg5, local20 + 1) && Static256.method4394(local16 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg3] + arg5, local20 + 1) && Static256.method4394(local16 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg3 + 1] + arg5, local20 + 128 - 1) && Static256.method4394(local16 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg3 + 1] + arg5, local20 + 128 - 1); + return Static256.method4394(local16 + 1, SceneGraph.tileHeights[arg0][arg1][arg3] + arg5, local20 + 1) && Static256.method4394(local16 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg3] + arg5, local20 + 1) && Static256.method4394(local16 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg3 + 1] + arg5, local20 + 128 - 1) && Static256.method4394(local16 + 1, SceneGraph.tileHeights[arg0][arg1][arg3 + 1] + arg5, local20 + 128 - 1); } else { return false; } diff --git a/client/src/main/java/rt4/Static74.java b/client/src/main/java/rt4/Static74.java index e47d248..dcdc34b 100644 --- a/client/src/main/java/rt4/Static74.java +++ b/client/src/main/java/rt4/Static74.java @@ -42,16 +42,16 @@ public final class Static74 { SoftwareRaster.drawHorizontalLine(arg2 + 1, local35 + arg3 - (-local54 + -14), 15, Static20.anInt671); return; } - Static46.method1186(arg2, arg3 + 16, 16, arg4 - 32, Static182.anInt4306); - Static46.method1186(arg2, arg3 + local54 + 16, 16, local35, Static53.anInt1704); - Static46.method1176(arg2, local54 + arg3 + 16, local35, Static219.anInt4938); - Static46.method1176(arg2 + 1, local54 + 16 + arg3, local35, Static219.anInt4938); - Static46.method1174(arg2, local54 + arg3 + 16, 16, Static219.anInt4938); - Static46.method1174(arg2, local54 + arg3 + 17, 16, Static219.anInt4938); - Static46.method1176(arg2 + 15, arg3 + (16 - -local54), local35, Static20.anInt671); - Static46.method1176(arg2 + 14, arg3 - -local54 + 17, local35 - 1, Static20.anInt671); - Static46.method1174(arg2, local35 + arg3 + local54 + 15, 16, Static20.anInt671); - Static46.method1174(arg2 + 1, arg3 + 14 - -local54 + local35, 15, Static20.anInt671); + GlRaster.method1186(arg2, arg3 + 16, 16, arg4 - 32, Static182.anInt4306); + GlRaster.method1186(arg2, arg3 + local54 + 16, 16, local35, Static53.anInt1704); + GlRaster.method1176(arg2, local54 + arg3 + 16, local35, Static219.anInt4938); + GlRaster.method1176(arg2 + 1, local54 + 16 + arg3, local35, Static219.anInt4938); + GlRaster.method1174(arg2, local54 + arg3 + 16, 16, Static219.anInt4938); + GlRaster.method1174(arg2, local54 + arg3 + 17, 16, Static219.anInt4938); + GlRaster.method1176(arg2 + 15, arg3 + (16 - -local54), local35, Static20.anInt671); + GlRaster.method1176(arg2 + 14, arg3 - -local54 + 17, local35 - 1, Static20.anInt671); + GlRaster.method1174(arg2, local35 + arg3 + local54 + 15, 16, Static20.anInt671); + GlRaster.method1174(arg2 + 1, arg3 + 14 - -local54 + local35, 15, Static20.anInt671); } @OriginalMember(owner = "client!fn", name = "a", descriptor = "(ILclient!be;)V") diff --git a/client/src/main/java/rt4/Static78.java b/client/src/main/java/rt4/Static78.java index 9f0a9d5..b3458e3 100644 --- a/client/src/main/java/rt4/Static78.java +++ b/client/src/main/java/rt4/Static78.java @@ -8,10 +8,7 @@ public final class Static78 { @OriginalMember(owner = "client!gd", name = "m", descriptor = "Lclient!ve;") public static Js5 aClass153_32; - @OriginalMember(owner = "client!gd", name = "n", descriptor = "Lclient!qf;") - public static Sprite titleBg; - - @OriginalMember(owner = "client!gd", name = "b", descriptor = "Lclient!na;") + @OriginalMember(owner = "client!gd", name = "b", descriptor = "Lclient!na;") public static final JagString aClass100_464 = JagString.parse("null"); @OriginalMember(owner = "client!gd", name = "c", descriptor = "Lclient!na;") diff --git a/client/src/main/java/rt4/Static79.java b/client/src/main/java/rt4/Static79.java index fca3ac2..2d284ff 100644 --- a/client/src/main/java/rt4/Static79.java +++ b/client/src/main/java/rt4/Static79.java @@ -44,9 +44,9 @@ public final class Static79 { return; } @Pc(39) int local39; - if (!SceneGraph.allLevelsAreVisible() && (Static12.tileSettings[0][arg1][arg4] & 0x2) == 0) { + if (!SceneGraph.allLevelsAreVisible() && (SceneGraph.tileFlags[0][arg1][arg4] & 0x2) == 0) { local39 = arg2; - if ((Static12.tileSettings[arg2][arg1][arg4] & 0x8) != 0) { + if ((SceneGraph.tileFlags[arg2][arg1][arg4] & 0x8) != 0) { local39 = 0; } if (local39 != Static41.anInt1316) { @@ -54,7 +54,7 @@ public final class Static79 { } } local39 = arg2; - if (arg2 < 3 && (Static12.tileSettings[1][arg1][arg4] & 0x2) == 2) { + if (arg2 < 3 && (SceneGraph.tileFlags[1][arg1][arg4] & 0x2) == 2) { local39 = arg2 + 1; } Static43.method1144(arg4, arg1, arg2, arg6, local39, PathFinder.collisionMaps[arg2]); diff --git a/client/src/main/java/rt4/Static87.java b/client/src/main/java/rt4/Static87.java index 95f70e6..7d7c81c 100644 --- a/client/src/main/java/rt4/Static87.java +++ b/client/src/main/java/rt4/Static87.java @@ -80,7 +80,7 @@ public final class Static87 { @OriginalMember(owner = "client!gn", name = "a", descriptor = "(III[Lclient!be;IIIIBI)V") public static void method1809(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) Component[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(9) int arg8) { if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); Rasteriser.prepare(); @@ -180,7 +180,7 @@ public final class Static87 { Static97.anInt2503 = local123; Static253.method4326(local30.anInt459, local30.anInt453 == 1403, local123, local30.anInt445, local114); if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); } @@ -192,7 +192,7 @@ public final class Static87 { } Static54.method1305(local57, local114, local123, local30); if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); } @@ -235,7 +235,7 @@ public final class Static87 { if (local30.method478()) { Static160.method3047(local123, local114, local30, local57); if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); } @@ -247,7 +247,7 @@ public final class Static87 { Static186.aBooleanArray100[local57] = true; InterfaceList.rectangleRedraw[local57] = true; if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); } @@ -258,7 +258,7 @@ public final class Static87 { Static186.aBooleanArray100[local57] = true; InterfaceList.rectangleRedraw[local57] = true; if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); } @@ -361,7 +361,7 @@ public final class Static87 { Static6.method86(local1186.anInt5878, local166, local302, local123, local57, local291, local164, local114); } if (GlRenderer.enabled) { - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2496(arg0, arg6, arg4, arg7); Rasteriser.prepare(); @@ -415,8 +415,8 @@ public final class Static87 { @Pc(1577) int local1577; @Pc(1575) int local1575; if (GlRenderer.enabled) { - local1575 = Static46.anInt1441; - local1577 = Static46.clipY; + local1575 = GlRaster.anInt1441; + local1577 = GlRaster.clipY; } else { local1577 = SoftwareRaster.clipTop; local1575 = SoftwareRaster.clipBottom; @@ -479,23 +479,23 @@ public final class Static87 { if (local117 == 0) { if (local30.aBoolean30) { if (GlRenderer.enabled) { - Static46.method1186(local123, local114, local30.anInt445, local30.anInt459, local270); + GlRaster.method1186(local123, local114, local30.anInt445, local30.anInt459, local270); } else { SoftwareRaster.fillRect(local123, local114, local30.anInt445, local30.anInt459, local270); } } else if (GlRenderer.enabled) { - Static46.method1179(local123, local114, local30.anInt445, local30.anInt459, local270); + GlRaster.method1179(local123, local114, local30.anInt445, local30.anInt459, local270); } else { SoftwareRaster.drawRect(local123, local114, local30.anInt445, local30.anInt459, local270); } } else if (local30.aBoolean30) { if (GlRenderer.enabled) { - Static46.method1182(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); + GlRaster.method1182(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); } else { SoftwareRaster.method2484(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); } } else if (GlRenderer.enabled) { - Static46.method1180(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); + GlRaster.method1180(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); } else { SoftwareRaster.method2487(local123, local114, local30.anInt445, local30.anInt459, local270, 256 - (local117 & 0xFF)); } @@ -555,7 +555,7 @@ public final class Static87 { memory = (local276 + local30.anInt445 - 1) / local276; color = (local30.anInt459 + local468 - 1) / local468; if (GlRenderer.enabled) { - Static46.method1183(local123, local114, local30.anInt445 + local123, local30.anInt459 + local114); + GlRaster.method1183(local123, local114, local30.anInt445 + local123, local30.anInt459 + local114); @Pc(2274) boolean local2274 = Static209.method3702(local2094.width); @Pc(2279) boolean local2279 = Static209.method3702(local2094.height); @Pc(2282) GlSprite local2282 = (GlSprite) local2094; @@ -592,7 +592,7 @@ public final class Static87 { } } } - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); } else { SoftwareRaster.method2498(local123, local114, local123 + local30.anInt445, local114 - -local30.anInt459); for (cardMemory = 0; cardMemory < memory; cardMemory++) { @@ -705,9 +705,9 @@ public final class Static87 { GlRenderer.setFogEnabled(false); Static229.method3935(Preferences.brightness); if (Static263.aBoolean299) { - Static46.method1177(); + GlRaster.method1177(); GlRenderer.clearDepthBuffer(); - Static46.method1187(arg0, arg6, arg4, arg7); + GlRaster.method1187(arg0, arg6, arg4, arg7); Static263.aBoolean299 = false; } if (local30.aBoolean34) { @@ -807,8 +807,8 @@ public final class Static87 { cardMemory = arg4 - local270; } if (GlRenderer.enabled) { - Static46.method1186(cardMemory, local556, local270, local276, 16777120); - Static46.method1179(cardMemory, local556, local270, local276, 0); + GlRaster.method1186(cardMemory, local556, local270, local276, 16777120); + GlRaster.method1179(cardMemory, local556, local270, local276, 0); } else { SoftwareRaster.fillRect(cardMemory, local556, local270, local276, 16777120); SoftwareRaster.drawRect(cardMemory, local556, local270, local276, 0); @@ -841,12 +841,12 @@ public final class Static87 { } if (local30.anInt490 == 1) { if (GlRenderer.enabled) { - Static46.method1185(local123, local276, local468, memory, local30.color); + GlRaster.method1185(local123, local276, local468, memory, local30.color); } else { SoftwareRaster.method2500(local123, local276, local468, memory, local30.color); } } else if (GlRenderer.enabled) { - Static46.method1181(local123, local276, local468, memory, local30.color, local30.anInt490); + GlRaster.method1181(local123, local276, local468, memory, local30.color, local30.anInt490); } else { SoftwareRaster.method2494(local123, local276, local468, memory, local30.color, local30.anInt490); } diff --git a/client/src/main/java/rt4/Static89.java b/client/src/main/java/rt4/Static89.java index 08b7a22..4020eb8 100644 --- a/client/src/main/java/rt4/Static89.java +++ b/client/src/main/java/rt4/Static89.java @@ -149,7 +149,7 @@ public final class Static89 { Static9.method182(); } if (GlRenderer.enabled) { - Static46.method1177(); + GlRaster.method1177(); } else { SoftwareRaster.method2503(); } @@ -180,13 +180,13 @@ public final class Static89 { for (@Pc(189) int local189 = 0; local189 < InterfaceList.anInt766; local189++) { if (Static223.aBooleanArray116[local189]) { if (GlRenderer.enabled) { - Static46.method1182(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711935, 128); + GlRaster.method1182(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711935, 128); } else { SoftwareRaster.method2484(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711935, 128); } } else if (InterfaceList.rectangleRedraw[local189]) { if (GlRenderer.enabled) { - Static46.method1182(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711680, 128); + GlRaster.method1182(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711680, 128); } else { SoftwareRaster.method2484(Static264.anIntArray410[local189], Static50.anIntArray133[local189], Static224.anIntArray443[local189], Static67.anIntArray320[local189], 16711680, 128); } diff --git a/client/src/main/java/rt4/Static9.java b/client/src/main/java/rt4/Static9.java index bdc6b57..5d45172 100644 --- a/client/src/main/java/rt4/Static9.java +++ b/client/src/main/java/rt4/Static9.java @@ -44,17 +44,17 @@ public final class Static9 { local96 = arg5 + (local28 >> 1); local100 = (local28 + 1 >> 1) + arg5; } - @Pc(120) int[][] local120 = SceneGraph.activeTileHeightMap[arg7]; + @Pc(120) int[][] local120 = SceneGraph.tileHeights[arg7]; @Pc(122) int local122 = 0; @Pc(148) int local148 = local120[local96][local51] + local120[local96][local53] + local120[local100][local53] + local120[local100][local51] >> 2; @Pc(158) int[][] local158; if (arg7 != 0) { - local158 = SceneGraph.activeTileHeightMap[0]; + local158 = SceneGraph.tileHeights[0]; local122 = local148 - (local158[local96][local51] + local158[local100][local53] + local158[local96][local53] + local158[local100][local51] >> 2); } local158 = null; if (arg7 < 3) { - local158 = SceneGraph.activeTileHeightMap[arg7 + 1]; + local158 = SceneGraph.tileHeights[arg7 + 1]; } @Pc(215) Loc_Class139 local215 = arg0.method3428(arg2, local80, local120, arg4, local148, local158, false, null, true, local88); Static242.method4207(local215.aClass36_Sub1_3, local80 - arg3, local122, local88 - arg1); @@ -99,7 +99,7 @@ public final class Static9 { } else { @Pc(22) int local22 = arg1 << 7; @Pc(26) int local26 = arg2 << 7; - if (Static256.method4394(local22 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg2], local26 + 1) && Static256.method4394(local22 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg2], local26 + 1) && Static256.method4394(local22 + 128 - 1, SceneGraph.activeTileHeightMap[arg0][arg1 + 1][arg2 + 1], local26 + 128 - 1) && Static256.method4394(local22 + 1, SceneGraph.activeTileHeightMap[arg0][arg1][arg2 + 1], local26 + 128 - 1)) { + if (Static256.method4394(local22 + 1, SceneGraph.tileHeights[arg0][arg1][arg2], local26 + 1) && Static256.method4394(local22 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2], local26 + 1) && Static256.method4394(local22 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2 + 1], local26 + 128 - 1) && Static256.method4394(local22 + 1, SceneGraph.tileHeights[arg0][arg1][arg2 + 1], local26 + 128 - 1)) { Static140.anIntArrayArrayArray12[arg0][arg1][arg2] = Static13.anInt437; return true; } else { diff --git a/client/src/main/java/rt4/SynthInstrument.java b/client/src/main/java/rt4/SynthInstrument.java index de50444..207b10d 100644 --- a/client/src/main/java/rt4/SynthInstrument.java +++ b/client/src/main/java/rt4/SynthInstrument.java @@ -95,7 +95,7 @@ public final class SynthInstrument { @OriginalMember(owner = "client!pj", name = "a", descriptor = "(II)[I") public final int[] method3505(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - Static289.clear(Static194.anIntArray398, 0, arg0); + ArrayUtils.clear(Static194.anIntArray398, 0, arg0); if (arg1 < 10) { return Static194.anIntArray398; } diff --git a/client/src/main/java/rt4/TextureOp17.java b/client/src/main/java/rt4/TextureOp17.java index d9bc7b5..27c9581 100644 --- a/client/src/main/java/rt4/TextureOp17.java +++ b/client/src/main/java/rt4/TextureOp17.java @@ -162,7 +162,7 @@ public final class TextureOp17 extends TextureOp { } } } else { - Static289.method2614(local11, 0, Static189.anInt4457, 0); + ArrayUtils.fill(local11, 0, Static189.anInt4457, 0); } } return local11; diff --git a/client/src/main/java/rt4/TextureOp20.java b/client/src/main/java/rt4/TextureOp20.java index c436fd4..468f024 100644 --- a/client/src/main/java/rt4/TextureOp20.java +++ b/client/src/main/java/rt4/TextureOp20.java @@ -36,7 +36,7 @@ public final class TextureOp20 extends TextureOp { public final int[] method4626(@OriginalArg(0) int arg0) { @Pc(17) int[] local17 = this.aClass121_41.method3445(arg0); if (this.aClass121_41.invalid) { - Static289.method2614(local17, 0, Static189.anInt4457, this.anInt3894); + ArrayUtils.fill(local17, 0, Static189.anInt4457, this.anInt3894); } return local17; } diff --git a/client/src/main/java/rt4/TextureOp22.java b/client/src/main/java/rt4/TextureOp22.java index e9d938e..b134335 100644 --- a/client/src/main/java/rt4/TextureOp22.java +++ b/client/src/main/java/rt4/TextureOp22.java @@ -247,11 +247,11 @@ public final class TextureOp22 extends TextureOp { } } if (Static189.anInt4457 >= local97 + local101) { - Static289.method2614(local112, local101, local97, local125); + ArrayUtils.fill(local112, local101, local97, local125); } else { local133 = Static189.anInt4457 - local101; - Static289.method2614(local112, local101, local133, local125); - Static289.method2614(local112, 0, local97 - local133, local125); + ArrayUtils.fill(local112, local101, local133, local125); + ArrayUtils.fill(local112, 0, local97 - local133, local125); } } else { local125 = arg4 - local103 - 1; @@ -261,10 +261,10 @@ public final class TextureOp22 extends TextureOp { } if (local101 + local97 > Static189.anInt4457) { local133 = Static189.anInt4457 - local101; - Static289.method2614(local112, local101, local133, local26); - Static289.method2614(local112, 0, local97 - local133, local26); + ArrayUtils.fill(local112, local101, local133, local26); + ArrayUtils.fill(local112, 0, local97 - local133, local26); } else { - Static289.method2614(local112, local101, local97, local26); + ArrayUtils.fill(local112, local101, local97, local26); } } else { local133 = local125 * local26 / local90; @@ -282,24 +282,24 @@ public final class TextureOp22 extends TextureOp { } if (local97 + local101 > Static189.anInt4457) { local142 = Static189.anInt4457 - local101; - Static289.method2614(local112, local101, local142, local133); - Static289.method2614(local112, 0, local97 - local142, local133); + ArrayUtils.fill(local112, local101, local142, local133); + ArrayUtils.fill(local112, 0, local97 - local142, local133); } else { - Static289.method2614(local112, local101, local97, local133); + ArrayUtils.fill(local112, local101, local97, local133); } } } } } else if (Static189.anInt4457 >= arg2 + arg3) { for (local68 = 0; local68 < arg4; local68++) { - Static289.method2614(arg5[arg0 + local68], arg2, arg3, local26); + ArrayUtils.fill(arg5[arg0 + local68], arg2, arg3, local26); } } else { local68 = Static189.anInt4457 - arg2; for (local72 = 0; local72 < arg4; local72++) { @Pc(522) int[] local522 = arg5[local72 + arg0]; - Static289.method2614(local522, arg2, local68, local26); - Static289.method2614(local522, 0, arg3 - local68, local26); + ArrayUtils.fill(local522, arg2, local68, local26); + ArrayUtils.fill(local522, 0, arg3 - local68, local26); } } } diff --git a/client/src/main/java/rt4/TextureOp25.java b/client/src/main/java/rt4/TextureOp25.java index a0554b8..18112cd 100644 --- a/client/src/main/java/rt4/TextureOp25.java +++ b/client/src/main/java/rt4/TextureOp25.java @@ -18,7 +18,7 @@ public final class TextureOp25 extends TextureOp { public final int[] method4626(@OriginalArg(0) int arg0) { @Pc(9) int[] local9 = this.aClass121_41.method3445(arg0); if (this.aClass121_41.invalid) { - Static289.method2614(local9, 0, Static189.anInt4457, Static64.anIntArray153[arg0]); + ArrayUtils.fill(local9, 0, Static189.anInt4457, Static64.anIntArray153[arg0]); } return local9; } diff --git a/client/src/main/java/rt4/TextureOp4.java b/client/src/main/java/rt4/TextureOp4.java index f03176d..29b0616 100644 --- a/client/src/main/java/rt4/TextureOp4.java +++ b/client/src/main/java/rt4/TextureOp4.java @@ -65,7 +65,7 @@ public final class TextureOp4 extends TextureOp { local64 = local60 >> 12; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; local60 &= 0xFFF; - local85 = MonochromeImageCacheBack.anIntArray1[local60]; + local85 = MonochromeImageCache.anIntArray1[local60]; local68 = local64 + 1; if (local47 <= local68) { local68 = 0; @@ -97,7 +97,7 @@ public final class TextureOp4 extends TextureOp { local68 = local64 + 1; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; @Pc(81) int local81 = local60 & 0xFFF; - local85 = MonochromeImageCacheBack.anIntArray1[local81]; + local85 = MonochromeImageCache.anIntArray1[local81]; if (local68 >= local47) { local68 = 0; } @@ -118,7 +118,7 @@ public final class TextureOp4 extends TextureOp { local54 = this.anInt646 * local40 >> 12; local68 = local64 + 1; local60 &= 0xFFF; - local85 = MonochromeImageCacheBack.anIntArray1[local60]; + local85 = MonochromeImageCache.anIntArray1[local60]; local47 = this.anInt641 * local40 >> 12; if (local68 >= local47) { local68 = 0; @@ -211,7 +211,7 @@ public final class TextureOp4 extends TextureOp { } @Pc(40) int local40 = arg0 & 0xFFF; @Pc(50) int local50 = this.aByteArray10[local27 + arg2] & 0x3; - @Pc(54) int local54 = MonochromeImageCacheBack.anIntArray1[local40]; + @Pc(54) int local54 = MonochromeImageCache.anIntArray1[local40]; @Pc(70) int local70; if (local50 > 1) { local70 = local50 == 2 ? local40 - arg4 : -local40 + -arg4; diff --git a/client/src/main/java/rt4/TextureOp6.java b/client/src/main/java/rt4/TextureOp6.java index 4d57e3a..6abcc92 100644 --- a/client/src/main/java/rt4/TextureOp6.java +++ b/client/src/main/java/rt4/TextureOp6.java @@ -79,7 +79,7 @@ public final class TextureOp6 extends TextureOp { break; } } - Static289.method2614(local19, 0, Static189.anInt4457, local34); + ArrayUtils.fill(local19, 0, Static189.anInt4457, local34); } else { for (@Pc(85) int local85 = 0; local85 < Static189.anInt4457; local85++) { @Pc(96) int local96 = Static173.anIntArray367[local85]; diff --git a/client/src/main/java/rt4/TextureOp7.java b/client/src/main/java/rt4/TextureOp7.java index 70c5a4b..dc9b117 100644 --- a/client/src/main/java/rt4/TextureOp7.java +++ b/client/src/main/java/rt4/TextureOp7.java @@ -72,7 +72,7 @@ public final class TextureOp7 extends TextureOp { local15[local51] = local38[Static34.anInt1060 - local51]; } } else { - Static289.method2613(local38, 0, local15, 0, Static189.anInt4457); + ArrayUtils.copy(local38, 0, local15, 0, Static189.anInt4457); } } return local15; diff --git a/client/src/main/java/rt4/TitleScreen.java b/client/src/main/java/rt4/TitleScreen.java index e2cb222..93d7a49 100644 --- a/client/src/main/java/rt4/TitleScreen.java +++ b/client/src/main/java/rt4/TitleScreen.java @@ -6,9 +6,20 @@ import org.openrs2.deob.annotation.Pc; public class TitleScreen { @OriginalMember(owner = "client!cb", name = "cb", descriptor = "Lclient!na;") - public static final JagString aClass100_165 = JagString.parse("titlebg"); + public static final JagString TITLEBG = JagString.parse("titlebg"); + @OriginalMember(owner = "client!nb", name = "m", descriptor = "Lclient!na;") + public static final JagString LOGO = JagString.parse("logo"); + @OriginalMember(owner = "client!bh", name = "M", descriptor = "Z") public static boolean loaded; + @OriginalMember(owner = "client!gd", name = "n", descriptor = "Lclient!qf;") + public static Sprite titleBg; + @OriginalMember(owner = "client!tk", name = "o", descriptor = "Lclient!ok;") + public static IndexedSprite logo; + @OriginalMember(owner = "client!vf", name = "m", descriptor = "I") + public static int bgId = -1; + @OriginalMember(owner = "client!kk", name = "g", descriptor = "I") + public static int logoId = -1; @OriginalMember(owner = "client!oi", name = "a", descriptor = "(Lclient!ve;B)V") public static void load(@OriginalArg(0) Js5 archive) { @@ -17,42 +28,42 @@ public class TitleScreen { } if (GlRenderer.enabled) { - Static46.clear(); + GlRaster.clear(); } else { SoftwareRaster.clear(); } @Pc(20) int height = GameShell.canvasHeight; @Pc(26) int width = height * 956 / 503; - Static78.titleBg = Static130.loadSpriteAutoDetect(archive, Static262.bgId); - Static78.titleBg.renderResizedTransparent((GameShell.canvasWidth - width) / 2, 0, width, height); - Static243.logo = Static40.loadIndexedSpriteAutoDetect(Static136.logoId, archive); - Static243.logo.renderTransparent(GameShell.canvasWidth / 2 - Static243.logo.width / 2, 18); + titleBg = SpriteLoader.loadSpriteAutoDetect(archive, bgId); + titleBg.renderResizedTransparent((GameShell.canvasWidth - width) / 2, 0, width, height); + logo = SpriteLoader.loadIndexedSpriteAutoDetect(logoId, archive); + logo.renderTransparent(GameShell.canvasWidth / 2 - logo.width / 2, 18); loaded = true; } @OriginalMember(owner = "client!je", name = "f", descriptor = "(B)V") public static void clear() { if (loaded) { - Static243.logo = null; + logo = null; loaded = false; - Static78.titleBg = null; + titleBg = null; } } @OriginalMember(owner = "client!nd", name = "a", descriptor = "(ILclient!ve;)V") - public static void init(@OriginalArg(1) Js5 arg0) { - Static262.bgId = arg0.getGroupId(aClass100_165); - Static136.logoId = arg0.getGroupId(Static165.aClass100_776); + public static void init(@OriginalArg(1) Js5 archive) { + bgId = archive.getGroupId(TITLEBG); + logoId = archive.getGroupId(LOGO); } @OriginalMember(owner = "client!lk", name = "a", descriptor = "(ILclient!ve;)I") public static int getReady(@OriginalArg(1) Js5 archive) { @Pc(1) int ready = 0; - if (archive.isFileReady(Static262.bgId)) { + if (archive.isFileReady(bgId)) { ready++; } - if (archive.isFileReady(Static136.logoId)) { + if (archive.isFileReady(logoId)) { ready++; } return ready; diff --git a/client/src/main/java/rt4/VarbitTypeList.java b/client/src/main/java/rt4/VarbitTypeList.java index b60373e..4499af4 100644 --- a/client/src/main/java/rt4/VarbitTypeList.java +++ b/client/src/main/java/rt4/VarbitTypeList.java @@ -21,7 +21,7 @@ public class VarbitTypeList { if (local10 != null) { return local10; } - @Pc(31) byte[] local31 = archive.getFile(Static254.method4349(arg0), Static274.method3845(arg0)); + @Pc(31) byte[] local31 = archive.getFile(method4349(arg0), method3845(arg0)); local10 = new VarbitType(); if (local31 != null) { local10.decode(new Buffer(local31)); @@ -44,4 +44,14 @@ public class VarbitTypeList { public static void method1295() { types.clear(); } + + @OriginalMember(owner = "client!wf", name = "a", descriptor = "(II)I") + public static int method3845(@OriginalArg(0) int arg0) { + return arg0 & 0x3FF; + } + + @OriginalMember(owner = "client!uj", name = "a", descriptor = "(II)I") + public static int method4349(@OriginalArg(0) int arg0) { + return arg0 >>> 10; + } } diff --git a/client/src/main/java/rt4/WorldMapFont.java b/client/src/main/java/rt4/WorldMapFont.java index 2a10e2c..153b457 100644 --- a/client/src/main/java/rt4/WorldMapFont.java +++ b/client/src/main/java/rt4/WorldMapFont.java @@ -17,6 +17,7 @@ public final class WorldMapFont { @OriginalMember(owner = "client!fd", name = "d", descriptor = "Ljava/lang/String;") public static final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| " + String.valueOf('Ä') + 'Ë' + 'Ï' + 'Ö' + 'Ü' + 'ä' + 'ë' + 'ï' + 'ö' + 'ü' + 'ÿ' + 'ß' + 'Á' + 'À' + 'É' + 'È' + 'Í' + 'Ì' + 'Ó' + 'Ò' + 'Ú' + 'Ù' + 'á' + 'à' + 'é' + 'è' + 'í' + 'ì' + 'ó' + 'ò' + 'ú' + 'ù' + 'Â' + 'Ê' + 'Î' + 'Ô' + 'Û' + 'â' + 'ê' + 'î' + 'ô' + 'û' + 'Æ' + 'æ'; + @OriginalMember(owner = "client!fd", name = "e", descriptor = "I") public static final int ALPHABET_SIZE = ALPHABET.length(); @@ -24,10 +25,10 @@ public final class WorldMapFont { private static final int[] CHAR_INDEXES = new int[256]; @OriginalMember(owner = "client!fd", name = "c", descriptor = "I") - private int dataIndex = 0; + private int dataIndex; @OriginalMember(owner = "client!fd", name = "b", descriptor = "Z") - private boolean grayscale = false; + private boolean grayscale; @OriginalMember(owner = "client!fd", name = "a", descriptor = "[B") private byte[] data = new byte[100000]; @@ -43,51 +44,51 @@ public final class WorldMapFont { } @OriginalMember(owner = "client!fd", name = "", descriptor = "(IZLjava/awt/Component;)V") - public WorldMapFont(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) Component arg2) { + public WorldMapFont(@OriginalArg(0) int size, @OriginalArg(1) boolean arg1, @OriginalArg(2) Component component) { this.dataIndex = ALPHABET_SIZE * 9; this.grayscale = false; - @Pc(30) Font local30 = new Font("Helvetica", 1, arg0); - @Pc(34) FontMetrics local34 = arg2.getFontMetrics(local30); - @Pc(36) int local36; - for (local36 = 0; local36 < ALPHABET_SIZE; local36++) { - this.preRenderGlyph(local30, local34, ALPHABET.charAt(local36), local36, false); + @Pc(30) Font font = new Font("Helvetica", Font.BOLD, size); + @Pc(34) FontMetrics boldMetrics = component.getFontMetrics(font); + @Pc(36) int i; + for (i = 0; i < ALPHABET_SIZE; i++) { + this.preRenderGlyph(font, boldMetrics, ALPHABET.charAt(i), i, false); } if (this.grayscale) { this.dataIndex = ALPHABET_SIZE * 9; this.grayscale = false; - local30 = new Font("Helvetica", 0, arg0); - local34 = arg2.getFontMetrics(local30); - for (local36 = 0; local36 < ALPHABET_SIZE; local36++) { - this.preRenderGlyph(local30, local34, ALPHABET.charAt(local36), local36, false); + font = new Font("Helvetica", Font.PLAIN, size); + boldMetrics = component.getFontMetrics(font); + for (i = 0; i < ALPHABET_SIZE; i++) { + this.preRenderGlyph(font, boldMetrics, ALPHABET.charAt(i), i, false); } if (!this.grayscale) { this.dataIndex = ALPHABET_SIZE * 9; this.grayscale = false; - for (local36 = 0; local36 < ALPHABET_SIZE; local36++) { - this.preRenderGlyph(local30, local34, ALPHABET.charAt(local36), local36, true); + for (i = 0; i < ALPHABET_SIZE; i++) { + this.preRenderGlyph(font, boldMetrics, ALPHABET.charAt(i), i, true); } } } - @Pc(121) byte[] local121 = new byte[this.dataIndex]; - for (@Pc(123) int local123 = 0; local123 < this.dataIndex; local123++) { - local121[local123] = this.data[local123]; + @Pc(121) byte[] data = new byte[this.dataIndex]; + for (@Pc(123) int j = 0; j < this.dataIndex; j++) { + data[j] = this.data[j]; } - this.data = local121; + this.data = data; } @OriginalMember(owner = "client!fd", name = "a", descriptor = "(Lclient!na;IIIZ)V") - private void renderString(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) boolean arg4) { - if (this.grayscale || arg3 == 0) { - arg4 = false; + private void renderString(@OriginalArg(0) JagString s, @OriginalArg(1) int x, @OriginalArg(2) int y, @OriginalArg(3) int color, @OriginalArg(4) boolean shadow) { + if (this.grayscale || color == 0) { + shadow = false; } - for (@Pc(8) int local8 = 0; local8 < arg0.length(); local8++) { - @Pc(20) int local20 = CHAR_INDEXES[arg0.charAt(local8)]; - if (arg4) { - this.renderGlyph(local20, arg1 + 1, arg2, 1, this.data); - this.renderGlyph(local20, arg1, arg2 + 1, 1, this.data); + for (@Pc(8) int i = 0; i < s.length(); i++) { + @Pc(20) int index = CHAR_INDEXES[s.charAt(i)]; + if (shadow) { + this.renderGlyph(index, x + 1, y, 1, this.data); + this.renderGlyph(index, x, y + 1, 1, this.data); } - this.renderGlyph(local20, arg1, arg2, arg3, this.data); - arg1 += this.data[local20 + 7]; + this.renderGlyph(index, x, y, color, this.data); + x += this.data[index + 7]; } } @@ -97,67 +98,67 @@ public final class WorldMapFont { } @OriginalMember(owner = "client!fd", name = "a", descriptor = "([I[BIIIIIII)V") - private void renderGlyphGrayscale(@OriginalArg(0) int[] arg0, @OriginalArg(1) byte[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8) { - for (@Pc(2) int local2 = -arg6; local2 < 0; local2++) { - for (@Pc(7) int local7 = -arg5; local7 < 0; local7++) { - @Pc(16) int local16 = arg1[arg3++] & 0xFF; - if (local16 <= 30) { - arg4++; - } else if (local16 >= 230) { - arg0[arg4++] = arg2; + private void renderGlyphGrayscale(@OriginalArg(0) int[] dest, @OriginalArg(1) byte[] src, @OriginalArg(2) int color, @OriginalArg(3) int srcIndex, @OriginalArg(4) int destIndex, @OriginalArg(5) int w, @OriginalArg(6) int h, @OriginalArg(7) int destStride, @OriginalArg(8) int srcStride) { + for (@Pc(2) int y = -h; y < 0; y++) { + for (@Pc(7) int x = -w; x < 0; x++) { + @Pc(16) int intensity = src[srcIndex++] & 0xFF; + if (intensity <= 30) { + destIndex++; + } else if (intensity >= 230) { + dest[destIndex++] = color; } else { - @Pc(32) int local32 = arg0[arg4]; - arg0[arg4++] = ((arg2 & 0xFF00FF) * local16 + (local32 & 0xFF00FF) * (256 - local16) & 0xFF00FF00) + ((arg2 & 0xFF00) * local16 + (local32 & 0xFF00) * (256 - local16) & 0xFF0000) >> 8; + @Pc(32) int backgroundColor = dest[destIndex]; + dest[destIndex++] = ((color & 0xFF00FF) * intensity + (backgroundColor & 0xFF00FF) * (256 - intensity) & 0xFF00FF00) + ((color & 0xFF00) * intensity + (backgroundColor & 0xFF00) * (256 - intensity) & 0xFF0000) >> 8; } } - arg4 += arg7; - arg3 += arg8; + destIndex += destStride; + srcIndex += srcStride; } } @OriginalMember(owner = "client!fd", name = "a", descriptor = "(IIII[B)V") - private void renderGlyph(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) byte[] arg4) { - @Pc(7) int local7 = arg1 + arg4[arg0 + 5]; - @Pc(15) int local15 = arg2 - arg4[arg0 + 6]; - @Pc(21) int local21 = arg4[arg0 + 3]; - @Pc(27) int local27 = arg4[arg0 + 4]; - @Pc(47) int local47 = arg4[arg0] * 16384 + arg4[arg0 + 1] * 128 + arg4[arg0 + 2]; - @Pc(53) int local53 = local7 + local15 * SoftwareRaster.width; - @Pc(57) int local57 = SoftwareRaster.width - local21; - @Pc(59) int local59 = 0; + private void renderGlyph(@OriginalArg(0) int index, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) byte[] src) { + @Pc(7) int local7 = arg1 + src[index + 5]; + @Pc(15) int local15 = arg2 - src[index + 6]; + @Pc(21) int width = src[index + 3]; + @Pc(27) int height = src[index + 4]; + @Pc(47) int srcIndex = src[index] * 16384 + src[index + 1] * 128 + src[index + 2]; + @Pc(53) int destIndex = local7 + local15 * SoftwareRaster.width; + @Pc(57) int destStride = SoftwareRaster.width - width; + @Pc(59) int srcStride = 0; @Pc(66) int local66; if (local15 < SoftwareRaster.clipTop) { local66 = SoftwareRaster.clipTop - local15; - local27 -= local66; + height -= local66; local15 = SoftwareRaster.clipTop; - local47 += local66 * local21; - local53 += local66 * SoftwareRaster.width; + srcIndex += local66 * width; + destIndex += local66 * SoftwareRaster.width; } - if (local15 + local27 >= SoftwareRaster.clipBottom) { - local27 -= local15 + local27 + 1 - SoftwareRaster.clipBottom; + if (local15 + height >= SoftwareRaster.clipBottom) { + height -= local15 + height + 1 - SoftwareRaster.clipBottom; } if (local7 < SoftwareRaster.clipLeft) { local66 = SoftwareRaster.clipLeft - local7; - local21 -= local66; + width -= local66; local7 = SoftwareRaster.clipLeft; - local47 += local66; - local53 += local66; - local59 = local66; - local57 += local66; + srcIndex += local66; + destIndex += local66; + srcStride = local66; + destStride += local66; } - if (local7 + local21 >= SoftwareRaster.clipRight) { - local66 = local7 + local21 + 1 - SoftwareRaster.clipRight; - local21 -= local66; - local59 += local66; - local57 += local66; + if (local7 + width >= SoftwareRaster.clipRight) { + local66 = local7 + width + 1 - SoftwareRaster.clipRight; + width -= local66; + srcStride += local66; + destStride += local66; } - if (local21 <= 0 || local27 <= 0) { + if (width <= 0 || height <= 0) { return; } if (this.grayscale) { - this.renderGlyphGrayscale(SoftwareRaster.pixels, arg4, arg3, local47, local53, local21, local27, local57, local59); + this.renderGlyphGrayscale(SoftwareRaster.pixels, src, arg3, srcIndex, destIndex, width, height, destStride, srcStride); } else { - this.renderGlyphMono(SoftwareRaster.pixels, arg4, arg3, local47, local53, local21, local27, local57, local59); + this.renderGlyphMono(SoftwareRaster.pixels, src, arg3, srcIndex, destIndex, width, height, destStride, srcStride); } } diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index f92f651..2c782c0 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -185,8 +185,10 @@ public final class client extends GameShell { public static long prevGc = 0L; @OriginalMember(owner = "client!gj", name = "d", descriptor = "I") public static int loop = 0; + @OriginalMember(owner = "client!wj", name = "e", descriptor = "Lclient!na;") + public static JagString mainLoadPrimaryText = null; - @OriginalMember(owner = "client!client", name = "main", descriptor = "([Ljava/lang/String;)V") + @OriginalMember(owner = "client!client", name = "main", descriptor = "([Ljava/lang/String;)V") public static void main(@OriginalArg(0) String[] arg0) { try { if (arg0.length != 4) { @@ -938,7 +940,7 @@ public final class client extends GameShell { cacheMasterIndex = null; masterCache = null; } - Static278.mainLoadPrimaryText = LocalizedText.GAME0_LOADING; + mainLoadPrimaryText = LocalizedText.GAME0_LOADING; if (modeWhere != 0) { Cheat.displayFps = true; } diff --git a/playground/src/main/java/com/itspazaz/rt4/Playground.java b/playground/src/main/java/com/itspazaz/rt4/Playground.java index 1856f94..e3f9063 100644 --- a/playground/src/main/java/com/itspazaz/rt4/Playground.java +++ b/playground/src/main/java/com/itspazaz/rt4/Playground.java @@ -184,7 +184,12 @@ public class Playground extends GameShell { Rasteriser.setBounds(GameShell.canvasWidth, GameShell.canvasHeight); Rasteriser.prepare(); Rasteriser.prepareOffsets(); - loadNpc(exportCounter); + try { + loadNpc(exportCounter); + } catch (Exception ex) { + npc = null; + npcType = null; + } state++; } } @@ -233,10 +238,10 @@ public class Playground extends GameShell { private void exportGlImage(String filename) { GL2 gl = GLContext.getCurrentGL().getGL2(); - ByteBuffer buffer = GLBuffers.newDirectByteBuffer(GameShell.canvasWidth * GameShell.canvasHeight * 3); + ByteBuffer buffer = GLBuffers.newDirectByteBuffer(GameShell.canvasWidth * GameShell.canvasHeight * 4); gl.glReadBuffer(GL2.GL_BACK); - gl.glReadPixels(0, 0, GameShell.canvasWidth, GameShell.canvasHeight, GL2.GL_BGR, GL2.GL_UNSIGNED_BYTE, buffer); + gl.glReadPixels(0, 0, GameShell.canvasWidth, GameShell.canvasHeight, GL2.GL_BGRA, GL2.GL_UNSIGNED_BYTE, buffer); int[] pixels = new int[GameShell.canvasWidth * GameShell.canvasHeight]; for (int y = GameShell.canvasHeight - 1; y > 0; --y) { @@ -244,6 +249,7 @@ public class Playground extends GameShell { int r = buffer.get() & 0xFF; int g = buffer.get() & 0xFF; int b = buffer.get() & 0xFF; + buffer.get(); int a = 0xFF; if (r == 0x33 && g == 0x33 && b == 0x33) { a = 0x7F; @@ -296,7 +302,7 @@ public class Playground extends GameShell { CHATHEAD.xan2d = 40; CHATHEAD.yan2d = 1882;*/ - int exportCounter = 0; + int exportCounter = 8105; int orientation = 378; int x = 112; int z = 180; @@ -434,7 +440,12 @@ public class Playground extends GameShell { if (state == 9) { if (lastExportCounter != exportCounter) { - loadNpc(exportCounter); + try { + loadNpc(exportCounter); + } catch (Exception ex) { + npc = null; + npcType = null; + } } } } @@ -506,43 +517,45 @@ public class Playground extends GameShell { @Override protected void mainRedraw() { - if (state == 9) { - if (!GlRenderer.enabled) { - SoftwareRaster.clear(0x7F666666); - } else { - GlRenderer.clearColorAndDepthBuffers(0x333333); - } - - if (perspectiveChanged) { - float yaw1 = yaw * 360.0F / 6.2831855F; - float pitch1 = pitch * 360.0F / 6.2831855F; - GlRenderer.method4171(0, 0, GameShell.canvasWidth, GameShell.canvasHeight, GameShell.canvasWidth / 2, GameShell.canvasHeight / 2, yaw1, pitch1, zoom2d, zoom2d); - perspectiveChanged = false; - } - - if (npc != null) { - SeqType seqType = SeqTypeList.get(9804); - Model head = npcType.getHeadModel(seqType, 0, 0, 0); - if (renderHead && head != null) { - head.render(orientation, 25079, 60547, -44308, 48222, x, z, y, 0L, 0, null); + try { + if (state == 9) { + if (!GlRenderer.enabled) { + SoftwareRaster.clear(0x7F666666); } else { - npc.render(orientation, 25079, 60547, -44308, 48222, x, z, y, 0L, 0, null); + GlRenderer.clearColorAndDepthBuffers(0x333333); + } + + if (perspectiveChanged) { + float yaw1 = yaw * 360.0F / 6.2831855F; + float pitch1 = pitch * 360.0F / 6.2831855F; + GlRenderer.method4171(0, 0, GameShell.canvasWidth, GameShell.canvasHeight, GameShell.canvasWidth / 2, GameShell.canvasHeight / 2, yaw1, pitch1, zoom2d, zoom2d); + perspectiveChanged = false; + } + + if (npc != null) { + SeqType seqType = SeqTypeList.get(9804); + Model head = npcType.getHeadModel(seqType, 0, 0, 0); + if (renderHead && head != null) { + head.render(orientation, 25079, 60547, -44308, 48222, x, z, y, 0L, 0, null); + } else { + npc.render(orientation, 25079, 60547, -44308, 48222, x, z, y, 0L, 0, null); + } + } + + if (!GlRenderer.enabled) { + SoftwareRaster.frameBuffer.draw(GameShell.canvas.getGraphics()); + } else { + GlRenderer.draw(); + GlRenderer.swapBuffers(); + } + + if (lastExportCounter != exportCounter) { + // exportGlImage("dump/" + exportCounter); + lastExportCounter = exportCounter; + // exportCounter++; } } - - if (!GlRenderer.enabled) { - SoftwareRaster.frameBuffer.draw(GameShell.canvas.getGraphics()); - } else { - GlRenderer.draw(); - GlRenderer.swapBuffers(); - } - - if (lastExportCounter != exportCounter) { -// exportGlImage("dump/" + exportCounter); - lastExportCounter = exportCounter; -// exportCounter++; - } - } + } catch (Exception ex) {} } @Override