From 7b173829bcd02d5d67dc0c7db26448e1ac49d985 Mon Sep 17 00:00:00 2001 From: givememystuffplease Date: Mon, 16 Aug 2010 23:41:13 +0000 Subject: [PATCH] Some form of CLI added (wiiNinja style) --- NUS Downloader/Form1.Designer.cs | 10 +- NUS Downloader/Form1.cs | 119 +++++++++++++++++++++-- NUS Downloader/Latest/NUS Downloader.exe | Bin 432640 -> 434688 bytes NUS Downloader/NUS Downloader.csproj | 5 +- NUS Downloader/Program.cs | 41 +++++++- 5 files changed, 157 insertions(+), 18 deletions(-) diff --git a/NUS Downloader/Form1.Designer.cs b/NUS Downloader/Form1.Designer.cs index 3e0d1ef..45ef0d3 100644 --- a/NUS Downloader/Form1.Designer.cs +++ b/NUS Downloader/Form1.Designer.cs @@ -424,7 +424,7 @@ namespace NUS_Downloader // runFolderFixToolStripMenuItem // this.runFolderFixToolStripMenuItem.Name = "runFolderFixToolStripMenuItem"; - this.runFolderFixToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.runFolderFixToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.runFolderFixToolStripMenuItem.Text = "Run \'FolderFix\'"; this.runFolderFixToolStripMenuItem.Click += new System.EventHandler(this.runFolderFixToolStripMenuItem_Click); // @@ -434,20 +434,20 @@ namespace NUS_Downloader this.mainPageToolStripMenuItem, this.databasePageToolStripMenuItem}); this.wiiBrewToolStripMenuItem.Name = "wiiBrewToolStripMenuItem"; - this.wiiBrewToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.wiiBrewToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.wiiBrewToolStripMenuItem.Text = "WiiBrew"; // // mainPageToolStripMenuItem // this.mainPageToolStripMenuItem.Name = "mainPageToolStripMenuItem"; - this.mainPageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.mainPageToolStripMenuItem.Size = new System.Drawing.Size(147, 22); this.mainPageToolStripMenuItem.Text = "Main Page"; this.mainPageToolStripMenuItem.Click += new System.EventHandler(this.mainPageToolStripMenuItem_Click); // // databasePageToolStripMenuItem // this.databasePageToolStripMenuItem.Name = "databasePageToolStripMenuItem"; - this.databasePageToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.databasePageToolStripMenuItem.Size = new System.Drawing.Size(147, 22); this.databasePageToolStripMenuItem.Text = "Database Page"; this.databasePageToolStripMenuItem.Click += new System.EventHandler(this.databasePageToolStripMenuItem_Click); // @@ -960,7 +960,7 @@ namespace NUS_Downloader this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.Name = "Form1"; - this.Text = "NUSD"; + this.Text = " "; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseWheel); diff --git a/NUS Downloader/Form1.cs b/NUS Downloader/Form1.cs index c2ebc88..3d46c22 100644 --- a/NUS Downloader/Form1.cs +++ b/NUS Downloader/Form1.cs @@ -104,7 +104,30 @@ namespace NUS_Downloader GUISetup(); - BootChecks(); + if ((args.Length == 1) && (File.Exists(args[0]))) + { + BootChecks(); + + string script_content = File.ReadAllText(args[0]); + FileInfo script_file = new FileInfo(args[0]); + script_content += String.Format(";{0}", script_file.Name.Replace("." + script_file.Extension, "")); + + BackgroundWorker scripter = new BackgroundWorker(); + scripter.DoWork += new DoWorkEventHandler(RunScriptBg); + scripter.RunWorkerAsync(script_content); + } + else if (args.Length >= 2) + { + RunCommandMode(args); + Environment.Exit(0); + //this.Close(); + } + else + { + BootChecks(); + } + + /* Fix proxy entry. if (!(String.IsNullOrEmpty(proxy_url))) @@ -122,15 +145,86 @@ namespace NUS_Downloader folder_fixer.RunWorkerAsync(); }*/ - if ((args.Length == 1) && (File.Exists(args[0]))) + + } + + private void RunCommandMode(string[] args) + { + // CLI mode, inspired and taken from wiiNinja's mod. + + // Initialize the checkboxes and radio boxes + packbox.Checked = false; // Create wad - default OFF + localuse.Checked = true; // Use local content if already downloaded - default ON + decryptbox.Checked = false; + keepenccontents.Checked = false; + consoleCBox.SelectedIndex = 0; // 0 is Wii, 1 is DS + + // Clear 3 items in ios patches list. This feature is not supported in the command line version at this time. + iosPatchCheckbox.Checked = false; + iosPatchesListBox.SetItemChecked(0, false); + iosPatchesListBox.SetItemChecked(1, false); + iosPatchesListBox.SetItemChecked(2, false); + + Console.WriteLine("NUS Downloader - v{0}", version); + + if (args.Length < 2) { - string script_content = File.ReadAllText(args[0]); - FileInfo script_file = new FileInfo(args[0]); - script_content += String.Format(";{0}", script_file.Name.Replace("." + script_file.Extension, "")); - - BackgroundWorker scripter = new BackgroundWorker(); - scripter.DoWork += new DoWorkEventHandler(RunScriptBg); - scripter.RunWorkerAsync(script_content); + Console.WriteLine("Usage:"); + Console.WriteLine(" nusd [optionalArgs]"); + Console.WriteLine("\nWhere:"); + Console.WriteLine(" titleID = The ID of the title to be downloaded"); + Console.WriteLine(" titleVersion = The version of the title to be downloaded"); + Console.WriteLine(" Use \"*\" (no quotes) to get the latest version"); + Console.WriteLine(" OptionalArgs:"); + Console.WriteLine(" packwad = A wad file will be generated"); + Console.WriteLine(" localuse = Use local contents if available"); + Console.WriteLine(" decrypt = Create decrypted contents"); + Console.WriteLine(" keepencrypt = Keep encrypted contents"); + } + else + { + for (int i = 0; i < args.Length; i++) + { + Console.WriteLine("{0}", args[i]); + switch (i) + { + case 0: + // First command line argument is ALWAYS the TitleID + titleidbox.Text = args[i]; + break; + + case 1: + // Second command line argument is ALWAYS the TitleVersion. + // User may specify a "*" to retrieve the latest version + if (args[i] == "*") + titleversion.Text = ""; + else + titleversion.Text = args[i]; + break; + + default: + // Any other arguments beyond the 2nd one are considered optional + if (args[i] == "packwad") + packbox.Checked = true; + else if (args[i] == "localuse") + localuse.Checked = true; + else if (args[i] == "decrypt") + decryptbox.Checked = true; + else if (args[i] == "keepencrypt") + keepenccontents.Checked = true; + else + Console.WriteLine("\n>>>> Warning: Unrecognized command line argument: {0}. This option is ignored...", args[i]); + break; + } + } + + // Do this to set the wad file name + UpdatePackedName(); + + // Call to get the files from server + NUSDownloader_DoWork(null, null); + + Console.WriteLine("\nSuccessfully downloaded the title {0} version {1}", args[0], args[1]); } } @@ -167,7 +261,6 @@ namespace NUS_Downloader this.scriptsWorker = new BackgroundWorker(); this.scriptsWorker.DoWork += new DoWorkEventHandler(OrganizeScripts); this.scriptsWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(scriptsWorker_RunWorkerCompleted); - RunScriptOrganizer(); } private void Form1_Load(object sender, EventArgs e) @@ -232,6 +325,9 @@ namespace NUS_Downloader this.fds.RunWorkerAsync(); } + // Load scripts (local) + RunScriptOrganizer(); + // Check for Proxy Settings file... if (NUSDFileExists("proxy.txt") == true) { @@ -415,6 +511,9 @@ namespace NUS_Downloader statusbox.SelectionStart = statusbox.TextLength; statusbox.SelectionLength = 0; statusbox.ScrollToCaret(); + + // Also write to console + Console.WriteLine(Update); } /// diff --git a/NUS Downloader/Latest/NUS Downloader.exe b/NUS Downloader/Latest/NUS Downloader.exe index 219a7b82fb74f597cff800a9e2f19a2836215d7d..ff4355dc47be6a90b109977dfbacb74b431496ee 100644 GIT binary patch delta 75385 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 diff --git a/NUS Downloader/NUS Downloader.csproj b/NUS Downloader/NUS Downloader.csproj index cdc6f12..3b207f7 100644 --- a/NUS Downloader/NUS Downloader.csproj +++ b/NUS Downloader/NUS Downloader.csproj @@ -6,7 +6,7 @@ 9.0.30729 2.0 {DB1289FA-BA83-408F-A576-326E5EC4CC6D} - WinExe + Exe Properties NUS_Downloader NUS Downloader @@ -59,6 +59,9 @@ prompt 4 + + + diff --git a/NUS Downloader/Program.cs b/NUS Downloader/Program.cs index 92eacc3..c8b6b47 100644 --- a/NUS Downloader/Program.cs +++ b/NUS Downloader/Program.cs @@ -8,23 +8,60 @@ using System; using System.Windows.Forms; +using System.Runtime.InteropServices; namespace NUS_Downloader { static class Program { + [DllImport("user32.dll")] + public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); + + [DllImport("user32.dll")] + static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); + Console.Title = "NUSD"; + + // hide the console window + setConsoleWindowVisibility(false, Console.Title); + if (args.Length != 0) + { + // hide the console window + setConsoleWindowVisibility(true, Console.Title); Application.Run(new Form1(args)); + } else + { + // hide the console window + setConsoleWindowVisibility(false, Console.Title); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); + } + } + + public static void setConsoleWindowVisibility(bool visible, string title) + { + //Sometimes System.Windows.Forms.Application.ExecutablePath works for the caption depending on the system you are running under. + IntPtr hWnd = FindWindow(null, title); + + if (hWnd != IntPtr.Zero) + { + if (!visible) + //Hide the window + ShowWindow(hWnd, 0); // 0 = SW_HIDE + else + //Show window again + ShowWindow(hWnd, 1); //1 = SW_SHOWNORMA + } } } }