Exemple #1
0
 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
     };
 }
Exemple #2
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());
        }