85 lines
2.3 KiB
Java
85 lines
2.3 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ee")
|
|
@Implements("Frames")
|
|
public class Frames extends DualNode {
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhz;"
|
|
)
|
|
@Export("ItemDefinition_modelArchive")
|
|
static AbstractArchive ItemDefinition_modelArchive;
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "[Ldi;"
|
|
)
|
|
@Export("frames")
|
|
Animation[] frames;
|
|
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhz;Lhz;IZ)V",
|
|
garbageValue = "0"
|
|
)
|
|
public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
|
|
NodeDeque var5 = new NodeDeque();
|
|
int var6 = var1.getGroupFileCount(var3);
|
|
this.frames = new Animation[var6];
|
|
int[] var7 = var1.getGroupFileIds(var3);
|
|
|
|
for (int var8 = 0; var8 < var7.length; ++var8) {
|
|
byte[] var9 = var1.takeFile(var3, var7[var8]);
|
|
Skeleton var10 = null;
|
|
int var11 = (var9[0] & 255) << 8 | var9[1] & 255;
|
|
|
|
for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) {
|
|
if (var11 == var12.id) {
|
|
var10 = var12;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (var10 == null) {
|
|
byte[] var13 = var2.getFile(var11, 0);
|
|
var10 = new Skeleton(var11, var13);
|
|
var5.addFirst(var10);
|
|
}
|
|
|
|
this.frames[var7[var8]] = new Animation(var9, var10);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)Z",
|
|
garbageValue = "-5"
|
|
)
|
|
@Export("hasAlphaTransform")
|
|
public boolean hasAlphaTransform(int var1) {
|
|
return this.frames[var1].hasAlphaTransform;
|
|
}
|
|
|
|
@ObfuscatedName("ix")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Ljava/lang/String;",
|
|
garbageValue = "-737033535"
|
|
)
|
|
@Export("formatItemStacks")
|
|
static final String formatItemStacks(int var0) {
|
|
String var1 = Integer.toString(var0);
|
|
|
|
for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) {
|
|
var1 = var1.substring(0, var2) + "," + var1.substring(var2);
|
|
}
|
|
|
|
if (var1.length() > 9) {
|
|
return " " + class16.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + "</col>";
|
|
} else {
|
|
return var1.length() > 6 ? " " + class16.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "</col>" : " " + class16.colorStartTag(16776960) + var1 + "</col>";
|
|
}
|
|
}
|
|
}
|