public SDAT(NitroFile sdat) { m_File = sdat; m_FileName = m_File.m_Name; m_Header = new SDATHeader(m_File); m_Info = new SDATInfo(m_File, m_Header.m_InfoOffset); }
public SDAT(byte[] Data) { EndianBinaryReaderEx er = new EndianBinaryReaderEx(new MemoryStream(Data), Endianness.LittleEndian); try { Header = new SDATHeader(er); if (Header.SYMBOffset != 0 && Header.SYMBLength != 0) { er.BaseStream.Position = Header.SYMBOffset; SymbolBlock = new SYMB(er); } er.BaseStream.Position = Header.INFOOffset; InfoBlock = new INFO(er); er.BaseStream.Position = Header.FATOffset; FileAllocationTable = new FAT(er); er.BaseStream.Position = Header.FILEOffset; File = new FILE(er); } finally { er.Close(); } }