371 lines
10 KiB
Java
371 lines
10 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;
|
|
|
|
@ObfuscatedName("jh")
|
|
@Implements("SequenceDefinition")
|
|
public class SequenceDefinition extends DualNode {
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "Lir;"
|
|
)
|
|
@Export("SequenceDefinition_archive")
|
|
public static AbstractArchive SequenceDefinition_archive;
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "Lir;"
|
|
)
|
|
public static AbstractArchive field773;
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "Lir;"
|
|
)
|
|
public static AbstractArchive field774;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "Ler;"
|
|
)
|
|
@Export("SequenceDefinition_cached")
|
|
public static EvictingDualNodeHashTable SequenceDefinition_cached;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "Ler;"
|
|
)
|
|
public static EvictingDualNodeHashTable field775;
|
|
@ObfuscatedName("u")
|
|
@Export("frameIds")
|
|
public int[] frameIds;
|
|
@ObfuscatedName("g")
|
|
@Export("chatFrameIds")
|
|
int[] chatFrameIds;
|
|
@ObfuscatedName("l")
|
|
@Export("frameLengths")
|
|
public int[] frameLengths;
|
|
@ObfuscatedName("e")
|
|
public int[] field776;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = -736885973
|
|
)
|
|
@Export("frameCount")
|
|
public int frameCount;
|
|
@ObfuscatedName("d")
|
|
int[] field777;
|
|
@ObfuscatedName("k")
|
|
public boolean field778;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedGetter(
|
|
intValue = 1309695045
|
|
)
|
|
public int field779;
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedGetter(
|
|
intValue = -1308226131
|
|
)
|
|
@Export("shield")
|
|
public int shield;
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedGetter(
|
|
intValue = -1629538741
|
|
)
|
|
@Export("weapon")
|
|
public int weapon;
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedGetter(
|
|
intValue = -28345361
|
|
)
|
|
public int field780;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = 1339014215
|
|
)
|
|
public int field781;
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedGetter(
|
|
intValue = 2012242069
|
|
)
|
|
public int field782;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = 1147391369
|
|
)
|
|
public int field783;
|
|
|
|
SequenceDefinition() {
|
|
this.frameCount = -1;
|
|
this.field778 = false;
|
|
this.field779 = 5;
|
|
this.shield = -1;
|
|
this.weapon = -1;
|
|
this.field780 = 99;
|
|
this.field781 = -1;
|
|
this.field782 = -1;
|
|
this.field783 = 2;
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lgr;S)V",
|
|
garbageValue = "259"
|
|
)
|
|
@Export("decode")
|
|
void decode(Buffer var1) {
|
|
while (true) {
|
|
int var2 = var1.readUnsignedByte();
|
|
if (var2 == 0) {
|
|
return;
|
|
}
|
|
|
|
this.decodeNext(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lgr;II)V",
|
|
garbageValue = "154075720"
|
|
)
|
|
@Export("decodeNext")
|
|
void decodeNext(Buffer var1, int var2) {
|
|
int[] var3;
|
|
int var4;
|
|
int var5;
|
|
if (var2 == 1) {
|
|
var4 = var1.readUnsignedShort();
|
|
this.frameLengths = new int[var4];
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
this.frameLengths[var5] = var1.readUnsignedShort();
|
|
}
|
|
|
|
this.frameIds = new int[var4];
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
this.frameIds[var5] = var1.readUnsignedShort();
|
|
}
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
var3 = this.frameIds;
|
|
var3[var5] += var1.readUnsignedShort() << 16;
|
|
}
|
|
} else if (var2 == 2) {
|
|
this.frameCount = var1.readUnsignedShort();
|
|
} else if (var2 == 3) {
|
|
var4 = var1.readUnsignedByte();
|
|
this.field777 = new int[var4 + 1];
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
this.field777[var5] = var1.readUnsignedByte();
|
|
}
|
|
|
|
this.field777[var4] = 9999999;
|
|
} else if (var2 == 4) {
|
|
this.field778 = true;
|
|
} else if (var2 == 5) {
|
|
this.field779 = var1.readUnsignedByte();
|
|
} else if (var2 == 6) {
|
|
this.shield = var1.readUnsignedShort();
|
|
} else if (var2 == 7) {
|
|
this.weapon = var1.readUnsignedShort();
|
|
} else if (var2 == 8) {
|
|
this.field780 = var1.readUnsignedByte();
|
|
} else if (var2 == 9) {
|
|
this.field781 = var1.readUnsignedByte();
|
|
} else if (var2 == 10) {
|
|
this.field782 = var1.readUnsignedByte();
|
|
} else if (var2 == 11) {
|
|
this.field783 = var1.readUnsignedByte();
|
|
} else if (var2 == 12) {
|
|
var4 = var1.readUnsignedByte();
|
|
this.chatFrameIds = new int[var4];
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
this.chatFrameIds[var5] = var1.readUnsignedShort();
|
|
}
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
var3 = this.chatFrameIds;
|
|
var3[var5] += var1.readUnsignedShort() << 16;
|
|
}
|
|
} else if (var2 == 13) {
|
|
var4 = var1.readUnsignedByte();
|
|
this.field776 = new int[var4];
|
|
|
|
for (var5 = 0; var5 < var4; ++var5) {
|
|
this.field776[var5] = var1.readMedium();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("postDecode")
|
|
void postDecode() {
|
|
if (this.field781 == -1) {
|
|
if (this.field777 != null) {
|
|
this.field781 = 2;
|
|
} else {
|
|
this.field781 = 0;
|
|
}
|
|
}
|
|
|
|
if (this.field782 == -1) {
|
|
if (this.field777 != null) {
|
|
this.field782 = 2;
|
|
} else {
|
|
this.field782 = 0;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldu;II)Ldu;",
|
|
garbageValue = "128527714"
|
|
)
|
|
@Export("transformActorModel")
|
|
public Model transformActorModel(Model model, int frame) {
|
|
frame = this.frameIds[frame];
|
|
Frames var3 = ItemContainer.getFrames(frame >> 16);
|
|
frame &= 65535;
|
|
if (var3 == null) {
|
|
return model.toSharedSequenceModel(true);
|
|
} else {
|
|
Model var4 = model.toSharedSequenceModel(!var3.hasAlphaTransform(frame));
|
|
var4.animate(var3, frame);
|
|
return var4;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldu;IIB)Ldu;",
|
|
garbageValue = "-65"
|
|
)
|
|
@Export("transformObjectModel")
|
|
Model transformObjectModel(Model model, int frame, int orientation) {
|
|
frame = this.frameIds[frame];
|
|
Frames var4 = ItemContainer.getFrames(frame >> 16);
|
|
frame &= 65535;
|
|
if (var4 == null) {
|
|
return model.toSharedSequenceModel(true);
|
|
} else {
|
|
Model var5 = model.toSharedSequenceModel(!var4.hasAlphaTransform(frame));
|
|
orientation &= 3;
|
|
if (orientation == 1) {
|
|
var5.rotateY270Ccw();
|
|
} else if (orientation == 2) {
|
|
var5.rotateY180();
|
|
} else if (orientation == 3) {
|
|
var5.rotateY90Ccw();
|
|
}
|
|
|
|
var5.animate(var4, frame);
|
|
if (orientation == 1) {
|
|
var5.rotateY90Ccw();
|
|
} else if (orientation == 2) {
|
|
var5.rotateY180();
|
|
} else if (orientation == 3) {
|
|
var5.rotateY270Ccw();
|
|
}
|
|
|
|
return var5;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldu;II)Ldu;",
|
|
garbageValue = "-1692496767"
|
|
)
|
|
@Export("transformSpotAnimationModel")
|
|
Model transformSpotAnimationModel(Model model, int frame) {
|
|
frame = this.frameIds[frame];
|
|
Frames var3 = ItemContainer.getFrames(frame >> 16);
|
|
frame &= 65535;
|
|
if (var3 == null) {
|
|
return model.toSharedSpotAnimationModel(true);
|
|
} else {
|
|
Model var4 = model.toSharedSpotAnimationModel(!var3.hasAlphaTransform(frame));
|
|
var4.animate(var3, frame);
|
|
return var4;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldu;ILjh;II)Ldu;",
|
|
garbageValue = "-386360993"
|
|
)
|
|
@Export("applyTransformations")
|
|
public Model applyTransformations(Model model, int frame, SequenceDefinition sequence, int sequenceFrame) {
|
|
frame = this.frameIds[frame];
|
|
Frames var5 = ItemContainer.getFrames(frame >> 16);
|
|
frame &= 65535;
|
|
if (var5 == null) {
|
|
return sequence.transformActorModel(model, sequenceFrame);
|
|
} else {
|
|
sequenceFrame = sequence.frameIds[sequenceFrame];
|
|
Frames var6 = ItemContainer.getFrames(sequenceFrame >> 16);
|
|
sequenceFrame &= 65535;
|
|
Model var7;
|
|
if (var6 == null) {
|
|
var7 = model.toSharedSequenceModel(!var5.hasAlphaTransform(frame));
|
|
var7.animate(var5, frame);
|
|
return var7;
|
|
} else {
|
|
var7 = model.toSharedSequenceModel(!var5.hasAlphaTransform(frame) & !var6.hasAlphaTransform(sequenceFrame));
|
|
var7.animate2(var5, frame, var6, sequenceFrame, this.field777);
|
|
return var7;
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldu;II)Ldu;",
|
|
garbageValue = "-15433768"
|
|
)
|
|
@Export("transformWidgetModel")
|
|
public Model transformWidgetModel(Model model, int frame) {
|
|
int var3 = this.frameIds[frame];
|
|
Frames var4 = ItemContainer.getFrames(var3 >> 16);
|
|
var3 &= 65535;
|
|
if (var4 == null) {
|
|
return model.toSharedSequenceModel(true);
|
|
} else {
|
|
Frames var5 = null;
|
|
int var6 = 0;
|
|
if (this.chatFrameIds != null && frame < this.chatFrameIds.length) {
|
|
var6 = this.chatFrameIds[frame];
|
|
var5 = ItemContainer.getFrames(var6 >> 16);
|
|
var6 &= 65535;
|
|
}
|
|
|
|
Model var7;
|
|
if (var5 != null && var6 != 65535) {
|
|
var7 = model.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6));
|
|
var7.animate(var4, var3);
|
|
var7.animate(var5, var6);
|
|
return var7;
|
|
} else {
|
|
var7 = model.toSharedSequenceModel(!var4.hasAlphaTransform(var3));
|
|
var7.animate(var4, var3);
|
|
return var7;
|
|
}
|
|
}
|
|
}
|
|
|
|
static {
|
|
SequenceDefinition_cached = new EvictingDualNodeHashTable(64);
|
|
field775 = new EvictingDualNodeHashTable(100);
|
|
}
|
|
}
|