269 lines
6.1 KiB
Java
269 lines
6.1 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
import net.runelite.rs.Reflection;
|
|
|
|
@ObfuscatedName("dz")
|
|
@Implements("TextureProvider")
|
|
public class TextureProvider implements TextureLoader {
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "[Ldg;"
|
|
)
|
|
@Export("textures")
|
|
Texture[] textures;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "Ljv;"
|
|
)
|
|
@Export("deque")
|
|
NodeDeque deque;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedGetter(
|
|
intValue = 707785193
|
|
)
|
|
@Export("capacity")
|
|
int capacity;
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedGetter(
|
|
intValue = -55735149
|
|
)
|
|
@Export("remaining")
|
|
int remaining;
|
|
@ObfuscatedName("r")
|
|
@Export("brightness")
|
|
double brightness;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedGetter(
|
|
intValue = 678440487
|
|
)
|
|
@Export("textureSize")
|
|
int textureSize;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhp;"
|
|
)
|
|
@Export("archive")
|
|
AbstractArchive archive;
|
|
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhp;Lhp;IDI)V"
|
|
)
|
|
public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) {
|
|
this.deque = new NodeDeque();
|
|
this.remaining = 0;
|
|
this.brightness = 1.0D;
|
|
this.textureSize = 128;
|
|
this.archive = var2;
|
|
this.capacity = var3;
|
|
this.remaining = this.capacity;
|
|
this.brightness = var4;
|
|
this.textureSize = var6;
|
|
int[] var7 = var1.getGroupFileIds(0);
|
|
int var8 = var7.length;
|
|
this.textures = new Texture[var1.getGroupFileCount(0)];
|
|
|
|
for (int var9 = 0; var9 < var8; ++var9) {
|
|
Buffer var10 = new Buffer(var1.takeFile(0, var7[var9]));
|
|
this.textures[var7[var9]] = new Texture(var10);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-2135448801"
|
|
)
|
|
@Export("getLoadedPercentage")
|
|
public int getLoadedPercentage() {
|
|
int var1 = 0;
|
|
int var2 = 0;
|
|
Texture[] var3 = this.textures;
|
|
|
|
for (int var4 = 0; var4 < var3.length; ++var4) {
|
|
Texture var5 = var3[var4];
|
|
if (var5 != null && var5.fileIds != null) {
|
|
var1 += var5.fileIds.length;
|
|
int[] var6 = var5.fileIds;
|
|
|
|
for (int var7 = 0; var7 < var6.length; ++var7) {
|
|
int var8 = var6[var7];
|
|
if (this.archive.method4127(var8)) {
|
|
++var2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var1 == 0) {
|
|
return 0;
|
|
} else {
|
|
return var2 * 100 / var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@Export("setBrightness")
|
|
public void setBrightness(double var1) {
|
|
this.brightness = var1;
|
|
this.clear();
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)[I",
|
|
garbageValue = "2"
|
|
)
|
|
@Export("getTexturePixels")
|
|
public int[] getTexturePixels(int var1) {
|
|
Texture var2 = this.textures[var1];
|
|
if (var2 != null) {
|
|
if (var2.pixels != null) {
|
|
this.deque.addLast(var2);
|
|
var2.isLoaded = true;
|
|
return var2.pixels;
|
|
}
|
|
|
|
boolean var3 = var2.load(this.brightness, this.textureSize, this.archive);
|
|
if (var3) {
|
|
if (this.remaining == 0) {
|
|
Texture var4 = (Texture)this.deque.removeFirst();
|
|
var4.reset();
|
|
} else {
|
|
--this.remaining;
|
|
}
|
|
|
|
this.deque.addLast(var2);
|
|
var2.isLoaded = true;
|
|
return var2.pixels;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)I",
|
|
garbageValue = "1942090144"
|
|
)
|
|
@Export("getAverageTextureRGB")
|
|
public int getAverageTextureRGB(int var1) {
|
|
return this.textures[var1] != null ? this.textures[var1].averageRGB : 0;
|
|
}
|
|
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Z",
|
|
garbageValue = "1238853491"
|
|
)
|
|
public boolean vmethod3236(int var1) {
|
|
return this.textures[var1].field1587;
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Z",
|
|
garbageValue = "-818075958"
|
|
)
|
|
@Export("isLowDetail")
|
|
public boolean isLowDetail(int var1) {
|
|
return this.textureSize == 64;
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "170454088"
|
|
)
|
|
@Export("clear")
|
|
public void clear() {
|
|
for (int var1 = 0; var1 < this.textures.length; ++var1) {
|
|
if (this.textures[var1] != null) {
|
|
this.textures[var1].reset();
|
|
}
|
|
}
|
|
|
|
this.deque = new NodeDeque();
|
|
this.remaining = this.capacity;
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "60"
|
|
)
|
|
@Export("animate")
|
|
public void animate(int var1) {
|
|
for (int var2 = 0; var2 < this.textures.length; ++var2) {
|
|
Texture var3 = this.textures[var2];
|
|
if (var3 != null && var3.animationDirection != 0 && var3.isLoaded) {
|
|
var3.animate(var1);
|
|
var3.isLoaded = false;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-1068033058"
|
|
)
|
|
static void method2757() {
|
|
Tiles.Tiles_minPlane = 99;
|
|
Tiles.field501 = new byte[4][104][104];
|
|
Tiles.field483 = new byte[4][104][104];
|
|
DevicePcmPlayerProvider.field393 = new byte[4][104][104];
|
|
class287.field3634 = new byte[4][104][104];
|
|
Tiles.field488 = new int[4][105][105];
|
|
Tiles.field486 = new byte[4][105][105];
|
|
DevicePcmPlayerProvider.field386 = new int[105][105];
|
|
Tiles.Tiles_hue = new int[104];
|
|
ArchiveLoader.Tiles_saturation = new int[104];
|
|
Tiles.Tiles_lightness = new int[104];
|
|
FontName.Tiles_hueMultiplier = new int[104];
|
|
Tiles.field487 = new int[104];
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)Ljava/lang/Class;",
|
|
garbageValue = "-14"
|
|
)
|
|
@Export("loadClassFromDescriptor")
|
|
static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException {
|
|
if (var0.equals("B")) {
|
|
return Byte.TYPE;
|
|
} else if (var0.equals("I")) {
|
|
return Integer.TYPE;
|
|
} else if (var0.equals("S")) {
|
|
return Short.TYPE;
|
|
} else if (var0.equals("J")) {
|
|
return Long.TYPE;
|
|
} else if (var0.equals("Z")) {
|
|
return Boolean.TYPE;
|
|
} else if (var0.equals("F")) {
|
|
return Float.TYPE;
|
|
} else if (var0.equals("D")) {
|
|
return Double.TYPE;
|
|
} else if (var0.equals("C")) {
|
|
return Character.TYPE;
|
|
} else {
|
|
return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "-114"
|
|
)
|
|
public static void method2746() {
|
|
ParamDefinition.ParamDefinition_cached.clear();
|
|
}
|
|
}
|