示例#1
0
        /// <summary>
        /// Reader through header structs
        /// </summary>
        /// <returns></returns>
        internal PBOFile ReadDatablock()
        {
            string fileName     = ReadString();
            int    packingType  = ReadInt32();
            int    originalSize = ReadInt32();
            int    reserved     = ReadInt32();
            int    timeStamp    = ReadInt32();
            int    datasize     = ReadInt32();


            PackingMethod packingMethod = PackingMethod.Uncompressed;

            switch (packingType)
            {
            case 0x00000000:
                packingMethod = PackingMethod.Uncompressed;
                break;

            case 0x43707273:
                packingMethod = PackingMethod.Packed;
                break;

            case 0x56657273:
                packingMethod = PackingMethod.Product;
                break;
            }

            return(new PBOFile(fileName, Path.GetFileName(fileName), packingMethod, originalSize, reserved, timeStamp, datasize, BaseStream.Position, this));
        }
示例#2
0
 //Constructor used in PBO Packing
 public PBOFile(string fileName, PackingMethod packingMethod, int originalSize, int reserved, int timeSinceSaved, int datasize, long offset)
 {
     FileName      = fileName;
     PackingMethod = packingMethod;
     OriginalSize  = originalSize;
     Reserved      = reserved;
     Timestamp     = timeSinceSaved;
     DataSize      = datasize;
     Offset        = offset;
 }
示例#3
0
 //Constructor used is PBO Analysis
 public PBOFile(string fileName, string fileNameShort, PackingMethod packingMethod, int originalSize, int reserved, int timestamp, int datasize, long offest, PBOReader reader)
 {
     FileName      = fileName;
     FileNameShort = fileNameShort;
     PackingMethod = packingMethod;
     OriginalSize  = originalSize;
     Reserved      = reserved;
     Timestamp     = timestamp;
     DataSize      = datasize;
     Offset        = offest;
     Reader        = reader;
 }