From 249781ed8be8422dc4223757205a0afd36245159 Mon Sep 17 00:00:00 2001 From: Pazaz Date: Mon, 27 Jun 2022 21:13:43 -0400 Subject: [PATCH] Consolidated Flames methods/fields --- .../src/main/java/rt4/Bzip2Decompressor.java | 23 +- client/src/main/java/rt4/Component.java | 4 +- client/src/main/java/rt4/Flames.java | 257 +++++++++++++- client/src/main/java/rt4/GlIndexedSprite.java | 12 +- client/src/main/java/rt4/GlModel.java | 8 +- client/src/main/java/rt4/GlRaster.java | 2 +- client/src/main/java/rt4/GlSprite.java | 2 +- client/src/main/java/rt4/IndexedSprite.java | 4 +- client/src/main/java/rt4/InterfaceList.java | 2 +- client/src/main/java/rt4/SceneGraph.java | 286 ++++++++++++++- client/src/main/java/rt4/ScriptRunner.java | 15 +- client/src/main/java/rt4/Shadow.java | 2 +- client/src/main/java/rt4/ShadowManager.java | 22 +- .../main/java/rt4/SoftwareAlphaSprite.java | 2 +- .../main/java/rt4/SoftwareIndexedSprite.java | 90 ++--- client/src/main/java/rt4/SoftwareSprite.java | 2 +- client/src/main/java/rt4/Sprite.java | 2 +- client/src/main/java/rt4/SpriteLoader.java | 2 +- client/src/main/java/rt4/Static1.java | 4 +- client/src/main/java/rt4/Static123.java | 2 - client/src/main/java/rt4/Static145.java | 87 ----- client/src/main/java/rt4/Static221.java | 333 ------------------ client/src/main/java/rt4/Static226.java | 2 - client/src/main/java/rt4/Static267.java | 119 ------- client/src/main/java/rt4/Static87.java | 2 +- client/src/main/java/rt4/TextureOp23.java | 28 +- client/src/main/java/rt4/WorldMap.java | 2 +- 27 files changed, 656 insertions(+), 660 deletions(-) delete mode 100644 client/src/main/java/rt4/Static221.java delete mode 100644 client/src/main/java/rt4/Static267.java diff --git a/client/src/main/java/rt4/Bzip2Decompressor.java b/client/src/main/java/rt4/Bzip2Decompressor.java index e0479cd..40c1399 100644 --- a/client/src/main/java/rt4/Bzip2Decompressor.java +++ b/client/src/main/java/rt4/Bzip2Decompressor.java @@ -9,6 +9,9 @@ public final class Bzip2Decompressor { @OriginalMember(owner = "client!oc", name = "a", descriptor = "Lclient!bb;") private static final Bzip2DState state = new Bzip2DState(); + @OriginalMember(owner = "client!s", name = "a", descriptor = "[I") + public static int[] tt; + @OriginalMember(owner = "client!oc", name = "a", descriptor = "(ILclient!bb;)I") private static int getBits(@OriginalArg(0) int arg0, @OriginalArg(1) Bzip2DState arg1) { while (arg1.bsLive < arg0) { @@ -30,7 +33,7 @@ public final class Bzip2Decompressor { @Pc(5) int local5 = arg0.stateOutLen; @Pc(8) int local8 = arg0.nblockused; @Pc(11) int local11 = arg0.k0; - @Pc(13) int[] local13 = Static221.tt; + @Pc(13) int[] local13 = tt; @Pc(16) int local16 = arg0.tPos; @Pc(19) byte[] local19 = arg0.strmNextOut; @Pc(22) int local22 = arg0.strmNextOutPtr; @@ -134,7 +137,7 @@ public final class Bzip2Decompressor { arg0.stateOutLen = local5; arg0.nblockused = local8; arg0.k0 = local11; - Static221.tt = local13; + tt = local13; arg0.tPos = local16; arg0.strmNextOut = local19; arg0.strmNextOutPtr = local22; @@ -195,8 +198,8 @@ public final class Bzip2Decompressor { @OriginalMember(owner = "client!oc", name = "d", descriptor = "(Lclient!bb;)V") private static void decompress(@OriginalArg(0) Bzip2DState arg0) { arg0.blockSize100k = 1; - if (Static221.tt == null) { - Static221.tt = new int[arg0.blockSize100k * 100000]; + if (tt == null) { + tt = new int[arg0.blockSize100k * 100000]; } @Pc(56) boolean local56 = true; while (true) { @@ -371,7 +374,7 @@ public final class Bzip2Decompressor { local61 = arg0.seqToUnseq[arg0.mfta[arg0.mtfbase[0]] & 0xFF]; arg0.unfztab[local61 & 0xFF] += local548; while (local548 > 0) { - Static221.tt[local475] = local61 & 0xFF; + tt[local475] = local61 & 0xFF; local475++; local548--; } @@ -423,7 +426,7 @@ public final class Bzip2Decompressor { } } arg0.unfztab[arg0.seqToUnseq[local61 & 0xFF] & 0xFF]++; - Static221.tt[local475] = arg0.seqToUnseq[local61 & 0xFF] & 0xFF; + tt[local475] = arg0.seqToUnseq[local61 & 0xFF] & 0xFF; local475++; if (local506 == 0) { local478++; @@ -453,13 +456,13 @@ public final class Bzip2Decompressor { arg0.cftab[local141] += arg0.cftab[local141 - 1]; } for (local141 = 0; local141 < local475; local141++) { - local61 = (byte) (Static221.tt[local141] & 0xFF); - Static221.tt[arg0.cftab[local61 & 0xFF]] |= local141 << 8; + local61 = (byte) (tt[local141] & 0xFF); + tt[arg0.cftab[local61 & 0xFF]] |= local141 << 8; arg0.cftab[local61 & 0xFF]++; } - arg0.tPos = Static221.tt[arg0.origPtr] >> 8; + arg0.tPos = tt[arg0.origPtr] >> 8; arg0.nblockused = 0; - arg0.tPos = Static221.tt[arg0.tPos]; + arg0.tPos = tt[arg0.tPos]; arg0.k0 = (byte) (arg0.tPos & 0xFF); arg0.tPos >>= 0x8; arg0.nblockused++; diff --git a/client/src/main/java/rt4/Component.java b/client/src/main/java/rt4/Component.java index 2e70107..6a594ec 100644 --- a/client/src/main/java/rt4/Component.java +++ b/client/src/main/java/rt4/Component.java @@ -532,13 +532,13 @@ public final class Component { @Pc(50) int local50 = local18.width; @Pc(52) int local52; for (local52 = 0; local52 < local18.width; local52++) { - if (local18.aByteArray18[local18.width * local37 + local52] != 0) { + if (local18.pixels[local18.width * local37 + local52] != 0) { local47 = local52; break; } } for (local52 = local47; local52 < local18.width; local52++) { - if (local18.aByteArray18[local37 * local18.width + local52] == 0) { + if (local18.pixels[local37 * local18.width + local52] == 0) { local50 = local52; break; } diff --git a/client/src/main/java/rt4/Flames.java b/client/src/main/java/rt4/Flames.java index 34d6360..219893e 100644 --- a/client/src/main/java/rt4/Flames.java +++ b/client/src/main/java/rt4/Flames.java @@ -2,29 +2,276 @@ package rt4; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; public class Flames { @OriginalMember(owner = "client!se", name = "t", descriptor = "[I") public static final int[] anIntArray445 = new int[]{12543016, 15504954, 15914854, 16773818}; + @OriginalMember(owner = "client!bb", name = "m", descriptor = "Lclient!na;") public static final JagString RUNES = JagString.parse("runes"); + + @OriginalMember(owner = "client!cl", name = "ab", descriptor = "[I") + public static final int[] anIntArray83 = new int[256]; + @OriginalMember(owner = "client!km", name = "Yc", descriptor = "I") - public static int anInt3443; + public static int runesId; + @OriginalMember(owner = "client!uf", name = "e", descriptor = "I") public static int anInt5434 = 0; + @OriginalMember(owner = "client!wb", name = "b", descriptor = "[I") + public static int[] anIntArray562; + + @OriginalMember(owner = "client!t", name = "G", descriptor = "[Lclient!ek;") + public static SoftwareIndexedSprite[] runes; + + @OriginalMember(owner = "client!hh", name = "r", descriptor = "[I") + public static int[] anIntArray235; + + @OriginalMember(owner = "client!vg", name = "e", descriptor = "[I") + public static int[] anIntArray516; + + @OriginalMember(owner = "client!ri", name = "d", descriptor = "[I") + public static int[] anIntArray188; + + @OriginalMember(owner = "client!nd", name = "y", descriptor = "Lclient!mm;") + public static SoftwareSprite aClass3_Sub2_Sub1_Sub1_3; + + @OriginalMember(owner = "client!i", name = "ec", descriptor = "[I") + public static int[] anIntArray254; + + @OriginalMember(owner = "client!jj", name = "e", descriptor = "I") + public static int anInt3058 = 0; + + @OriginalMember(owner = "client!a", name = "i", descriptor = "I") + public static int anInt6 = 0; + + @OriginalMember(owner = "client!sf", name = "i", descriptor = "I") + public static int anInt5084 = 0; + @OriginalMember(owner = "client!gg", name = "a", descriptor = "(ILclient!ve;)V") - public static void init(@OriginalArg(1) Js5 arg0) { - anInt3443 = arg0.getGroupId(RUNES); + public static void init(@OriginalArg(1) Js5 archive) { + runesId = archive.getGroupId(RUNES); } @OriginalMember(owner = "client!sk", name = "a", descriptor = "(Lclient!ve;I)Z") - public static boolean isReady(@OriginalArg(0) Js5 arg0) { - return arg0.isFileReady(anInt3443); + public static boolean isReady(@OriginalArg(0) Js5 archive) { + return archive.isFileReady(runesId); } @OriginalMember(owner = "client!wa", name = "a", descriptor = "(Z)V") public static void update() { anInt5434++; } + + @OriginalMember(owner = "client!lf", name = "a", descriptor = "(ILclient!ve;)V") + public static void method2743(@OriginalArg(1) Js5 archive) { + runes = SpriteLoader.loadSoftwareIndexedSpritesAutoDetect(runesId, archive); + anIntArray235 = new int[256]; + @Pc(15) int local15; + for (local15 = 0; local15 < 3; local15++) { + @Pc(30) int local30 = anIntArray445[local15 + 1] >> 16 & 0xFF; + @Pc(39) float local39 = (float) (anIntArray445[local15] >> 16 & 0xFF); + @Pc(48) float local48 = (float) (anIntArray445[local15] >> 8 & 0xFF); + @Pc(55) float local55 = (float) (anIntArray445[local15] & 0xFF); + @Pc(62) float local62 = ((float) local30 - local39) / 64.0F; + @Pc(72) int local72 = anIntArray445[local15 + 1] >> 8 & 0xFF; + @Pc(80) float local80 = ((float) local72 - local48) / 64.0F; + @Pc(88) int local88 = anIntArray445[local15 + 1] & 0xFF; + @Pc(95) float local95 = ((float) local88 - local55) / 64.0F; + for (@Pc(97) int local97 = 0; local97 < 64; local97++) { + anIntArray235[local97 + local15 * 64] = (int) local55 | (int) local48 << 8 | (int) local39 << 16; + local48 += local80; + local55 += local95; + local39 += local62; + } + } + for (local15 = 192; local15 < 255; local15++) { + anIntArray235[local15] = anIntArray445[3]; + } + anIntArray562 = new int[32768]; + anIntArray516 = new int[32768]; + setRune(null); + anIntArray254 = new int[32768]; + anIntArray188 = new int[32768]; + aClass3_Sub2_Sub1_Sub1_3 = new SoftwareSprite(128, 254); + } + + @OriginalMember(owner = "client!vl", name = "a", descriptor = "(II)V") + public static void method4528(@OriginalArg(0) int arg0) { + if (arg0 > 256) { + arg0 = 256; + } + if (arg0 > 10) { + arg0 = 10; + } + anInt3058 += arg0 * 128; + @Pc(40) int local40; + if (anIntArray562.length < anInt3058) { + anInt3058 -= anIntArray562.length; + local40 = (int) (Math.random() * 12.0D); + setRune(runes[local40]); + } + local40 = 0; + @Pc(54) int local54 = (256 - arg0) * 128; + @Pc(58) int local58 = arg0 * 128; + @Pc(60) int local60; + @Pc(89) int local89; + for (local60 = 0; local60 < local54; local60++) { + local89 = anIntArray188[local40 + local58] - arg0 * anIntArray562[anIntArray562.length - 1 & anInt3058 + local40] / 6; + if (local89 < 0) { + local89 = 0; + } + anIntArray188[local40++] = local89; + } + @Pc(117) int local117; + @Pc(125) int local125; + for (local60 = 256 - arg0; local60 < 256; local60++) { + local89 = local60 * 128; + for (local117 = 0; local117 < 128; local117++) { + local125 = (int) (Math.random() * 100.0D); + if (local125 < 50 && local117 > 10 && local117 < 118) { + anIntArray188[local117 + local89] = 255; + } else { + anIntArray188[local117 + local89] = 0; + } + } + } + for (local60 = 0; local60 < 256 - arg0; local60++) { + anIntArray83[local60] = anIntArray83[local60 + arg0]; + } + for (local60 = 256 - arg0; local60 < 256; local60++) { + anIntArray83[local60] = (int) (Math.sin((double) anInt6 / 14.0D) * 16.0D + Math.sin((double) anInt6 / 15.0D) * 14.0D + Math.sin((double) anInt6 / 16.0D) * 12.0D); + anInt6++; + } + anInt5084 += arg0; + local60 = (arg0 + (client.loop & 0x1)) / 2; + if (local60 <= 0) { + return; + } + for (local89 = 0; local89 < anInt5084; local89++) { + local117 = (int) (Math.random() * 124.0D) + 2; + local125 = (int) (Math.random() * 128.0D) + 128; + anIntArray188[local117 + (local125 << 7)] = 192; + } + anInt5084 = 0; + @Pc(290) int local290; + for (local89 = 0; local89 < 256; local89++) { + local125 = local89 * 128; + local117 = 0; + for (local290 = -local60; local290 < 128; local290++) { + if (local60 + local290 < 128) { + local117 += anIntArray188[local125 + local290 + local60]; + } + if (local290 - local60 - 1 >= 0) { + local117 -= anIntArray188[local290 + local125 - local60 - 1]; + } + if (local290 >= 0) { + anIntArray254[local290 + local125] = local117 / (local60 * 2 + 1); + } + } + } + for (local89 = 0; local89 < 128; local89++) { + local117 = 0; + for (local125 = -local60; local125 < 256; local125++) { + local290 = local125 * 128; + if (local125 + local60 < 256) { + local117 += anIntArray254[local60 * 128 + local89 + local290]; + } + if (local125 - local60 - 1 >= 0) { + local117 -= anIntArray254[local89 + local290 - (local60 + 1) * 128]; + } + if (local125 >= 0) { + anIntArray188[local290 + local89] = local117 / (local60 * 2 + 1); + } + } + } + } + + @OriginalMember(owner = "client!fh", name = "a", descriptor = "(BLclient!ek;)V") + public static void setRune(@OriginalArg(1) SoftwareIndexedSprite sprite) { + @Pc(5) int local5; + for (local5 = 0; local5 < anIntArray562.length; local5++) { + anIntArray562[local5] = 0; + } + @Pc(36) int local36; + for (local5 = 0; local5 < 5000; local5++) { + local36 = (int) ((double) 256 * Math.random() * 128.0D); + anIntArray562[local36] = (int) (Math.random() * 284.0D); + } + @Pc(66) int local66; + @Pc(76) int local76; + for (local5 = 0; local5 < 20; local5++) { + for (local36 = 1; local36 < 255; local36++) { + for (local66 = 1; local66 < 127; local66++) { + local76 = local66 + (local36 << 7); + anIntArray516[local76] = (anIntArray562[local76 + 128] + anIntArray562[local76 - 1] + anIntArray562[local76 + 1] + anIntArray562[local76 + -128]) / 4; + } + } + @Pc(113) int[] local113 = anIntArray562; + anIntArray562 = anIntArray516; + anIntArray516 = local113; + } + if (sprite == null) { + return; + } + local5 = 0; + for (local36 = 0; local36 < sprite.height; local36++) { + for (local66 = 0; local66 < sprite.width; local66++) { + if (sprite.pixels[local5++] != 0) { + local76 = sprite.xOffset + local66 + 16; + @Pc(162) int local162 = sprite.yOffset + local36 + 16; + @Pc(169) int local169 = local76 + (local162 << 7); + anIntArray562[local169] = 0; + } + } + } + } + + @OriginalMember(owner = "client!s", name = "b", descriptor = "(III)V") + public static void render(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { + if (anInt5434 > 0) { + method4528(anInt5434); + anInt5434 = 0; + } + @Pc(20) int local20 = 0; + @Pc(24) int local24 = SoftwareRaster.width * arg1; + @Pc(26) int local26 = 0; + for (@Pc(28) int local28 = 1; local28 < 255; local28++) { + @Pc(43) int local43 = (256 - local28) * anIntArray83[local28] / 256; + if (local43 < 0) { + local43 = 0; + } + local20 += local43; + @Pc(55) int local55; + for (local55 = local43; local55 < 128; local55++) { + @Pc(65) int local65 = SoftwareRaster.pixels[local24++ + arg0]; + @Pc(70) int local70 = anIntArray188[local20++]; + if (local70 == 0) { + aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = local65; + } else { + @Pc(76) int local76 = local70 + 18; + if (local76 > 255) { + local76 = 255; + } + @Pc(89) int local89 = 256 - local70 - 18; + if (local89 > 255) { + local89 = 255; + } + local70 = anIntArray235[local70]; + aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = (local89 * (local65 & 0xFF00FF) + (local70 & 0xFF00FF) * local76 & 0xFF00FF00) + ((local70 & 0xFF00) * local76 + ((local65 & 0xFF00) * local89) & 0xFF0000) >> 8; + } + } + for (local55 = 0; local55 < local43; local55++) { + aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = SoftwareRaster.pixels[arg0 + local24++]; + } + local24 += SoftwareRaster.width - 128; + } + if (GlRenderer.enabled) { + GlRaster.drawPixels(aClass3_Sub2_Sub1_Sub1_3.pixels, arg0, arg1, aClass3_Sub2_Sub1_Sub1_3.width, aClass3_Sub2_Sub1_Sub1_3.height); + } else { + aClass3_Sub2_Sub1_Sub1_3.drawPixels(arg0, arg1); + } + } } diff --git a/client/src/main/java/rt4/GlIndexedSprite.java b/client/src/main/java/rt4/GlIndexedSprite.java index 7c4ad68..94096f3 100644 --- a/client/src/main/java/rt4/GlIndexedSprite.java +++ b/client/src/main/java/rt4/GlIndexedSprite.java @@ -36,8 +36,8 @@ public final class GlIndexedSprite extends IndexedSprite { public GlIndexedSprite(@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) byte[] arg6, @OriginalArg(7) int[] arg7) { this.innerWidth = arg0; this.innerHeight = arg1; - this.anInt4280 = arg2; - this.anInt4273 = arg3; + this.xOffset = arg2; + this.yOffset = arg3; this.width = arg4; this.height = arg5; this.method3337(arg6, arg7); @@ -84,8 +84,8 @@ public final class GlIndexedSprite extends IndexedSprite { @Override public final void method3335(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { GlRenderer.method4155(); - @Pc(5) int local5 = arg0 + this.anInt4280; - @Pc(10) int local10 = arg1 + this.anInt4273; + @Pc(5) int local5 = arg0 + this.xOffset; + @Pc(10) int local10 = arg1 + this.yOffset; @Pc(12) GL2 local12 = GlRenderer.gl; GlRenderer.setTextureId(this.anInt4281); this.method3338(); @@ -109,8 +109,8 @@ public final class GlIndexedSprite extends IndexedSprite { @Override public final void renderTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { GlRenderer.method4149(); - @Pc(5) int local5 = arg0 + this.anInt4280; - @Pc(10) int local10 = arg1 + this.anInt4273; + @Pc(5) int local5 = arg0 + this.xOffset; + @Pc(10) int local10 = arg1 + this.yOffset; @Pc(12) GL2 local12 = GlRenderer.gl; GlRenderer.setTextureId(this.anInt4281); this.method3338(); diff --git a/client/src/main/java/rt4/GlModel.java b/client/src/main/java/rt4/GlModel.java index 07d8a29..3f34186 100644 --- a/client/src/main/java/rt4/GlModel.java +++ b/client/src/main/java/rt4/GlModel.java @@ -3495,7 +3495,7 @@ public final class GlModel extends Model { @Pc(134) int local134 = local40 + 1 - local26; @Pc(140) int local140 = local99 + 1 - local85; @Pc(151) SoftwareIndexedSprite local151; - if (arg0 == null || arg0.aByteArray18.length < local134 * local140) { + if (arg0 == null || arg0.pixels.length < local134 * local140) { local151 = new SoftwareIndexedSprite(local134, local140, 0); } else { local151 = arg0; @@ -3503,8 +3503,8 @@ public final class GlModel extends Model { arg0.innerHeight = arg0.height = local140; arg0.clear(); } - local151.anInt4280 = local26; - local151.anInt4273 = local85; + local151.xOffset = local26; + local151.yOffset = local85; if (anIntArray468.length < this.anInt5296) { anIntArray468 = new int[this.anInt5296]; anIntArray467 = new int[this.anInt5296]; @@ -3539,7 +3539,7 @@ public final class GlModel extends Model { @Pc(322) int local322 = anIntArray467[local297]; @Pc(326) int local326 = anIntArray467[local302]; if ((local246 - local248) * (local322 - local326) - (local322 - local318) * (local258 - local248) > 0) { - Rasteriser.fillSpriteTriangle(local151.aByteArray18, local318, local322, local326, local246, local248, local258, local134); + Rasteriser.fillSpriteTriangle(local151.pixels, local318, local322, local326, local246, local248, local258, local134); } } } diff --git a/client/src/main/java/rt4/GlRaster.java b/client/src/main/java/rt4/GlRaster.java index 4dae0f8..a3474f5 100644 --- a/client/src/main/java/rt4/GlRaster.java +++ b/client/src/main/java/rt4/GlRaster.java @@ -61,7 +61,7 @@ public final class GlRaster { } @OriginalMember(owner = "client!dj", name = "a", descriptor = "([IIIII)V") - public static void method1178(@OriginalArg(0) int[] arg0, @OriginalArg(1) int x, @OriginalArg(2) int y, @OriginalArg(3) int width, @OriginalArg(4) int height) { + public static void drawPixels(@OriginalArg(0) int[] arg0, @OriginalArg(1) int x, @OriginalArg(2) int y, @OriginalArg(3) int width, @OriginalArg(4) int height) { GlRenderer.method4162(); @Pc(2) GL2 gl = GlRenderer.gl; gl.glRasterPos2i(x, GlRenderer.canvasHeight - y); diff --git a/client/src/main/java/rt4/GlSprite.java b/client/src/main/java/rt4/GlSprite.java index ad8e4f6..aa58740 100644 --- a/client/src/main/java/rt4/GlSprite.java +++ b/client/src/main/java/rt4/GlSprite.java @@ -315,7 +315,7 @@ public class GlSprite extends Sprite { @OriginalMember(owner = "client!cf", name = "c", descriptor = "(II)V") @Override - public final void method1415(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + public final void drawPixels(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { GlRenderer.method4149(); @Pc(5) int local5 = arg0 + this.anInt1863; @Pc(10) int local10 = arg1 + this.anInt1861; diff --git a/client/src/main/java/rt4/IndexedSprite.java b/client/src/main/java/rt4/IndexedSprite.java index 3028c29..4ebba20 100644 --- a/client/src/main/java/rt4/IndexedSprite.java +++ b/client/src/main/java/rt4/IndexedSprite.java @@ -11,7 +11,7 @@ public abstract class IndexedSprite { public int width; @OriginalMember(owner = "client!ok", name = "d", descriptor = "I") - public int anInt4273; + public int yOffset; @OriginalMember(owner = "client!ok", name = "i", descriptor = "I") public int innerHeight; @@ -23,7 +23,7 @@ public abstract class IndexedSprite { public int innerWidth; @OriginalMember(owner = "client!ok", name = "m", descriptor = "I") - public int anInt4280; + public int xOffset; @OriginalMember(owner = "client!ok", name = "", descriptor = "()V") protected IndexedSprite() { diff --git a/client/src/main/java/rt4/InterfaceList.java b/client/src/main/java/rt4/InterfaceList.java index 23a529c..673a62e 100644 --- a/client/src/main/java/rt4/InterfaceList.java +++ b/client/src/main/java/rt4/InterfaceList.java @@ -1051,7 +1051,7 @@ public class InterfaceList { PlayerList.self.zFine = 3000; PlayerList.self.xFine = 3000; if (!GlRenderer.enabled) { - Static145.method2743(client.js5Archive8); + Flames.method2743(client.js5Archive8); client.setGameState(10); return; } diff --git a/client/src/main/java/rt4/SceneGraph.java b/client/src/main/java/rt4/SceneGraph.java index c5c0f54..237fb49 100644 --- a/client/src/main/java/rt4/SceneGraph.java +++ b/client/src/main/java/rt4/SceneGraph.java @@ -16,6 +16,8 @@ public class SceneGraph { public static final int[] anIntArray154 = new int[]{-1, -1, 1, 1}; @OriginalMember(owner = "client!j", name = "O", descriptor = "[I") public static final int[] anIntArray565 = new int[]{1, -1, -1, 1}; + @OriginalMember(owner = "client!vl", name = "e", descriptor = "[I") + public static final int[] anIntArray517 = new int[]{1, 2, 4, 8}; @OriginalMember(owner = "client!kc", name = "o", descriptor = "[[[Lclient!bj;") public static Tile[][][] tiles; @@ -1007,7 +1009,7 @@ public class SceneGraph { local2057[local2025.length + local349] = local2049[local349]; } method2280(local152, local2057); - Static221.method3393(local1900, tileUnderlays[local152], tileAngles[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, tileShapes[local152], tileOverlays[local152], tileHeights[local152], local1888); + method3393(local1900, tileUnderlays[local152], tileAngles[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, tileShapes[local152], tileOverlays[local152], tileHeights[local152], local1888); break; } for (local202 = 1; local202 <= 103; local202++) { @@ -2457,7 +2459,7 @@ public class SceneGraph { } else { local387 = new Loc(arg5, 0, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); } - setWall(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, local261); + setWall(arg2, arg7, arg8, local199, local387, null, anIntArray517[arg9], 0, local261); if (arg1) { if (arg9 == 0) { if (local62.aBoolean215) { @@ -2545,7 +2547,7 @@ public class SceneGraph { local1254 = new Loc(arg5, 2, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); local1269 = new Loc(arg5, 2, local1226, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); } - setWall(arg2, arg7, arg8, local199, local1254, local1269, Static267.anIntArray517[arg9], Static267.anIntArray517[local1226], local261); + setWall(arg2, arg7, arg8, local199, local1254, local1269, anIntArray517[arg9], anIntArray517[local1226], local261); if (local62.aBoolean220 && arg1) { if (arg9 == 0) { anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; @@ -2619,7 +2621,7 @@ public class SceneGraph { } else { local387 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); } - setWallDecor(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, 0, 0, local261); + setWallDecor(arg2, arg7, arg8, local199, local387, null, anIntArray517[arg9], 0, 0, 0, local261); } else { @Pc(1889) long local1889; @Pc(1934) Entity local1934; @@ -2639,7 +2641,7 @@ public class SceneGraph { } else { local1934 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); } - setWallDecor(arg2, arg7, arg8, local199, local1934, null, Static267.anIntArray517[arg9], 0, local1226 * Static34.anIntArray80[arg9], anIntArray469[arg9] * local1226, local261); + setWallDecor(arg2, arg7, arg8, local199, local1934, null, anIntArray517[arg9], 0, local1226 * Static34.anIntArray80[arg9], anIntArray469[arg9] * local1226, local261); } else if (arg6 == 6) { local1226 = 8; local1889 = getWallKey(arg2, arg7, arg8); @@ -3176,4 +3178,278 @@ public class SceneGraph { local13.zOffset = local13.zOffset * arg3 / 16; } } + + @OriginalMember(owner = "client!s", name = "a", descriptor = "([[F[[B[[B[Lclient!gi;II[[F[[B[[B[[II[[F)V") + public static void method3393(@OriginalArg(0) float[][] arg0, @OriginalArg(1) byte[][] arg1, @OriginalArg(2) byte[][] arg2, @OriginalArg(3) Light[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) float[][] arg6, @OriginalArg(7) byte[][] arg7, @OriginalArg(8) byte[][] arg8, @OriginalArg(9) int[][] arg9, @OriginalArg(11) float[][] arg10) { + for (@Pc(7) int local7 = 0; local7 < arg5; local7++) { + @Pc(18) Light local18 = arg3[local7]; + if (local18.level == arg4) { + @Pc(24) int local24 = 0; + @Pc(28) Light_Class45 local28 = new Light_Class45(); + @Pc(37) int local37 = (local18.x >> 7) - local18.radius; + @Pc(46) int local46 = (local18.z >> 7) - local18.radius; + if (local46 < 0) { + local24 = -local46; + local46 = 0; + } + @Pc(65) int local65 = local18.radius + (local18.z >> 7); + if (local65 > 103) { + local65 = 103; + } + @Pc(72) int local72; + @Pc(84) short local84; + @Pc(90) int local90; + @Pc(99) int local99; + @Pc(114) int local114; + @Pc(133) int local133; + @Pc(328) boolean local328; + @Pc(355) int local355; + for (local72 = local46; local72 <= local65; local72++) { + local84 = local18.aShortArray30[local24]; + local90 = local37 + (local84 >> 8); + local99 = local90 + (local84 & 0xFF) - 1; + if (local99 > 103) { + local99 = 103; + } + if (local90 < 0) { + local90 = 0; + } + for (local114 = local90; local114 <= local99; local114++) { + @Pc(125) int local125 = arg1[local114][local72] & 0xFF; + local133 = arg8[local114][local72] & 0xFF; + @Pc(135) boolean local135 = false; + @Pc(151) FloType local151; + @Pc(176) int[] local176; + @Pc(234) int[] local234; + if (local125 == 0) { + if (local133 == 0) { + continue; + } + local151 = FloTypeList.method4395(local133 - 1); + if (local151.anInt5899 == -1) { + continue; + } + if (arg7[local114][local72] != 0) { + local176 = Static1.anIntArrayArray35[arg7[local114][local72]]; + local28.anInt2016 += ((local176.length >> 1) - 2) * 3; + local28.anInt2019 += local176.length >> 1; + continue; + } + } else if (local133 != 0) { + local151 = FloTypeList.method4395(local133 - 1); + @Pc(224) byte local224; + if (local151.anInt5899 == -1) { + local224 = arg7[local114][local72]; + if (local224 != 0) { + local234 = Static193.anIntArrayArray8[local224]; + local28.anInt2016 += ((local234.length >> 1) - 2) * 3; + local28.anInt2019 += local234.length >> 1; + } + continue; + } + local224 = arg7[local114][local72]; + if (local224 != 0) { + local135 = true; + } + } + @Pc(275) Scenery local275 = getScenery(arg4, local114, local72); + if (local275 != null) { + @Pc(287) int local287 = (int) (local275.key >> 14) & 0x3F; + if (local287 == 9) { + local234 = null; + @Pc(302) int local302 = (int) (local275.key >> 20) & 0x3; + @Pc(315) boolean local315; + @Pc(343) short local343; + @Pc(349) int local349; + if ((local302 & 0x1) == 0) { + local328 = local99 >= local114 + 1; + local315 = local114 - 1 >= local90; + if (!local315 && local72 + 1 <= local65) { + local343 = local18.aShortArray30[local24 + 1]; + local349 = local37 + (local343 >> 8); + local355 = local349 + (local343 & 0xFF); + local315 = local349 < local114 && local114 < local355; + } + if (!local328 && local72 - 1 >= local46) { + local343 = local18.aShortArray30[local24 - 1]; + local349 = local37 + (local343 >> 8); + local355 = local349 + (local343 & 0xFF); + local328 = local114 > local349 && local114 < local355; + } + if (local315 && local328) { + local234 = Static1.anIntArrayArray35[0]; + } else if (local315) { + local234 = Static1.anIntArrayArray35[1]; + } else if (local328) { + local234 = Static1.anIntArrayArray35[1]; + } + } else { + local315 = local90 <= local114 - 1; + local328 = local114 + 1 <= local99; + if (!local315 && local72 - 1 >= local46) { + local343 = local18.aShortArray30[local24 - 1]; + local349 = (local343 >> 8) + local37; + local355 = local349 + (local343 & 0xFF); + local315 = local349 < local114 && local114 < local355; + } + if (!local328 && local72 + 1 <= local65) { + local343 = local18.aShortArray30[local24 + 1]; + local349 = (local343 >> 8) + local37; + local355 = local349 + (local343 & 0xFF); + local328 = local349 < local114 && local355 > local114; + } + if (local315 && local328) { + local234 = Static1.anIntArrayArray35[0]; + } else if (local315) { + local234 = Static1.anIntArrayArray35[1]; + } else if (local328) { + local234 = Static1.anIntArrayArray35[1]; + } + } + if (local234 != null) { + local28.anInt2016 += (local234.length >> 1) * 3 - 6; + local28.anInt2019 += local234.length >> 1; + } + continue; + } + } + if (local135) { + local234 = Static193.anIntArrayArray8[arg7[local114][local72]]; + local176 = Static1.anIntArrayArray35[arg7[local114][local72]]; + local28.anInt2016 += ((local176.length >> 1) - 2) * 3; + local28.anInt2016 += ((local234.length >> 1) - 2) * 3; + local28.anInt2019 += local176.length >> 1; + local28.anInt2019 += local234.length >> 1; + } else { + local176 = Static1.anIntArrayArray35[0]; + local28.anInt2016 += ((local176.length >> 1) - 2) * 3; + local28.anInt2019 += local176.length >> 1; + } + } + local24++; + } + local24 = 0; + local28.method1555(); + if ((local18.z >> 7) - local18.radius < 0) { + local24 = local18.radius - (local18.z >> 7); + } + for (local72 = local46; local72 <= local65; local72++) { + local84 = local18.aShortArray30[local24]; + local90 = (local84 >> 8) + local37; + local99 = (local84 & 0xFF) + local90 - 1; + if (local99 > 103) { + local99 = 103; + } + if (local90 < 0) { + local90 = 0; + } + for (local114 = local90; local114 <= local99; local114++) { + @Pc(775) int local775 = arg8[local114][local72] & 0xFF; + local133 = arg1[local114][local72] & 0xFF; + @Pc(789) byte local789 = arg2[local114][local72]; + @Pc(791) boolean local791 = false; + @Pc(805) FloType local805; + if (local133 == 0) { + if (local775 == 0) { + continue; + } + local805 = FloTypeList.method4395(local775 - 1); + if (local805.anInt5899 == -1) { + continue; + } + if (arg7[local114][local72] != 0) { + Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); + continue; + } + } else if (local775 != 0) { + local805 = FloTypeList.method4395(local775 - 1); + if (local805.anInt5899 == -1) { + Static131.method2578(arg0, arg9, local114, arg6, local72, Static193.anIntArrayArray8[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); + continue; + } + @Pc(815) byte local815 = arg7[local114][local72]; + if (local815 != 0) { + local791 = true; + } + } + @Pc(899) Scenery local899 = getScenery(arg4, local114, local72); + if (local899 != null) { + @Pc(911) int local911 = (int) (local899.key >> 14) & 0x3F; + if (local911 == 9) { + @Pc(917) int[] local917 = null; + @Pc(925) int local925 = (int) (local899.key >> 20) & 0x3; + @Pc(973) int local973; + @Pc(947) boolean local947; + @Pc(961) short local961; + if ((local925 & 0x1) == 0) { + local328 = local114 - 1 >= local90; + local947 = local99 >= local114 + 1; + if (!local328 && local65 >= local72 + 1) { + local961 = local18.aShortArray30[local24 + 1]; + local355 = (local961 >> 8) + local37; + local973 = (local961 & 0xFF) + local355; + local328 = local114 > local355 && local973 > local114; + } + if (!local947 && local72 - 1 >= local46) { + local961 = local18.aShortArray30[local24 - 1]; + local355 = local37 + (local961 >> 8); + local973 = (local961 & 0xFF) + local355; + local947 = local355 < local114 && local973 > local114; + } + if (local328 && local947) { + local917 = Static1.anIntArrayArray35[0]; + } else if (local328) { + local917 = Static1.anIntArrayArray35[1]; + local789 = 1; + } else if (local947) { + local917 = Static1.anIntArrayArray35[1]; + local789 = 3; + } + } else { + local328 = local114 - 1 >= local90; + local947 = local99 >= local114 + 1; + if (!local328 && local46 <= local72 - 1) { + local961 = local18.aShortArray30[local24 - 1]; + local355 = local37 + (local961 >> 8); + local973 = (local961 & 0xFF) + local355; + local328 = local114 > local355 && local973 > local114; + } + if (!local947 && local65 >= local72 + 1) { + local961 = local18.aShortArray30[local24 + 1]; + local355 = local37 + (local961 >> 8); + local973 = (local961 & 0xFF) + local355; + local947 = local114 > local355 && local973 > local114; + } + if (local328 && local947) { + local917 = Static1.anIntArrayArray35[0]; + } else if (local328) { + local789 = 0; + local917 = Static1.anIntArrayArray35[1]; + } else if (local947) { + local917 = Static1.anIntArrayArray35[1]; + local789 = 2; + } + } + if (local917 != null) { + Static131.method2578(arg0, arg9, local114, arg6, local72, local917, local28, local18, arg10, local789); + } + continue; + } + } + if (local791) { + Static131.method2578(arg0, arg9, local114, arg6, local72, Static193.anIntArrayArray8[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); + Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); + } else { + Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[0], local28, local18, arg10, local789); + } + } + local24++; + } + if (local28.anInt2017 > 0 && local28.anInt2018 > 0) { + local28.method1554(); + local18.aClass45_1 = local28; + } + } + } + } } diff --git a/client/src/main/java/rt4/ScriptRunner.java b/client/src/main/java/rt4/ScriptRunner.java index 0cec326..09e759b 100644 --- a/client/src/main/java/rt4/ScriptRunner.java +++ b/client/src/main/java/rt4/ScriptRunner.java @@ -62,6 +62,8 @@ public final class ScriptRunner { public static final int[][] anIntArrayArray6 = new int[104][104]; @OriginalMember(owner = "client!n", name = "e", descriptor = "Lclient!na;") public static final JagString aClass100_767 = JagString.parse(")2"); + @OriginalMember(owner = "client!je", name = "U", descriptor = "Lclient!na;") + public static final JagString aClass100_588 = JagString.parse("showingVideoAd"); @OriginalMember(owner = "client!jh", name = "n", descriptor = "Lclient!bd;") public static QuickChatPhrase activePhrase; @OriginalMember(owner = "client!wf", name = "j", descriptor = "Lclient!be;") @@ -1295,6 +1297,17 @@ public final class ScriptRunner { return arg4 == null || SceneGraph.method2256(arg0, arg7, arg8, arg9 + 1 - arg7, arg10 - arg8 + 1, arg1, arg2, arg3, arg4, arg5, true, arg6); } + @OriginalMember(owner = "client!vl", name = "a", descriptor = "(I)Z") + public static boolean isShowingVideoAd() { + if (client.objectTag) { + try { + return !((Boolean) aClass100_588.browserControlCall(GameShell.signLink.applet)); + } catch (@Pc(21) Throwable local21) { + } + } + return true; + } + public static class Cs2Opcodes { // Component setters public static final int setPosition = 1000; @@ -5262,7 +5275,7 @@ public final class ScriptRunner { continue; } if (opcode == Cs2Opcodes.isShowingVideoAd) { - intStack[isp++] = Static267.isShowingVideoAd() ? 1 : 0; + intStack[isp++] = isShowingVideoAd() ? 1 : 0; continue; } } else if (opcode < 6600) { diff --git a/client/src/main/java/rt4/Shadow.java b/client/src/main/java/rt4/Shadow.java index 9cbafd8..6c9d59c 100644 --- a/client/src/main/java/rt4/Shadow.java +++ b/client/src/main/java/rt4/Shadow.java @@ -112,7 +112,7 @@ public final class Shadow { @OriginalMember(owner = "client!wm", name = "a", descriptor = "(Lclient!ek;II)Z") public final boolean method4677(@OriginalArg(0) SoftwareIndexedSprite arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - @Pc(2) byte[] local2 = arg0.aByteArray18; + @Pc(2) byte[] local2 = arg0.pixels; @Pc(5) int local5 = arg0.width; @Pc(19) int local19 = arg1 * 128 + (arg2 * 128 + 1) * local5 + 1; @Pc(21) int local21 = 0; diff --git a/client/src/main/java/rt4/ShadowManager.java b/client/src/main/java/rt4/ShadowManager.java index cc34f9c..6bb8862 100644 --- a/client/src/main/java/rt4/ShadowManager.java +++ b/client/src/main/java/rt4/ShadowManager.java @@ -21,8 +21,8 @@ public final class ShadowManager { @OriginalMember(owner = "client!tj", name = "a", descriptor = "(Lclient!ek;Lclient!ek;II)V") private static void method4194(@OriginalArg(0) SoftwareIndexedSprite arg0, @OriginalArg(1) SoftwareIndexedSprite arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - arg2 += arg0.anInt4280; - arg3 += arg0.anInt4273; + arg2 += arg0.xOffset; + arg3 += arg0.yOffset; @Pc(16) int local16 = arg2 + arg3 * arg1.width; @Pc(18) int local18 = 0; @Pc(21) int local21 = arg0.height; @@ -57,7 +57,7 @@ public final class ShadowManager { local29 += local37; } if (local24 > 0 && local21 > 0) { - method4204(arg1.aByteArray18, arg0.aByteArray18, local18, local16, local24, local21, local29, local31); + method4204(arg1.pixels, arg0.pixels, local18, local16, local24, local21, local29, local31); method4196(arg2, arg3, local24, local21); } } @@ -184,8 +184,8 @@ public final class ShadowManager { @OriginalMember(owner = "client!tj", name = "b", descriptor = "(Lclient!ek;Lclient!ek;II)Z") private static boolean method4200(@OriginalArg(0) SoftwareIndexedSprite arg0, @OriginalArg(1) SoftwareIndexedSprite arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - arg2 += arg0.anInt4280; - arg3 += arg0.anInt4273; + arg2 += arg0.xOffset; + arg3 += arg0.yOffset; @Pc(16) int local16 = arg2 + arg3 * arg1.width; @Pc(19) int local19 = arg0.height; @Pc(22) int local22 = arg0.width; @@ -216,7 +216,7 @@ public final class ShadowManager { if (local22 > 0 && local19 > 0) { local27 += arg1.width * 7; method4196(arg2, arg3, local22, local19); - return method4199(arg1.aByteArray18, local16, local22, local19, local27); + return method4199(arg1.pixels, local16, local22, local19, local27); } else { return false; } @@ -237,8 +237,8 @@ public final class ShadowManager { @OriginalMember(owner = "client!tj", name = "c", descriptor = "(Lclient!ek;Lclient!ek;II)V") private static void method4202(@OriginalArg(0) SoftwareIndexedSprite arg0, @OriginalArg(1) SoftwareIndexedSprite arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - arg2 += arg0.anInt4280; - arg3 += arg0.anInt4273; + arg2 += arg0.xOffset; + arg3 += arg0.yOffset; @Pc(16) int local16 = arg2 + arg3 * arg1.width; @Pc(18) int local18 = 0; @Pc(21) int local21 = arg0.height; @@ -273,7 +273,7 @@ public final class ShadowManager { local29 += local37; } if (local24 > 0 && local21 > 0) { - method4195(arg1.aByteArray18, arg0.aByteArray18, local18, local16, local24, local21, local29, local31); + method4195(arg1.pixels, arg0.pixels, local18, local16, local24, local21, local29, local31); method4196(arg2, arg3, local24, local21); } } @@ -403,9 +403,9 @@ public final class ShadowManager { local41 = -255; } if (arg5) { - method4206(arg1.aByteArray18, arg0.aByteArray18, local32, local23, local28, local34, local41); + method4206(arg1.pixels, arg0.pixels, local32, local23, local28, local34, local41); } else { - method4208(arg1.aByteArray18, arg0.aByteArray18, local32, local23, local28, local34, local41); + method4208(arg1.pixels, arg0.pixels, local32, local23, local28, local34, local41); } method4196(arg2, arg3, 16, 16); } diff --git a/client/src/main/java/rt4/SoftwareAlphaSprite.java b/client/src/main/java/rt4/SoftwareAlphaSprite.java index 58a5fca..0a31dab 100644 --- a/client/src/main/java/rt4/SoftwareAlphaSprite.java +++ b/client/src/main/java/rt4/SoftwareAlphaSprite.java @@ -186,7 +186,7 @@ public final class SoftwareAlphaSprite extends SoftwareSprite { @OriginalMember(owner = "client!am", name = "c", descriptor = "(II)V") @Override - public final void method1415(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + public final void drawPixels(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { arg0 += this.anInt1863; arg1 += this.anInt1861; @Pc(15) int local15 = arg0 + arg1 * SoftwareRaster.width; diff --git a/client/src/main/java/rt4/SoftwareIndexedSprite.java b/client/src/main/java/rt4/SoftwareIndexedSprite.java index 335dc30..f24f8c6 100644 --- a/client/src/main/java/rt4/SoftwareIndexedSprite.java +++ b/client/src/main/java/rt4/SoftwareIndexedSprite.java @@ -9,7 +9,7 @@ import org.openrs2.deob.annotation.Pc; public final class SoftwareIndexedSprite extends IndexedSprite { @OriginalMember(owner = "client!ek", name = "o", descriptor = "[B") - public byte[] aByteArray18; + public byte[] pixels; @OriginalMember(owner = "client!ek", name = "n", descriptor = "[I") private final int[] anIntArray144; @@ -18,11 +18,11 @@ public final class SoftwareIndexedSprite extends IndexedSprite { public SoftwareIndexedSprite(@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) byte[] arg6, @OriginalArg(7) int[] arg7) { this.innerWidth = arg0; this.innerHeight = arg1; - this.anInt4280 = arg2; - this.anInt4273 = arg3; + this.xOffset = arg2; + this.yOffset = arg3; this.width = arg4; this.height = arg5; - this.aByteArray18 = arg6; + this.pixels = arg6; this.anIntArray144 = arg7; } @@ -30,8 +30,8 @@ public final class SoftwareIndexedSprite extends IndexedSprite { public SoftwareIndexedSprite(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { this.innerWidth = this.width = arg0; this.innerHeight = this.height = arg1; - this.anInt4280 = this.anInt4273 = 0; - this.aByteArray18 = new byte[arg0 * arg1]; + this.xOffset = this.yOffset = 0; + this.pixels = new byte[arg0 * arg1]; this.anIntArray144 = new int[arg2]; } @@ -186,15 +186,15 @@ public final class SoftwareIndexedSprite extends IndexedSprite { @Pc(21) int local21 = (local12 << 16) / arg2; @Pc(27) int local27 = (local15 << 16) / arg3; @Pc(41) int local41; - if (this.anInt4280 > 0) { - local41 = ((this.anInt4280 << 16) + local21 - 1) / local21; + if (this.xOffset > 0) { + local41 = ((this.xOffset << 16) + local21 - 1) / local21; arg0 += local41; - local7 = local41 * local21 - (this.anInt4280 << 16); + local7 = local41 * local21 - (this.xOffset << 16); } - if (this.anInt4273 > 0) { - local41 = ((this.anInt4273 << 16) + local27 - 1) / local27; + if (this.yOffset > 0) { + local41 = ((this.yOffset << 16) + local27 - 1) / local27; arg1 += local41; - local9 = local41 * local27 - (this.anInt4273 << 16); + local9 = local41 * local27 - (this.yOffset << 16); } if (local2 < local12) { arg2 = ((local2 << 16) + local21 - local7 - 1) / local21; @@ -226,26 +226,26 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local7 += local21 * local145; local125 += local145; } - method1394(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2, arg4); + method1394(SoftwareRaster.pixels, this.pixels, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2, arg4); } @OriginalMember(owner = "client!ek", name = "a", descriptor = "()V") public final void clear() { @Pc(1) int local1 = 0; - @Pc(7) int local7 = this.aByteArray18.length - 7; + @Pc(7) int local7 = this.pixels.length - 7; while (local1 < local7) { - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; - this.aByteArray18[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; + this.pixels[local1++] = 0; } local7 += 7; while (local1 < local7) { - this.aByteArray18[local1++] = 0; + this.pixels[local1++] = 0; } } @@ -256,13 +256,13 @@ public final class SoftwareIndexedSprite extends IndexedSprite { @Pc(10) int local10; for (local10 = 0; local10 < this.width; local10++) { for (@Pc(19) int local19 = this.height - 1; local19 >= 0; local19--) { - local6[local8++] = this.aByteArray18[local10 + local19 * this.width]; + local6[local8++] = this.pixels[local10 + local19 * this.width]; } } - this.aByteArray18 = local6; - local10 = this.anInt4273; - this.anInt4273 = this.anInt4280; - this.anInt4280 = this.innerHeight - this.height - local10; + this.pixels = local6; + local10 = this.yOffset; + this.yOffset = this.xOffset; + this.xOffset = this.innerHeight - this.height - local10; local10 = this.height; this.height = this.width; this.width = local10; @@ -274,8 +274,8 @@ public final class SoftwareIndexedSprite extends IndexedSprite { @OriginalMember(owner = "client!ek", name = "a", descriptor = "(III)V") @Override public final void method3335(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - arg0 += this.anInt4280; - arg1 += this.anInt4273; + arg0 += this.xOffset; + arg1 += this.yOffset; @Pc(15) int local15 = arg0 + arg1 * SoftwareRaster.width; @Pc(17) int local17 = 0; @Pc(20) int local20 = this.height; @@ -309,7 +309,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - method1397(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29, arg2); + method1397(SoftwareRaster.pixels, this.pixels, this.anIntArray144, local17, local15, local23, local20, local27, local29, arg2); } } @@ -322,14 +322,14 @@ public final class SoftwareIndexedSprite extends IndexedSprite { @Pc(19) int local19 = 0; for (@Pc(21) int local21 = 0; local21 < this.height; local21++) { for (@Pc(27) int local27 = 0; local27 < this.width; local27++) { - local17[local27 + this.anInt4280 + (local21 + this.anInt4273) * this.innerWidth] = this.aByteArray18[local19++]; + local17[local27 + this.xOffset + (local21 + this.yOffset) * this.innerWidth] = this.pixels[local19++]; } } - this.aByteArray18 = local17; + this.pixels = local17; this.width = this.innerWidth; this.height = this.innerHeight; - this.anInt4280 = 0; - this.anInt4273 = 0; + this.xOffset = 0; + this.yOffset = 0; } @OriginalMember(owner = "client!ek", name = "a", descriptor = "(IIII)V") @@ -343,15 +343,15 @@ public final class SoftwareIndexedSprite extends IndexedSprite { @Pc(21) int local21 = (local12 << 16) / arg2; @Pc(27) int local27 = (local15 << 16) / arg3; @Pc(41) int local41; - if (this.anInt4280 > 0) { - local41 = ((this.anInt4280 << 16) + local21 - 1) / local21; + if (this.xOffset > 0) { + local41 = ((this.xOffset << 16) + local21 - 1) / local21; arg0 += local41; - local7 = local41 * local21 - (this.anInt4280 << 16); + local7 = local41 * local21 - (this.xOffset << 16); } - if (this.anInt4273 > 0) { - local41 = ((this.anInt4273 << 16) + local27 - 1) / local27; + if (this.yOffset > 0) { + local41 = ((this.yOffset << 16) + local27 - 1) / local27; arg1 += local41; - local9 = local41 * local27 - (this.anInt4273 << 16); + local9 = local41 * local27 - (this.yOffset << 16); } if (local2 < local12) { arg2 = ((local2 << 16) + local21 - local7 - 1) / local21; @@ -383,14 +383,14 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local7 += local21 * local145; local125 += local145; } - method1391(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2); + method1391(SoftwareRaster.pixels, this.pixels, this.anIntArray144, local7, local9, local41, local125, arg2, arg3, local21, local27, local2); } @OriginalMember(owner = "client!ek", name = "a", descriptor = "(II)V") @Override public final void renderTransparent(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - arg0 += this.anInt4280; - arg1 += this.anInt4273; + arg0 += this.xOffset; + arg1 += this.yOffset; @Pc(15) int local15 = arg0 + arg1 * SoftwareRaster.width; @Pc(17) int local17 = 0; @Pc(20) int local20 = this.height; @@ -424,7 +424,7 @@ public final class SoftwareIndexedSprite extends IndexedSprite { local27 += local36; } if (local23 > 0 && local20 > 0) { - method1393(SoftwareRaster.pixels, this.aByteArray18, this.anIntArray144, local17, local15, local23, local20, local27, local29); + method1393(SoftwareRaster.pixels, this.pixels, 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 b52b428..034a0b1 100644 --- a/client/src/main/java/rt4/SoftwareSprite.java +++ b/client/src/main/java/rt4/SoftwareSprite.java @@ -281,7 +281,7 @@ public class SoftwareSprite extends Sprite { @OriginalMember(owner = "client!mm", name = "c", descriptor = "(II)V") @Override - public void method1415(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + public void drawPixels(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { arg0 += this.anInt1863; arg1 += this.anInt1861; @Pc(15) int local15 = arg0 + arg1 * SoftwareRaster.width; diff --git a/client/src/main/java/rt4/Sprite.java b/client/src/main/java/rt4/Sprite.java index fc2f0ef..29b789c 100644 --- a/client/src/main/java/rt4/Sprite.java +++ b/client/src/main/java/rt4/Sprite.java @@ -31,7 +31,7 @@ public abstract class Sprite extends SecondaryNode { } @OriginalMember(owner = "client!qf", name = "c", descriptor = "(II)V") - public abstract void method1415(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1); + public abstract void drawPixels(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1); @OriginalMember(owner = "client!qf", name = "a", descriptor = "(IIIIII)V") protected abstract void method1416(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5); diff --git a/client/src/main/java/rt4/SpriteLoader.java b/client/src/main/java/rt4/SpriteLoader.java index 99b31c6..2606ca7 100644 --- a/client/src/main/java/rt4/SpriteLoader.java +++ b/client/src/main/java/rt4/SpriteLoader.java @@ -310,7 +310,7 @@ public class SpriteLoader { } @OriginalMember(owner = "client!ml", name = "a", descriptor = "(BILclient!ve;)[Lclient!ek;") - public static SoftwareIndexedSprite[] method3088(@OriginalArg(1) int arg0, @OriginalArg(2) Js5 arg1) { + public static SoftwareIndexedSprite[] loadSoftwareIndexedSpritesAutoDetect(@OriginalArg(1) int arg0, @OriginalArg(2) Js5 arg1) { return decode(arg1, arg0) ? createSoftwareIndexedSprites() : null; } diff --git a/client/src/main/java/rt4/Static1.java b/client/src/main/java/rt4/Static1.java index c932027..a3428c4 100644 --- a/client/src/main/java/rt4/Static1.java +++ b/client/src/main/java/rt4/Static1.java @@ -20,8 +20,6 @@ public final class Static1 { @OriginalMember(owner = "client!a", name = "e", descriptor = "Lclient!na;") public static final JagString TITLE_SONG = JagString.parse("scape main"); - @OriginalMember(owner = "client!a", name = "i", descriptor = "I") - public static int anInt6 = 0; @OriginalMember(owner = "client!ig", name = "b", descriptor = "I") public static int anInt2882; @OriginalMember(owner = "client!ig", name = "f", descriptor = "I") @@ -562,7 +560,7 @@ public final class Static1 { SoftwareRaster.frameBuffer.makeTarget(); } } - WorldMap.aClass3_Sub2_Sub1_2.method1415(arg0, arg3); + WorldMap.aClass3_Sub2_Sub1_2.drawPixels(arg0, arg3); @Pc(147) int local147 = arg1 * anInt2884 / WorldMap.length + arg3; @Pc(153) int local153 = WorldMap.anInt1176 * arg1 / WorldMap.length; @Pc(161) int local161 = arg0 + arg2 * anInt2882 / WorldMap.width; diff --git a/client/src/main/java/rt4/Static123.java b/client/src/main/java/rt4/Static123.java index 0e9949f..2f9e50d 100644 --- a/client/src/main/java/rt4/Static123.java +++ b/client/src/main/java/rt4/Static123.java @@ -7,8 +7,6 @@ public final class Static123 { @OriginalMember(owner = "client!qk", name = "b", descriptor = "Lclient!na;") public static final JagString aClass100_900 = JagString.parse("tbrefresh"); - @OriginalMember(owner = "client!jj", name = "e", descriptor = "I") - public static int anInt3058 = 0; @OriginalMember(owner = "client!jj", name = "j", descriptor = "Z") public static boolean draggingClickedInventoryObject = false; diff --git a/client/src/main/java/rt4/Static145.java b/client/src/main/java/rt4/Static145.java index aed863a..cc4e3b5 100644 --- a/client/src/main/java/rt4/Static145.java +++ b/client/src/main/java/rt4/Static145.java @@ -1,6 +1,5 @@ package rt4; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; @@ -8,20 +7,6 @@ public final class Static145 { @OriginalMember(owner = "client!lf", name = "k", descriptor = "I") public static int anInt3502 = -1; - @OriginalMember(owner = "client!vg", name = "e", descriptor = "[I") - public static int[] anIntArray516; - @OriginalMember(owner = "client!ri", name = "d", descriptor = "[I") - public static int[] anIntArray188; - @OriginalMember(owner = "client!wb", name = "b", descriptor = "[I") - public static int[] anIntArray562; - @OriginalMember(owner = "client!nd", name = "y", descriptor = "Lclient!mm;") - public static SoftwareSprite aClass3_Sub2_Sub1_Sub1_3; - @OriginalMember(owner = "client!i", name = "ec", descriptor = "[I") - public static int[] anIntArray254; - @OriginalMember(owner = "client!t", name = "G", descriptor = "[Lclient!ek;") - public static SoftwareIndexedSprite[] aClass36_Sub1Array1; - @OriginalMember(owner = "client!hh", name = "r", descriptor = "[I") - public static int[] anIntArray235; @OriginalMember(owner = "client!lf", name = "a", descriptor = "(I)V") public static void method2742() { @@ -33,39 +18,6 @@ public final class Static145 { } } - @OriginalMember(owner = "client!lf", name = "a", descriptor = "(ILclient!ve;)V") - public static void method2743(@OriginalArg(1) Js5 arg0) { - aClass36_Sub1Array1 = SpriteLoader.method3088(Flames.anInt3443, arg0); - anIntArray235 = new int[256]; - @Pc(15) int local15; - for (local15 = 0; local15 < 3; local15++) { - @Pc(30) int local30 = Flames.anIntArray445[local15 + 1] >> 16 & 0xFF; - @Pc(39) float local39 = (float) (Flames.anIntArray445[local15] >> 16 & 0xFF); - @Pc(48) float local48 = (float) (Flames.anIntArray445[local15] >> 8 & 0xFF); - @Pc(55) float local55 = (float) (Flames.anIntArray445[local15] & 0xFF); - @Pc(62) float local62 = ((float) local30 - local39) / 64.0F; - @Pc(72) int local72 = Flames.anIntArray445[local15 + 1] >> 8 & 0xFF; - @Pc(80) float local80 = ((float) local72 - local48) / 64.0F; - @Pc(88) int local88 = Flames.anIntArray445[local15 + 1] & 0xFF; - @Pc(95) float local95 = ((float) local88 - local55) / 64.0F; - for (@Pc(97) int local97 = 0; local97 < 64; local97++) { - anIntArray235[local97 + local15 * 64] = (int) local55 | (int) local48 << 8 | (int) local39 << 16; - local48 += local80; - local55 += local95; - local39 += local62; - } - } - for (local15 = 192; local15 < 255; local15++) { - anIntArray235[local15] = Flames.anIntArray445[3]; - } - anIntArray562 = new int[32768]; - anIntArray516 = new int[32768]; - method1545(null); - anIntArray254 = new int[32768]; - anIntArray188 = new int[32768]; - aClass3_Sub2_Sub1_Sub1_3 = new SoftwareSprite(128, 254); - } - @OriginalMember(owner = "client!lf", name = "b", descriptor = "(I)V") public static void method2744() { @Pc(3) int local3 = InterfaceList.anInt5138; @@ -95,43 +47,4 @@ public final class Static145 { Static121.redrawScreen(InterfaceList.anInt4271, InterfaceList.anInt5138, InterfaceList.anInt436, InterfaceList.anInt761); } - @OriginalMember(owner = "client!fh", name = "a", descriptor = "(BLclient!ek;)V") - public static void method1545(@OriginalArg(1) SoftwareIndexedSprite arg0) { - @Pc(5) int local5; - for (local5 = 0; local5 < anIntArray562.length; local5++) { - anIntArray562[local5] = 0; - } - @Pc(36) int local36; - for (local5 = 0; local5 < 5000; local5++) { - local36 = (int) ((double) 256 * Math.random() * 128.0D); - anIntArray562[local36] = (int) (Math.random() * 284.0D); - } - @Pc(66) int local66; - @Pc(76) int local76; - for (local5 = 0; local5 < 20; local5++) { - for (local36 = 1; local36 < 255; local36++) { - for (local66 = 1; local66 < 127; local66++) { - local76 = local66 + (local36 << 7); - anIntArray516[local76] = (anIntArray562[local76 + 128] + anIntArray562[local76 - 1] + anIntArray562[local76 + 1] + anIntArray562[local76 + -128]) / 4; - } - } - @Pc(113) int[] local113 = anIntArray562; - anIntArray562 = anIntArray516; - anIntArray516 = local113; - } - if (arg0 == null) { - return; - } - local5 = 0; - for (local36 = 0; local36 < arg0.height; local36++) { - for (local66 = 0; local66 < arg0.width; local66++) { - if (arg0.aByteArray18[local5++] != 0) { - local76 = arg0.anInt4280 + local66 + 16; - @Pc(162) int local162 = arg0.anInt4273 + local36 + 16; - @Pc(169) int local169 = local76 + (local162 << 7); - anIntArray562[local169] = 0; - } - } - } - } } diff --git a/client/src/main/java/rt4/Static221.java b/client/src/main/java/rt4/Static221.java deleted file mode 100644 index 71825c1..0000000 --- a/client/src/main/java/rt4/Static221.java +++ /dev/null @@ -1,333 +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 Static221 { - - @OriginalMember(owner = "client!cl", name = "ab", descriptor = "[I") - public static final int[] anIntArray83 = new int[256]; - @OriginalMember(owner = "client!s", name = "a", descriptor = "[I") - public static int[] tt; - - @OriginalMember(owner = "client!s", name = "b", descriptor = "(III)V") - public static void method3392(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - if (Flames.anInt5434 > 0) { - Static267.method4528(Flames.anInt5434); - Flames.anInt5434 = 0; - } - @Pc(20) int local20 = 0; - @Pc(24) int local24 = SoftwareRaster.width * arg1; - @Pc(26) int local26 = 0; - for (@Pc(28) int local28 = 1; local28 < 255; local28++) { - @Pc(43) int local43 = (256 - local28) * anIntArray83[local28] / 256; - if (local43 < 0) { - local43 = 0; - } - local20 += local43; - @Pc(55) int local55; - for (local55 = local43; local55 < 128; local55++) { - @Pc(65) int local65 = SoftwareRaster.pixels[local24++ + arg0]; - @Pc(70) int local70 = Static145.anIntArray188[local20++]; - if (local70 == 0) { - Static145.aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = local65; - } else { - @Pc(76) int local76 = local70 + 18; - if (local76 > 255) { - local76 = 255; - } - @Pc(89) int local89 = 256 - local70 - 18; - if (local89 > 255) { - local89 = 255; - } - local70 = Static145.anIntArray235[local70]; - Static145.aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = (local89 * (local65 & 0xFF00FF) + (local70 & 0xFF00FF) * local76 & 0xFF00FF00) + ((local70 & 0xFF00) * local76 + ((local65 & 0xFF00) * local89) & 0xFF0000) >> 8; - } - } - for (local55 = 0; local55 < local43; local55++) { - Static145.aClass3_Sub2_Sub1_Sub1_3.pixels[local26++] = SoftwareRaster.pixels[arg0 + local24++]; - } - local24 += SoftwareRaster.width - 128; - } - if (GlRenderer.enabled) { - GlRaster.method1178(Static145.aClass3_Sub2_Sub1_Sub1_3.pixels, arg0, arg1, Static145.aClass3_Sub2_Sub1_Sub1_3.width, Static145.aClass3_Sub2_Sub1_Sub1_3.height); - } else { - Static145.aClass3_Sub2_Sub1_Sub1_3.method1415(arg0, arg1); - } - } - - @OriginalMember(owner = "client!s", name = "a", descriptor = "([[F[[B[[B[Lclient!gi;II[[F[[B[[B[[II[[F)V") - public static void method3393(@OriginalArg(0) float[][] arg0, @OriginalArg(1) byte[][] arg1, @OriginalArg(2) byte[][] arg2, @OriginalArg(3) Light[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) float[][] arg6, @OriginalArg(7) byte[][] arg7, @OriginalArg(8) byte[][] arg8, @OriginalArg(9) int[][] arg9, @OriginalArg(11) float[][] arg10) { - for (@Pc(7) int local7 = 0; local7 < arg5; local7++) { - @Pc(18) Light local18 = arg3[local7]; - if (local18.level == arg4) { - @Pc(24) int local24 = 0; - @Pc(28) Light_Class45 local28 = new Light_Class45(); - @Pc(37) int local37 = (local18.x >> 7) - local18.radius; - @Pc(46) int local46 = (local18.z >> 7) - local18.radius; - if (local46 < 0) { - local24 = -local46; - local46 = 0; - } - @Pc(65) int local65 = local18.radius + (local18.z >> 7); - if (local65 > 103) { - local65 = 103; - } - @Pc(72) int local72; - @Pc(84) short local84; - @Pc(90) int local90; - @Pc(99) int local99; - @Pc(114) int local114; - @Pc(133) int local133; - @Pc(328) boolean local328; - @Pc(355) int local355; - for (local72 = local46; local72 <= local65; local72++) { - local84 = local18.aShortArray30[local24]; - local90 = local37 + (local84 >> 8); - local99 = local90 + (local84 & 0xFF) - 1; - if (local99 > 103) { - local99 = 103; - } - if (local90 < 0) { - local90 = 0; - } - for (local114 = local90; local114 <= local99; local114++) { - @Pc(125) int local125 = arg1[local114][local72] & 0xFF; - local133 = arg8[local114][local72] & 0xFF; - @Pc(135) boolean local135 = false; - @Pc(151) FloType local151; - @Pc(176) int[] local176; - @Pc(234) int[] local234; - if (local125 == 0) { - if (local133 == 0) { - continue; - } - local151 = FloTypeList.method4395(local133 - 1); - if (local151.anInt5899 == -1) { - continue; - } - if (arg7[local114][local72] != 0) { - local176 = Static1.anIntArrayArray35[arg7[local114][local72]]; - local28.anInt2016 += ((local176.length >> 1) - 2) * 3; - local28.anInt2019 += local176.length >> 1; - continue; - } - } else if (local133 != 0) { - local151 = FloTypeList.method4395(local133 - 1); - @Pc(224) byte local224; - if (local151.anInt5899 == -1) { - local224 = arg7[local114][local72]; - if (local224 != 0) { - local234 = Static193.anIntArrayArray8[local224]; - local28.anInt2016 += ((local234.length >> 1) - 2) * 3; - local28.anInt2019 += local234.length >> 1; - } - continue; - } - local224 = arg7[local114][local72]; - if (local224 != 0) { - local135 = true; - } - } - @Pc(275) Scenery local275 = SceneGraph.getScenery(arg4, local114, local72); - if (local275 != null) { - @Pc(287) int local287 = (int) (local275.key >> 14) & 0x3F; - if (local287 == 9) { - local234 = null; - @Pc(302) int local302 = (int) (local275.key >> 20) & 0x3; - @Pc(315) boolean local315; - @Pc(343) short local343; - @Pc(349) int local349; - if ((local302 & 0x1) == 0) { - local328 = local99 >= local114 + 1; - local315 = local114 - 1 >= local90; - if (!local315 && local72 + 1 <= local65) { - local343 = local18.aShortArray30[local24 + 1]; - local349 = local37 + (local343 >> 8); - local355 = local349 + (local343 & 0xFF); - local315 = local349 < local114 && local114 < local355; - } - if (!local328 && local72 - 1 >= local46) { - local343 = local18.aShortArray30[local24 - 1]; - local349 = local37 + (local343 >> 8); - local355 = local349 + (local343 & 0xFF); - local328 = local114 > local349 && local114 < local355; - } - if (local315 && local328) { - local234 = Static1.anIntArrayArray35[0]; - } else if (local315) { - local234 = Static1.anIntArrayArray35[1]; - } else if (local328) { - local234 = Static1.anIntArrayArray35[1]; - } - } else { - local315 = local90 <= local114 - 1; - local328 = local114 + 1 <= local99; - if (!local315 && local72 - 1 >= local46) { - local343 = local18.aShortArray30[local24 - 1]; - local349 = (local343 >> 8) + local37; - local355 = local349 + (local343 & 0xFF); - local315 = local349 < local114 && local114 < local355; - } - if (!local328 && local72 + 1 <= local65) { - local343 = local18.aShortArray30[local24 + 1]; - local349 = (local343 >> 8) + local37; - local355 = local349 + (local343 & 0xFF); - local328 = local349 < local114 && local355 > local114; - } - if (local315 && local328) { - local234 = Static1.anIntArrayArray35[0]; - } else if (local315) { - local234 = Static1.anIntArrayArray35[1]; - } else if (local328) { - local234 = Static1.anIntArrayArray35[1]; - } - } - if (local234 != null) { - local28.anInt2016 += (local234.length >> 1) * 3 - 6; - local28.anInt2019 += local234.length >> 1; - } - continue; - } - } - if (local135) { - local234 = Static193.anIntArrayArray8[arg7[local114][local72]]; - local176 = Static1.anIntArrayArray35[arg7[local114][local72]]; - local28.anInt2016 += ((local176.length >> 1) - 2) * 3; - local28.anInt2016 += ((local234.length >> 1) - 2) * 3; - local28.anInt2019 += local176.length >> 1; - local28.anInt2019 += local234.length >> 1; - } else { - local176 = Static1.anIntArrayArray35[0]; - local28.anInt2016 += ((local176.length >> 1) - 2) * 3; - local28.anInt2019 += local176.length >> 1; - } - } - local24++; - } - local24 = 0; - local28.method1555(); - if ((local18.z >> 7) - local18.radius < 0) { - local24 = local18.radius - (local18.z >> 7); - } - for (local72 = local46; local72 <= local65; local72++) { - local84 = local18.aShortArray30[local24]; - local90 = (local84 >> 8) + local37; - local99 = (local84 & 0xFF) + local90 - 1; - if (local99 > 103) { - local99 = 103; - } - if (local90 < 0) { - local90 = 0; - } - for (local114 = local90; local114 <= local99; local114++) { - @Pc(775) int local775 = arg8[local114][local72] & 0xFF; - local133 = arg1[local114][local72] & 0xFF; - @Pc(789) byte local789 = arg2[local114][local72]; - @Pc(791) boolean local791 = false; - @Pc(805) FloType local805; - if (local133 == 0) { - if (local775 == 0) { - continue; - } - local805 = FloTypeList.method4395(local775 - 1); - if (local805.anInt5899 == -1) { - continue; - } - if (arg7[local114][local72] != 0) { - Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); - continue; - } - } else if (local775 != 0) { - local805 = FloTypeList.method4395(local775 - 1); - if (local805.anInt5899 == -1) { - Static131.method2578(arg0, arg9, local114, arg6, local72, Static193.anIntArrayArray8[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); - continue; - } - @Pc(815) byte local815 = arg7[local114][local72]; - if (local815 != 0) { - local791 = true; - } - } - @Pc(899) Scenery local899 = SceneGraph.getScenery(arg4, local114, local72); - if (local899 != null) { - @Pc(911) int local911 = (int) (local899.key >> 14) & 0x3F; - if (local911 == 9) { - @Pc(917) int[] local917 = null; - @Pc(925) int local925 = (int) (local899.key >> 20) & 0x3; - @Pc(973) int local973; - @Pc(947) boolean local947; - @Pc(961) short local961; - if ((local925 & 0x1) == 0) { - local328 = local114 - 1 >= local90; - local947 = local99 >= local114 + 1; - if (!local328 && local65 >= local72 + 1) { - local961 = local18.aShortArray30[local24 + 1]; - local355 = (local961 >> 8) + local37; - local973 = (local961 & 0xFF) + local355; - local328 = local114 > local355 && local973 > local114; - } - if (!local947 && local72 - 1 >= local46) { - local961 = local18.aShortArray30[local24 - 1]; - local355 = local37 + (local961 >> 8); - local973 = (local961 & 0xFF) + local355; - local947 = local355 < local114 && local973 > local114; - } - if (local328 && local947) { - local917 = Static1.anIntArrayArray35[0]; - } else if (local328) { - local917 = Static1.anIntArrayArray35[1]; - local789 = 1; - } else if (local947) { - local917 = Static1.anIntArrayArray35[1]; - local789 = 3; - } - } else { - local328 = local114 - 1 >= local90; - local947 = local99 >= local114 + 1; - if (!local328 && local46 <= local72 - 1) { - local961 = local18.aShortArray30[local24 - 1]; - local355 = local37 + (local961 >> 8); - local973 = (local961 & 0xFF) + local355; - local328 = local114 > local355 && local973 > local114; - } - if (!local947 && local65 >= local72 + 1) { - local961 = local18.aShortArray30[local24 + 1]; - local355 = local37 + (local961 >> 8); - local973 = (local961 & 0xFF) + local355; - local947 = local114 > local355 && local973 > local114; - } - if (local328 && local947) { - local917 = Static1.anIntArrayArray35[0]; - } else if (local328) { - local789 = 0; - local917 = Static1.anIntArrayArray35[1]; - } else if (local947) { - local917 = Static1.anIntArrayArray35[1]; - local789 = 2; - } - } - if (local917 != null) { - Static131.method2578(arg0, arg9, local114, arg6, local72, local917, local28, local18, arg10, local789); - } - continue; - } - } - if (local791) { - Static131.method2578(arg0, arg9, local114, arg6, local72, Static193.anIntArrayArray8[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); - Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]); - } else { - Static131.method2578(arg0, arg9, local114, arg6, local72, Static1.anIntArrayArray35[0], local28, local18, arg10, local789); - } - } - local24++; - } - if (local28.anInt2017 > 0 && local28.anInt2018 > 0) { - local28.method1554(); - local18.aClass45_1 = local28; - } - } - } - } -} diff --git a/client/src/main/java/rt4/Static226.java b/client/src/main/java/rt4/Static226.java index 9b374a7..de1166a 100644 --- a/client/src/main/java/rt4/Static226.java +++ b/client/src/main/java/rt4/Static226.java @@ -5,8 +5,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static226 { - @OriginalMember(owner = "client!sf", name = "i", descriptor = "I") - public static int anInt5084 = 0; @OriginalMember(owner = "client!ml", name = "Q", descriptor = "I") public static int anInt3953 = 0; @OriginalMember(owner = "client!wl", name = "u", descriptor = "I") diff --git a/client/src/main/java/rt4/Static267.java b/client/src/main/java/rt4/Static267.java deleted file mode 100644 index 593b7eb..0000000 --- a/client/src/main/java/rt4/Static267.java +++ /dev/null @@ -1,119 +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 Static267 { - - @OriginalMember(owner = "client!vl", name = "e", descriptor = "[I") - public static final int[] anIntArray517 = new int[]{1, 2, 4, 8}; - @OriginalMember(owner = "client!je", name = "U", descriptor = "Lclient!na;") - public static final JagString aClass100_588 = JagString.parse("showingVideoAd"); - - @OriginalMember(owner = "client!vl", name = "l", descriptor = "I") - public static int anInt5776 = 0; - - @OriginalMember(owner = "client!vl", name = "a", descriptor = "(I)Z") - public static boolean isShowingVideoAd() { - if (client.objectTag) { - try { - return !((Boolean) aClass100_588.browserControlCall(GameShell.signLink.applet)); - } catch (@Pc(21) Throwable local21) { - } - } - return true; - } - - @OriginalMember(owner = "client!vl", name = "a", descriptor = "(II)V") - public static void method4528(@OriginalArg(0) int arg0) { - if (arg0 > 256) { - arg0 = 256; - } - if (arg0 > 10) { - arg0 = 10; - } - Static123.anInt3058 += arg0 * 128; - @Pc(40) int local40; - if (Static145.anIntArray562.length < Static123.anInt3058) { - Static123.anInt3058 -= Static145.anIntArray562.length; - local40 = (int) (Math.random() * 12.0D); - Static145.method1545(Static145.aClass36_Sub1Array1[local40]); - } - local40 = 0; - @Pc(54) int local54 = (256 - arg0) * 128; - @Pc(58) int local58 = arg0 * 128; - @Pc(60) int local60; - @Pc(89) int local89; - for (local60 = 0; local60 < local54; local60++) { - local89 = Static145.anIntArray188[local40 + local58] - arg0 * Static145.anIntArray562[Static145.anIntArray562.length - 1 & Static123.anInt3058 + local40] / 6; - if (local89 < 0) { - local89 = 0; - } - Static145.anIntArray188[local40++] = local89; - } - @Pc(117) int local117; - @Pc(125) int local125; - for (local60 = 256 - arg0; local60 < 256; local60++) { - local89 = local60 * 128; - for (local117 = 0; local117 < 128; local117++) { - local125 = (int) (Math.random() * 100.0D); - if (local125 < 50 && local117 > 10 && local117 < 118) { - Static145.anIntArray188[local117 + local89] = 255; - } else { - Static145.anIntArray188[local117 + local89] = 0; - } - } - } - for (local60 = 0; local60 < 256 - arg0; local60++) { - Static221.anIntArray83[local60] = Static221.anIntArray83[local60 + arg0]; - } - for (local60 = 256 - arg0; local60 < 256; local60++) { - Static221.anIntArray83[local60] = (int) (Math.sin((double) Static1.anInt6 / 14.0D) * 16.0D + Math.sin((double) Static1.anInt6 / 15.0D) * 14.0D + Math.sin((double) Static1.anInt6 / 16.0D) * 12.0D); - Static1.anInt6++; - } - Static226.anInt5084 += arg0; - local60 = (arg0 + (client.loop & 0x1)) / 2; - if (local60 <= 0) { - return; - } - for (local89 = 0; local89 < Static226.anInt5084; local89++) { - local117 = (int) (Math.random() * 124.0D) + 2; - local125 = (int) (Math.random() * 128.0D) + 128; - Static145.anIntArray188[local117 + (local125 << 7)] = 192; - } - Static226.anInt5084 = 0; - @Pc(290) int local290; - for (local89 = 0; local89 < 256; local89++) { - local125 = local89 * 128; - local117 = 0; - for (local290 = -local60; local290 < 128; local290++) { - if (local60 + local290 < 128) { - local117 += Static145.anIntArray188[local125 + local290 + local60]; - } - if (local290 - local60 - 1 >= 0) { - local117 -= Static145.anIntArray188[local290 + local125 - local60 - 1]; - } - if (local290 >= 0) { - Static145.anIntArray254[local290 + local125] = local117 / (local60 * 2 + 1); - } - } - } - for (local89 = 0; local89 < 128; local89++) { - local117 = 0; - for (local125 = -local60; local125 < 256; local125++) { - local290 = local125 * 128; - if (local125 + local60 < 256) { - local117 += Static145.anIntArray254[local60 * 128 + local89 + local290]; - } - if (local125 - local60 - 1 >= 0) { - local117 -= Static145.anIntArray254[local89 + local290 - (local60 + 1) * 128]; - } - if (local125 >= 0) { - Static145.anIntArray188[local290 + local89] = local117 / (local60 * 2 + 1); - } - } - } - } - -} diff --git a/client/src/main/java/rt4/Static87.java b/client/src/main/java/rt4/Static87.java index 8287b4f..202bd0d 100644 --- a/client/src/main/java/rt4/Static87.java +++ b/client/src/main/java/rt4/Static87.java @@ -294,7 +294,7 @@ public final class Static87 { } if (component.clientCode == 1402) { if (!GlRenderer.enabled) { - Static221.method3392(local123, local114); + Flames.render(local123, local114); InterfaceList.aBooleanArray100[rectangle] = true; InterfaceList.rectangleRedraw[rectangle] = true; } diff --git a/client/src/main/java/rt4/TextureOp23.java b/client/src/main/java/rt4/TextureOp23.java index 0f7d782..9830a2e 100644 --- a/client/src/main/java/rt4/TextureOp23.java +++ b/client/src/main/java/rt4/TextureOp23.java @@ -10,6 +10,8 @@ public final class TextureOp23 extends TextureOp { @OriginalMember(owner = "client!hd", name = "i", descriptor = "I") public static int anInt2433 = 0; + @OriginalMember(owner = "client!vl", name = "l", descriptor = "I") + public static int anInt5776 = 0; @OriginalMember(owner = "client!je", name = "", descriptor = "()V") public TextureOp23() { @@ -23,30 +25,30 @@ public final class TextureOp23 extends TextureOp { @Pc(28) float local28 = (float) Math.atan2(local13 - 2048, local17 - 2048); if ((double) local28 >= -3.141592653589793D && -2.356194490192345D >= (double) local28) { anInt2433 = arg0; - Static267.anInt5776 = arg1; + anInt5776 = arg1; } else if ((double) local28 <= -1.5707963267948966D && -2.356194490192345D <= (double) local28) { - Static267.anInt5776 = arg0; + anInt5776 = arg0; anInt2433 = arg1; } else if ((double) local28 <= -0.7853981633974483D && (double) local28 >= -1.5707963267948966D) { - Static267.anInt5776 = Texture.width - arg0; + anInt5776 = Texture.width - arg0; anInt2433 = arg1; } else if (local28 <= 0.0F && (double) local28 >= -0.7853981633974483D) { - Static267.anInt5776 = arg1; + anInt5776 = arg1; anInt2433 = Texture.height - arg0; } else if (local28 >= 0.0F && (double) local28 <= 0.7853981633974483D) { - Static267.anInt5776 = Texture.width - arg1; + anInt5776 = Texture.width - arg1; anInt2433 = Texture.height - arg0; } else if ((double) local28 >= 0.7853981633974483D && (double) local28 <= 1.5707963267948966D) { - Static267.anInt5776 = Texture.width - arg0; + anInt5776 = Texture.width - arg0; anInt2433 = Texture.height - arg1; } else if ((double) local28 >= 1.5707963267948966D && (double) local28 <= 2.356194490192345D) { anInt2433 = Texture.height - arg1; - Static267.anInt5776 = arg0; + anInt5776 = arg0; } else if ((double) local28 >= 2.356194490192345D && (double) local28 <= 3.141592653589793D) { - Static267.anInt5776 = Texture.width - arg1; + anInt5776 = Texture.width - arg1; anInt2433 = arg0; } - Static267.anInt5776 &= Texture.widthMask; + anInt5776 &= Texture.widthMask; anInt2433 &= Texture.heightMask; } @@ -66,7 +68,7 @@ public final class TextureOp23 extends TextureOp { for (@Pc(26) int local26 = 0; local26 < Texture.width; local26++) { this.method2382(arg0, local26); @Pc(40) int[] local40 = this.getChildMonochromeOutput(0, anInt2433); - local19[local26] = local40[Static267.anInt5776]; + local19[local26] = local40[anInt5776]; } } return local19; @@ -83,9 +85,9 @@ public final class TextureOp23 extends TextureOp { for (@Pc(38) int local38 = 0; local38 < Texture.width; local38++) { this.method2382(arg0, local38); @Pc(52) int[][] local52 = this.getChildColorOutput(anInt2433, 0); - local28[local38] = local52[0][Static267.anInt5776]; - local36[local38] = local52[1][Static267.anInt5776]; - local32[local38] = local52[2][Static267.anInt5776]; + local28[local38] = local52[0][anInt5776]; + local36[local38] = local52[1][anInt5776]; + local32[local38] = local52[2][anInt5776]; } } return local15; diff --git a/client/src/main/java/rt4/WorldMap.java b/client/src/main/java/rt4/WorldMap.java index 57273f9..90d73e0 100644 --- a/client/src/main/java/rt4/WorldMap.java +++ b/client/src/main/java/rt4/WorldMap.java @@ -1646,7 +1646,7 @@ public class WorldMap { method4364(arg3, 0, local61, local50, 0, local236, arg2, local211); method1195(arg3, 0, local61, local236, arg2, 0, local211, local50); Static38.method959(0, 0, local211, arg3, local236, local50, local61, arg2); - GlRaster.method1178(aClass3_Sub2_Sub1_Sub1_2.pixels, arg0, arg1, arg3, arg2); + GlRaster.drawPixels(aClass3_Sub2_Sub1_Sub1_2.pixels, arg0, arg1, arg3, arg2); SoftwareRaster.pixels = null; } else { method4364(arg3 + arg0, arg1, local61, local50, arg0, local236, arg1 + arg2, local211);