Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static FSARFile GetFile(this FSARFileEntryInfo FileEntry, Byte[] FilesData)
- {
- FSARFile CurFile = new FSARFile();
- CurFile.FileHeader = FileEntry;
- CurFile.UncompressedData = new Byte[FileEntry.UncompressedSize];
- if(FileEntry.Compressed)
- {
- CurFile.CompressedData = new Byte[FileEntry.CompressedSize - 2];
- Array.Copy(FilesData, (int) FileEntry.DataPos + 2, CurFile.CompressedData, 0, CurFile.CompressedData.Length);
- MemoryStream WeirdShit = new MemoryStream(CurFile.CompressedData);
- MemoryStream WS2 = new MemoryStream();
- DeflateStream DecompFile = new DeflateStream(WeirdShit, CompressionMode.Decompress);
- DecompFile.CopyTo(WS2);
- CurFile.UncompressedData = WS2.ToArray();
- }
- else
- {
- Array.Copy(FilesData, (int) FileEntry.DataPos, CurFile.UncompressedData, 0, (int) FileEntry.UncompressedSize);
- }
- return CurFile;
- }
- public static FSARFile GetFile(Byte[] FilesData, FSARFileEntryInfo FileEntry)
- {
- FSARFile CurFile = new FSARFile();
- CurFile.FileHeader = FileEntry;
- CurFile.UncompressedData = new Byte[FileEntry.UncompressedSize];
- if(FileEntry.Compressed)
- {
- CurFile.CompressedData = new Byte[FileEntry.CompressedSize - 2];
- Array.Copy(FilesData, (int) FileEntry.DataPos + 2, CurFile.CompressedData, 0, CurFile.CompressedData.Length);
- MemoryStream CompressedData = new MemoryStream(CurFile.CompressedData);
- MemoryStream DecompressedData = new MemoryStream();
- DeflateStream DecompFile = new DeflateStream(CompressedData, CompressionMode.Decompress);
- DecompFile.CopyTo(DecompressedData);
- CurFile.UncompressedData = DecompressedData.ToArray();
- DecompressedData.Close();
- DecompFile.Close();
- CompressedData.Close();
- }
- else
- {
- Array.Copy(FilesData, (int) FileEntry.DataPos, CurFile.UncompressedData, 0, (int) FileEntry.UncompressedSize);
- }
- return CurFile;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement