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("dt") @Implements("SoundCache") public class SoundCache { @ObfuscatedName("r") @ObfuscatedGetter( intValue = 1784515731 ) @Export("canvasWidth") public static int canvasWidth; @ObfuscatedName("m") @ObfuscatedSignature( signature = "Lir;" ) @Export("soundEffectIndex") AbstractIndexCache soundEffectIndex; @ObfuscatedName("f") @ObfuscatedSignature( signature = "Lir;" ) @Export("musicSampleIndex") AbstractIndexCache musicSampleIndex; @ObfuscatedName("q") @ObfuscatedSignature( signature = "Lld;" ) @Export("musicSamples") NodeHashTable musicSamples; @ObfuscatedName("w") @ObfuscatedSignature( signature = "Lld;" ) @Export("rawSounds") NodeHashTable rawSounds; @ObfuscatedSignature( signature = "(Lir;Lir;)V" ) public SoundCache(AbstractIndexCache var1, AbstractIndexCache var2) { this.musicSamples = new NodeHashTable(256); this.rawSounds = new NodeHashTable(256); this.soundEffectIndex = var1; this.musicSampleIndex = var2; } @ObfuscatedName("m") @ObfuscatedSignature( signature = "(II[IS)Lcx;", garbageValue = "17979" ) @Export("getSoundEffect0") RawSound getSoundEffect0(int var1, int var2, int[] var3) { int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); var4 |= var1 << 16; long var5 = (long)var4; RawSound var7 = (RawSound)this.rawSounds.get(var5); if(var7 != null) { return var7; } else if(var3 != null && var3[0] <= 0) { return null; } else { SoundEffect var8 = SoundEffect.readSoundEffect(this.soundEffectIndex, var1, var2); if(var8 == null) { return null; } else { var7 = var8.toRawSound(); this.rawSounds.put(var7, var5); if(var3 != null) { var3[0] -= var7.samples.length; } return var7; } } } @ObfuscatedName("f") @ObfuscatedSignature( signature = "(II[II)Lcx;", garbageValue = "-847417897" ) @Export("getMusicSample0") RawSound getMusicSample0(int var1, int var2, int[] var3) { int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); var4 |= var1 << 16; long var5 = (long)var4 ^ 4294967296L; RawSound var7 = (RawSound)this.rawSounds.get(var5); if(var7 != null) { return var7; } else if(var3 != null && var3[0] <= 0) { return null; } else { MusicSample var8 = (MusicSample)this.musicSamples.get(var5); if(var8 == null) { var8 = MusicSample.readMusicSample(this.musicSampleIndex, var1, var2); if(var8 == null) { return null; } this.musicSamples.put(var8, var5); } var7 = var8.toRawSound(var3); if(var7 == null) { return null; } else { var8.remove(); this.rawSounds.put(var7, var5); return var7; } } } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(I[IB)Lcx;", garbageValue = "-28" ) @Export("getSoundEffect") public RawSound getSoundEffect(int var1, int[] var2) { if(this.soundEffectIndex.__t_397() == 1) { return this.getSoundEffect0(0, var1, var2); } else if(this.soundEffectIndex.__s_396(var1) == 1) { return this.getSoundEffect0(var1, 0, var2); } else { throw new RuntimeException(); } } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(I[II)Lcx;", garbageValue = "-2131728116" ) @Export("getMusicSample") public RawSound getMusicSample(int var1, int[] var2) { if(this.musicSampleIndex.__t_397() == 1) { return this.getMusicSample0(0, var1, var2); } else if(this.musicSampleIndex.__s_396(var1) == 1) { return this.getMusicSample0(var1, 0, var2); } else { throw new RuntimeException(); } } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(Ljava/lang/CharSequence;II[BII)I", garbageValue = "-1706770105" ) @Export("encodeStringCp1252") public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { int var5 = var2 - var1; for(int var6 = 0; var6 < var5; ++var6) { char var7 = var0.charAt(var6 + var1); if(var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { var3[var6 + var4] = (byte)var7; } else if(var7 == 8364) { var3[var6 + var4] = -128; } else if(var7 == 8218) { var3[var6 + var4] = -126; } else if(var7 == 402) { var3[var6 + var4] = -125; } else if(var7 == 8222) { var3[var6 + var4] = -124; } else if(var7 == 8230) { var3[var6 + var4] = -123; } else if(var7 == 8224) { var3[var6 + var4] = -122; } else if(var7 == 8225) { var3[var6 + var4] = -121; } else if(var7 == 710) { var3[var6 + var4] = -120; } else if(var7 == 8240) { var3[var6 + var4] = -119; } else if(var7 == 352) { var3[var6 + var4] = -118; } else if(var7 == 8249) { var3[var6 + var4] = -117; } else if(var7 == 338) { var3[var6 + var4] = -116; } else if(var7 == 381) { var3[var6 + var4] = -114; } else if(var7 == 8216) { var3[var6 + var4] = -111; } else if(var7 == 8217) { var3[var6 + var4] = -110; } else if(var7 == 8220) { var3[var6 + var4] = -109; } else if(var7 == 8221) { var3[var6 + var4] = -108; } else if(var7 == 8226) { var3[var6 + var4] = -107; } else if(var7 == 8211) { var3[var6 + var4] = -106; } else if(var7 == 8212) { var3[var6 + var4] = -105; } else if(var7 == 732) { var3[var6 + var4] = -104; } else if(var7 == 8482) { var3[var6 + var4] = -103; } else if(var7 == 353) { var3[var6 + var4] = -102; } else if(var7 == 8250) { var3[var6 + var4] = -101; } else if(var7 == 339) { var3[var6 + var4] = -100; } else if(var7 == 382) { var3[var6 + var4] = -98; } else if(var7 == 376) { var3[var6 + var4] = -97; } else { var3[var6 + var4] = 63; } } return var5; } }