public void LoadFileStructure(TigerBinaryReader reader) { TigerFile = reader.ReadTigerFile(); for (var i = 0; i < TigerFile.NumberOfFiles; i++) { TigerFile.TigerEntries.Add(reader.ReadTigerEntry()); } }
public void ExtractFile(TigerEntry entry, string directory, TigerBinaryReader reader) { reader.BaseStream.Seek(entry.Offset, SeekOrigin.Begin); var content = reader.ReadBytes((int)entry.FileSize); string compoundName = directory + @"\" + entry.Hash.ToString("X16"); Directory.CreateDirectory(Path.GetDirectoryName(compoundName) ?? throw new InvalidOperationException()); using (BinaryWriter writer = new BinaryWriter(File.Open(compoundName, FileMode.Create))) { writer.Write(content); } }