From 7a3a0cd614c62dc835f80163ed0fbd0950a4d148 Mon Sep 17 00:00:00 2001 From: Pazaz Date: Mon, 27 Jun 2022 17:03:50 -0400 Subject: [PATCH] Renamed MonochromeImageCache --- .../main/java/rt4/MonochromeImageCache.java | 93 ++++++++++--------- ...23.java => MonochromeImageCacheEntry.java} | 12 +-- client/src/main/java/rt4/TextureOp.java | 2 +- client/src/main/java/rt4/TextureOp29.java | 2 +- 4 files changed, 55 insertions(+), 54 deletions(-) rename client/src/main/java/rt4/{MonochromeImageCache_Class3_Sub23.java => MonochromeImageCacheEntry.java} (60%) diff --git a/client/src/main/java/rt4/MonochromeImageCache.java b/client/src/main/java/rt4/MonochromeImageCache.java index cba157d3..2e08acf5 100644 --- a/client/src/main/java/rt4/MonochromeImageCache.java +++ b/client/src/main/java/rt4/MonochromeImageCache.java @@ -13,32 +13,33 @@ public final class MonochromeImageCache { @OriginalMember(owner = "client!a", name = "b", descriptor = "[I") public static final int[] anIntArray1 = new int[4096]; + @OriginalMember(owner = "client!bc", name = "N", descriptor = "Lclient!lb;") - public static final MonochromeImageCache_Class3_Sub23 aClass3_Sub23_1 = new MonochromeImageCache_Class3_Sub23(0, 0); + public static final MonochromeImageCacheEntry entry = new MonochromeImageCacheEntry(0, 0); @OriginalMember(owner = "client!nd", name = "f", descriptor = "I") - private int anInt4062 = -1; + private int singleRow = -1; @OriginalMember(owner = "client!nd", name = "k", descriptor = "I") - private int anInt4066 = 0; + private int size = 0; @OriginalMember(owner = "client!nd", name = "g", descriptor = "Lclient!ih;") - private LinkedList aClass69_96 = new LinkedList(); + private LinkedList recentlyUsed = new LinkedList(); @OriginalMember(owner = "client!nd", name = "w", descriptor = "Z") public boolean invalid = false; @OriginalMember(owner = "client!nd", name = "l", descriptor = "I") - private final int anInt4067; + private final int height; @OriginalMember(owner = "client!nd", name = "i", descriptor = "I") - private final int anInt4064; + private final int capacity; @OriginalMember(owner = "client!nd", name = "o", descriptor = "[Lclient!lb;") - private MonochromeImageCache_Class3_Sub23[] aClass3_Sub23Array1; + private MonochromeImageCacheEntry[] entries; @OriginalMember(owner = "client!nd", name = "a", descriptor = "[[[I") - private int[][][] anIntArrayArrayArray13; + private int[][][] pixels; static { @Pc(8) int local8 = 0; @@ -54,11 +55,11 @@ public final class MonochromeImageCache { } @OriginalMember(owner = "client!nd", name = "", descriptor = "(III)V") - public MonochromeImageCache(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - this.anInt4067 = arg1; - this.anInt4064 = arg0; - this.aClass3_Sub23Array1 = new MonochromeImageCache_Class3_Sub23[this.anInt4067]; - this.anIntArrayArrayArray13 = new int[this.anInt4064][3][arg2]; + public MonochromeImageCache(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int width) { + this.height = arg1; + this.capacity = arg0; + this.entries = new MonochromeImageCacheEntry[this.height]; + this.pixels = new int[this.capacity][3][width]; } @OriginalMember(owner = "client!we", name = "a", descriptor = "(BI)I") @@ -70,59 +71,59 @@ public final class MonochromeImageCache { } @OriginalMember(owner = "client!nd", name = "a", descriptor = "(B)[[[I") - public final int[][][] method3168() { - if (this.anInt4067 != this.anInt4064) { + public final int[][][] get() { + if (this.height != this.capacity) { throw new RuntimeException("Can only retrieve a full image cache"); } - for (@Pc(27) int local27 = 0; local27 < this.anInt4064; local27++) { - this.aClass3_Sub23Array1[local27] = aClass3_Sub23_1; + for (@Pc(27) int local27 = 0; local27 < this.capacity; local27++) { + this.entries[local27] = entry; } - return this.anIntArrayArrayArray13; + return this.pixels; } @OriginalMember(owner = "client!nd", name = "b", descriptor = "(B)V") - public final void method3169() { - for (@Pc(7) int local7 = 0; local7 < this.anInt4064; local7++) { - this.anIntArrayArrayArray13[local7][0] = null; - this.anIntArrayArrayArray13[local7][1] = null; - this.anIntArrayArrayArray13[local7][2] = null; - this.anIntArrayArrayArray13[local7] = null; + public final void clear() { + for (@Pc(7) int local7 = 0; local7 < this.capacity; local7++) { + this.pixels[local7][0] = null; + this.pixels[local7][1] = null; + this.pixels[local7][2] = null; + this.pixels[local7] = null; } - this.aClass3_Sub23Array1 = null; - this.anIntArrayArrayArray13 = null; - this.aClass69_96.clear(); - this.aClass69_96 = null; + this.entries = null; + this.pixels = null; + this.recentlyUsed.clear(); + this.recentlyUsed = null; } @OriginalMember(owner = "client!nd", name = "a", descriptor = "(BI)[[I") public final int[][] get(@OriginalArg(1) int arg0) { - if (this.anInt4064 == this.anInt4067) { - this.invalid = this.aClass3_Sub23Array1[arg0] == null; - this.aClass3_Sub23Array1[arg0] = aClass3_Sub23_1; - return this.anIntArrayArrayArray13[arg0]; - } else if (this.anInt4064 == 1) { - this.invalid = this.anInt4062 != arg0; - this.anInt4062 = arg0; - return this.anIntArrayArrayArray13[0]; + if (this.capacity == this.height) { + this.invalid = this.entries[arg0] == null; + this.entries[arg0] = entry; + return this.pixels[arg0]; + } else if (this.capacity == 1) { + this.invalid = this.singleRow != arg0; + this.singleRow = arg0; + return this.pixels[0]; } else { - @Pc(44) MonochromeImageCache_Class3_Sub23 local44 = this.aClass3_Sub23Array1[arg0]; + @Pc(44) MonochromeImageCacheEntry local44 = this.entries[arg0]; if (local44 == null) { this.invalid = true; - if (this.anInt4066 < this.anInt4064) { - local44 = new MonochromeImageCache_Class3_Sub23(arg0, this.anInt4066); - this.anInt4066++; + if (this.size < this.capacity) { + local44 = new MonochromeImageCacheEntry(arg0, this.size); + this.size++; } else { - @Pc(80) MonochromeImageCache_Class3_Sub23 local80 = (MonochromeImageCache_Class3_Sub23) this.aClass69_96.tail(); - local44 = new MonochromeImageCache_Class3_Sub23(arg0, local80.anInt3468); - this.aClass3_Sub23Array1[local80.anInt3476] = null; + @Pc(80) MonochromeImageCacheEntry local80 = (MonochromeImageCacheEntry) this.recentlyUsed.tail(); + local44 = new MonochromeImageCacheEntry(arg0, local80.row); + this.entries[local80.index] = null; local80.unlink(); } - this.aClass3_Sub23Array1[arg0] = local44; + this.entries[arg0] = local44; } else { this.invalid = false; } - this.aClass69_96.addHead(local44); - return this.anIntArrayArrayArray13[local44.anInt3468]; + this.recentlyUsed.addHead(local44); + return this.pixels[local44.row]; } } } diff --git a/client/src/main/java/rt4/MonochromeImageCache_Class3_Sub23.java b/client/src/main/java/rt4/MonochromeImageCacheEntry.java similarity index 60% rename from client/src/main/java/rt4/MonochromeImageCache_Class3_Sub23.java rename to client/src/main/java/rt4/MonochromeImageCacheEntry.java index 5f7a0f8b..d4dee693 100644 --- a/client/src/main/java/rt4/MonochromeImageCache_Class3_Sub23.java +++ b/client/src/main/java/rt4/MonochromeImageCacheEntry.java @@ -5,17 +5,17 @@ import org.openrs2.deob.annotation.OriginalClass; import org.openrs2.deob.annotation.OriginalMember; @OriginalClass("client!lb") -public final class MonochromeImageCache_Class3_Sub23 extends Node { +public final class MonochromeImageCacheEntry extends Node { @OriginalMember(owner = "client!lb", name = "t", descriptor = "I") - public final int anInt3468; + public final int row; @OriginalMember(owner = "client!lb", name = "C", descriptor = "I") - public final int anInt3476; + public final int index; @OriginalMember(owner = "client!lb", name = "", descriptor = "(II)V") - public MonochromeImageCache_Class3_Sub23(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - this.anInt3468 = arg1; - this.anInt3476 = arg0; + public MonochromeImageCacheEntry(@OriginalArg(0) int index, @OriginalArg(1) int row) { + this.row = row; + this.index = index; } } diff --git a/client/src/main/java/rt4/TextureOp.java b/client/src/main/java/rt4/TextureOp.java index cdea38e2..67f18a74 100644 --- a/client/src/main/java/rt4/TextureOp.java +++ b/client/src/main/java/rt4/TextureOp.java @@ -91,7 +91,7 @@ public abstract class TextureOp extends Node { this.monochromeImageCache.clear(); this.monochromeImageCache = null; } else { - this.colorImageCache.method3169(); + this.colorImageCache.clear(); this.colorImageCache = null; } } diff --git a/client/src/main/java/rt4/TextureOp29.java b/client/src/main/java/rt4/TextureOp29.java index 70218d91..9b77798a 100644 --- a/client/src/main/java/rt4/TextureOp29.java +++ b/client/src/main/java/rt4/TextureOp29.java @@ -97,7 +97,7 @@ public final class TextureOp29 extends TextureOp { @Pc(20) int local20 = Texture.width; @Pc(22) int local22 = Texture.height; @Pc(26) int[][] local26 = new int[local22][local20]; - @Pc(31) int[][][] local31 = this.colorImageCache.method3168(); + @Pc(31) int[][][] local31 = this.colorImageCache.get(); this.method3934(local26); for (@Pc(37) int local37 = 0; local37 < Texture.height; local37++) { @Pc(44) int[] local44 = local26[local37];