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; } }