package mapped;

import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.api.RSAbstractArchive;
import net.runelite.rs.api.RSMidiPcmStream;
import net.runelite.rs.api.RSMusicSong;

@ObfuscatedName("mt")
public class MusicSong implements RSMusicSong {
   @ObfuscatedName("at")
   @ObfuscatedSignature(
      descriptor = "Lol;"
   )
   public AbstractArchive musicTrackArchive;
   @ObfuscatedName("ah")
   @ObfuscatedGetter(
      intValue = -472615137
   )
   public int musicTrackGroupId;
   @ObfuscatedName("ar")
   @ObfuscatedGetter(
      intValue = -244039391
   )
   public int musicTrackFileId;
   @ObfuscatedName("ao")
   @ObfuscatedGetter(
      intValue = -1531384173
   )
   public int musicTrackVolume;
   @ObfuscatedName("ab")
   public float field3528;
   @ObfuscatedName("au")
   public boolean musicTrackBoolean;
   @ObfuscatedName("aa")
   public boolean field3536;
   @ObfuscatedName("ac")
   public boolean field3524;
   @ObfuscatedName("al")
   public boolean field3530;
   @ObfuscatedName("az")
   boolean field3526;
   @ObfuscatedName("ap")
   @ObfuscatedSignature(
      descriptor = "Lmn;"
   )
   public MidiPcmStream midiPcmStream;
   @ObfuscatedName("av")
   @ObfuscatedSignature(
      descriptor = "Lbc;"
   )
   public SoundCache field3533;
   @ObfuscatedName("ax")
   @ObfuscatedSignature(
      descriptor = "Lms;"
   )
   public MusicTrack field3534;

   @ObfuscatedSignature(
      descriptor = "(Lol;Ljava/lang/String;Ljava/lang/String;IZ)V"
   )
   public MusicSong(AbstractArchive var1, String var2, String var3, int var4, boolean var5) {
      this.musicTrackGroupId = -1;
      this.musicTrackFileId = -1;
      this.musicTrackVolume = 0;
      this.field3528 = 0.0F;
      this.musicTrackBoolean = false;
      this.field3530 = false;
      this.field3526 = false;
      this.musicTrackGroupId = var1.getGroupId_base(var2);
      this.musicTrackFileId = var1.getFileId_base(this.musicTrackGroupId, var3);
      this.method6252(var1, this.musicTrackGroupId, this.musicTrackFileId, var4, var5);
   }

   @ObfuscatedSignature(
      descriptor = "(Lol;IIIZ)V"
   )
   public MusicSong(AbstractArchive var1, int var2, int var3, int var4, boolean var5) {
      this.musicTrackGroupId = -1;
      this.musicTrackFileId = -1;
      this.musicTrackVolume = 0;
      this.field3528 = 0.0F;
      this.musicTrackBoolean = false;
      this.field3530 = false;
      this.field3526 = false;
      this.method6252(var1, var2, var3, var4, var5);
   }

   @ObfuscatedName("at")
   @ObfuscatedSignature(
      descriptor = "(Lol;IIIZI)V",
      garbageValue = "-2008731586"
   )
   void method6252(AbstractArchive var1, int var2, int var3, int var4, boolean var5) {
      this.musicTrackArchive = var1;
      this.musicTrackGroupId = var2;
      this.musicTrackFileId = var3;
      this.musicTrackVolume = var4;
      this.musicTrackBoolean = var5;
   }

   public void setMusicTrackArchive(RSAbstractArchive var1) {
      this.musicTrackArchive = (AbstractArchive)var1;
   }

   public void setMusicTrackGroupId(int var1) {
      this.musicTrackGroupId = var1;
   }

   public int getMusicTrackGroupId() {
      return this.musicTrackGroupId;
   }

   public void setMusicTrackFileId(int var1) {
      this.musicTrackFileId = var1;
   }

   public int getMusicTrackFileId() {
      return this.musicTrackFileId;
   }

   public void setMusicTrackVolume(int var1) {
      this.musicTrackVolume = var1;
   }

   public void setMusicTrackBoolean(boolean var1) {
      this.musicTrackBoolean = var1;
   }

   public RSMidiPcmStream getMidiPcmStream() {
      return this.midiPcmStream;
   }
}
