Esempio n. 1
0
        private static void AddFiles(ArchiveCreator creator, string srcDirecory)
        {
            foreach (string file in Directory.GetFiles(srcDirecory))
            {
                creator.AddFile(file);
            }

            foreach (string directory in Directory.GetDirectories(srcDirecory))
            {
                AddFiles(creator, directory);
            }
        }
Esempio n. 2
0
        private void RepackData(string gameDirectory, string workingDirectory, string file)
        {
            string sourceDirectory = Path.Combine(workingDirectory, Path.GetFileName(file) + ".extracted");
            string infoDirectory   = Path.Combine(workingDirectory, Path.GetFileName(file) + ".info");
            string targetFile      = Path.Combine(gameDirectory, file);

            if (File.Exists(targetFile))
            {
                File.Delete(targetFile);
            }

            using (FileStream fs = File.Create(targetFile))
            {
                IChunkDataWrapper data    = new StreamChunkDataWrapper(fs);
                ArchiveCreator    creator = new ArchiveCreator(data, sourceDirectory, infoDirectory);
                AddFiles(creator, sourceDirectory);
                creator.WriteIndex();
            }
        }