public static void Run(String path, String translationPath) { var filesystem = new IO.DirectoryFileSystem(path); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); Run(filesystem, Encodings.Chinese, translationPath); }
public static void Run(CommandLine.BuildArgs args) { Assert.IsNotNull(args, nameof(args)); if (ValidateArgs(args) == false) { return; } if (args.Format == GameFormat.PSP) { Console.WriteLine("Building ISO"); Console.WriteLine($"Source ISO: {args.SourceIsoPath}"); Console.WriteLine($"Destination ISO: {args.DestinationIsoPath}"); Console.WriteLine($"Translation Location: {args.TranslationPath}"); Console.WriteLine(); using (var iso = new Iso9660.IsoImage(args.SourceIsoPath)) { var filesystem = new IO.IsoFileSystem(iso, @"PSP_GAME\USRDIR"); var datapath_eboot = Path.Combine(args.TranslationPath, "EBOOT.BIN"); if (File.Exists(datapath_eboot) == true) { Console.WriteLine(@"EBOOT.BIN"); UpdateEboot(iso, datapath_eboot); } Run(GameFormat.PSP, filesystem, Encodings.ShiftJIS, args.TranslationPath); FixFileReferences(iso, filesystem); iso.GetPrimaryVolumeDescriptor().VolumeSpaceSize = iso.GetHighestSectorUsed() + 1; Console.WriteLine(); Console.WriteLine("Writing ISO."); iso.Save(args.DestinationIsoPath); } } if (args.Format == GameFormat.PC) { Console.WriteLine("Injecting Translation"); Console.WriteLine($"Game Path: {args.GamePath}"); Console.WriteLine($"Translation Location: {args.TranslationPath}"); Console.WriteLine(); var filesystem = new IO.DirectoryFileSystem(args.GamePath); Run(GameFormat.PC, filesystem, Encodings.Chinese, args.TranslationPath); } }
public static void Run(CommandLine.ExtractArgs args) { Assert.IsNotNull(args, nameof(args)); if (ValidateArgs(args) == false) { return; } if (args.Format == GameFormat.PSP) { Console.WriteLine("Extracting text"); Console.WriteLine($"Source ISO: {args.SourceIsoPath}"); Console.WriteLine($"Translation Location: {args.TranslationPath}"); Console.WriteLine(); using (var iso = new Iso9660.IsoImage(args.SourceIsoPath)) { var filesystem = new IO.IsoFileSystem(iso, @"PSP_GAME\USRDIR"); Run(filesystem, Encodings.ShiftJIS, args.TranslationPath); } } if (args.Format == GameFormat.PC) { Console.WriteLine("Extracting text"); Console.WriteLine($"Game Directory: {args.GamePath}"); Console.WriteLine($"Translation Location: {args.TranslationPath}"); Console.WriteLine(); var filesystem = new IO.DirectoryFileSystem(args.GamePath); Run(filesystem, Encodings.Chinese, args.TranslationPath); } }