import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("r") @Implements("GrandExchangeOfferAgeComparator") final class GrandExchangeOfferAgeComparator implements Comparator { @ObfuscatedName("s") @ObfuscatedSignature( signature = "(Lq;Lq;B)I", garbageValue = "-1" ) @Export("compare_bridged") int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { return var1.age < var2.age ? -1 : (var1.age == var2.age ? 0 : 1); } public boolean equals(Object var1) { return super.equals(var1); } public int compare(Object var1, Object var2) { return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); } @ObfuscatedName("i") @ObfuscatedSignature( signature = "(IIIIB)V", garbageValue = "125" ) static void method156(int var0, int var1, int var2, int var3) { for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { int var5 = 0; if (var1 > var4.field1052 * 16384) { var5 += var1 - var4.field1052 * 16384; } else if (var1 < var4.x * 16384) { var5 += var4.x * 16384 - var1; } if (var2 > var4.field1053 * 16384) { var5 += var2 - var4.field1053 * 16384; } else if (var2 < var4.y * 16384) { var5 += var4.y * 16384 - var2; } if (var5 - 64 <= var4.field1054 && Client.field860 != 0 && var0 == var4.plane) { var5 -= 64; if (var5 < 0) { var5 = 0; } int var6 = (var4.field1054 - var5) * Client.field860 / var4.field1054; if (var4.stream1 == null) { if (var4.soundEffectId >= 0) { SoundEffect var7 = SoundEffect.readSoundEffect(WorldMapSprite.archive4, var4.soundEffectId, 0); if (var7 != null) { RawSound var8 = var7.toRawSound().resample(class247.decimator); RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); var9.setNumLoops(-1); IgnoreList.pcmStreamMixer.addSubStream(var9); var4.stream1 = var9; } } } else { var4.stream1.method2599(var6); } if (var4.stream2 == null) { if (var4.soundEffectIds != null && (var4.field1056 -= var3) <= 0) { int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); SoundEffect var12 = SoundEffect.readSoundEffect(WorldMapSprite.archive4, var4.soundEffectIds[var11], 0); if (var12 != null) { RawSound var13 = var12.toRawSound().resample(class247.decimator); RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); var10.setNumLoops(0); IgnoreList.pcmStreamMixer.addSubStream(var10); var4.stream2 = var10; var4.field1056 = var4.field1057 + (int)(Math.random() * (double)(var4.field1058 - var4.field1057)); } } } else { var4.stream2.method2599(var6); if (!var4.stream2.hasNext()) { var4.stream2 = null; } } } else { if (var4.stream1 != null) { IgnoreList.pcmStreamMixer.removeSubStream(var4.stream1); var4.stream1 = null; } if (var4.stream2 != null) { IgnoreList.pcmStreamMixer.removeSubStream(var4.stream2); var4.stream2 = null; } } } } } @ObfuscatedName("i") @ObfuscatedSignature( signature = "(I)V", garbageValue = "1443594244" ) @Export("savePreferences") static void savePreferences() { AccessFile var0 = null; try { var0 = TaskHandler.getPreferencesFile("", WorldMapRectangle.field166.name, true); Buffer var1 = GrandExchangeOffer.clientPreferences.toBuffer(); var0.write(var1.array, 0, var1.offset); } catch (Exception var3) { } try { if (var0 != null) { var0.closeSync(true); } } catch (Exception var2) { } } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(I)Lbl;", garbageValue = "-1436154979" ) @Export("getNextWorldListWorld") static World getNextWorldListWorld() { return World.World_listCount < World.World_count ? ChatChannel.World_worlds[++World.World_listCount - 1] : null; } @ObfuscatedName("g") @ObfuscatedSignature( signature = "(B)V", garbageValue = "4" ) @Export("Widget_clearCached") public static void Widget_clearCached() { Widget.Widget_cachedSprites.clear(); Widget.Widget_cachedModels.clear(); Widget.Widget_cachedFonts.clear(); Widget.Widget_cachedSpriteMasks.clear(); } }