64 lines
1.7 KiB
Java
64 lines
1.7 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("gi")
|
|
@Implements("Frames")
|
|
public class Frames extends DualNode {
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "[Lgx;"
|
|
)
|
|
@Export("frames")
|
|
Animation[] frames;
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljp;Ljp;IZ)V"
|
|
)
|
|
Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
|
|
NodeDeque var5 = new NodeDeque(); // L: 35
|
|
int var6 = var1.getGroupFileCount(var3); // L: 36
|
|
this.frames = new Animation[var6]; // L: 37
|
|
int[] var7 = var1.getGroupFileIds(var3); // L: 38
|
|
|
|
for (int var8 = 0; var8 < var7.length; ++var8) { // L: 39
|
|
byte[] var9 = var1.takeFile(var3, var7[var8]); // L: 40
|
|
Skeleton var10 = null; // L: 41
|
|
int var11 = (var9[0] & 255) << 8 | var9[1] & 255; // L: 42
|
|
|
|
for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { // L: 43 44 49
|
|
if (var11 == var12.id) { // L: 45
|
|
var10 = var12; // L: 46
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (var10 == null) { // L: 51
|
|
byte[] var13;
|
|
if (var4) { // L: 53
|
|
var13 = var2.getFile(0, var11);
|
|
} else {
|
|
var13 = var2.getFile(var11, 0); // L: 54
|
|
}
|
|
|
|
var10 = new Skeleton(var11, var13); // L: 55
|
|
var5.addFirst(var10); // L: 56
|
|
}
|
|
|
|
this.frames[var7[var8]] = new Animation(var9, var10); // L: 58
|
|
}
|
|
|
|
} // L: 60
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Z",
|
|
garbageValue = "1252473140"
|
|
)
|
|
@Export("hasAlphaTransform")
|
|
public boolean hasAlphaTransform(int var1) {
|
|
return this.frames[var1].hasAlphaTransform; // L: 63
|
|
}
|
|
}
|