// ReSharper restore MemberCanBeProtected.Global // ReSharper restore UnusedAutoPropertyAccessor.Global // ReSharper restore MemberCanBePrivate.Global // ReSharper restore AutoPropertyCanBeMadeGetOnly.Global // ReSharper disable once UnusedMember.Global public VgmFile() { // Empty file _stream = new MemoryStream(); Header = new VgmHeader(); Gd3Tag = new Gd3Tag(); }
public VgmFile(string filename) { _stream = new MemoryStream(); Header = new VgmHeader(); Gd3Tag = new Gd3Tag(); LoadFromFile(filename); }
public static Gd3Tag LoadFromVgm(string filename) { // Open the stream using (var s = new OptionalGzipStream(filename)) using (var r = new BinaryReader(s, Encoding.ASCII)) { r.ReadBytes(0x14); var offset = r.ReadUInt32() + 0x14; if (offset == 0) { // No tag return(null); } if (offset > s.Length - 8 - 11 * 2) { throw new InvalidDataException("Not enough room in file for GD3 offset"); } var result = new Gd3Tag(); result.Parse(s, offset); return(result); } }