From a94154356665e4f7e5a0ce30ba093558dcf7efb5 Mon Sep 17 00:00:00 2001 From: Pazaz Date: Tue, 28 Jun 2022 00:30:53 -0400 Subject: [PATCH] Renamed part of PlayerAppearance --- client/src/main/java/rt4/Buffer.java | 17 ++ client/src/main/java/rt4/Cheat.java | 2 +- client/src/main/java/rt4/Player.java | 12 +- .../src/main/java/rt4/PlayerAppearance.java | 245 ++++++++++-------- client/src/main/java/rt4/ProjAnim.java | 10 +- client/src/main/java/rt4/ProjAnimNode.java | 6 +- client/src/main/java/rt4/ScriptRunner.java | 10 +- client/src/main/java/rt4/TriangleNormal.java | 16 -- client/src/main/java/rt4/client.java | 18 +- 9 files changed, 180 insertions(+), 156 deletions(-) diff --git a/client/src/main/java/rt4/Buffer.java b/client/src/main/java/rt4/Buffer.java index 2794190..36c61a5 100644 --- a/client/src/main/java/rt4/Buffer.java +++ b/client/src/main/java/rt4/Buffer.java @@ -41,6 +41,9 @@ public class Buffer extends Node { @OriginalMember(owner = "client!dc", name = "db", descriptor = "[[B") public static final byte[][] allocatedMax = new byte[50][]; + @OriginalMember(owner = "client!qj", name = "a", descriptor = "[J") + public static final long[] CRC64_TABLE = new long[256]; + @OriginalMember(owner = "client!ja", name = "j", descriptor = "I") public static int allocatedMinCount = 0; @@ -56,6 +59,20 @@ public class Buffer extends Node { @OriginalMember(owner = "client!wa", name = "T", descriptor = "I") public int offset; + static { + for (@Pc(4) int local4 = 0; local4 < 256; local4++) { + @Pc(10) long local10 = local4; + for (@Pc(12) int local12 = 0; local12 < 8; local12++) { + if ((local10 & 0x1L) == 1L) { + local10 = local10 >>> 1 ^ 0xC96C5795D7870F42L; + } else { + local10 >>>= 0x1; + } + } + CRC64_TABLE[local4] = local10; + } + } + @OriginalMember(owner = "client!wa", name = "", descriptor = "(I)V") public Buffer(@OriginalArg(0) int size) { this.data = allocate(size); diff --git a/client/src/main/java/rt4/Cheat.java b/client/src/main/java/rt4/Cheat.java index cf744a5..1cd3f1b 100644 --- a/client/src/main/java/rt4/Cheat.java +++ b/client/src/main/java/rt4/Cheat.java @@ -136,7 +136,7 @@ public class Cheat { Chat.add(null, 0, JagString.concatenate(new JagString[]{aClass100_1093, JagString.parseInt(local38), DEBUG_MEM_UNIT})); } if (arg0.equalsIgnoreCase(PCACHESIZE)) { - Chat.add(null, 0, JagString.concatenate(new JagString[]{aClass100_335, JagString.parseInt(PlayerAppearance.method1029())})); + Chat.add(null, 0, JagString.concatenate(new JagString[]{aClass100_335, JagString.parseInt(PlayerAppearance.getModelCacheSize())})); } if (GlRenderer.enabled && arg0.equalsIgnoreCase(CARDMEM)) { System.out.println("oncard_geometry:" + GlCleaner.onCardGeometry); diff --git a/client/src/main/java/rt4/Player.java b/client/src/main/java/rt4/Player.java index 5ff85e3..f125596 100644 --- a/client/src/main/java/rt4/Player.java +++ b/client/src/main/java/rt4/Player.java @@ -295,7 +295,7 @@ public final class Player extends PathingEntity { @OriginalMember(owner = "client!e", name = "c", descriptor = "(B)I") @Override public final int getSize() { - return this.appearance == null || this.appearance.anInt2492 == -1 ? super.getSize() : NpcTypeList.get(this.appearance.anInt2492).size; + return this.appearance == null || this.appearance.npcId == -1 ? super.getSize() : NpcTypeList.get(this.appearance.npcId).size; } @OriginalMember(owner = "client!e", name = "b", descriptor = "(I)I") @@ -351,7 +351,7 @@ public final class Player extends PathingEntity { @Pc(197) int[] local197 = new int[5]; for (local111 = 0; local111 < 5; local111++) { local127 = arg0.g1(); - if (local127 < 0 || local127 >= PlayerAppearance.aShortArrayArray2[local111].length) { + if (local127 < 0 || local127 >= PlayerAppearance.destinationBodyColors[local111].length) { local127 = 0; } local197[local111] = local127; @@ -392,8 +392,8 @@ public final class Player extends PathingEntity { if (this.appearance == null) { this.appearance = new PlayerAppearance(); } - local175 = this.appearance.anInt2492; - this.appearance.method1950(local197, local22, local26 == 1, local44, this.anInt3365); + local175 = this.appearance.npcId; + this.appearance.set(local197, local22, local26 == 1, local44, this.anInt3365); if (local175 != local22) { this.xFine = this.movementQueueX[0] * 128 + this.getSize() * 64; this.zFine = this.movementQueueZ[0] * 128 + this.getSize() * 64; @@ -412,7 +412,7 @@ public final class Player extends PathingEntity { @Pc(25) SeqType local25 = this.seqId != -1 && this.anInt3420 == 0 ? SeqTypeList.get(this.seqId) : null; @Pc(54) SeqType local54 = this.movementSeqId == -1 || this.aBoolean98 || this.movementSeqId == this.getBasType().idleAnimationId && local25 != null ? null : SeqTypeList.get(this.movementSeqId); @Pc(76) Model local76 = this.appearance.method1954(this.aClass147Array3, this.anInt3373, local54, local25, this.anInt3396, this.anInt3388, this.anInt3360, this.anInt3425, this.anInt3407); - @Pc(79) int local79 = PlayerAppearance.method1029(); + @Pc(79) int local79 = PlayerAppearance.getModelCacheSize(); if (GlRenderer.enabled && GameShell.maxMemory < 96 && local79 > 50) { method501(); } @@ -433,7 +433,7 @@ public final class Player extends PathingEntity { } this.minY = local76.getMinY(); @Pc(184) Model local184; - if (Preferences.characterShadowsOn && (this.appearance.anInt2492 == -1 || NpcTypeList.get(this.appearance.anInt2492).shadow)) { + if (Preferences.characterShadowsOn && (this.appearance.npcId == -1 || NpcTypeList.get(this.appearance.npcId).shadow)) { local184 = ShadowModelList.method1043(160, this.aBoolean171, local54 == null ? local25 : local54, this.xFine, 0, this.zFine, 0, 1, local76, arg0, local54 == null ? this.anInt3425 : this.anInt3407, this.anInt3424, 240); if (GlRenderer.enabled) { @Pc(188) float local188 = GlRenderer.method4179(); diff --git a/client/src/main/java/rt4/PlayerAppearance.java b/client/src/main/java/rt4/PlayerAppearance.java index c87f074..8fbcecc 100644 --- a/client/src/main/java/rt4/PlayerAppearance.java +++ b/client/src/main/java/rt4/PlayerAppearance.java @@ -8,71 +8,95 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!hh") public final class PlayerAppearance { + @OriginalMember(owner = "client!md", name = "V", descriptor = "[[S") + public static final short[][] GAME0_DESTINATION_BODY_COLORS = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574}}; + + @OriginalMember(owner = "client!dg", name = "c", descriptor = "[[S") + public static final short[][] GAME0_DESTINATION_SKIN_COLORS = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; + + @OriginalMember(owner = "client!pk", name = "V", descriptor = "[S") + public static final short[] GAME0_SOURCE_SKIN_COLORS = new short[]{-10304, 9104, -1, -1, -1}; + + @OriginalMember(owner = "client!vd", name = "B", descriptor = "[S") + public static final short[] GAME0_SOURCE_BODY_COLORS = new short[]{6798, 8741, 25238, 4626, 4550}; + @OriginalMember(owner = "client!bj", name = "t", descriptor = "[S") - public static final short[] aShortArray5 = new short[]{-4160, -4163, -8256, -8259, 22461}; + public static final short[] GAME1_SOURCE_SKIN_COLORS = new short[]{-4160, -4163, -8256, -8259, 22461}; + + @OriginalMember(owner = "client!aa", name = "h", descriptor = "[S") + public static final short[] GAME1_SOURCE_BODY_COLORS = new short[]{960, 957, -21568, -21571, 22464}; + + @OriginalMember(owner = "client!ci", name = "u", descriptor = "[[S") + public static final short[][] GAME1_DESTINATION_SKIN_COLORS = new short[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10339, 10574, 10425, 10398, 10345, 7512, 8507, 7378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13753, 13737, 13719, 13883, 13863, 13974, 19643, 18601, 16532, 23993, 25121, 24980, 26944, 26921, 24854, 27191, 27171, 26130, 26941, 28696, 30100, 12477, 10407, 10388, 10685, 10665, 10646, 6711, 6693, 6674, 6965, 7073, 7056, 2361, 4387, 3346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}}; + + @OriginalMember(owner = "client!q", name = "d", descriptor = "[[S") + public static final short[][] GAME1_DESTINATION_BODY_COLORS = new short[][]{{10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10347, 10582, 10429, 10407, 10359, 8414, 9540, 10456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}, {4300, 3294, 3303, 3264, 4506, 4382, 4387, 5293, 7622, 7384, 8412, 7496, 86, 123, 111, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 13766, 13745, 13726, 13890, 13743, 13852, 17602, 18605, 21660, 24000, 24997, 24088, 27972, 25903, 26904, 27193, 27175, 27156, 30020, 28975, 29976, 12482, 13485, 10392, 10692, 10669, 10776, 6717, 6695, 7830, 6971, 6951, 5910, 3389, 3369, 3356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}}; + @OriginalMember(owner = "client!wd", name = "d", descriptor = "[I") - public static final int[] anIntArray451 = new int[]{8, 11, 4, 6, 9, 7, 10, 0}; + public static final int[] BASE_PART_MAP = new int[]{8, 11, 4, 6, 9, 7, 10, 0}; + @OriginalMember(owner = "client!r", name = "b", descriptor = "[Lclient!tk;") public static final SeqType[] aClass144Array2 = new SeqType[14]; + @OriginalMember(owner = "client!ri", name = "b", descriptor = "[I") public static final int[] anIntArray187 = new int[14]; + @OriginalMember(owner = "client!uf", name = "j", descriptor = "Lclient!n;") - public static final SoftLruHashTable aClass99_33 = new SoftLruHashTable(260); + public static final SoftLruHashTable bodyModels = new SoftLruHashTable(260); + @OriginalMember(owner = "client!l", name = "b", descriptor = "Lclient!n;") - public static final SoftLruHashTable aClass99_21 = new SoftLruHashTable(5); - @OriginalMember(owner = "client!aa", name = "h", descriptor = "[S") - public static final short[] aShortArray1 = new short[]{960, 957, -21568, -21571, 22464}; - @OriginalMember(owner = "client!ci", name = "u", descriptor = "[[S") - public static final short[][] aShortArrayArray1 = new short[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10339, 10574, 10425, 10398, 10345, 7512, 8507, 7378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13753, 13737, 13719, 13883, 13863, 13974, 19643, 18601, 16532, 23993, 25121, 24980, 26944, 26921, 24854, 27191, 27171, 26130, 26941, 28696, 30100, 12477, 10407, 10388, 10685, 10665, 10646, 6711, 6693, 6674, 6965, 7073, 7056, 2361, 4387, 3346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 24, 44, 64, 84, 104, 304, 678, 698, 550, 934, 954, 6448, 6946, 6966, 2352, 2726, 2746, 10544, 10918, 10938, 10304, 10550, 10570, 14640, 15014, 15034, 19760, 20134, 20154, -29392, -29018, -28998, 31024, 31270, 31290, -24272, -23898, -23878, -19152, -18778, -18758, -14032, -13658, -13638, -6864, -6490, -6470, 516, 536, 6788, 6808, 11012, 11032, 14980, 15000, 21124, 21144, -28924, -28904, -22012, -21992, -12924, -12904}}; - @OriginalMember(owner = "client!q", name = "d", descriptor = "[[S") - public static final short[][] aShortArrayArray4 = new short[][]{{10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10347, 10582, 10429, 10407, 10359, 8414, 9540, 10456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}, {4300, 3294, 3303, 3264, 4506, 4382, 4387, 5293, 7622, 7384, 8412, 7496, 86, 123, 111, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 13766, 13745, 13726, 13890, 13743, 13852, 17602, 18605, 21660, 24000, 24997, 24088, 27972, 25903, 26904, 27193, 27175, 27156, 30020, 28975, 29976, 12482, 13485, 10392, 10692, 10669, 10776, 6717, 6695, 7830, 6971, 6951, 5910, 3389, 3369, 3356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898, 10, 30, 50, 70, 90, 110, 310, 684, 704, 556, 940, 960, 6454, 6952, 6972, 2358, 2732, 2752, 10550, 10924, 10944, 10310, 10556, 10576, 14646, 15020, 15040, 19766, 20140, 20160, -29386, -29012, -28992, 31030, 31276, 31296, -24266, -23892, -23872, -19146, -18772, -18752, -14026, -13652, -13632, -6858, -6484, -6464, 522, 542, 6794, 6814, 11018, 11038, 14986, 15006, 21130, 21150, -28918, -28898, -22006, -21986, -12918, -12898}}; - @OriginalMember(owner = "client!md", name = "V", descriptor = "[[S") - public static final short[][] aShortArrayArray6 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574}}; - @OriginalMember(owner = "client!dg", name = "c", descriptor = "[[S") - public static final short[][] aShortArrayArray5 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; - @OriginalMember(owner = "client!pk", name = "V", descriptor = "[S") - public static final short[] aShortArray64 = new short[]{-10304, 9104, -1, -1, -1}; - @OriginalMember(owner = "client!vd", name = "B", descriptor = "[S") - public static final short[] aShortArray71 = new short[]{6798, 8741, 25238, 4626, 4550}; + public static final SoftLruHashTable headModels = new SoftLruHashTable(5); + @OriginalMember(owner = "client!qi", name = "x", descriptor = "[I") public static final int[] MALE_FEATURES = new int[]{0, 1, 2, 3, 4, 5, 6, 14}; + @OriginalMember(owner = "client!kh", name = "g", descriptor = "Lclient!hh;") public static final PlayerAppearance DEFAULT = new PlayerAppearance(); + @OriginalMember(owner = "client!mc", name = "ab", descriptor = "[I") public static final int[] FEMALE_FEATURES = new int[]{7, 8, 9, 10, 11, 12, 13, 15}; + @OriginalMember(owner = "client!wh", name = "j", descriptor = "[Lclient!cl;") public static final AnimFrameset[] aClass3_Sub2_Sub7Array8 = new AnimFrameset[14]; + @OriginalMember(owner = "client!vf", name = "g", descriptor = "[I") public static final int[] anIntArray515 = new int[14]; + @OriginalMember(owner = "client!kf", name = "d", descriptor = "[Lclient!cl;") public static final AnimFrameset[] aClass3_Sub2_Sub7Array7 = new AnimFrameset[14]; + @OriginalMember(owner = "client!fm", name = "fb", descriptor = "[I") public static final int[] anIntArray183 = new int[14]; + @OriginalMember(owner = "client!cj", name = "e", descriptor = "[[S") - public static short[][] aShortArrayArray2; + public static short[][] destinationBodyColors; + @OriginalMember(owner = "client!nj", name = "m", descriptor = "[[S") - public static short[][] aShortArrayArray7; + public static short[][] destinationSkinColors; + @OriginalMember(owner = "client!qe", name = "r", descriptor = "[S") public static short[] aShortArray65; + @OriginalMember(owner = "client!mj", name = "C", descriptor = "[S") public static short[] aShortArray41; + @OriginalMember(owner = "client!hh", name = "e", descriptor = "I") - public int anInt2492; + public int npcId; @OriginalMember(owner = "client!hh", name = "i", descriptor = "J") - private long aLong87; + private long prevChecksum; @OriginalMember(owner = "client!hh", name = "l", descriptor = "[I") - private int[] anIntArray233; + private int[] identikit; @OriginalMember(owner = "client!hh", name = "m", descriptor = "I") - private int anInt2497; + private int basId; @OriginalMember(owner = "client!hh", name = "q", descriptor = "J") - private long aLong88; + private long checksum; @OriginalMember(owner = "client!hh", name = "t", descriptor = "[I") - private int[] anIntArray236; + private int[] colors; @OriginalMember(owner = "client!hh", name = "w", descriptor = "[[I") private int[][] anIntArrayArray19; @@ -82,31 +106,31 @@ public final class PlayerAppearance { @OriginalMember(owner = "client!wk", name = "b", descriptor = "(II)V") public static void clean() { - aClass99_33.clean(5); - aClass99_21.clean(5); + bodyModels.clean(5); + headModels.clean(5); } @OriginalMember(owner = "client!ph", name = "b", descriptor = "(B)V") public static void method3474() { - aClass99_33.removeSoft(); - aClass99_21.removeSoft(); + bodyModels.removeSoft(); + headModels.removeSoft(); } @OriginalMember(owner = "client!sj", name = "c", descriptor = "(I)V") public static void method3947() { - aClass99_33.clear(); - aClass99_21.clear(); + bodyModels.clear(); + headModels.clear(); } @OriginalMember(owner = "client!q", name = "a", descriptor = "(B)I") - public static int method1029() { - return aClass99_33.size(); + public static int getModelCacheSize() { + return bodyModels.size(); } @OriginalMember(owner = "client!hh", name = "a", descriptor = "(IIIILclient!tk;III)Lclient!ak;") public final Model method1946(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) SeqType arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) { - @Pc(24) long local24 = (long) arg2 | (long) (arg6 << 16) | (long) arg1 << 32; - @Pc(30) Model local30 = (Model) aClass99_21.get(local24); + @Pc(24) long local24 = (long) arg2 | ((long) arg6 << 16) | (long) arg1 << 32; + @Pc(30) Model local30 = (Model) headModels.get(local24); if (local30 == null) { @Pc(36) RawModel[] local36 = new RawModel[3]; @Pc(38) int local38 = 0; @@ -128,15 +152,15 @@ public final class PlayerAppearance { } local66 = new RawModel(local36, local38); for (@Pc(110) int local110 = 0; local110 < 5; local110++) { - if (this.anIntArray236[local110] < aShortArrayArray2[local110].length) { - local66.recolor(aShortArray65[local110], aShortArrayArray2[local110][this.anIntArray236[local110]]); + if (this.colors[local110] < destinationBodyColors[local110].length) { + local66.recolor(aShortArray65[local110], destinationBodyColors[local110][this.colors[local110]]); } - if (aShortArrayArray7[local110].length > this.anIntArray236[local110]) { - local66.recolor(aShortArray41[local110], aShortArrayArray7[local110][this.anIntArray236[local110]]); + if (destinationSkinColors[local110].length > this.colors[local110]) { + local66.recolor(aShortArray41[local110], destinationSkinColors[local110][this.colors[local110]]); } } local30 = local66.createModel(64, 768, -50, -10, -50); - aClass99_21.put(local30, local24); + headModels.put(local30, local24); } if (arg4 != null) { local30 = arg4.method4215(local30, arg0, arg3, arg5); @@ -145,90 +169,89 @@ public final class PlayerAppearance { } @OriginalMember(owner = "client!hh", name = "a", descriptor = "(I)V") - private void method1947() { - @Pc(8) long local8 = this.aLong88; - this.aLong88 = -1L; - @Pc(13) long[] local13 = TriangleNormal.aLongArray7; - this.aLong88 = local13[(int) (((long) (this.anInt2497 >> 8) ^ this.aLong88) & 0xFFL)] ^ this.aLong88 >>> 8; - this.aLong88 = local13[(int) ((this.aLong88 ^ (long) this.anInt2497) & 0xFFL)] ^ this.aLong88 >>> 8; - @Pc(53) int local53; - for (local53 = 0; local53 < 12; local53++) { - this.aLong88 = this.aLong88 >>> 8 ^ local13[(int) ((this.aLong88 ^ (long) (this.anIntArray233[local53] >> 24)) & 0xFFL)]; - this.aLong88 = this.aLong88 >>> 8 ^ local13[(int) ((this.aLong88 ^ (long) (this.anIntArray233[local53] >> 16)) & 0xFFL)]; - this.aLong88 = local13[(int) (((long) (this.anIntArray233[local53] >> 8) ^ this.aLong88) & 0xFFL)] ^ this.aLong88 >>> 8; - this.aLong88 = this.aLong88 >>> 8 ^ local13[(int) ((this.aLong88 ^ (long) this.anIntArray233[local53]) & 0xFFL)]; + private void updateChecksum() { + @Pc(8) long previousChecksum = this.checksum; + this.checksum = -1L; + @Pc(13) long[] CRC64_TABLE = Buffer.CRC64_TABLE; + this.checksum = CRC64_TABLE[(int) (((long) (this.basId >> 8) ^ this.checksum) & 0xFFL)] ^ this.checksum >>> 8; + this.checksum = CRC64_TABLE[(int) ((this.checksum ^ (long) this.basId) & 0xFFL)] ^ this.checksum >>> 8; + for (int body = 0; body < 12; body++) { + this.checksum = this.checksum >>> 8 ^ CRC64_TABLE[(int) ((this.checksum ^ (long) (this.identikit[body] >> 24)) & 0xFFL)]; + this.checksum = this.checksum >>> 8 ^ CRC64_TABLE[(int) ((this.checksum ^ (long) (this.identikit[body] >> 16)) & 0xFFL)]; + this.checksum = CRC64_TABLE[(int) (((long) (this.identikit[body] >> 8) ^ this.checksum) & 0xFFL)] ^ this.checksum >>> 8; + this.checksum = this.checksum >>> 8 ^ CRC64_TABLE[(int) ((this.checksum ^ (long) this.identikit[body]) & 0xFFL)]; } - for (local53 = 0; local53 < 5; local53++) { - this.aLong88 = local13[(int) (((long) this.anIntArray236[local53] ^ this.aLong88) & 0xFFL)] ^ this.aLong88 >>> 8; + for (int color = 0; color < 5; color++) { + this.checksum = CRC64_TABLE[(int) (((long) this.colors[color] ^ this.checksum) & 0xFFL)] ^ this.checksum >>> 8; } - this.aLong88 = local13[(int) (((long) (this.gender ? 1 : 0) ^ this.aLong88) & 0xFFL)] ^ this.aLong88 >>> 8; - if (local8 != 0L && this.aLong88 != local8) { - aClass99_33.remove(local8); + this.checksum = CRC64_TABLE[(int) (((long) (this.gender ? 1 : 0) ^ this.checksum) & 0xFFL)] ^ this.checksum >>> 8; + if (previousChecksum != 0L && this.checksum != previousChecksum) { + bodyModels.remove(previousChecksum); } } @OriginalMember(owner = "client!hh", name = "a", descriptor = "(ZZ)V") - public final void setFemale(@OriginalArg(0) boolean arg0) { - this.gender = arg0; - this.method1947(); + public final void setGender(@OriginalArg(0) boolean female) { + this.gender = female; + this.updateChecksum(); } @OriginalMember(owner = "client!hh", name = "a", descriptor = "([IIZI[II)V") - public final void method1950(@OriginalArg(0) int[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) boolean arg2, @OriginalArg(4) int[] arg3, @OriginalArg(5) int arg4) { - if (arg4 != this.anInt2497) { - this.anInt2497 = arg4; + public final void set(@OriginalArg(0) int[] colors, @OriginalArg(1) int npcId, @OriginalArg(2) boolean female, @OriginalArg(4) int[] identikit, @OriginalArg(5) int arg4) { + if (arg4 != this.basId) { + this.basId = arg4; this.anIntArrayArray19 = null; } - if (arg3 == null) { - arg3 = new int[12]; - for (@Pc(24) int local24 = 0; local24 < 8; local24++) { - for (@Pc(31) int local31 = 0; local31 < IdkTypeList.anInt1716; local31++) { - @Pc(38) IdkType local38 = IdkTypeList.get(local31); - if (local38 != null && !local38.aBoolean85 && local38.feature == (arg2 ? FEMALE_FEATURES[local24] : MALE_FEATURES[local24])) { - arg3[anIntArray451[local24]] = Integer.MIN_VALUE | local31; + if (identikit == null) { + identikit = new int[12]; + for (@Pc(24) int i = 0; i < 8; i++) { + for (@Pc(31) int id = 0; id < IdkTypeList.anInt1716; id++) { + @Pc(38) IdkType type = IdkTypeList.get(id); + if (type != null && !type.aBoolean85 && type.feature == (female ? FEMALE_FEATURES[i] : MALE_FEATURES[i])) { + identikit[BASE_PART_MAP[i]] = Integer.MIN_VALUE | id; break; } } } } - this.anInt2492 = arg1; - this.gender = arg2; - this.anIntArray236 = arg0; - this.anIntArray233 = arg3; - this.method1947(); + this.npcId = npcId; + this.gender = female; + this.colors = colors; + this.identikit = identikit; + this.updateChecksum(); } @OriginalMember(owner = "client!hh", name = "a", descriptor = "(IZI)V") - public final void setBaseColor(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - this.anIntArray236[arg0] = arg1; - this.method1947(); + public final void setColor(@OriginalArg(0) int i, @OriginalArg(2) int color) { + this.colors[i] = color; + this.updateChecksum(); } @OriginalMember(owner = "client!hh", name = "b", descriptor = "(I)I") public final int method1952() { - return this.anInt2492 == -1 ? (this.anIntArray233[8] << 10) + ((this.anIntArray236[0] << 25) + (this.anIntArray236[4] << 20)) + (this.anIntArray233[0] << 15) + (this.anIntArray233[11] << 5) + this.anIntArray233[1] : NpcTypeList.get(this.anInt2492).id + 305419896; + return this.npcId == -1 ? (this.identikit[8] << 10) + ((this.colors[0] << 25) + (this.colors[4] << 20)) + (this.identikit[0] << 15) + (this.identikit[11] << 5) + this.identikit[1] : NpcTypeList.get(this.npcId).id + 305419896; } @OriginalMember(owner = "client!hh", name = "a", descriptor = "(III)V") - public final void method1953(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - @Pc(7) int local7 = anIntArray451[arg0]; - if (0 != this.anIntArray233[local7] && IdkTypeList.get(arg1) != null) { - this.anIntArray233[local7] = arg1 | Integer.MIN_VALUE; - this.method1947(); + public final void setIdentikit(@OriginalArg(0) int arg0, @OriginalArg(1) int identikit) { + @Pc(7) int part = BASE_PART_MAP[arg0]; + if (0 != this.identikit[part] && IdkTypeList.get(identikit) != null) { + this.identikit[part] = identikit | Integer.MIN_VALUE; + this.updateChecksum(); } } @OriginalMember(owner = "client!hh", name = "a", descriptor = "([Lclient!ub;ILclient!tk;Lclient!tk;IIIIZII)Lclient!ak;") public final Model method1954(@OriginalArg(0) PathingEntity_Class147[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) SeqType arg2, @OriginalArg(3) SeqType arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(9) int arg7, @OriginalArg(10) int arg8) { - if (this.anInt2492 != -1) { - return NpcTypeList.get(this.anInt2492).getBodyModel(arg0, arg5, arg8, arg1, arg6, arg7, arg2, arg4, arg3); + if (this.npcId != -1) { + return NpcTypeList.get(this.npcId).getBodyModel(arg0, arg5, arg8, arg1, arg6, arg7, arg2, arg4, arg3); } - @Pc(38) int[] local38 = this.anIntArray233; - @Pc(41) long local41 = this.aLong88; + @Pc(38) int[] local38 = this.identikit; + @Pc(41) long local41 = this.checksum; if (arg3 != null && (arg3.anInt5353 >= 0 || arg3.anInt5348 >= 0)) { local38 = new int[12]; for (@Pc(61) int local61 = 0; local61 < 12; local61++) { - local38[local61] = this.anIntArray233[local61]; + local38[local61] = this.identikit[local61]; } if (arg3.anInt5353 >= 0) { if (arg3.anInt5353 == 65535) { @@ -249,7 +272,7 @@ public final class PlayerAppearance { } } } - @Pc(154) Model local154 = (Model) aClass99_33.get(local41); + @Pc(154) Model local154 = (Model) bodyModels.get(local41); @Pc(158) boolean local158; @Pc(353) int local353; @Pc(360) int local360; @@ -276,8 +299,8 @@ public final class PlayerAppearance { } } if (local158) { - if (this.aLong87 != -1L) { - local154 = (Model) aClass99_33.get(this.aLong87); + if (this.prevChecksum != -1L) { + local154 = (Model) bodyModels.get(this.prevChecksum); } if (local154 == null) { return null; @@ -302,8 +325,8 @@ public final class PlayerAppearance { } } @Pc(303) BasType local303 = null; - if (this.anInt2497 != -1) { - local303 = BasTypeList.get(this.anInt2497); + if (this.basId != -1) { + local303 = BasTypeList.get(this.basId); } if (local303 != null && local303.modelRotateTranslate != null) { for (local250 = 0; local250 < local303.modelRotateTranslate.length; local250++) { @@ -361,19 +384,19 @@ public final class PlayerAppearance { } @Pc(740) RawModel local740 = new RawModel(local239, local239.length); for (local346 = 0; local346 < 5; local346++) { - if (aShortArrayArray2[local346].length > this.anIntArray236[local346]) { - local740.recolor(aShortArray65[local346], aShortArrayArray2[local346][this.anIntArray236[local346]]); + if (destinationBodyColors[local346].length > this.colors[local346]) { + local740.recolor(aShortArray65[local346], destinationBodyColors[local346][this.colors[local346]]); } - if (aShortArrayArray7[local346].length > this.anIntArray236[local346]) { - local740.recolor(aShortArray41[local346], aShortArrayArray7[local346][this.anIntArray236[local346]]); + if (destinationSkinColors[local346].length > this.colors[local346]) { + local740.recolor(aShortArray41[local346], destinationSkinColors[local346][this.colors[local346]]); } } local154 = local740.createModel(64, 850, -30, -50, -30); if (GlRenderer.enabled) { ((GlModel) local154).method4111(false, false, true, false, false, true); } - aClass99_33.put(local154, local41); - this.aLong87 = local41; + bodyModels.put(local154, local41); + this.prevChecksum = local41; } } local158 = false; @@ -511,15 +534,15 @@ public final class PlayerAppearance { @OriginalMember(owner = "client!hh", name = "a", descriptor = "(IBLclient!tk;II)Lclient!ak;") public final Model method1956(@OriginalArg(0) int arg0, @OriginalArg(2) SeqType arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3) { - if (this.anInt2492 != -1) { - return NpcTypeList.get(this.anInt2492).getHeadModel(arg1, arg0, arg3, arg2); + if (this.npcId != -1) { + return NpcTypeList.get(this.npcId).getHeadModel(arg1, arg0, arg3, arg2); } - @Pc(30) Model local30 = (Model) aClass99_21.get(this.aLong88); + @Pc(30) Model local30 = (Model) headModels.get(this.checksum); if (local30 == null) { @Pc(42) boolean local42 = false; @Pc(52) int local52; for (@Pc(44) int local44 = 0; local44 < 12; local44++) { - local52 = this.anIntArray233[local44]; + local52 = this.identikit[local44]; if ((local52 & 0x40000000) == 0) { if ((local52 & Integer.MIN_VALUE) != 0 && !IdkTypeList.get(local52 & 0x3FFFFFFF).isHeadModelReady()) { local42 = true; @@ -535,7 +558,7 @@ public final class PlayerAppearance { local52 = 0; @Pc(114) int local114; for (@Pc(104) int local104 = 0; local104 < 12; local104++) { - local114 = this.anIntArray233[local104]; + local114 = this.identikit[local104]; @Pc(134) RawModel local134; if ((local114 & 0x40000000) != 0) { local134 = ObjTypeList.get(local114 & 0x3FFFFFFF).getHeadModel(this.gender); @@ -551,15 +574,15 @@ public final class PlayerAppearance { } @Pc(171) RawModel local171 = new RawModel(local100, local52); for (local114 = 0; local114 < 5; local114++) { - if (aShortArrayArray2[local114].length > this.anIntArray236[local114]) { - local171.recolor(aShortArray65[local114], aShortArrayArray2[local114][this.anIntArray236[local114]]); + if (destinationBodyColors[local114].length > this.colors[local114]) { + local171.recolor(aShortArray65[local114], destinationBodyColors[local114][this.colors[local114]]); } - if (aShortArrayArray7[local114].length > this.anIntArray236[local114]) { - local171.recolor(aShortArray41[local114], aShortArrayArray7[local114][this.anIntArray236[local114]]); + if (destinationSkinColors[local114].length > this.colors[local114]) { + local171.recolor(aShortArray41[local114], destinationSkinColors[local114][this.colors[local114]]); } } local30 = local171.createModel(64, 768, -50, -10, -50); - aClass99_21.put(local30, this.aLong88); + headModels.put(local30, this.checksum); } if (arg1 != null) { local30 = arg1.method4215(local30, arg3, arg0, arg2); diff --git a/client/src/main/java/rt4/ProjAnim.java b/client/src/main/java/rt4/ProjAnim.java index cb5319b..7812940 100644 --- a/client/src/main/java/rt4/ProjAnim.java +++ b/client/src/main/java/rt4/ProjAnim.java @@ -18,7 +18,7 @@ public final class ProjAnim extends Entity { private double aDouble4; @OriginalMember(owner = "client!ra", name = "Q", descriptor = "Lclient!ga;") - private ParticleSystem aClass47_Sub1_6; + private ParticleSystem particleSystem; @OriginalMember(owner = "client!ra", name = "U", descriptor = "D") private double aDouble5; @@ -54,7 +54,7 @@ public final class ProjAnim extends Entity { private int anInt4820 = 0; @OriginalMember(owner = "client!ra", name = "T", descriptor = "I") - private int anInt4814 = -32768; + private int minY = -32768; @OriginalMember(owner = "client!ra", name = "z", descriptor = "I") public final int anInt4800; @@ -200,14 +200,14 @@ public final class ProjAnim extends Entity { public final void render(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long arg8, @OriginalArg(9) int arg9, @OriginalArg(10) ParticleSystem arg10) { @Pc(3) Model local3 = this.method3703(); if (local3 != null) { - local3.render(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, this.aClass47_Sub1_6); - this.anInt4814 = local3.getMinY(); + local3.render(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, this.particleSystem); + this.minY = local3.getMinY(); } } @OriginalMember(owner = "client!ra", name = "b", descriptor = "()I") @Override public final int getMinY() { - return this.anInt4814; + return this.minY; } } diff --git a/client/src/main/java/rt4/ProjAnimNode.java b/client/src/main/java/rt4/ProjAnimNode.java index 04b168e..46b87c7 100644 --- a/client/src/main/java/rt4/ProjAnimNode.java +++ b/client/src/main/java/rt4/ProjAnimNode.java @@ -8,10 +8,10 @@ import org.openrs2.deob.annotation.OriginalMember; public final class ProjAnimNode extends SecondaryNode { @OriginalMember(owner = "client!ud", name = "R", descriptor = "Lclient!ra;") - public final ProjAnim aClass8_Sub6_1; + public final ProjAnim value; @OriginalMember(owner = "client!ud", name = "", descriptor = "(Lclient!ra;)V") - public ProjAnimNode(@OriginalArg(0) ProjAnim arg0) { - this.aClass8_Sub6_1 = arg0; + public ProjAnimNode(@OriginalArg(0) ProjAnim value) { + this.value = value; } } diff --git a/client/src/main/java/rt4/ScriptRunner.java b/client/src/main/java/rt4/ScriptRunner.java index 0265d7f..f89e5e8 100644 --- a/client/src/main/java/rt4/ScriptRunner.java +++ b/client/src/main/java/rt4/ScriptRunner.java @@ -909,7 +909,7 @@ public final class ScriptRunner { @OriginalMember(owner = "client!pk", name = "i", descriptor = "(I)V") public static void method3532() { for (@Pc(16) ProjAnimNode local16 = (ProjAnimNode) SceneGraph.projectiles.head(); local16 != null; local16 = (ProjAnimNode) SceneGraph.projectiles.next()) { - @Pc(21) ProjAnim local21 = local16.aClass8_Sub6_1; + @Pc(21) ProjAnim local21 = local16.value; if (Player.level != local21.anInt4810 || local21.anInt4800 < client.loop) { local16.unlink(); } else if (client.loop >= local21.anInt4822) { @@ -2038,7 +2038,7 @@ public final class ScriptRunner { int1 = intStack[isp]; for (int2 = 0; int2 < PlayerAppearance.MALE_FEATURES.length; int2++) { if (int1 == PlayerAppearance.MALE_FEATURES[int2]) { - PlayerList.self.appearance.method1953(int2, int3); + PlayerList.self.appearance.setIdentikit(int2, int3); continue nextOp; } } @@ -2048,7 +2048,7 @@ public final class ScriptRunner { continue nextOp; } if (int1 == PlayerAppearance.FEMALE_FEATURES[int2]) { - PlayerList.self.appearance.method1953(int2, int3); + PlayerList.self.appearance.setIdentikit(int2, int3); continue nextOp; } int2++; @@ -2058,13 +2058,13 @@ public final class ScriptRunner { isp -= 2; int1 = intStack[isp]; int3 = intStack[isp + 1]; - PlayerList.self.appearance.setBaseColor(int1, int3); + PlayerList.self.appearance.setColor(int1, int3); continue; } if (opcode == Cs2Opcodes.setFemale) { isp--; local12388 = intStack[isp] != 0; - PlayerList.self.appearance.setFemale(local12388); + PlayerList.self.appearance.setGender(local12388); continue; } } else { diff --git a/client/src/main/java/rt4/TriangleNormal.java b/client/src/main/java/rt4/TriangleNormal.java index d3e563a..8722f9f 100644 --- a/client/src/main/java/rt4/TriangleNormal.java +++ b/client/src/main/java/rt4/TriangleNormal.java @@ -7,9 +7,6 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!qj") public final class TriangleNormal { - @OriginalMember(owner = "client!qj", name = "a", descriptor = "[J") - public static final long[] aLongArray7 = new long[256]; - @OriginalMember(owner = "client!qj", name = "c", descriptor = "I") public int anInt4767; @@ -19,17 +16,4 @@ public final class TriangleNormal { @OriginalMember(owner = "client!qj", name = "f", descriptor = "I") public int anInt4770; - static { - for (@Pc(4) int local4 = 0; local4 < 256; local4++) { - @Pc(10) long local10 = local4; - for (@Pc(12) int local12 = 0; local12 < 8; local12++) { - if ((local10 & 0x1L) == 1L) { - local10 = local10 >>> 1 ^ 0xC96C5795D7870F42L; - } else { - local10 >>>= 0x1; - } - } - aLongArray7[local4] = local10; - } - } } diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index 5da158a..704840b 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -602,7 +602,7 @@ public final class client extends GameShell { Static44.aClass13_10 = null; Static40.aBoolean108 = false; MiniMenu.size = 0; - PlayerAppearance.DEFAULT.method1950(new int[]{0, 0, 0, 0, 0}, -1, false, null, -1); + PlayerAppearance.DEFAULT.set(new int[]{0, 0, 0, 0, 0}, -1, false, null, -1); for (local3506 = 0; local3506 < 8; local3506++) { Player.options[local3506] = null; Player.secondaryOptions[local3506] = false; @@ -931,15 +931,15 @@ public final class client extends GameShell { Cheat.shiftClick = true; FogManager.defaultLightColorRgb = 16777215; FogManager.defaulFogColorRgb = 0; - PlayerAppearance.aShortArrayArray2 = PlayerAppearance.aShortArrayArray4; - PlayerAppearance.aShortArrayArray7 = PlayerAppearance.aShortArrayArray1; - PlayerAppearance.aShortArray65 = PlayerAppearance.aShortArray1; - PlayerAppearance.aShortArray41 = PlayerAppearance.aShortArray5; + PlayerAppearance.destinationBodyColors = PlayerAppearance.GAME1_DESTINATION_BODY_COLORS; + PlayerAppearance.destinationSkinColors = PlayerAppearance.GAME1_DESTINATION_SKIN_COLORS; + PlayerAppearance.aShortArray65 = PlayerAppearance.GAME1_SOURCE_BODY_COLORS; + PlayerAppearance.aShortArray41 = PlayerAppearance.GAME1_SOURCE_SKIN_COLORS; } else { - PlayerAppearance.aShortArrayArray2 = PlayerAppearance.aShortArrayArray6; - PlayerAppearance.aShortArray41 = PlayerAppearance.aShortArray64; - PlayerAppearance.aShortArrayArray7 = PlayerAppearance.aShortArrayArray5; - PlayerAppearance.aShortArray65 = PlayerAppearance.aShortArray71; + PlayerAppearance.destinationBodyColors = PlayerAppearance.GAME0_DESTINATION_BODY_COLORS; + PlayerAppearance.aShortArray41 = PlayerAppearance.GAME0_SOURCE_SKIN_COLORS; + PlayerAppearance.destinationSkinColors = PlayerAppearance.GAME0_DESTINATION_SKIN_COLORS; + PlayerAppearance.aShortArray65 = PlayerAppearance.GAME0_SOURCE_BODY_COLORS; } alternatePort = worldListAlternatePort;