/// <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)); }
//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; }
//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; }