public StreamingSoundbank(Stream s) { DataStream = new MemoryStream(); s.CopyTo(DataStream); DataStream.Seek(0, SeekOrigin.Begin); Header = DataStream.ReadStruct <SoundbankHeader>(); if (Header.Signature != 0x42535756) { throw new InvalidDataException("File is not a streaming soundbank."); } for (int i = 0; i < Header.NumFiles; i++) { var fileInfo = DataStream.ReadStruct <SoundbankEntryInfo>(); if ((fileInfo.MetadataLength % 2048) != 0) { throw new Exception(); } if ((fileInfo.Offset % 2048) != 0) { throw new Exception(); } var entry = new SoundbankEntry(this, fileInfo); Files.Add(entry); } }
public StreamingSoundbank() { Header = new SoundbankHeader(); Header.Signature = 0x42535756; Header.Platform = 0x20204350; Header.Timestamp = 0; Header.Version = 2; Header.CruncherVersion = 1; }
public StreamingSoundbank(Stream s) { DataStream = new MemoryStream(); s.CopyTo(DataStream); DataStream.Seek(0, SeekOrigin.Begin); Header = DataStream.ReadStruct<SoundbankHeader>(); if (Header.Signature != 0x42535756) throw new InvalidDataException("File is not a streaming soundbank."); for (int i = 0; i < Header.NumFiles; i++) { var fileInfo = DataStream.ReadStruct<SoundbankEntryInfo>(); var entry = new SoundbankEntry(this, fileInfo); Files.Add(entry); } }