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("ce") @Implements("DynamicObject") public class DynamicObject extends Entity { @ObfuscatedName("z") @ObfuscatedGetter( intValue = 1757320161 ) @Export("id") int id; @ObfuscatedName("n") @ObfuscatedGetter( intValue = 270171291 ) @Export("type") int type; @ObfuscatedName("v") @ObfuscatedGetter( intValue = 1684018413 ) @Export("orientation") int orientation; @ObfuscatedName("u") @ObfuscatedGetter( intValue = -804761033 ) @Export("plane") int plane; @ObfuscatedName("r") @ObfuscatedGetter( intValue = -1414323503 ) @Export("x") int x; @ObfuscatedName("p") @ObfuscatedGetter( intValue = 1753767283 ) @Export("y") int y; @ObfuscatedName("q") @ObfuscatedSignature( signature = "Lix;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @ObfuscatedName("m") @ObfuscatedGetter( intValue = -1311165823 ) @Export("frame") int frame; @ObfuscatedName("y") @ObfuscatedGetter( intValue = 972994897 ) @Export("cycleStart") int cycleStart; @ObfuscatedSignature( signature = "(IIIIIIIZLer;)V" ) DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Entity var9) { this.id = var1; this.type = var2; this.orientation = var3; this.plane = var4; this.x = var5; this.y = var6; if (var7 != -1) { this.sequenceDefinition = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var7); this.frame = 0; this.cycleStart = Client.cycle - 1; if (this.sequenceDefinition.field3517 == 0 && var9 != null && var9 instanceof DynamicObject) { DynamicObject var10 = (DynamicObject)var9; if (var10.sequenceDefinition == this.sequenceDefinition) { this.frame = var10.frame; this.cycleStart = var10.cycleStart; return; } } if (var8 && this.sequenceDefinition.frameCount != -1) { this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); } } } @ObfuscatedName("y") @ObfuscatedSignature( signature = "(I)Ldh;", garbageValue = "-62237472" ) @Export("getModel") protected final Model getModel() { if (this.sequenceDefinition != null) { int var1 = Client.cycle - this.cycleStart; if (var1 > 100 && this.sequenceDefinition.frameCount > 0) { var1 = 100; } label56: { do { do { if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { break label56; } var1 -= this.sequenceDefinition.frameLengths[this.frame]; ++this.frame; } while(this.frame < this.sequenceDefinition.frameIds.length); this.frame -= this.sequenceDefinition.frameCount; } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); this.sequenceDefinition = null; } this.cycleStart = Client.cycle - var1; } ObjectDefinition var12 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(this.id); if (var12.transforms != null) { var12 = var12.transform(); } if (var12 == null) { return null; } else { int var2; int var3; if (this.orientation != 1 && this.orientation != 3) { var2 = var12.sizeX; var3 = var12.sizeY; } else { var2 = var12.sizeY; var3 = var12.sizeX; } int var4 = (var2 >> 1) + this.x; int var5 = (var2 + 1 >> 1) + this.x; int var6 = (var3 >> 1) + this.y; int var7 = (var3 + 1 >> 1) + this.y; int[][] var8 = Tiles.Tiles_heights[this.plane]; int var9 = var8[var5][var6] + var8[var4][var6] + var8[var4][var7] + var8[var5][var7] >> 2; int var10 = (this.x << 7) + (var2 << 6); int var11 = (this.y << 7) + (var3 << 6); return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); } } @ObfuscatedName("u") @ObfuscatedSignature( signature = "(I)Z", garbageValue = "1880284014" ) @Export("isKeyDown") public static final boolean isKeyDown() { synchronized(KeyHandler.KeyHandler_instance) { if (KeyHandler.field380 == KeyHandler.field378) { return false; } else { SecureRandomFuture.field1230 = KeyHandler.field375[KeyHandler.field378]; KeyHandler.field381 = KeyHandler.field374[KeyHandler.field378]; KeyHandler.field378 = KeyHandler.field378 + 1 & 127; return true; } } } @ObfuscatedName("ao") @ObfuscatedSignature( signature = "(Ldc;I)V", garbageValue = "1888530585" ) @Export("PcmStream_disable") static final void PcmStream_disable(PcmStream var0) { var0.active = false; if (var0.sound != null) { var0.sound.position = 0; } for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { PcmStream_disable(var1); } } @ObfuscatedName("ea") @ObfuscatedSignature( signature = "(I)V", garbageValue = "274251023" ) static final void method2223() { Client.packetWriter.close(); WorldMapIcon_1.method314(); PacketWriter.scene.clear(); for (int var0 = 0; var0 < 4; ++var0) { Client.collisionMaps[var0].clear(); } System.gc(); class197.field2386 = 1; class197.musicTrackArchive = null; class188.musicTrackGroupId = -1; class49.musicTrackFileId = -1; TileItem.field1223 = 0; WorldMapSectionType.musicTrackBoolean = false; MusicPatchNode2.field2382 = 2; Client.field666 = -1; Client.field759 = false; ClientPacket.method3581(); MouseRecorder.updateGameState(10); } @ObfuscatedName("gn") @ObfuscatedSignature( signature = "(I)V", garbageValue = "652940971" ) static final void method2225() { for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { if (var0.plane == WorldMapRectangle.plane && Client.cycle <= var0.cycleEnd) { if (Client.cycle >= var0.cycleStart) { if (var0.targetIndex > 0) { NPC var1 = Client.npcs[var0.targetIndex - 1]; if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) { var0.setDestination(var1.x, var1.y, MusicPatchPcmStream.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle); } } if (var0.targetIndex < 0) { int var2 = -var0.targetIndex - 1; Player var3; if (var2 == Client.localPlayerIndex) { var3 = class223.localPlayer; } else { var3 = Client.players[var2]; } if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) { var0.setDestination(var3.x, var3.y, MusicPatchPcmStream.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); } } var0.advance(Client.field698); PacketWriter.scene.drawEntity(WorldMapRectangle.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); } } else { var0.remove(); } } } }