private static BuildEraFileResult BuildEraFile(BuildEraFileParameters args) { var result = BuildEraFileResult.Error; using (var builder = new KSoft.Phoenix.Resource.EraFileBuilder(args.ListingPath)) { builder.Options = args.EraOptions; builder.BuilderOptions = args.EraBuilderOptions; builder.VerboseOutput = args.VerboseOutput; do { if (!builder.Read()) { result = BuildEraFileResult.ReadFailed; break; } if (!builder.Build(args.AssetsPath, args.EraName, args.OutputPath)) { result = BuildEraFileResult.BuildFailed; break; } result = BuildEraFileResult.Success; } while (false); } return(result); }
static void Build(string path, string listingName, string outputPath, string switches) { if (string.IsNullOrWhiteSpace(outputPath)) { outputPath = path; } Collections.BitVector32 options, builderOptions; BuildParseSwitches(switches, out options, out builderOptions); StreamWriter debug_output = options.Test(KSoft.Phoenix.Resource.EraFileUtilOptions.DumpDebugInfo) ? new StreamWriter("debug_builder.txt") : null; string listing_path = Path.Combine(path, listingName) + KSoft.Phoenix.Resource.EraFileBuilder.kNameExtension; using (var builder = new KSoft.Phoenix.Resource.EraFileBuilder(listing_path)) { builder.Options = options; builder.BuilderOptions = builderOptions; builder.ProgressOutput = Console.Out; builder.VerboseOutput = Console.Out; builder.DebugOutput = debug_output; if (builder.Read()) { if (builder.Build(path, listingName, outputPath)) { builder.ProgressOutput.WriteLine("Success!"); } else { builder.ProgressOutput.WriteLine("Failed!"); } } } if (debug_output != null) { debug_output.Close(); } }