* Rename some things to be more consistent everywhere * rs-client: refactoring * MenuAction -> MenuOpcode merge
371 lines
8.9 KiB
Java
371 lines
8.9 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("is")
|
|
@Implements("SequenceDefinition")
|
|
public class SequenceDefinition extends DualNode {
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhp;"
|
|
)
|
|
@Export("SequenceDefinition_archive")
|
|
public static AbstractArchive SequenceDefinition_archive;
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhp;"
|
|
)
|
|
@Export("SequenceDefinition_animationsArchive")
|
|
public static AbstractArchive SequenceDefinition_animationsArchive;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "Lhp;"
|
|
)
|
|
@Export("SequenceDefinition_skeletonsArchive")
|
|
public static AbstractArchive SequenceDefinition_skeletonsArchive;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "Lel;"
|
|
)
|
|
@Export("SequenceDefinition_cached")
|
|
public static EvictingDualNodeHashTable SequenceDefinition_cached;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "Lel;"
|
|
)
|
|
@Export("SequenceDefinition_cachedFrames")
|
|
public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames;
|
|
@ObfuscatedName("ff")
|
|
@ObfuscatedSignature(
|
|
signature = "Lez;"
|
|
)
|
|
@Export("urlRequester")
|
|
static UrlRequester urlRequester;
|
|
@ObfuscatedName("l")
|
|
@Export("frameIds")
|
|
public int[] frameIds;
|
|
@ObfuscatedName("b")
|
|
@Export("chatFrameIds")
|
|
int[] chatFrameIds;
|
|
@ObfuscatedName("i")
|
|
@Export("frameLengths")
|
|
public int[] frameLengths;
|
|
@ObfuscatedName("c")
|
|
@Export("soundEffects")
|
|
public int[] soundEffects;
|
|
@ObfuscatedName("f")
|
|
@ObfuscatedGetter(
|
|
intValue = -416695211
|
|
)
|
|
@Export("frameCount")
|
|
public int frameCount;
|
|
@ObfuscatedName("m")
|
|
int[] field3518;
|
|
@ObfuscatedName("u")
|
|
public boolean field3526;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = -655637591
|
|
)
|
|
public int field3533;
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedGetter(
|
|
intValue = 975165597
|
|
)
|
|
@Export("shield")
|
|
public int shield;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedGetter(
|
|
intValue = -608635427
|
|
)
|
|
@Export("weapon")
|
|
public int weapon;
|
|
@ObfuscatedName("y")
|
|
@ObfuscatedGetter(
|
|
intValue = -130744455
|
|
)
|
|
public int field3535;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedGetter(
|
|
intValue = -1640931413
|
|
)
|
|
public int field3525;
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedGetter(
|
|
intValue = -1353977843
|
|
)
|
|
public int field3532;
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedGetter(
|
|
intValue = 553206065
|
|
)
|
|
public int field3529;
|
|
|
|
static {
|
|
SequenceDefinition_cached = new EvictingDualNodeHashTable(64);
|
|
SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100);
|
|
}
|
|
|
|
SequenceDefinition() {
|
|
this.frameCount = -1;
|
|
this.field3526 = false;
|
|
this.field3533 = 5;
|
|
this.shield = -1;
|
|
this.weapon = -1;
|
|
this.field3535 = 99;
|
|
this.field3525 = -1;
|
|
this.field3532 = -1;
|
|
this.field3529 = 2;
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkf;B)V",
|
|
garbageValue = "88"
|
|
)
|
|
@Export("decode")
|
|
void decode(Buffer var1) {
|
|
while (true) {
|
|
int var2 = var1.readUnsignedByte();
|
|
if (var2 == 0) {
|
|
return;
|
|
}
|
|
|
|
this.decodeNext(var1, var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lkf;II)V",
|
|
garbageValue = "-1384847796"
|
|
)
|
|
@Export("decodeNext")
|
|
void decodeNext(Buffer var1, int var2) {
|
|
int var3;
|
|
int var4;
|
|
if (var2 == 1) {
|
|
var3 = var1.readUnsignedShort();
|
|
this.frameLengths = new int[var3];
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.frameLengths[var4] = var1.readUnsignedShort();
|
|
}
|
|
|
|
this.frameIds = new int[var3];
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.frameIds[var4] = var1.readUnsignedShort();
|
|
}
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.frameIds[var4] += var1.readUnsignedShort() << 16;
|
|
}
|
|
} else if (var2 == 2) {
|
|
this.frameCount = var1.readUnsignedShort();
|
|
} else if (var2 == 3) {
|
|
var3 = var1.readUnsignedByte();
|
|
this.field3518 = new int[var3 + 1];
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.field3518[var4] = var1.readUnsignedByte();
|
|
}
|
|
|
|
this.field3518[var3] = 9999999;
|
|
} else if (var2 == 4) {
|
|
this.field3526 = true;
|
|
} else if (var2 == 5) {
|
|
this.field3533 = var1.readUnsignedByte();
|
|
} else if (var2 == 6) {
|
|
this.shield = var1.readUnsignedShort();
|
|
} else if (var2 == 7) {
|
|
this.weapon = var1.readUnsignedShort();
|
|
} else if (var2 == 8) {
|
|
this.field3535 = var1.readUnsignedByte();
|
|
} else if (var2 == 9) {
|
|
this.field3525 = var1.readUnsignedByte();
|
|
} else if (var2 == 10) {
|
|
this.field3532 = var1.readUnsignedByte();
|
|
} else if (var2 == 11) {
|
|
this.field3529 = var1.readUnsignedByte();
|
|
} else if (var2 == 12) {
|
|
var3 = var1.readUnsignedByte();
|
|
this.chatFrameIds = new int[var3];
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.chatFrameIds[var4] = var1.readUnsignedShort();
|
|
}
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.chatFrameIds[var4] += var1.readUnsignedShort() << 16;
|
|
}
|
|
} else if (var2 == 13) {
|
|
var3 = var1.readUnsignedByte();
|
|
this.soundEffects = new int[var3];
|
|
|
|
for (var4 = 0; var4 < var3; ++var4) {
|
|
this.soundEffects[var4] = var1.readMedium();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "806874502"
|
|
)
|
|
@Export("postDecode")
|
|
void postDecode() {
|
|
if (this.field3525 == -1) {
|
|
if (this.field3518 != null) {
|
|
this.field3525 = 2;
|
|
} else {
|
|
this.field3525 = 0;
|
|
}
|
|
}
|
|
|
|
if (this.field3532 == -1) {
|
|
if (this.field3518 != null) {
|
|
this.field3532 = 2;
|
|
} else {
|
|
this.field3532 = 0;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldm;II)Ldm;",
|
|
garbageValue = "1904294443"
|
|
)
|
|
@Export("transformActorModel")
|
|
public Model transformActorModel(Model var1, int var2) {
|
|
var2 = this.frameIds[var2];
|
|
Frames var3 = class30.getFrames(var2 >> 16);
|
|
var2 &= 0xffff;
|
|
if (var3 == null) {
|
|
return var1.toSharedSequenceModel(true);
|
|
}
|
|
Model var4 = var1.toSharedSequenceModel(!var3.hasAlphaTransform(var2));
|
|
var4.animate(var3, var2);
|
|
return var4;
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldm;IIB)Ldm;",
|
|
garbageValue = "-68"
|
|
)
|
|
@Export("transformObjectModel")
|
|
Model transformObjectModel(Model var1, int var2, int var3) {
|
|
var2 = this.frameIds[var2];
|
|
Frames var4 = class30.getFrames(var2 >> 16);
|
|
var2 &= 0xffff;
|
|
if (var4 == null) {
|
|
return var1.toSharedSequenceModel(true);
|
|
}
|
|
Model var5 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var2));
|
|
var3 &= 3;
|
|
if (var3 == 1) {
|
|
var5.rotateY270Ccw();
|
|
} else if (var3 == 2) {
|
|
var5.rotateY180();
|
|
} else if (var3 == 3) {
|
|
var5.rotateY90Ccw();
|
|
}
|
|
|
|
var5.animate(var4, var2);
|
|
if (var3 == 1) {
|
|
var5.rotateY90Ccw();
|
|
} else if (var3 == 2) {
|
|
var5.rotateY180();
|
|
} else if (var3 == 3) {
|
|
var5.rotateY270Ccw();
|
|
}
|
|
|
|
return var5;
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldm;II)Ldm;",
|
|
garbageValue = "-1365798268"
|
|
)
|
|
@Export("transformSpotAnimationModel")
|
|
Model transformSpotAnimationModel(Model var1, int var2) {
|
|
var2 = this.frameIds[var2];
|
|
Frames var3 = class30.getFrames(var2 >> 16);
|
|
var2 &= 0xffff;
|
|
if (var3 == null) {
|
|
return var1.toSharedSpotAnimationModel(true);
|
|
}
|
|
Model var4 = var1.toSharedSpotAnimationModel(!var3.hasAlphaTransform(var2));
|
|
var4.animate(var3, var2);
|
|
return var4;
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldm;ILis;II)Ldm;",
|
|
garbageValue = "743277610"
|
|
)
|
|
@Export("applyTransformations")
|
|
public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) {
|
|
var2 = this.frameIds[var2];
|
|
Frames var5 = class30.getFrames(var2 >> 16);
|
|
var2 &= 0xffff;
|
|
if (var5 == null) {
|
|
return var3.transformActorModel(var1, var4);
|
|
}
|
|
var4 = var3.frameIds[var4];
|
|
Frames var6 = class30.getFrames(var4 >> 16);
|
|
var4 &= 0xffff;
|
|
Model var7;
|
|
if (var6 == null) {
|
|
var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2));
|
|
var7.animate(var5, var2);
|
|
return var7;
|
|
}
|
|
var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2) & !var6.hasAlphaTransform(var4));
|
|
var7.animate2(var5, var2, var6, var4, this.field3518);
|
|
return var7;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ldm;II)Ldm;",
|
|
garbageValue = "-1834936397"
|
|
)
|
|
@Export("transformWidgetModel")
|
|
public Model transformWidgetModel(Model var1, int var2) {
|
|
int var3 = this.frameIds[var2];
|
|
Frames var4 = class30.getFrames(var3 >> 16);
|
|
var3 &= 0xffff;
|
|
if (var4 == null) {
|
|
return var1.toSharedSequenceModel(true);
|
|
}
|
|
Frames var5 = null;
|
|
int var6 = 0;
|
|
if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) {
|
|
var6 = this.chatFrameIds[var2];
|
|
var5 = class30.getFrames(var6 >> 16);
|
|
var6 &= 0xffff;
|
|
}
|
|
|
|
Model var7;
|
|
if (var5 != null && var6 != 0xffff) {
|
|
var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6));
|
|
var7.animate(var4, var3);
|
|
var7.animate(var5, var6);
|
|
return var7;
|
|
}
|
|
var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3));
|
|
var7.animate(var4, var3);
|
|
return var7;
|
|
}
|
|
}
|