예제 #1
0
        private static void ProcessFolder(string folder)
        {
            foreach (var file in Directory.GetDirectories(folder))
            {
                Program.ProcessFolder(file);
            }

            foreach (var file in Directory.GetFiles(folder))
            {
                var outPath = file.Substring(0, file.Length - 4);

                if (file.EndsWith(".RFH", StringComparison.OrdinalIgnoreCase))
                {
                    var rfh = new Rfh(File.OpenRead(file), File.OpenRead(file.Substring(0, file.Length - 1) + (file.EndsWith("H") ? "D" : "d")));

                    foreach (var rfhFile in rfh.Files)
                    {
                        Program.Extract(outPath, rfhFile.Path, rfhFile.Read());
                    }
                }
                else if (file.EndsWith(".BAG", StringComparison.OrdinalIgnoreCase))
                {
                    var bag = new Bag(File.OpenRead(file));

                    foreach (var bagFile in bag.Files)
                    {
                        Program.Extract(outPath, bagFile.Path, bagFile.Read());
                    }
                }
            }
        }
예제 #2
0
 public RfhFileSystem(Rfh rfh)
 {
     this.rfh = rfh;
 }