From b45756e478271e911da2abb295e88f37834338f2 Mon Sep 17 00:00:00 2001 From: Justin Date: Thu, 16 Jun 2022 20:40:09 +1000 Subject: [PATCH] rsc: fix sprite mapping --- .../src/main/java/FriendLoginUpdate.java | 4 +- .../src/main/java/MilliClock.java | 2 +- .../src/main/java/PlayerComposition.java | 14 +++---- .../src/main/java/Projectile.java | 8 ++-- .../src/main/java/UserComparator6.java | 4 +- runescape-client/src/main/java/Widget.java | 42 ++++++++++--------- runescape-client/src/main/java/class14.java | 2 +- runescape-client/src/main/java/class435.java | 6 +-- runescape-client/src/main/java/class437.java | 6 +-- runescape-client/src/main/java/class67.java | 2 +- 10 files changed, 46 insertions(+), 44 deletions(-) diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 0602ae6ccf..1e7f488edb 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -37,7 +37,7 @@ public class FriendLoginUpdate extends Link { garbageValue = "-1096065009" ) public static class437 method6631(int var0) { - class437 var1 = (class437)class437.Widget_cachedSprites.get((long)var0); // L: 24 + class437 var1 = (class437)class437.DBRowType_cache.get((long)var0); // L: 24 if (var1 != null) { // L: 25 return var1; } else { @@ -48,7 +48,7 @@ public class FriendLoginUpdate extends Link { } var1.method7636(); // L: 29 - class437.Widget_cachedSprites.put(var1, (long)var0); // L: 30 + class437.DBRowType_cache.put(var1, (long)var0); // L: 30 return var1; // L: 31 } } diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index b672a65d27..44c93a1f7e 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -181,7 +181,7 @@ public class MilliClock extends Clock { garbageValue = "-631328346" ) public static void method3301() { - class435.PlayerAppearance_cachedModels.clear(); // L: 67 + class435.DBTableType_cache.clear(); // L: 67 } // L: 68 @ObfuscatedName("av") diff --git a/runescape-client/src/main/java/PlayerComposition.java b/runescape-client/src/main/java/PlayerComposition.java index a44cfbeae5..fc810973a8 100644 --- a/runescape-client/src/main/java/PlayerComposition.java +++ b/runescape-client/src/main/java/PlayerComposition.java @@ -25,8 +25,8 @@ public class PlayerComposition { @ObfuscatedSignature( descriptor = "Lii;" ) - @Export("Widget_cachedSpriteMasks") - static EvictingDualNodeHashTable Widget_cachedSpriteMasks; + @Export("PlayerAppearance_cachedModels") + static EvictingDualNodeHashTable PlayerAppearance_cachedModels; @ObfuscatedName("c") @Export("equipment") int[] equipment; @@ -63,7 +63,7 @@ public class PlayerComposition { static { equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; // L: 26 - Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(260); + PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); } public PlayerComposition() { @@ -261,7 +261,7 @@ public class PlayerComposition { this.equipment[5] = var3; this.equipment[9] = var4; if (0L != var1 && this.hash != var1 || this.field3341) { - Widget_cachedSpriteMasks.remove(var1); + PlayerAppearance_cachedModels.remove(var1); } } // L: 151 @@ -296,7 +296,7 @@ public class PlayerComposition { } } - Model var18 = (Model)Widget_cachedSpriteMasks.get(var5); + Model var18 = (Model) PlayerAppearance_cachedModels.get(var5); if (var18 == null) { boolean var9 = false; // L: 173 @@ -314,7 +314,7 @@ public class PlayerComposition { if (var9) { // L: 183 if (-1L != this.field3345) { // L: 184 - var18 = (Model)Widget_cachedSpriteMasks.get(this.field3345); + var18 = (Model) PlayerAppearance_cachedModels.get(this.field3345); } if (var18 == null) { // L: 185 @@ -376,7 +376,7 @@ public class PlayerComposition { } var18 = var20.toModel(64, 850, -30, -50, -30); // L: 224 - Widget_cachedSpriteMasks.put(var18, var5); // L: 225 + PlayerAppearance_cachedModels.put(var18, var5); // L: 225 this.field3345 = var5; // L: 226 } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index c11ef262c7..79da4c2a9e 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -306,10 +306,10 @@ public final class Projectile extends Renderable { Client.Widget_cachedModels.clear(); // L: 2982 Client.Widget_cachedFonts.clear(); // L: 2983 class14.method148(); // L: 2984 - Widget.field3360.clear(); // L: 2986 - Widget.field3361.clear(); // L: 2987 - Widget.archive0.clear(); // L: 2988 - Widget.archive1.clear(); // L: 2989 + Widget.Widget_cachedSprites.clear(); // L: 2986 + Widget.Widget_cachedModels.clear(); // L: 2987 + Widget.Widget_cachedFonts.clear(); // L: 2988 + Widget.Widget_cachedSpriteMasks.clear(); // L: 2989 ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); // L: 2991 Script.Script_cached.clear(); // L: 2992 Varcs.archive5.clearFiles(); // L: 2993 diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 0cc7f2e6e9..7f7bd3e61b 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -41,7 +41,7 @@ public class UserComparator6 extends AbstractUserComparator { garbageValue = "20" ) public static class435 method2626(int var0) { - class435 var1 = (class435)class435.PlayerAppearance_cachedModels.get((long)var0); // L: 23 + class435 var1 = (class435)class435.DBTableType_cache.get((long)var0); // L: 23 if (var1 != null) { // L: 24 return var1; } else { @@ -52,7 +52,7 @@ public class UserComparator6 extends AbstractUserComparator { } var1.method7602(); // L: 28 - class435.PlayerAppearance_cachedModels.put(var1, (long)var0); // L: 29 + class435.DBTableType_cache.put(var1, (long)var0); // L: 29 return var1; // L: 30 } } diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 4faab18b95..8404f8a557 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -14,24 +14,26 @@ public class Widget extends Node { @ObfuscatedSignature( descriptor = "Lii;" ) - public static EvictingDualNodeHashTable field3360; + @Export("Widget_cachedSprites") + public static EvictingDualNodeHashTable Widget_cachedSprites; @ObfuscatedName("ad") @ObfuscatedSignature( descriptor = "Lii;" ) - public static EvictingDualNodeHashTable field3361; + @Export("Widget_cachedModels") + public static EvictingDualNodeHashTable Widget_cachedModels; @ObfuscatedName("ak") @ObfuscatedSignature( descriptor = "Lii;" ) - @Export("archive0") - public static EvictingDualNodeHashTable archive0; + @Export("Widget_cachedFonts") + public static EvictingDualNodeHashTable Widget_cachedFonts; @ObfuscatedName("al") @ObfuscatedSignature( descriptor = "Lii;" ) - @Export("archive1") - public static EvictingDualNodeHashTable archive1; + @Export("Widget_cachedSpriteMasks") + public static EvictingDualNodeHashTable Widget_cachedSpriteMasks; @ObfuscatedName("ao") @ObfuscatedSignature( descriptor = "Lmy;" @@ -710,10 +712,10 @@ public class Widget extends Node { public boolean prioritizeMenuEntry; static { - field3360 = new EvictingDualNodeHashTable(200); // L: 52 - field3361 = new EvictingDualNodeHashTable(50); // L: 53 - archive0 = new EvictingDualNodeHashTable(20); // L: 54 - archive1 = new EvictingDualNodeHashTable(8); // L: 55 + Widget_cachedSprites = new EvictingDualNodeHashTable(200); // L: 52 + Widget_cachedModels = new EvictingDualNodeHashTable(50); // L: 53 + Widget_cachedFonts = new EvictingDualNodeHashTable(20); // L: 54 + Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); // L: 55 field3364 = new class361(10, class359.field4260); // L: 56 field3434 = new class361(10, class359.field4260); // L: 57 field3366 = false; // L: 58 @@ -1305,7 +1307,7 @@ public class Widget extends Node { return null; } else { long var4 = ((long)this.spriteShadow << 40) + ((this.spriteFlipH ? 1L : 0L) << 39) + ((long)this.outline << 36) + (long)var7 + ((this.spriteFlipV ? 1L : 0L) << 38); // L: 575 - SpritePixels var6 = (SpritePixels)field3360.get(var4); // L: 576 + SpritePixels var6 = (SpritePixels) Widget_cachedSprites.get(var4); // L: 576 if (var6 != null) { // L: 577 return var6; } else { @@ -1315,7 +1317,7 @@ public class Widget extends Node { return null; // L: 581 } else { this.method5699(var6); // L: 583 - field3360.put(var6, var4); // L: 584 + Widget_cachedSprites.put(var6, var4); // L: 584 return var6; // L: 585 } } @@ -1417,7 +1419,7 @@ public class Widget extends Node { if (this.fontId == -1) { // L: 632 return null; } else { - Font var1 = (Font)archive0.get((long)this.fontId); // L: 633 + Font var1 = (Font) Widget_cachedFonts.get((long)this.fontId); // L: 633 if (var1 != null) { // L: 634 return var1; } else { @@ -1447,7 +1449,7 @@ public class Widget extends Node { } if (var2 != null) { // L: 665 - archive0.put(var2, (long)this.fontId); + Widget_cachedFonts.put(var2, (long)this.fontId); } else { field3366 = true; // L: 666 } @@ -1470,13 +1472,13 @@ public class Widget extends Node { if (var2 == -1) { // L: 674 return null; } else { - SpritePixels var3 = (SpritePixels)field3360.get((long)var2); // L: 675 + SpritePixels var3 = (SpritePixels) Widget_cachedSprites.get((long)var2); // L: 675 if (var3 != null) { // L: 676 return var3; } else { var3 = class7.SpriteBuffer_getSprite(StructComposition.Widget_spritesArchive, var2, 0); // L: 677 if (var3 != null) { // L: 678 - field3360.put(var3, (long)var2); + Widget_cachedSprites.put(var3, (long)var2); } else { field3366 = true; // L: 679 } @@ -1512,7 +1514,7 @@ public class Widget extends Node { } else if (var5 == 1 && var6 == -1) { // L: 696 return null; } else { - Model var7 = (Model)field3361.get((long)(var6 + (var5 << 16))); // L: 697 + Model var7 = (Model) Widget_cachedModels.get((long)(var6 + (var5 << 16))); // L: 697 if (var7 == null) { // L: 698 ModelData var8; if (var5 == 1) { // L: 700 @@ -1560,7 +1562,7 @@ public class Widget extends Node { var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); // L: 732 } - field3361.put(var7, (long)(var6 + (var5 << 16))); // L: 734 + Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); // L: 734 } if (var1 != null) { // L: 736 @@ -1587,7 +1589,7 @@ public class Widget extends Node { return null; } else { long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); // L: 746 - SpriteMask var5 = (SpriteMask)archive1.get(var3); // L: 747 + SpriteMask var5 = (SpriteMask) Widget_cachedSpriteMasks.get(var3); // L: 747 if (var5 != null) { // L: 748 return var5; } else { @@ -1623,7 +1625,7 @@ public class Widget extends Node { } var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); // L: 772 - archive1.put(var5, var3); // L: 773 + Widget_cachedSpriteMasks.put(var5, var3); // L: 773 return var5; // L: 774 } } diff --git a/runescape-client/src/main/java/class14.java b/runescape-client/src/main/java/class14.java index 639b5a5ab1..fec82309be 100644 --- a/runescape-client/src/main/java/class14.java +++ b/runescape-client/src/main/java/class14.java @@ -277,7 +277,7 @@ public class class14 { garbageValue = "-46" ) public static void method148() { - PlayerComposition.Widget_cachedSpriteMasks.clear(); // L: 279 + PlayerComposition.PlayerAppearance_cachedModels.clear(); // L: 279 } // L: 280 @ObfuscatedName("r") diff --git a/runescape-client/src/main/java/class435.java b/runescape-client/src/main/java/class435.java index 960e49acf2..1f1fe8325d 100644 --- a/runescape-client/src/main/java/class435.java +++ b/runescape-client/src/main/java/class435.java @@ -13,15 +13,15 @@ public class class435 extends DualNode { @ObfuscatedSignature( descriptor = "Lii;" ) - @Export("PlayerAppearance_cachedModels") - static EvictingDualNodeHashTable PlayerAppearance_cachedModels; + @Export("DBTableType_cache") + static EvictingDualNodeHashTable DBTableType_cache; @ObfuscatedName("q") public int[][] field4668; @ObfuscatedName("f") public Object[][] field4669; static { - PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(64); // L: 11 + DBTableType_cache = new EvictingDualNodeHashTable(64); // L: 11 } class435() { diff --git a/runescape-client/src/main/java/class437.java b/runescape-client/src/main/java/class437.java index b2aea2cf54..a70bcab6e9 100644 --- a/runescape-client/src/main/java/class437.java +++ b/runescape-client/src/main/java/class437.java @@ -14,8 +14,8 @@ public class class437 extends DualNode { @ObfuscatedSignature( descriptor = "Lii;" ) - @Export("Widget_cachedSprites") - static EvictingDualNodeHashTable Widget_cachedSprites; + @Export("DBRowType_cache") + static EvictingDualNodeHashTable DBRowType_cache; @ObfuscatedName("q") Object[][] field4676; @ObfuscatedName("f") @@ -27,7 +27,7 @@ public class class437 extends DualNode { public int field4678; static { - Widget_cachedSprites = new EvictingDualNodeHashTable(64); // L: 11 + DBRowType_cache = new EvictingDualNodeHashTable(64); // L: 11 } class437() { diff --git a/runescape-client/src/main/java/class67.java b/runescape-client/src/main/java/class67.java index 54bd54eeb2..eeac9de6ea 100644 --- a/runescape-client/src/main/java/class67.java +++ b/runescape-client/src/main/java/class67.java @@ -88,6 +88,6 @@ public class class67 { garbageValue = "-1419146368" ) public static void method1887() { - class437.Widget_cachedSprites.clear(); // L: 90 + class437.DBRowType_cache.clear(); // L: 90 } // L: 91 }