123 lines
3.2 KiB
Java
123 lines
3.2 KiB
Java
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("es")
|
|
public class Animation {
|
|
@ObfuscatedName("z")
|
|
static int[] field1659;
|
|
@ObfuscatedName("k")
|
|
static int[] field1658;
|
|
@ObfuscatedName("s")
|
|
static int[] field1667;
|
|
@ObfuscatedName("t")
|
|
static int[] field1660;
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Leh;"
|
|
)
|
|
Skeleton skeleton;
|
|
@ObfuscatedName("o")
|
|
int transformCount;
|
|
@ObfuscatedName("x")
|
|
int[] transformSkeletonLabels;
|
|
@ObfuscatedName("w")
|
|
int[] transformXs;
|
|
@ObfuscatedName("g")
|
|
int[] transformYs;
|
|
@ObfuscatedName("m")
|
|
int[] transformZs;
|
|
@ObfuscatedName("n")
|
|
boolean hasAlphaTransform;
|
|
|
|
static {
|
|
field1659 = new int[500]; // L: 8
|
|
field1658 = new int[500]; // L: 9
|
|
field1667 = new int[500]; // L: 10
|
|
field1660 = new int[500]; // L: 11
|
|
}
|
|
|
|
@ObfuscatedSignature(
|
|
descriptor = "([BLeh;)V"
|
|
)
|
|
Animation(byte[] var1, Skeleton var2) {
|
|
this.skeleton = null; // L: 12
|
|
this.transformCount = -1; // L: 13
|
|
this.hasAlphaTransform = false; // L: 18
|
|
this.skeleton = var2; // L: 21
|
|
Buffer var3 = new Buffer(var1); // L: 22
|
|
Buffer var4 = new Buffer(var1); // L: 23
|
|
var3.offset = 2; // L: 24
|
|
int var5 = var3.readUnsignedByte(); // L: 25
|
|
int var6 = -1; // L: 26
|
|
int var7 = 0; // L: 27
|
|
var4.offset = var5 + var3.offset; // L: 28
|
|
|
|
int var8;
|
|
for (var8 = 0; var8 < var5; ++var8) { // L: 29
|
|
int var9 = var3.readUnsignedByte(); // L: 30
|
|
if (var9 > 0) { // L: 31
|
|
if (this.skeleton.transformTypes[var8] != 0) { // L: 32
|
|
for (int var10 = var8 - 1; var10 > var6; --var10) { // L: 33
|
|
if (this.skeleton.transformTypes[var10] == 0) { // L: 34
|
|
field1659[var7] = var10; // L: 35
|
|
field1658[var7] = 0; // L: 36
|
|
field1667[var7] = 0; // L: 37
|
|
field1660[var7] = 0; // L: 38
|
|
++var7; // L: 39
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
field1659[var7] = var8; // L: 44
|
|
short var11 = 0; // L: 45
|
|
if (this.skeleton.transformTypes[var8] == 3) { // L: 46
|
|
var11 = 128;
|
|
}
|
|
|
|
if ((var9 & 1) != 0) { // L: 47
|
|
field1658[var7] = var4.readShortSmart();
|
|
} else {
|
|
field1658[var7] = var11; // L: 48
|
|
}
|
|
|
|
if ((var9 & 2) != 0) { // L: 49
|
|
field1667[var7] = var4.readShortSmart();
|
|
} else {
|
|
field1667[var7] = var11; // L: 50
|
|
}
|
|
|
|
if ((var9 & 4) != 0) { // L: 51
|
|
field1660[var7] = var4.readShortSmart();
|
|
} else {
|
|
field1660[var7] = var11; // L: 52
|
|
}
|
|
|
|
var6 = var8; // L: 53
|
|
++var7; // L: 54
|
|
if (this.skeleton.transformTypes[var8] == 5) { // L: 55
|
|
this.hasAlphaTransform = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (var1.length != var4.offset) { // L: 58
|
|
throw new RuntimeException(); // L: 59
|
|
} else {
|
|
this.transformCount = var7; // L: 61
|
|
this.transformSkeletonLabels = new int[var7]; // L: 62
|
|
this.transformXs = new int[var7]; // L: 63
|
|
this.transformYs = new int[var7]; // L: 64
|
|
this.transformZs = new int[var7]; // L: 65
|
|
|
|
for (var8 = 0; var8 < var7; ++var8) { // L: 66
|
|
this.transformSkeletonLabels[var8] = field1659[var8]; // L: 67
|
|
this.transformXs[var8] = field1658[var8]; // L: 68
|
|
this.transformYs[var8] = field1667[var8]; // L: 69
|
|
this.transformZs[var8] = field1660[var8]; // L: 70
|
|
}
|
|
|
|
}
|
|
} // L: 72
|
|
}
|