Exemplo n.º 1
0
        public static void Main(string[] args)
        {
            int xStart  = 0;
            int zStart  = 0;
            int xEnd    = 0;
            int zEnd    = 0;
            int yTop    = 256;
            int yBottom = 0;

#if DEBUG
            inDebug = true;
#endif
            if (inDebug)
            {
                Console.WriteLine("Parameters: {0}", args.Length);
                for (int i = 0; i < args.Length; i++)
                {
                    Console.WriteLine("Argument [{0}][{1}]", i, args[i]);
                }
            }
            //IF nothing found run help text
            if (args.Length < 6 || string.IsNullOrWhiteSpace(args[0]) || string.IsNullOrWhiteSpace(args[1]) || args[2] == null || args[3] == null)
            {
                HelpText(args);
                Console.ReadLine();
                Environment.Exit(0);
            }

            if (!int.TryParse(args[2], out xStart))
            {
                Console.WriteLine("Error: XCoordinateStart ({0}) could not be converted to int type (invalid?)", args[2]);
                Console.ReadLine();
                Environment.Exit(0);
            }
            if (!int.TryParse(args[3], out zStart))
            {
                Console.WriteLine("Error: ZCoordinateStart ({0}) could not be converted to int type (invalid?)", args[3]);
                Console.ReadLine();
                Environment.Exit(0);
            }
            if (!int.TryParse(args[4], out xEnd))
            {
                Console.WriteLine("Error: XCoordinateEnd ({0}) could not be converted to int type (invalid?)", args[4]);
                Console.ReadLine();
                Environment.Exit(0);
            }
            if (!int.TryParse(args[5], out zEnd))
            {
                Console.WriteLine("Error: ZCoordinateEnd ({0}) could not be converted to int type (invalid?)", args[5]);
                Console.ReadLine();
                Environment.Exit(0);
            }
            if (args.Length == 8)
            {
                if (!int.TryParse(args[6], out yTop))
                {
                    Console.WriteLine("Error: YHightMax ({0}) could not be converted to int type (invalid?)", args[6]);
                    Console.ReadLine();
                    Environment.Exit(0);
                }
                if (!int.TryParse(args[7], out yBottom))
                {
                    Console.WriteLine("Error: YHightMin ({0}) could not be converted to int type (invalid?)", args[7]);
                    Console.ReadLine();
                    Environment.Exit(0);
                }
            }
            //Load File
            Console.WriteLine("Loading Minecraft files...");
            if (!ConvertFile.LoadWorld(args[0]))
            {
                Console.WriteLine("Unknowen error reading Minecraft files.");
                Console.ReadLine();
                Environment.Exit(0);
            }
            else
            {
                Console.WriteLine("Minecraft files loaded. Setting Bounds...");
                ConvertFile.SetWorldBounds(xStart * 16, zStart * 16, xEnd * 16, zEnd * 16, yTop, yBottom);
                Console.WriteLine("Bounds set.");
                Console.WriteLine("Minecraft files trimming...");

                Stopwatch s0 = Stopwatch.StartNew();
                if (!ConvertFile.TrimWorld())
                {
                    Console.WriteLine("Unknowen error trimming minecraft files.");
                    Console.ReadLine();
                    Environment.Exit(0);
                }
                s0.Stop();
                Console.WriteLine("Minecraft files trimed. [{0}]", s0.Elapsed.ToString());
            }
            Console.WriteLine("Building quick Ref ID Index...");
            Stopwatch s1 = Stopwatch.StartNew();
            ConvertFile.BuildIdIndex();
            s1.Stop();
            Console.WriteLine("Quick Ref ID Index built [{0}]", s1.Elapsed.ToString());
            Console.ReadLine();
            //Test Create Boxes
            Console.WriteLine("Building VMF classes...");
            Stopwatch s2 = Stopwatch.StartNew();
            ConvertFile.GenerateTestBoxSet();
            s2.Stop();
            Console.WriteLine("Quick VMF class list built [{0}]", s2.Elapsed.ToString());
            Console.ReadLine();

            //Test VMF generation
            Console.WriteLine("Testing VMF text generation...");
            StringBuilder testingText = ConvertFile.TestVMFGeneration();
            //Console.WriteLine(testingText.ToString());
            Console.WriteLine("Saving File...");
            ConvertFile.TestVMFGeneration(testingText, args[1]);
            Console.WriteLine("...");
            //Console.ReadLine();
        }