public static void UnZipScene() { string text = SceneZip.unZipPath + "/Scene.bytes"; int count = SceneZip.sceneZipReader.ReadInt32(); byte[] array = SceneZip.sceneZipReader.ReadBytes(count); MemoryStream memoryStream = new MemoryStream(); memoryStream.Write(array, 0, array.Length); memoryStream.Position = 0L; MemoryStream memoryStream2 = new MemoryStream(); StreamZip.Unzip(memoryStream, memoryStream2); string dirName = text.Substring(0, text.LastIndexOf("/")); if (!QFileUtils.ExistsDir(dirName)) { QFileUtils.CreateDir(dirName); } if (!QFileUtils.Exists(text)) { QFileUtils.CreateFile(text); } QFileUtils.WriteBytes(text, memoryStream2.ToArray()); }
public static void ZipRegion(int regX, int regY) { string path = string.Concat(new object[] { SceneZip.zipPath, "/", regX, "_", regY }); DirectoryInfo directoryInfo = new DirectoryInfo(path); FileInfo[] files = directoryInfo.GetFiles(); List <string> list = new List <string>(); for (int i = 0; i < files.Length; i++) { list.Add(files[i].DirectoryName + "\\" + files[i].Name); } MemoryStream memoryStream = new MemoryStream(); BinaryWriter outStream = new BinaryWriter(memoryStream); StreamZip.MultiZip(list, outStream); byte[] array = memoryStream.ToArray(); SceneZip.sceneZipWriter.Write(regX); SceneZip.sceneZipWriter.Write(regY); SceneZip.sceneZipWriter.Write(array.Length); SceneZip.sceneZipWriter.Write(array); }
public static void MultiUnzip(byte[] zipbytes, string dir) { BinaryReader binaryReader = new BinaryReader(new MemoryStream(zipbytes)); while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length) { string str = binaryReader.ReadString(); int count = binaryReader.ReadInt32(); byte[] array = binaryReader.ReadBytes(count); MemoryStream memoryStream = new MemoryStream(); memoryStream.Write(array, 0, array.Length); memoryStream.Position = 0L; MemoryStream memoryStream2 = new MemoryStream(); StreamZip.Unzip(memoryStream, memoryStream2); if (!QFileUtils.ExistsDir(dir)) { QFileUtils.CreateDir(dir); } string fileName = dir + "//" + str; if (!QFileUtils.Exists(fileName)) { QFileUtils.CreateFile(fileName); } QFileUtils.WriteBytes(fileName, memoryStream2.ToArray()); } }
public static void UnZipLightmap() { int count = SceneZip.sceneZipReader.ReadInt32(); byte[] zipbytes = SceneZip.sceneZipReader.ReadBytes(count); string dir = SceneZip.unZipPath + "\\Lightmap"; StreamZip.MultiUnzip(zipbytes, dir); }
public static void MultiZip(List <string> filePaths, BinaryWriter outStream) { for (int i = 0; i < filePaths.Count; i++) { MemoryStream memoryStream = new MemoryStream(); FileStream inStream = File.Open(filePaths[i], FileMode.Open); StreamZip.Zip(inStream, memoryStream); byte[] array = memoryStream.ToArray(); string value = filePaths[i].Substring(filePaths[i].LastIndexOf("\\") + 1); outStream.Write(value); outStream.Write(array.Length); outStream.Write(array); } }
public static void ZipScene() { string fileName = SceneZip.zipPath + "/Scene.bytes"; byte[] array = QFileUtils.ReadBinary(fileName); MemoryStream memoryStream = new MemoryStream(); memoryStream.Write(array, 0, array.Length); memoryStream.Position = 0L; MemoryStream memoryStream2 = new MemoryStream(); StreamZip.Zip(memoryStream, memoryStream2); byte[] array2 = memoryStream2.ToArray(); SceneZip.sceneZipWriter.Write(array2.Length); SceneZip.sceneZipWriter.Write(array2); }
public static void UnZipRegion() { int num = SceneZip.sceneZipReader.ReadInt32(); int num2 = SceneZip.sceneZipReader.ReadInt32(); int count = SceneZip.sceneZipReader.ReadInt32(); byte[] zipbytes = SceneZip.sceneZipReader.ReadBytes(count); string dir = string.Concat(new object[] { SceneZip.unZipPath, "\\", num, "_", num2 }); StreamZip.MultiUnzip(zipbytes, dir); }
public static void ZipLightmap() { string path = SceneZip.zipPath + "/Lightmap"; DirectoryInfo directoryInfo = new DirectoryInfo(path); FileInfo[] files = directoryInfo.GetFiles(); List <string> list = new List <string>(); for (int i = 0; i < files.Length; i++) { list.Add(files[i].DirectoryName + "\\" + files[i].Name); } MemoryStream memoryStream = new MemoryStream(); BinaryWriter outStream = new BinaryWriter(memoryStream); StreamZip.MultiZip(list, outStream); byte[] array = memoryStream.ToArray(); SceneZip.sceneZipWriter.Write(array.Length); SceneZip.sceneZipWriter.Write(array); }