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("gg") @Implements("MusicPatch") public class MusicPatch extends Node { @ObfuscatedName("q") @ObfuscatedGetter( intValue = 954776245 ) int field2475; @ObfuscatedName("w") @ObfuscatedSignature( signature = "[Lcd;" ) @Export("rawSounds") RawSound[] rawSounds; @ObfuscatedName("e") short[] field2482; @ObfuscatedName("p") byte[] field2476; @ObfuscatedName("k") byte[] field2477; @ObfuscatedName("l") @ObfuscatedSignature( signature = "[Lgk;" ) MusicPatchNode2[] field2481; @ObfuscatedName("b") byte[] field2479; @ObfuscatedName("i") int[] field2480; MusicPatch(byte[] var1) { this.rawSounds = new RawSound[128]; this.field2482 = new short[128]; this.field2476 = new byte[128]; this.field2477 = new byte[128]; this.field2481 = new MusicPatchNode2[128]; this.field2479 = new byte[128]; this.field2480 = new int[128]; Buffer var2 = new Buffer(var1); int var3; for (var3 = 0; var2.array[var3 + var2.offset] != 0; ++var3) { } byte[] var4 = new byte[var3]; int var5; for (var5 = 0; var5 < var3; ++var5) { var4[var5] = var2.readByte(); } ++var2.offset; ++var3; var5 = var2.offset; var2.offset += var3; int var6; for (var6 = 0; var2.array[var6 + var2.offset] != 0; ++var6) { } byte[] var7 = new byte[var6]; int var8; for (var8 = 0; var8 < var6; ++var8) { var7[var8] = var2.readByte(); } ++var2.offset; ++var6; var8 = var2.offset; var2.offset += var6; int var9; for (var9 = 0; var2.array[var9 + var2.offset] != 0; ++var9) { } byte[] var10 = new byte[var9]; for (int var11 = 0; var11 < var9; ++var11) { var10[var11] = var2.readByte(); } ++var2.offset; ++var9; byte[] var36 = new byte[var9]; int var12; int var14; if (var9 > 1) { var36[1] = 1; int var13 = 1; var12 = 2; for (var14 = 2; var14 < var9; ++var14) { int var15 = var2.readUnsignedByte(); if (var15 == 0) { var13 = var12++; } else { if (var15 <= var13) { --var15; } var13 = var15; } var36[var14] = (byte)var13; } } else { var12 = var9; } MusicPatchNode2[] var37 = new MusicPatchNode2[var12]; MusicPatchNode2 var38; for (var14 = 0; var14 < var37.length; ++var14) { var38 = var37[var14] = new MusicPatchNode2(); int var16 = var2.readUnsignedByte(); if (var16 > 0) { var38.field2387 = new byte[var16 * 2]; } var16 = var2.readUnsignedByte(); if (var16 > 0) { var38.field2388 = new byte[var16 * 2 + 2]; var38.field2388[1] = 64; } } var14 = var2.readUnsignedByte(); byte[] var45 = var14 > 0 ? new byte[var14 * 2] : null; var14 = var2.readUnsignedByte(); byte[] var39 = var14 > 0 ? new byte[var14 * 2] : null; int var17; for (var17 = 0; var2.array[var17 + var2.offset] != 0; ++var17) { } byte[] var18 = new byte[var17]; int var19; for (var19 = 0; var19 < var17; ++var19) { var18[var19] = var2.readByte(); } ++var2.offset; ++var17; var19 = 0; int var20; for (var20 = 0; var20 < 128; ++var20) { var19 += var2.readUnsignedByte(); this.field2482[var20] = (short)var19; } var19 = 0; short[] var48; for (var20 = 0; var20 < 128; ++var20) { var19 += var2.readUnsignedByte(); var48 = this.field2482; var48[var20] = (short)(var48[var20] + (var19 << 8)); } var20 = 0; int var21 = 0; int var22 = 0; int var23; for (var23 = 0; var23 < 128; ++var23) { if (var20 == 0) { if (var21 < var18.length) { var20 = var18[var21++]; } else { var20 = -1; } var22 = var2.readVarInt(); } var48 = this.field2482; var48[var23] = (short)(var48[var23] + ((var22 - 1 & 2) << 14)); this.field2480[var23] = var22; --var20; } var20 = 0; var21 = 0; var23 = 0; int var24; for (var24 = 0; var24 < 128; ++var24) { if (this.field2480[var24] != 0) { if (var20 == 0) { if (var21 < var4.length) { var20 = var4[var21++]; } else { var20 = -1; } var23 = var2.array[var5++] - 1; } this.field2479[var24] = (byte)var23; --var20; } } var20 = 0; var21 = 0; var24 = 0; for (int var25 = 0; var25 < 128; ++var25) { if (this.field2480[var25] != 0) { if (var20 == 0) { if (var21 < var7.length) { var20 = var7[var21++]; } else { var20 = -1; } var24 = var2.array[var8++] + 16 << 2; } this.field2477[var25] = (byte)var24; --var20; } } var20 = 0; var21 = 0; MusicPatchNode2 var40 = null; int var26; for (var26 = 0; var26 < 128; ++var26) { if (this.field2480[var26] != 0) { if (var20 == 0) { var40 = var37[var36[var21]]; if (var21 < var10.length) { var20 = var10[var21++]; } else { var20 = -1; } } this.field2481[var26] = var40; --var20; } } var20 = 0; var21 = 0; var26 = 0; int var27; for (var27 = 0; var27 < 128; ++var27) { if (var20 == 0) { if (var21 < var18.length) { var20 = var18[var21++]; } else { var20 = -1; } if (this.field2480[var27] > 0) { var26 = var2.readUnsignedByte() + 1; } } this.field2476[var27] = (byte)var26; --var20; } this.field2475 = var2.readUnsignedByte() + 1; MusicPatchNode2 var28; int var29; for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2387 != null) { for (var29 = 1; var29 < var28.field2387.length; var29 += 2) { var28.field2387[var29] = var2.readByte(); } } if (var28.field2388 != null) { for (var29 = 3; var29 < var28.field2388.length - 2; var29 += 2) { var28.field2388[var29] = var2.readByte(); } } } if (var45 != null) { for (var27 = 1; var27 < var45.length; var27 += 2) { var45[var27] = var2.readByte(); } } if (var39 != null) { for (var27 = 1; var27 < var39.length; var27 += 2) { var39[var27] = var2.readByte(); } } for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2388 != null) { var19 = 0; for (var29 = 2; var29 < var28.field2388.length; var29 += 2) { var19 = var19 + 1 + var2.readUnsignedByte(); var28.field2388[var29] = (byte)var19; } } } for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2387 != null) { var19 = 0; for (var29 = 2; var29 < var28.field2387.length; var29 += 2) { var19 = var19 + 1 + var2.readUnsignedByte(); var28.field2387[var29] = (byte)var19; } } } byte var30; int var32; int var33; int var34; int var42; byte var44; if (var45 != null) { var19 = var2.readUnsignedByte(); var45[0] = (byte)var19; for (var27 = 2; var27 < var45.length; var27 += 2) { var19 = var19 + 1 + var2.readUnsignedByte(); var45[var27] = (byte)var19; } var44 = var45[0]; byte var41 = var45[1]; for (var29 = 0; var29 < var44; ++var29) { this.field2476[var29] = (byte)(var41 * this.field2476[var29] + 32 >> 6); } for (var29 = 2; var29 < var45.length; var29 += 2) { var30 = var45[var29]; byte var31 = var45[var29 + 1]; var32 = var41 * (var30 - var44) + (var30 - var44) / 2; for (var33 = var44; var33 < var30; ++var33) { var34 = GroundItemPile.method2767(var32, var30 - var44); this.field2476[var33] = (byte)(var34 * this.field2476[var33] + 32 >> 6); var32 += var31 - var41; } var44 = var30; var41 = var31; } for (var42 = var44; var42 < 128; ++var42) { this.field2476[var42] = (byte)(var41 * this.field2476[var42] + 32 >> 6); } var38 = null; } if (var39 != null) { var19 = var2.readUnsignedByte(); var39[0] = (byte)var19; for (var27 = 2; var27 < var39.length; var27 += 2) { var19 = 1 + var19 + var2.readUnsignedByte(); var39[var27] = (byte)var19; } var44 = var39[0]; int var47 = var39[1] << 1; for (var29 = 0; var29 < var44; ++var29) { var42 = var47 + (this.field2477[var29] & 255); if (var42 < 0) { var42 = 0; } if (var42 > 128) { var42 = 128; } this.field2477[var29] = (byte)var42; } int var43; for (var29 = 2; var29 < var39.length; var29 += 2) { var30 = var39[var29]; var43 = var39[var29 + 1] << 1; var32 = var47 * (var30 - var44) + (var30 - var44) / 2; for (var33 = var44; var33 < var30; ++var33) { var34 = GroundItemPile.method2767(var32, var30 - var44); int var35 = var34 + (this.field2477[var33] & 255); if (var35 < 0) { var35 = 0; } if (var35 > 128) { var35 = 128; } this.field2477[var33] = (byte)var35; var32 += var43 - var47; } var44 = var30; var47 = var43; } for (var42 = var44; var42 < 128; ++var42) { var43 = var47 + (this.field2477[var42] & 255); if (var43 < 0) { var43 = 0; } if (var43 > 128) { var43 = 128; } this.field2477[var42] = (byte)var43; } Object var46 = null; } for (var27 = 0; var27 < var12; ++var27) { var37[var27].field2392 = var2.readUnsignedByte(); } for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2387 != null) { var28.field2390 = var2.readUnsignedByte(); } if (var28.field2388 != null) { var28.field2398 = var2.readUnsignedByte(); } if (var28.field2392 > 0) { var28.field2391 = var2.readUnsignedByte(); } } for (var27 = 0; var27 < var12; ++var27) { var37[var27].field2394 = var2.readUnsignedByte(); } for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2394 > 0) { var28.field2393 = var2.readUnsignedByte(); } } for (var27 = 0; var27 < var12; ++var27) { var28 = var37[var27]; if (var28.field2393 > 0) { var28.field2395 = var2.readUnsignedByte(); } } } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(Ldf;[B[II)Z", garbageValue = "1229710126" ) boolean method3883(SoundCache var1, byte[] var2, int[] var3) { boolean var4 = true; int var5 = 0; RawSound var6 = null; for (int var7 = 0; var7 < 128; ++var7) { if (var2 == null || var2[var7] != 0) { int var8 = this.field2480[var7]; if (var8 != 0) { if (var8 != var5) { var5 = var8--; if ((var8 & 1) == 0) { var6 = var1.getSoundEffect(var8 >> 2, var3); } else { var6 = var1.getMusicSample(var8 >> 2, var3); } if (var6 == null) { var4 = false; } } if (var6 != null) { this.rawSounds[var7] = var6; this.field2480[var7] = 0; } } } } return var4; } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(I)V", garbageValue = "56898655" ) @Export("clear") void clear() { this.field2480 = null; } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(IB)Lib;", garbageValue = "-20" ) @Export("getSpotAnimationDefinition") public static SpotAnimationDefinition getSpotAnimationDefinition(int var0) { SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); var1 = new SpotAnimationDefinition(); var1.id = var0; if (var2 != null) { var1.decode(new Buffer(var2)); } SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); return var1; } } @ObfuscatedName("e") @ObfuscatedSignature( signature = "(B)V", garbageValue = "1" ) public static void method3888() { VarbitDefinition.VarbitDefinition_cached.clear(); } @ObfuscatedName("gl") @ObfuscatedSignature( signature = "(IIIIIIIIII)V", garbageValue = "-1700353173" ) static final void method3885(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { PendingSpawn var9 = null; for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { var9 = var10; break; } } if (var9 == null) { var9 = new PendingSpawn(); var9.plane = var0; var9.type = var3; var9.x = var1; var9.y = var2; class294.method5327(var9); Client.pendingSpawns.addFirst(var9); } var9.id = var4; var9.field940 = var5; var9.orientation = var6; var9.delay = var7; var9.hitpoints = var8; } }