示例#1
0
        static void Main(string[] args)
        {
            MPQE mpqe = new MPQE();

            Console.Write("MPQ-Extractor v{0} by WRS", mpqe.version);
            try {
                Console.WriteLine(" powered by {0}", SFmpq.MpqGetVersionString());
            } catch (Exception e) {
                Console.WriteLine();
                Console.WriteLine("Fatal: Could not locate SFmpq.dll " + e.Message);
                return;
            }
            Console.WriteLine();
            if (args.Length == 0)
            {
                mpqe.helper();
                return;
            }
            for (int i = 0; i < args.Length; ++i)
            {
                if (args[i].StartsWith("/"))
                {
                    switch (args[i])
                    {
                    case "/p":                                  // use patch files if available
                        Console.WriteLine("Using patch MPQ archives if available: Enabled");
                        mpqe.option_usepatchfiles = true;
                        break;

                    case "/l":
                        Console.WriteLine("Lowercase output: Enabled");
                        mpqe.option_lowercase = true;
                        break;

                    case "/v":
                        Console.WriteLine("Verbose output: Enabled");
                        mpqe.option_verbose = true;
                        break;

                    case "/d":
                        if (i + 1 >= args.Length)
                        {
                            Console.WriteLine("Fatal: No output directory specified for /d");
                            mpqe.helper();
                            return;
                        }
                        ;
                        ++i;
                        Console.WriteLine("Output directory: {0}", args[i]);
                        mpqe.option_outdir = args[i];
                        break;

                    default:
                        Console.WriteLine("Fatal: Unknown option {0}", args[i]);
                        mpqe.helper();
                        return;
                    }
                    ;
                }
                else
                {
                    if (mpqe.option_baseMPQ == null)
                    {
                        mpqe.option_baseMPQ = args[i];
                    }
                    else
                    {
                        mpqe.option_searchglob = args[i];
                    }
                };
            }
            if (mpqe.option_baseMPQ == null)
            {
                Console.WriteLine("Fatal: Did not provide MPQ file for extraction!");
                mpqe.helper();
                return;
            }
            ;
            mpqe.worker();
        }
示例#2
0
 static void Main(string[] args)
 {
     MPQE mpqe = new MPQE();
     Console.Write("MPQ-Extractor v{0} by WRS", mpqe.version);
     try {
         Console.WriteLine(" powered by {0}", SFmpq.MpqGetVersionString());
     } catch (Exception e){
         Console.WriteLine();
         Console.WriteLine("Fatal: Could not locate SFmpq.dll");
         return;
     }
     Console.WriteLine();
     if (args.Length == 0){
         mpqe.helper();
         return;
     }
     for(int i = 0; i < args.Length; ++i){
         if (args[i].StartsWith("/")){
             switch(args[i]){
                 case "/p":	// use patch files if available
                     Console.WriteLine("Using patch MPQ archives if available: Enabled");
                     mpqe.option_usepatchfiles = true;
                     break;
                 case "/l":
                     Console.WriteLine("Lowercase output: Enabled");
                     mpqe.option_lowercase = true;
                     break;
                 case "/v":
                     Console.WriteLine("Verbose output: Enabled");
                     mpqe.option_verbose = true;
                     break;
                 case "/d":
                     if (i + 1 >= args.Length){
                         Console.WriteLine("Fatal: No output directory specified for /d");
                         mpqe.helper();
                         return;
                     };
                     ++i;
                     Console.WriteLine("Output directory: {0}", args[i]);
                     mpqe.option_outdir = args[i];
                     break;
                 default:
                     Console.WriteLine("Fatal: Unknown option {0}", args[i]);
                     mpqe.helper();
                     return;
                     break;
             };
         } else {
             if (mpqe.option_baseMPQ == null)
                 mpqe.option_baseMPQ = args[i];
             else
                 mpqe.option_searchglob = args[i];
         };
     }
     if (mpqe.option_baseMPQ == null){
         Console.WriteLine("Fatal: Did not provide MPQ file for extraction!");
         mpqe.helper();
         return;
     };
     mpqe.worker();
 }