Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
            }
        }