Files
runelite/runescape-client/src/main/java/TextureProvider.java
Ganom cb57ab26b3 project: update from 184 to 184 (#1675)
* 184

* checkstyle

* project: fix exports.
2019-09-28 18:37:36 +01:00

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();
}
}