public TRPCreator() { this._hdr = new TRPCreator.TRPHeader(); this._trophyList = new List <Archiver>(); this._hdrmagic = new byte[4] { (byte)220, (byte)162, (byte)77, (byte)0 }; }
private byte[] GetHeader( int version, long file_size, int files_count, int element_size, int dev_flag, string sha1) { TRPCreator.TRPHeader trpHeader = new TRPCreator.TRPHeader(); MemoryStream memoryStream = new MemoryStream(); trpHeader.magic = new byte[4]; trpHeader.version = new byte[4]; trpHeader.file_size = new byte[8]; trpHeader.files_count = new byte[4]; trpHeader.element_size = new byte[4]; trpHeader.dev_flag = new byte[4]; trpHeader.sha1 = new byte[20]; trpHeader.padding = new byte[36]; trpHeader.magic = this._hdrmagic; memoryStream.Write(trpHeader.magic, 0, trpHeader.magic.Length); trpHeader.version = BitConverter.GetBytes(version); Array.Reverse((Array)trpHeader.version); memoryStream.Write(trpHeader.version, 0, trpHeader.version.Length); trpHeader.file_size = BitConverter.GetBytes(file_size); Array.Reverse((Array)trpHeader.file_size); memoryStream.Write(trpHeader.file_size, 0, trpHeader.file_size.Length); trpHeader.files_count = BitConverter.GetBytes(files_count); Array.Reverse((Array)trpHeader.files_count); memoryStream.Write(trpHeader.files_count, 0, trpHeader.files_count.Length); trpHeader.element_size = BitConverter.GetBytes(element_size); Array.Reverse((Array)trpHeader.element_size); memoryStream.Write(trpHeader.element_size, 0, trpHeader.element_size.Length); trpHeader.dev_flag = BitConverter.GetBytes(dev_flag); Array.Reverse((Array)trpHeader.dev_flag); memoryStream.Write(trpHeader.dev_flag, 0, trpHeader.dev_flag.Length); switch (version) { case 1: case 2: memoryStream.Write(trpHeader.padding, 0, trpHeader.padding.Length); break; case 3: trpHeader.padding = new byte[20]; memoryStream.Write(trpHeader.padding, 0, trpHeader.padding.Length); trpHeader.padding = new byte[48] { (byte)48, (byte)49, (byte)48, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0 }; memoryStream.Write(trpHeader.padding, 0, trpHeader.padding.Length); break; } this._hdr = trpHeader; return(memoryStream.ToArray()); }