diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj index 92d6ba7..b0b27e9 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/3DNUS Material Edition.csproj @@ -98,12 +98,6 @@ - - Form - - - MnExtension.cs - Form @@ -142,9 +136,6 @@ - - MnExtension.cs - MnSettings.cs Designer diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config index 925e30a..32660ab 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/App.config @@ -11,28 +11,34 @@ <_3DNUS_Material_Edition.Properties.Settings> - + - + - + - + - + - + - + - + + + + 0 + + + diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs index 29f705d..5f71df0 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.Designer.cs @@ -33,6 +33,7 @@ private void InitializeComponent() this.dev_status = new System.Windows.Forms.Label(); this.splash_timer = new System.Windows.Forms.Timer(this.components); this.pic_splash_logo = new System.Windows.Forms.PictureBox(); + this.tmr_get_upd_stat = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.pic_splash_logo)).BeginInit(); this.SuspendLayout(); // @@ -51,7 +52,7 @@ private void InitializeComponent() // // splash_timer // - this.splash_timer.Interval = 2500; + this.splash_timer.Interval = 4000; this.splash_timer.Tick += new System.EventHandler(this.timer1_Tick); // // pic_splash_logo @@ -65,7 +66,11 @@ private void InitializeComponent() this.pic_splash_logo.Size = new System.Drawing.Size(400, 300); this.pic_splash_logo.TabIndex = 1; this.pic_splash_logo.TabStop = false; - this.pic_splash_logo.Click += new System.EventHandler(this.pic_splash_logo_Click); + // + // tmr_get_upd_stat + // + this.tmr_get_upd_stat.Interval = 10; + this.tmr_get_upd_stat.Tick += new System.EventHandler(this.tmr_get_upd_stat_Tick); // // FmLoad // @@ -88,7 +93,6 @@ private void InitializeComponent() this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "main_load"; this.Load += new System.EventHandler(this.main_load_Load); - this.QueryAccessibilityHelp += new System.Windows.Forms.QueryAccessibilityHelpEventHandler(this.main_load_QueryAccessibilityHelp); ((System.ComponentModel.ISupportInitialize)(this.pic_splash_logo)).EndInit(); this.ResumeLayout(false); @@ -99,5 +103,6 @@ private void InitializeComponent() private System.Windows.Forms.Label dev_status; private System.Windows.Forms.Timer splash_timer; private System.Windows.Forms.PictureBox pic_splash_logo; + private System.Windows.Forms.Timer tmr_get_upd_stat; } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs index 281a0eb..235e47a 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.cs @@ -8,9 +8,7 @@ public partial class FmLoad : Form { public readonly String cd = Path.GetDirectoryName(Application.ExecutablePath); private bool is64 = System.Environment.Is64BitOperatingSystem; - private bool checksum; - - private MnMain frm; + private Form mn = new MnMain(); public FmLoad() { @@ -19,163 +17,57 @@ public FmLoad() private void main_load_Load(object sender, EventArgs e) { - //string cd = Application.StartupPath; - //if (!Directory.Exists(cd)) Directory.CreateDirectory(cd); - - //Assembly ass = Assembly.GetExecutingAssembly(); - //String prefix = "_3DNUS.RuntimeAssets." + wat + "."; - //int prefixlen = prefix.Length; - - //foreach (String ss in ass.GetManifestResourceNames().Where(str => str.StartsWith(prefix))) - //{ - // String s = ss.Substring(prefixlen); - // String fn = Path.Combine(cd, s); - - // if (File.Exists(fn)) - // if (checksum) - // { - // String cs = null; - - // using (Stream sr = ass.GetManifestResourceStream(ss)) - // { - // using (MD5 md = MD5.Create()) - // { - // cs = BitConverter.ToString(md.ComputeHash(sr)).ToLower(); - // } - // } - - // using (FileStream fs = File.OpenRead(fn)) - // { - // using (MD5 md = MD5.Create()) - // { - // if (BitConverter.ToString(md.ComputeHash(fs)).ToLower() == cs) continue; - // } - // } - // } - // else continue; - - // using (Stream sr = ass.GetManifestResourceStream(ss)) - // { - // using (FileStream fs = File.OpenWrite(fn)) - // { - // byte[] buf = new byte[0x1000]; - // int read = -1; - // while (true) - // { - // read = sr.Read(buf, 0, buf.Length); - // if (read == 0) break; - // fs.Write(buf, 0, read); - if (Properties.Settings.Default.dev_music == "") - { - Properties.Settings.Default.dev_music = "0"; - Properties.Settings.Default.Save(); - //Application.Restart(); - } - if (Properties.Settings.Default.dev_auto_upd == "") - { - Properties.Settings.Default.dev_auto_upd = "1"; - Properties.Settings.Default.Save(); - //Application.Restart(); - } - if (Properties.Settings.Default.eula_read == "") + if (Properties.Settings.Default.dev_auto_upd == "1") { - Properties.Settings.Default.eula_read = "nope"; - Properties.Settings.Default.Save(); + splash_timer.Stop(); + SvcUpd.SvcUpdate(); + tmr_get_upd_stat.Start(); } - /* - if (Properties.Settings.Default.dev_auto_upd == "1") + else { - try + if (Properties.Settings.Default.dev_tour == "") { - dev_status.Text = "Checking for Updates..."; - File.Delete(Path.Combine(cd, "Update_info.txt")); - File.Delete(Path.Combine(cd, "Update_URI.txt")); - File.Delete(Path.Combine(cd, "3DNUS_old.exe")); - File.Delete(Path.Combine(cd, "3DNUS_new.exe")); - File.Delete(Path.Combine(cd, "upd_fin.exe")); - WebClient get_info = new WebClient(); - get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/zoltx23/3DNUS/master/Update_Info.txt"), cd + "\\Update_info.txt"); - WebClient upd_dwld = new WebClient(); - using (Stream upd = File.Open(cd + "\\Update_info.txt", FileMode.Open)) - { - using (StreamReader reader = new StreamReader(upd)) - { - string rd_upd = null; - - rd_upd = reader.ReadToEnd(); - - if (rd_upd == Application.ProductVersion) - { - dev_status.Text = "No new Updates"; - splash_timer.Start(); - } - else - { - dev_status.Text = "Downloading New update..."; - if (is64 == true) - { - upd_dwld.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/x64/3DNUS.exe?raw=true"), cd + "\\3DNUS_new.exe"); - WebClient get_fin = new WebClient(); - get_fin.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/upd_fin.exe?raw=true"), cd + "\\upd_fin.exe"); - Process.Start(cd + "\\upd_fin.exe"); - dev_status.Text = "Preparing..."; - Application.Exit(); - } - if (is64 == false) - { - upd_dwld.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/x32/3DNUS.exe?raw=true"), cd + "\\3DNUS_new.exe"); - WebClient get_fin = new WebClient(); - get_fin.DownloadFile(new Uri("https://github.com/zoltx23/3DNUS/blob/master/Updates/upd_fin.exe?raw=true"), cd + "\\upd_fin.exe"); - Process.Start(cd + "\\upd_fin.exe"); - dev_status.Text = "Preparing..."; - Application.Exit(); - } - } - } - } + Form dv = new dev_tour(); + dv.Show(); + this.Hide(); } - catch + else { - dev_status.Text = "Unable to update..."; splash_timer.Start(); } } - else - {*/ - if (!File.Exists(cd + "\\3DNUS Material Edition.exe.old")) { File.Delete(cd + "\\3DNUS Material Edition.exe.old"); } - - if (Properties.Settings.Default.dev_tour == "") - { - Form dv = new dev_tour(); - dv.Show(); - this.Hide(); - } - else - { - frm = new MnMain(); - splash_timer.Start(); - } - - //} } private void timer1_Tick(object sender, EventArgs e) { splash_timer.Stop(); - frm.Show(); + mn.Show(); Hide(); } - private void main_load_QueryAccessibilityHelp(object sender, QueryAccessibilityHelpEventArgs e) + private void tmr_get_upd_stat_Tick(object sender, EventArgs e) { - } + //Fetch Svc Status + dev_status.Text = SvcUpd.SvcUpdateStat; + this.Refresh(); - private void pic_splash_logo_Click(object sender, EventArgs e) - { + //Fetch and check Error codes + if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]") + { + splash_timer.Start(); + } + if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]") + { + splash_timer.Start(); + } + if (SvcUpd.SvcUpdateStat == "No new Updates") + { + splash_timer.Start(); + } } } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx index 675a0ea..e71d2ad 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/FmLoad.resx @@ -120,6 +120,9 @@ 17, 17 + + 136, 17 + diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs deleted file mode 100644 index 560befe..0000000 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.Designer.cs +++ /dev/null @@ -1,53 +0,0 @@ -namespace _3DNUS_Material_Edition -{ - partial class dev_ext_manager - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(dev_ext_manager)); - this.SuspendLayout(); - // - // dev_ext_manager - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(569, 454); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "dev_ext_manager"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "dev_ext_manager"; - this.ResumeLayout(false); - - } - - #endregion - } -} \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs deleted file mode 100644 index d47eb74..0000000 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Windows.Forms; - -namespace _3DNUS_Material_Edition -{ - public partial class dev_ext_manager : Form - { - public dev_ext_manager() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx deleted file mode 100644 index 909e5b6..0000000 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnExtension.resx +++ /dev/null @@ -1,605 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - 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 - RU5ErkJggg== - - - \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs index e862aa5..4a038f2 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.Designer.cs @@ -36,19 +36,19 @@ private void InitializeComponent() this.t_titleid = new MaterialSkin.Controls.MaterialSingleLineTextField(); this.t_log = new System.Windows.Forms.TextBox(); this.materialDivider1 = new MaterialSkin.Controls.MaterialDivider(); - this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton(); - this.check_noerr = new MaterialSkin.Controls.MaterialCheckBox(); - this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton(); - this.c_cia = new MaterialSkin.Controls.MaterialCheckBox(); - this.panel_ctl = new System.Windows.Forms.Panel(); this.materialFlatButton1 = new MaterialSkin.Controls.MaterialFlatButton(); - this.label1 = new System.Windows.Forms.Label(); + this.lbl_dump = new System.Windows.Forms.Label(); this.dev_look_forum = new System.Windows.Forms.Timer(this.components); this.lbl_upd_chck = new System.Windows.Forms.Label(); this.lbl_ver = new System.Windows.Forms.Label(); this.dev_repeat_msc = new System.Windows.Forms.Timer(this.components); this.lbl_settings = new System.Windows.Forms.Label(); - this.panel_ctl.SuspendLayout(); + this.c_cia = new MaterialSkin.Controls.MaterialCheckBox(); + this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton(); + this.check_noerr = new MaterialSkin.Controls.MaterialCheckBox(); + this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton(); + this.tmr_get_upd_stat = new System.Windows.Forms.Timer(this.components); + this.tmr_upd_timeout = new System.Windows.Forms.Timer(this.components); this.SuspendLayout(); // // b_download @@ -57,14 +57,15 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.b_download.AutoSize = true; this.b_download.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.b_download.BackColor = System.Drawing.SystemColors.ActiveBorder; + this.b_download.BackColor = System.Drawing.Color.Transparent; this.b_download.Depth = 0; + this.b_download.Icon = null; this.b_download.Location = new System.Drawing.Point(193, 422); this.b_download.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.b_download.MouseState = MaterialSkin.MouseState.HOVER; this.b_download.Name = "b_download"; this.b_download.Primary = false; - this.b_download.Size = new System.Drawing.Size(130, 36); + this.b_download.Size = new System.Drawing.Size(139, 36); this.b_download.TabIndex = 0; this.b_download.Text = "Begin Download"; this.b_download.UseVisualStyleBackColor = false; @@ -106,7 +107,7 @@ private void InitializeComponent() this.t_titleid.SelectedText = ""; this.t_titleid.SelectionLength = 0; this.t_titleid.SelectionStart = 0; - this.t_titleid.Size = new System.Drawing.Size(511, 23); + this.t_titleid.Size = new System.Drawing.Size(484, 23); this.t_titleid.TabIndex = 3; this.t_titleid.TabStop = false; this.t_titleid.UseSystemPasswordChar = false; @@ -139,120 +140,38 @@ private void InitializeComponent() this.materialDivider1.TabIndex = 9; this.materialDivider1.Text = "materialDivider1"; // - // old_3ds - // - this.old_3ds.AutoSize = true; - this.old_3ds.Checked = true; - this.old_3ds.Depth = 0; - this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.old_3ds.Location = new System.Drawing.Point(278, -1); - this.old_3ds.Margin = new System.Windows.Forms.Padding(0); - this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1); - this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER; - this.old_3ds.Name = "old_3ds"; - this.old_3ds.Ripple = true; - this.old_3ds.Size = new System.Drawing.Size(78, 30); - this.old_3ds.TabIndex = 7; - this.old_3ds.TabStop = true; - this.old_3ds.Text = "Old 3DS"; - this.old_3ds.UseVisualStyleBackColor = true; - this.old_3ds.CheckedChanged += new System.EventHandler(this.materialRadioButton2_CheckedChanged); - // - // check_noerr - // - this.check_noerr.AutoSize = true; - this.check_noerr.Depth = 0; - this.check_noerr.Font = new System.Drawing.Font("Roboto", 10F); - this.check_noerr.Location = new System.Drawing.Point(0, 0); - this.check_noerr.Margin = new System.Windows.Forms.Padding(0); - this.check_noerr.MouseLocation = new System.Drawing.Point(-1, -1); - this.check_noerr.MouseState = MaterialSkin.MouseState.HOVER; - this.check_noerr.Name = "check_noerr"; - this.check_noerr.Ripple = true; - this.check_noerr.Size = new System.Drawing.Size(65, 30); - this.check_noerr.TabIndex = 10; - this.check_noerr.Text = "Silent"; - this.check_noerr.UseVisualStyleBackColor = true; - // - // new_3ds - // - this.new_3ds.AutoSize = true; - this.new_3ds.Depth = 0; - this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.new_3ds.Location = new System.Drawing.Point(185, -1); - this.new_3ds.Margin = new System.Windows.Forms.Padding(0); - this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1); - this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER; - this.new_3ds.Name = "new_3ds"; - this.new_3ds.Ripple = true; - this.new_3ds.Size = new System.Drawing.Size(85, 30); - this.new_3ds.TabIndex = 6; - this.new_3ds.Text = "New 3DS"; - this.new_3ds.UseVisualStyleBackColor = true; - this.new_3ds.CheckedChanged += new System.EventHandler(this.materialRadioButton1_CheckedChanged); - // - // c_cia - // - this.c_cia.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.c_cia.AutoSize = true; - this.c_cia.BackColor = System.Drawing.Color.Transparent; - this.c_cia.Checked = true; - this.c_cia.CheckState = System.Windows.Forms.CheckState.Checked; - this.c_cia.Depth = 0; - this.c_cia.Font = new System.Drawing.Font("Roboto", 10F); - this.c_cia.Location = new System.Drawing.Point(73, 0); - this.c_cia.Margin = new System.Windows.Forms.Padding(0); - this.c_cia.MouseLocation = new System.Drawing.Point(-1, -1); - this.c_cia.MouseState = MaterialSkin.MouseState.HOVER; - this.c_cia.Name = "c_cia"; - this.c_cia.Ripple = true; - this.c_cia.Size = new System.Drawing.Size(104, 30); - this.c_cia.TabIndex = 1; - this.c_cia.Text = "Pack as CIA"; - this.c_cia.UseVisualStyleBackColor = false; - // - // panel_ctl - // - this.panel_ctl.BackColor = System.Drawing.Color.White; - this.panel_ctl.Controls.Add(this.c_cia); - this.panel_ctl.Controls.Add(this.new_3ds); - this.panel_ctl.Controls.Add(this.check_noerr); - this.panel_ctl.Controls.Add(this.old_3ds); - this.panel_ctl.Location = new System.Drawing.Point(53, 110); - this.panel_ctl.Name = "panel_ctl"; - this.panel_ctl.Size = new System.Drawing.Size(363, 24); - this.panel_ctl.TabIndex = 11; - // // materialFlatButton1 // this.materialFlatButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.materialFlatButton1.AutoSize = true; this.materialFlatButton1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.materialFlatButton1.Depth = 0; - this.materialFlatButton1.Location = new System.Drawing.Point(515, 68); + this.materialFlatButton1.Icon = null; + this.materialFlatButton1.Location = new System.Drawing.Point(503, 68); this.materialFlatButton1.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.materialFlatButton1.MouseState = MaterialSkin.MouseState.HOVER; this.materialFlatButton1.Name = "materialFlatButton1"; this.materialFlatButton1.Primary = false; - this.materialFlatButton1.Size = new System.Drawing.Size(19, 36); + this.materialFlatButton1.Size = new System.Drawing.Size(28, 36); this.materialFlatButton1.TabIndex = 12; this.materialFlatButton1.Text = "?"; this.materialFlatButton1.UseVisualStyleBackColor = true; this.materialFlatButton1.Click += new System.EventHandler(this.materialFlatButton1_Click_1); // - // label1 - // - this.label1.Cursor = System.Windows.Forms.Cursors.Hand; - this.label1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.label1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(0, 534); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(535, 15); - this.label1.TabIndex = 13; - this.label1.Text = "Dump Log"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.label1.Click += new System.EventHandler(this.label1_Click); + // lbl_dump + // + this.lbl_dump.BackColor = System.Drawing.Color.Transparent; + this.lbl_dump.Cursor = System.Windows.Forms.Cursors.Hand; + this.lbl_dump.Dock = System.Windows.Forms.DockStyle.Bottom; + this.lbl_dump.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_dump.ForeColor = System.Drawing.Color.Black; + this.lbl_dump.Location = new System.Drawing.Point(0, 534); + this.lbl_dump.Name = "lbl_dump"; + this.lbl_dump.Size = new System.Drawing.Size(535, 15); + this.lbl_dump.TabIndex = 13; + this.lbl_dump.Text = "Dump Log"; + this.lbl_dump.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbl_dump.Click += new System.EventHandler(this.label1_Click); // // dev_look_forum // @@ -260,9 +179,11 @@ private void InitializeComponent() // // lbl_upd_chck // + this.lbl_upd_chck.BackColor = System.Drawing.Color.Transparent; this.lbl_upd_chck.Cursor = System.Windows.Forms.Cursors.Hand; this.lbl_upd_chck.Dock = System.Windows.Forms.DockStyle.Bottom; this.lbl_upd_chck.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_upd_chck.ForeColor = System.Drawing.Color.Black; this.lbl_upd_chck.Location = new System.Drawing.Point(0, 504); this.lbl_upd_chck.Name = "lbl_upd_chck"; this.lbl_upd_chck.Size = new System.Drawing.Size(535, 15); @@ -273,9 +194,11 @@ private void InitializeComponent() // // lbl_ver // + this.lbl_ver.BackColor = System.Drawing.Color.Transparent; this.lbl_ver.Cursor = System.Windows.Forms.Cursors.Arrow; this.lbl_ver.Dock = System.Windows.Forms.DockStyle.Bottom; this.lbl_ver.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_ver.ForeColor = System.Drawing.Color.Black; this.lbl_ver.Location = new System.Drawing.Point(0, 519); this.lbl_ver.Name = "lbl_ver"; this.lbl_ver.Size = new System.Drawing.Size(535, 15); @@ -289,9 +212,11 @@ private void InitializeComponent() // // lbl_settings // + this.lbl_settings.BackColor = System.Drawing.Color.Transparent; this.lbl_settings.Cursor = System.Windows.Forms.Cursors.Hand; this.lbl_settings.Dock = System.Windows.Forms.DockStyle.Bottom; this.lbl_settings.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_settings.ForeColor = System.Drawing.Color.Black; this.lbl_settings.Location = new System.Drawing.Point(0, 489); this.lbl_settings.Name = "lbl_settings"; this.lbl_settings.Size = new System.Drawing.Size(535, 15); @@ -300,16 +225,105 @@ private void InitializeComponent() this.lbl_settings.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lbl_settings.Click += new System.EventHandler(this.lbl_settings_Click); // - // FmMain + // c_cia + // + this.c_cia.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.c_cia.AutoSize = true; + this.c_cia.BackColor = System.Drawing.Color.Transparent; + this.c_cia.Checked = true; + this.c_cia.CheckState = System.Windows.Forms.CheckState.Checked; + this.c_cia.Depth = 0; + this.c_cia.Font = new System.Drawing.Font("Roboto", 10F); + this.c_cia.Location = new System.Drawing.Point(143, 107); + this.c_cia.Margin = new System.Windows.Forms.Padding(0); + this.c_cia.MouseLocation = new System.Drawing.Point(-1, -1); + this.c_cia.MouseState = MaterialSkin.MouseState.HOVER; + this.c_cia.Name = "c_cia"; + this.c_cia.Ripple = true; + this.c_cia.Size = new System.Drawing.Size(104, 30); + this.c_cia.TabIndex = 18; + this.c_cia.Text = "Pack as CIA"; + this.c_cia.UseVisualStyleBackColor = false; + // + // new_3ds + // + this.new_3ds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.new_3ds.AutoSize = true; + this.new_3ds.BackColor = System.Drawing.Color.Transparent; + this.new_3ds.Depth = 0; + this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F); + this.new_3ds.Location = new System.Drawing.Point(255, 106); + this.new_3ds.Margin = new System.Windows.Forms.Padding(0); + this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1); + this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER; + this.new_3ds.Name = "new_3ds"; + this.new_3ds.Ripple = true; + this.new_3ds.Size = new System.Drawing.Size(85, 30); + this.new_3ds.TabIndex = 19; + this.new_3ds.Text = "New 3DS"; + this.new_3ds.UseVisualStyleBackColor = false; + // + // check_noerr + // + this.check_noerr.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.check_noerr.AutoSize = true; + this.check_noerr.BackColor = System.Drawing.Color.Transparent; + this.check_noerr.Depth = 0; + this.check_noerr.Font = new System.Drawing.Font("Roboto", 10F); + this.check_noerr.Location = new System.Drawing.Point(70, 107); + this.check_noerr.Margin = new System.Windows.Forms.Padding(0); + this.check_noerr.MouseLocation = new System.Drawing.Point(-1, -1); + this.check_noerr.MouseState = MaterialSkin.MouseState.HOVER; + this.check_noerr.Name = "check_noerr"; + this.check_noerr.Ripple = true; + this.check_noerr.Size = new System.Drawing.Size(65, 30); + this.check_noerr.TabIndex = 21; + this.check_noerr.Text = "Silent"; + this.check_noerr.UseVisualStyleBackColor = false; + // + // old_3ds + // + this.old_3ds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.old_3ds.AutoSize = true; + this.old_3ds.BackColor = System.Drawing.Color.Transparent; + this.old_3ds.Checked = true; + this.old_3ds.Depth = 0; + this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F); + this.old_3ds.Location = new System.Drawing.Point(348, 106); + this.old_3ds.Margin = new System.Windows.Forms.Padding(0); + this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1); + this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER; + this.old_3ds.Name = "old_3ds"; + this.old_3ds.Ripple = true; + this.old_3ds.Size = new System.Drawing.Size(78, 30); + this.old_3ds.TabIndex = 20; + this.old_3ds.TabStop = true; + this.old_3ds.Text = "Old 3DS"; + this.old_3ds.UseVisualStyleBackColor = false; + // + // tmr_get_upd_stat + // + this.tmr_get_upd_stat.Interval = 10; + this.tmr_get_upd_stat.Tick += new System.EventHandler(this.tmr_get_upd_stat_Tick); + // + // tmr_upd_timeout + // + this.tmr_upd_timeout.Interval = 3500; + this.tmr_upd_timeout.Tick += new System.EventHandler(this.tmr_upd_timeout_Tick); + // + // MnMain // this.BackColor = System.Drawing.Color.White; this.ClientSize = new System.Drawing.Size(535, 549); + this.Controls.Add(this.c_cia); + this.Controls.Add(this.new_3ds); + this.Controls.Add(this.check_noerr); + this.Controls.Add(this.old_3ds); this.Controls.Add(this.lbl_settings); this.Controls.Add(this.lbl_upd_chck); this.Controls.Add(this.lbl_ver); - this.Controls.Add(this.label1); + this.Controls.Add(this.lbl_dump); this.Controls.Add(this.materialFlatButton1); - this.Controls.Add(this.panel_ctl); this.Controls.Add(this.materialDivider1); this.Controls.Add(this.t_log); this.Controls.Add(this.t_titleid); @@ -318,15 +332,13 @@ private void InitializeComponent() this.Controls.Add(this.b_download); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MinimumSize = new System.Drawing.Size(400, 300); - this.Name = "FmMain"; + this.Name = "MnMain"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "3DNUS: Main"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); this.ResizeEnd += new System.EventHandler(this.FormMain_ResizeEnd); this.Resize += new System.EventHandler(this.FormMain_ResizeEnd); - this.panel_ctl.ResumeLayout(false); - this.panel_ctl.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -339,18 +351,19 @@ private void InitializeComponent() private MaterialSkin.Controls.MaterialSingleLineTextField t_titleid; private System.Windows.Forms.TextBox t_log; private MaterialSkin.Controls.MaterialDivider materialDivider1; - private MaterialSkin.Controls.MaterialRadioButton old_3ds; - private MaterialSkin.Controls.MaterialCheckBox check_noerr; - private MaterialSkin.Controls.MaterialRadioButton new_3ds; - private MaterialSkin.Controls.MaterialCheckBox c_cia; - private System.Windows.Forms.Panel panel_ctl; private MaterialSkin.Controls.MaterialFlatButton materialFlatButton1; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label lbl_dump; private System.Windows.Forms.Timer dev_look_forum; private System.Windows.Forms.Label lbl_upd_chck; private System.Windows.Forms.Label lbl_ver; private System.Windows.Forms.Timer dev_repeat_msc; private System.Windows.Forms.Label lbl_settings; + private MaterialSkin.Controls.MaterialCheckBox c_cia; + private MaterialSkin.Controls.MaterialRadioButton new_3ds; + private MaterialSkin.Controls.MaterialCheckBox check_noerr; + private MaterialSkin.Controls.MaterialRadioButton old_3ds; + private System.Windows.Forms.Timer tmr_get_upd_stat; + private System.Windows.Forms.Timer tmr_upd_timeout; } } diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs index f27ec7b..9a921b8 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.cs @@ -108,6 +108,24 @@ public MnMain() private void Form1_Load(object sender, EventArgs e) { + if (Properties.Settings.Default.dev_dark_theme == "1") + { + lbl_settings.ForeColor = System.Drawing.Color.White; + lbl_upd_chck.ForeColor = System.Drawing.Color.White; + lbl_ver.ForeColor = System.Drawing.Color.White; + lbl_dump.ForeColor = System.Drawing.Color.White; + t_log.BackColor = System.Drawing.Color.DimGray; + t_log.ForeColor = System.Drawing.Color.White; + } + else + { + lbl_settings.ForeColor = System.Drawing.Color.Black; + lbl_upd_chck.ForeColor = System.Drawing.Color.Black; + lbl_ver.ForeColor = System.Drawing.Color.Black; + lbl_dump.ForeColor = System.Drawing.Color.Black; + t_log.BackColor = System.Drawing.Color.White; + t_log.ForeColor = System.Drawing.Color.Black; + } lbl_ver.Text = "Version: " + Application.ProductVersion + " - BETA"; if (Properties.Settings.Default.dev_def_titlelist == "old") { @@ -124,7 +142,7 @@ private void Form1_Load(object sender, EventArgs e) if (Properties.Settings.Default.eula_read != "yiss") { - DialogResult dialogResult = MessageBox.Show("All components that are used in 3DNUS are either created by Me, or other users; these components are Open-Source, and can not be distributed for any cost. \r\nThis also includes 3DNUS, and/or it's Components. \r\n \r\nIF you paid for 3DNUS or any other of its components, please demand your Money back Immediately! \r\nAlso, report where you Purchased 3DNUS or as a Bundle. \r\nWe are NOT affiliated with Nintendo, or any other Company. \r\n \r\nThis project is Non-Profit, meaning it will always be Free, and is maintained by Volunteers. \r\nBy using this Program, you agree to these Terms. \r\n \r\nDo you agree to these Terms?", "Legal Terms:", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); + DialogResult dialogResult = MessageBox.Show("All components that are used in 3DNUS are either created by Me, or other users; these components are Open-Source, and can not be distributed for any cost. \r\nThis also includes 3DNUS, and/or it's Components. \r\n \r\nIf you paid for 3DNUS or any other of its components, please demand your Money back Immediately! \r\nAlso, report where you Purchased 3DNUS or as a Bundle. \r\nWe are NOT affiliated with Nintendo, or any other Company. \r\n \r\nThis project is Non-Profit, meaning it will always be Free, and is maintained by Volunteers. \r\nBy using this Program, you agree to these Terms. \r\n \r\nDo you agree to these Terms?", "Legal Terms:", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (dialogResult == DialogResult.Yes) { Properties.Settings.Default.eula_read = "yiss"; @@ -211,28 +229,29 @@ private void firmwdownload(YLS_Sysver sys, char region) sd.op.setSubValue(0); sd.op.setProgMax(1); sd.op.setSubMax(1); - } - private void log(string msg) - { - t_log.AppendText("\r\n" + msg); - } - - private void extensionManagerToolStripMenuItem_Click(object sender, EventArgs e) - { - try - { - Process.Start(Application.StartupPath + "\\Extension Manager.exe"); - } - catch + if (Properties.Settings.Default.dev_auto_dump_log == "1") { - MessageBox.Show("We're unable to locate the Executable, please make sure it's there!", "3DNUS: Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + if (Properties.Settings.Default.dev_dump_info == "1") + { + if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log"); + File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss", + CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Unknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text); + t_log.Text += "\r\n\r\nThe Log was Dumped Sucessfully!"; + } + else + { + if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log"); + File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss", + CultureInfo.InvariantCulture) + ".log", t_log.Text); + t_log.Text += "\r\n\r\nThe Log was Dumped Sucessfully!"; + } } } - private void exitToolStripMenuItem_Click(object sender, EventArgs e) + private void log(string msg) { - Application.Exit(); + t_log.AppendText("\r\n" + msg); } private void materialRadioButton2_CheckedChanged(object sender, EventArgs e) @@ -479,7 +498,10 @@ private static String printstack(Exception wat, Boolean inner = true) private void FormMain_ResizeEnd(object sender, EventArgs e) { - panel_ctl.Left = (this.Width / 2) - (panel_ctl.Width / 2); + //new_3ds.Left = (this.Location.X / 2) - (new_3ds.Location.X / 2); + //old_3ds.Left = (this.Location.X / 2) - (old_3ds.Location.X / 2); + //c_cia.Left = (this.Location.X / 2) - (c_cia.Location.X / 2); + //check_noerr.Left = (this.Location.X / 2) - (check_noerr.Location.X / 2); b_download.Left = (this.Width / 2) - (b_download.Width / 2); } @@ -498,28 +520,13 @@ private void FormMain_FormClosing(object sender, FormClosingEventArgs e) Application.Exit(); } - //private void FormMain_FormClosed(object sender, FormClosedEventArgs e) - //{ - // try - // { - // foreach (var process in Process.GetProcessesByName("3DNUS Upd - Lite.exe")) - // { - // process.Kill(); - // } - // } - // catch - // { - // MessageBox.Show("Unable to Kill the Process Specified; Please try again.", "", MessageBoxButtons.OK, MessageBoxIcon.Error); - // } - //} - private void label1_Click(object sender, EventArgs e) { if (Properties.Settings.Default.dev_dump_info == "1") { if (!File.Exists("LOG_DUMP.log")) File.Delete(cd + "LOG_DUMP.log"); File.WriteAllText(cd + "\\LOG_DUMP_" + DateTime.Now.ToString("M_d_yyyy_HH_mm_ss", - CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Uknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text); + CultureInfo.InvariantCulture) + ".log", "--Log Dump Start--" + "\r\n" + "\r\nSystemOS: " + Environment.OSVersion.VersionString + "\r\n" + "\r\nProgram Version: " + Application.ProductVersion + "\r\n" + "\r\nDebug State: " + "Unknown" + "\r\n" + "\r\nTime Dumped: " + DateTime.Now + "\r\n" + "\r\n---------------------------------------" + "\r\n" + t_log.Text); MessageBox.Show("The Log was Dumped Sucessfully!", "Log Dump:", MessageBoxButtons.OK, MessageBoxIcon.Information); } else @@ -539,73 +546,8 @@ private void settingsToolStripMenuItem_Click(object sender, EventArgs e) private void lbl_upd_chck_Click(object sender, EventArgs e) { - try - { - lbl_upd_chck.Text = "Checking for Updates..."; - try - { - File.Delete(Path.Combine(cd, "Update_Info.txt")); - File.Delete(Path.Combine(cd, "Update_URI.txt")); - File.Delete(Path.Combine(cd, "3DNUS_old.exe")); - File.Delete(Path.Combine(cd, "3DNUS_new.exe")); - File.Delete(Path.Combine(cd, "upd_fin.exe")); - } - catch - { - lbl_upd_chck.Text = "Unable to update. [Cleanup Failed]"; - return; - } - WebClient get_info = new WebClient(); - get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/Update_Info.txt"), cd + "\\Update_Info.txt"); - WebClient upd_dwld = new WebClient(); - using (Stream upd = File.Open(cd + "\\Update_Info.txt", FileMode.Open)) - { - using (StreamReader reader = new StreamReader(upd)) - { - string rd_upd = null; - - rd_upd = reader.ReadToEnd(); - - if (rd_upd == Application.ProductVersion) - { - lbl_upd_chck.Text = "No new Updates"; - } - else - { - try - { - lbl_upd_chck.Text = "Downloading New update..."; - if (is64 == true) - { - upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x64/3DNUS.exe"), cd + "\\3DNUS_new.exe"); - WebClient get_fin = new WebClient(); - get_fin.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe"); - Process.Start(cd + "\\upd_fin.exe"); - lbl_upd_chck.Text = "Preparing..."; - Application.Exit(); - } - if (is64 == false) - { - upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x32/3DNUS.exe"), cd + "\\3DNUS_new.exe"); - WebClient get_fin = new WebClient(); - get_fin.DownloadFile(new Uri("https://raw.githubusercontent.comD/rHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe"); - Process.Start(cd + "\\upd_fin.exe"); - lbl_upd_chck.Text = "Preparing..."; - Application.Exit(); - } - } - catch - { - lbl_upd_chck.Text = "Unable to update. [Get Binary Failed]"; - } - } - } - } - } - catch - { - lbl_upd_chck.Text = "Unable to update. [Overall Failure]"; - } + tmr_get_upd_stat.Start(); + SvcUpd.SvcUpdate(); } private void devtourToolStripMenuItem_Click(object sender, EventArgs e) @@ -620,5 +562,34 @@ private void lbl_settings_Click(object sender, EventArgs e) Form f = new dev_settings(); f.Show(); } + + private void tmr_get_upd_stat_Tick(object sender, EventArgs e) + { + //Fetch Svc Status + lbl_upd_chck.Text = SvcUpd.SvcUpdateStat; + this.Refresh(); + + //Fetch and check Error codes + if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]") + { + tmr_upd_timeout.Start(); + tmr_get_upd_stat.Stop(); + } + if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]") + { + tmr_upd_timeout.Start(); + tmr_get_upd_stat.Stop(); + } + if (SvcUpd.SvcUpdateStat == "No new Updates") + { + tmr_upd_timeout.Start(); + tmr_get_upd_stat.Stop(); + } + } + + private void tmr_upd_timeout_Tick(object sender, EventArgs e) + { + + } } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx index d1eb87e..290c31f 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnMain.resx @@ -123,6 +123,12 @@ 362, 19 + + 500, 19 + + + 645, 19 + diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs index 2fd3a13..4291aca 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.Designer.cs @@ -36,6 +36,9 @@ private void InitializeComponent() this.old_3ds = new MaterialSkin.Controls.MaterialRadioButton(); this.lbl_sys_type = new MaterialSkin.Controls.MaterialLabel(); this.btn_reset_settings = new MaterialSkin.Controls.MaterialFlatButton(); + this.chck_darktheme = new MaterialSkin.Controls.MaterialCheckBox(); + this.btn_cancel = new MaterialSkin.Controls.MaterialFlatButton(); + this.chck_auto_dump = new MaterialSkin.Controls.MaterialCheckBox(); this.SuspendLayout(); // // btn_save @@ -43,14 +46,15 @@ private void InitializeComponent() this.btn_save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btn_save.AutoSize = true; this.btn_save.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.btn_save.BackColor = System.Drawing.Color.White; + this.btn_save.BackColor = System.Drawing.Color.Transparent; this.btn_save.Depth = 0; - this.btn_save.Location = new System.Drawing.Point(349, 349); + this.btn_save.Icon = null; + this.btn_save.Location = new System.Drawing.Point(287, 325); this.btn_save.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.btn_save.MouseState = MaterialSkin.MouseState.HOVER; this.btn_save.Name = "btn_save"; this.btn_save.Primary = false; - this.btn_save.Size = new System.Drawing.Size(104, 36); + this.btn_save.Size = new System.Drawing.Size(113, 36); this.btn_save.TabIndex = 0; this.btn_save.Text = "Save & Close"; this.btn_save.UseVisualStyleBackColor = false; @@ -59,7 +63,7 @@ private void InitializeComponent() // chck_dump_info // this.chck_dump_info.AutoSize = true; - this.chck_dump_info.BackColor = System.Drawing.Color.White; + this.chck_dump_info.BackColor = System.Drawing.Color.Transparent; this.chck_dump_info.Depth = 0; this.chck_dump_info.Font = new System.Drawing.Font("Roboto", 10F); this.chck_dump_info.Location = new System.Drawing.Point(9, 84); @@ -76,10 +80,10 @@ private void InitializeComponent() // chck_auto_upd // this.chck_auto_upd.AutoSize = true; - this.chck_auto_upd.BackColor = System.Drawing.Color.White; + this.chck_auto_upd.BackColor = System.Drawing.Color.Transparent; this.chck_auto_upd.Depth = 0; this.chck_auto_upd.Font = new System.Drawing.Font("Roboto", 10F); - this.chck_auto_upd.Location = new System.Drawing.Point(9, 137); + this.chck_auto_upd.Location = new System.Drawing.Point(9, 140); this.chck_auto_upd.Margin = new System.Windows.Forms.Padding(0); this.chck_auto_upd.MouseLocation = new System.Drawing.Point(-1, -1); this.chck_auto_upd.MouseState = MaterialSkin.MouseState.HOVER; @@ -93,10 +97,10 @@ private void InitializeComponent() // new_3ds // this.new_3ds.AutoSize = true; - this.new_3ds.BackColor = System.Drawing.Color.White; + this.new_3ds.BackColor = System.Drawing.Color.Transparent; this.new_3ds.Depth = 0; this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.new_3ds.Location = new System.Drawing.Point(9, 216); + this.new_3ds.Location = new System.Drawing.Point(9, 244); this.new_3ds.Margin = new System.Windows.Forms.Padding(0); this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1); this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER; @@ -110,10 +114,10 @@ private void InitializeComponent() // old_3ds // this.old_3ds.AutoSize = true; - this.old_3ds.BackColor = System.Drawing.Color.White; + this.old_3ds.BackColor = System.Drawing.Color.Transparent; this.old_3ds.Depth = 0; this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.old_3ds.Location = new System.Drawing.Point(9, 256); + this.old_3ds.Location = new System.Drawing.Point(9, 274); this.old_3ds.Margin = new System.Windows.Forms.Padding(0); this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1); this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER; @@ -127,11 +131,11 @@ private void InitializeComponent() // lbl_sys_type // this.lbl_sys_type.AutoSize = true; - this.lbl_sys_type.BackColor = System.Drawing.Color.White; + this.lbl_sys_type.BackColor = System.Drawing.Color.Transparent; this.lbl_sys_type.Depth = 0; this.lbl_sys_type.Font = new System.Drawing.Font("Roboto", 11F); this.lbl_sys_type.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); - this.lbl_sys_type.Location = new System.Drawing.Point(12, 187); + this.lbl_sys_type.Location = new System.Drawing.Point(5, 216); this.lbl_sys_type.MouseState = MaterialSkin.MouseState.HOVER; this.lbl_sys_type.Name = "lbl_sys_type"; this.lbl_sys_type.Size = new System.Drawing.Size(120, 19); @@ -143,26 +147,84 @@ private void InitializeComponent() this.btn_reset_settings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btn_reset_settings.AutoSize = true; this.btn_reset_settings.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.btn_reset_settings.BackColor = System.Drawing.Color.White; + this.btn_reset_settings.BackColor = System.Drawing.Color.Transparent; this.btn_reset_settings.Depth = 0; - this.btn_reset_settings.Location = new System.Drawing.Point(221, 349); + this.btn_reset_settings.Icon = null; + this.btn_reset_settings.Location = new System.Drawing.Point(3, 325); this.btn_reset_settings.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.btn_reset_settings.MouseState = MaterialSkin.MouseState.HOVER; this.btn_reset_settings.Name = "btn_reset_settings"; this.btn_reset_settings.Primary = false; - this.btn_reset_settings.Size = new System.Drawing.Size(120, 36); + this.btn_reset_settings.Size = new System.Drawing.Size(129, 36); this.btn_reset_settings.TabIndex = 17; this.btn_reset_settings.Text = "Reset settings"; this.btn_reset_settings.UseVisualStyleBackColor = false; this.btn_reset_settings.Click += new System.EventHandler(this.btn_reset_settings_Click); // + // chck_darktheme + // + this.chck_darktheme.AutoSize = true; + this.chck_darktheme.BackColor = System.Drawing.Color.Transparent; + this.chck_darktheme.Depth = 0; + this.chck_darktheme.Font = new System.Drawing.Font("Roboto", 10F); + this.chck_darktheme.Location = new System.Drawing.Point(9, 112); + this.chck_darktheme.Margin = new System.Windows.Forms.Padding(0); + this.chck_darktheme.MouseLocation = new System.Drawing.Point(-1, -1); + this.chck_darktheme.MouseState = MaterialSkin.MouseState.HOVER; + this.chck_darktheme.Name = "chck_darktheme"; + this.chck_darktheme.Ripple = true; + this.chck_darktheme.Size = new System.Drawing.Size(300, 30); + this.chck_darktheme.TabIndex = 18; + this.chck_darktheme.Text = "Use the Dark theme? (Requires App Restart)"; + this.chck_darktheme.UseVisualStyleBackColor = false; + this.chck_darktheme.CheckedChanged += new System.EventHandler(this.chck_darktheme_CheckedChanged); + // + // btn_cancel + // + this.btn_cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btn_cancel.AutoSize = true; + this.btn_cancel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btn_cancel.BackColor = System.Drawing.Color.Transparent; + this.btn_cancel.Depth = 0; + this.btn_cancel.Icon = null; + this.btn_cancel.Location = new System.Drawing.Point(217, 325); + this.btn_cancel.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); + this.btn_cancel.MouseState = MaterialSkin.MouseState.HOVER; + this.btn_cancel.Name = "btn_cancel"; + this.btn_cancel.Primary = false; + this.btn_cancel.Size = new System.Drawing.Size(73, 36); + this.btn_cancel.TabIndex = 19; + this.btn_cancel.Text = "Cancel"; + this.btn_cancel.UseVisualStyleBackColor = false; + this.btn_cancel.Click += new System.EventHandler(this.btn_cancel_Click); + // + // chck_auto_dump + // + this.chck_auto_dump.AutoSize = true; + this.chck_auto_dump.BackColor = System.Drawing.Color.Transparent; + this.chck_auto_dump.Depth = 0; + this.chck_auto_dump.Font = new System.Drawing.Font("Roboto", 10F); + this.chck_auto_dump.Location = new System.Drawing.Point(9, 170); + this.chck_auto_dump.Margin = new System.Windows.Forms.Padding(0); + this.chck_auto_dump.MouseLocation = new System.Drawing.Point(-1, -1); + this.chck_auto_dump.MouseState = MaterialSkin.MouseState.HOVER; + this.chck_auto_dump.Name = "chck_auto_dump"; + this.chck_auto_dump.Ripple = true; + this.chck_auto_dump.Size = new System.Drawing.Size(207, 30); + this.chck_auto_dump.TabIndex = 20; + this.chck_auto_dump.Text = "Automatically Dump the log?"; + this.chck_auto_dump.UseVisualStyleBackColor = false; + // // dev_settings // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.ClientSize = new System.Drawing.Size(457, 387); + this.ClientSize = new System.Drawing.Size(413, 363); + this.Controls.Add(this.chck_auto_dump); + this.Controls.Add(this.btn_cancel); + this.Controls.Add(this.chck_darktheme); this.Controls.Add(this.btn_reset_settings); this.Controls.Add(this.lbl_sys_type); this.Controls.Add(this.old_3ds); @@ -194,5 +256,8 @@ private void InitializeComponent() private MaterialSkin.Controls.MaterialRadioButton old_3ds; private MaterialSkin.Controls.MaterialLabel lbl_sys_type; private MaterialSkin.Controls.MaterialFlatButton btn_reset_settings; + private MaterialSkin.Controls.MaterialCheckBox chck_darktheme; + private MaterialSkin.Controls.MaterialFlatButton btn_cancel; + private MaterialSkin.Controls.MaterialCheckBox chck_auto_dump; } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs index 1c76ab1..8fcc87a 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/MnSettings.cs @@ -14,6 +14,8 @@ public partial class dev_settings : MaterialForm private bool is64 = System.Environment.Is64BitOperatingSystem; + private string chck_drk = null; + public dev_settings() { InitializeComponent(); @@ -24,6 +26,22 @@ private void dev_settings_Load(object sender, EventArgs e) { Properties.Settings.Default.Reload(); + if (Properties.Settings.Default.dev_auto_dump_log == "1") + { + chck_auto_dump.Checked = true; + } + else + { + chck_auto_dump.Checked = false; + } + if (Properties.Settings.Default.dev_dark_theme == "1") + { + chck_darktheme.Checked = true; + } + else + { + chck_darktheme.Checked = false; + } if (Properties.Settings.Default.dev_auto_upd == "1") { chck_auto_upd.Checked = true; @@ -54,6 +72,22 @@ private void dev_settings_Load(object sender, EventArgs e) private void btn_save_Click(object sender, EventArgs e) { + if (chck_auto_dump.Checked == true) + { + Properties.Settings.Default.dev_auto_dump_log = "1"; + } + else + { + Properties.Settings.Default.dev_auto_dump_log = "0"; + } + if (chck_darktheme.Checked == true) + { + Properties.Settings.Default.dev_dark_theme = "1"; + } + else + { + Properties.Settings.Default.dev_dark_theme = "0"; + } if (chck_auto_upd.Checked == true) { Properties.Settings.Default.dev_auto_upd = "1"; @@ -83,6 +117,27 @@ private void btn_save_Click(object sender, EventArgs e) Properties.Settings.Default.dev_def_titlelist = "new"; } + //if (chck_darktheme.Checked == true) + //{ + // DialogResult dialogResult = MessageBox.Show("Enabling the dark theme will require the application. By clicking Ok, the Application will restart automatically.", "3DNUS Settings: Dialog", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); + + // if (dialogResult == DialogResult.OK) + // { + // Properties.Settings.Default.Save(); + // Application.Restart(); + // } + + // if (dialogResult == DialogResult.Cancel) + // { + // Properties.Settings.Default.Save(); + // Close(); + // } + //} + //else + //{ + // Properties.Settings.Default.Save(); + // Close(); + //} Properties.Settings.Default.Save(); Close(); } @@ -101,5 +156,16 @@ private void btn_reset_settings_Click(object sender, EventArgs e) Properties.Settings.Default.Save(); Application.Restart(); } + + private void chck_darktheme_CheckedChanged(object sender, EventArgs e) + { + //chck_drk = "1"; + //return; + } + + private void btn_cancel_Click(object sender, EventArgs e) + { + Close(); + } } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs index 7047487..8a4ad2d 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTour.Designer.cs @@ -41,14 +41,15 @@ private void InitializeComponent() this.b_next.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.b_next.AutoSize = true; this.b_next.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.b_next.BackColor = System.Drawing.Color.White; + this.b_next.BackColor = System.Drawing.Color.Transparent; this.b_next.Depth = 0; - this.b_next.Location = new System.Drawing.Point(531, 413); + this.b_next.Icon = null; + this.b_next.Location = new System.Drawing.Point(522, 413); this.b_next.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.b_next.MouseState = MaterialSkin.MouseState.HOVER; this.b_next.Name = "b_next"; this.b_next.Primary = false; - this.b_next.Size = new System.Drawing.Size(46, 36); + this.b_next.Size = new System.Drawing.Size(55, 36); this.b_next.TabIndex = 1; this.b_next.Text = "next"; this.b_next.UseVisualStyleBackColor = false; diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs index 8418f05..e284193 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.Designer.cs @@ -37,6 +37,8 @@ private void InitializeComponent() this.new_3ds = new MaterialSkin.Controls.MaterialRadioButton(); this.chck_auto_upd = new MaterialSkin.Controls.MaterialCheckBox(); this.chck_dump_info = new MaterialSkin.Controls.MaterialCheckBox(); + this.chck_auto_dump = new MaterialSkin.Controls.MaterialCheckBox(); + this.chck_darktheme = new MaterialSkin.Controls.MaterialCheckBox(); this.SuspendLayout(); // // lbl_body @@ -67,14 +69,15 @@ private void InitializeComponent() this.b_fin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.b_fin.AutoSize = true; this.b_fin.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.b_fin.BackColor = System.Drawing.SystemColors.ActiveBorder; + this.b_fin.BackColor = System.Drawing.Color.Transparent; this.b_fin.Depth = 0; - this.b_fin.Location = new System.Drawing.Point(523, 413); + this.b_fin.Icon = null; + this.b_fin.Location = new System.Drawing.Point(513, 413); this.b_fin.Margin = new System.Windows.Forms.Padding(4, 6, 4, 6); this.b_fin.MouseState = MaterialSkin.MouseState.HOVER; this.b_fin.Name = "b_fin"; this.b_fin.Primary = false; - this.b_fin.Size = new System.Drawing.Size(55, 36); + this.b_fin.Size = new System.Drawing.Size(64, 36); this.b_fin.TabIndex = 4; this.b_fin.Text = "finish"; this.b_fin.UseVisualStyleBackColor = false; @@ -87,7 +90,7 @@ private void InitializeComponent() this.lbl_sys_type.Depth = 0; this.lbl_sys_type.Font = new System.Drawing.Font("Roboto", 11F); this.lbl_sys_type.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(222)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); - this.lbl_sys_type.Location = new System.Drawing.Point(3, 238); + this.lbl_sys_type.Location = new System.Drawing.Point(3, 302); this.lbl_sys_type.MouseState = MaterialSkin.MouseState.HOVER; this.lbl_sys_type.Name = "lbl_sys_type"; this.lbl_sys_type.Size = new System.Drawing.Size(120, 19); @@ -97,10 +100,11 @@ private void InitializeComponent() // old_3ds // this.old_3ds.AutoSize = true; + this.old_3ds.BackColor = System.Drawing.Color.Transparent; this.old_3ds.Checked = true; this.old_3ds.Depth = 0; this.old_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.old_3ds.Location = new System.Drawing.Point(4, 297); + this.old_3ds.Location = new System.Drawing.Point(4, 361); this.old_3ds.Margin = new System.Windows.Forms.Padding(0); this.old_3ds.MouseLocation = new System.Drawing.Point(-1, -1); this.old_3ds.MouseState = MaterialSkin.MouseState.HOVER; @@ -110,14 +114,15 @@ private void InitializeComponent() this.old_3ds.TabIndex = 20; this.old_3ds.TabStop = true; this.old_3ds.Text = "Old 3DS"; - this.old_3ds.UseVisualStyleBackColor = true; + this.old_3ds.UseVisualStyleBackColor = false; // // new_3ds // this.new_3ds.AutoSize = true; + this.new_3ds.BackColor = System.Drawing.Color.Transparent; this.new_3ds.Depth = 0; this.new_3ds.Font = new System.Drawing.Font("Roboto", 10F); - this.new_3ds.Location = new System.Drawing.Point(4, 267); + this.new_3ds.Location = new System.Drawing.Point(4, 331); this.new_3ds.Margin = new System.Windows.Forms.Padding(0); this.new_3ds.MouseLocation = new System.Drawing.Point(-1, -1); this.new_3ds.MouseState = MaterialSkin.MouseState.HOVER; @@ -126,7 +131,7 @@ private void InitializeComponent() this.new_3ds.Size = new System.Drawing.Size(85, 30); this.new_3ds.TabIndex = 19; this.new_3ds.Text = "New 3DS"; - this.new_3ds.UseVisualStyleBackColor = true; + this.new_3ds.UseVisualStyleBackColor = false; // // chck_auto_upd // @@ -164,6 +169,40 @@ private void InitializeComponent() this.chck_dump_info.Text = "When dumping log, Dump System Info? "; this.chck_dump_info.UseVisualStyleBackColor = false; // + // chck_auto_dump + // + this.chck_auto_dump.AutoSize = true; + this.chck_auto_dump.BackColor = System.Drawing.Color.Transparent; + this.chck_auto_dump.Depth = 0; + this.chck_auto_dump.Font = new System.Drawing.Font("Roboto", 10F); + this.chck_auto_dump.Location = new System.Drawing.Point(5, 249); + this.chck_auto_dump.Margin = new System.Windows.Forms.Padding(0); + this.chck_auto_dump.MouseLocation = new System.Drawing.Point(-1, -1); + this.chck_auto_dump.MouseState = MaterialSkin.MouseState.HOVER; + this.chck_auto_dump.Name = "chck_auto_dump"; + this.chck_auto_dump.Ripple = true; + this.chck_auto_dump.Size = new System.Drawing.Size(207, 30); + this.chck_auto_dump.TabIndex = 23; + this.chck_auto_dump.Text = "Automatically Dump the log?"; + this.chck_auto_dump.UseVisualStyleBackColor = false; + // + // chck_darktheme + // + this.chck_darktheme.AutoSize = true; + this.chck_darktheme.BackColor = System.Drawing.Color.Transparent; + this.chck_darktheme.Depth = 0; + this.chck_darktheme.Font = new System.Drawing.Font("Roboto", 10F); + this.chck_darktheme.Location = new System.Drawing.Point(5, 219); + this.chck_darktheme.Margin = new System.Windows.Forms.Padding(0); + this.chck_darktheme.MouseLocation = new System.Drawing.Point(-1, -1); + this.chck_darktheme.MouseState = MaterialSkin.MouseState.HOVER; + this.chck_darktheme.Name = "chck_darktheme"; + this.chck_darktheme.Ripple = true; + this.chck_darktheme.Size = new System.Drawing.Size(157, 30); + this.chck_darktheme.TabIndex = 22; + this.chck_darktheme.Text = "Use the Dark theme?"; + this.chck_darktheme.UseVisualStyleBackColor = false; + // // dev_tour_setup // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -171,6 +210,8 @@ private void InitializeComponent() this.BackColor = System.Drawing.Color.White; this.ClientSize = new System.Drawing.Size(579, 451); this.ControlBox = false; + this.Controls.Add(this.chck_auto_dump); + this.Controls.Add(this.chck_darktheme); this.Controls.Add(this.lbl_sys_type); this.Controls.Add(this.old_3ds); this.Controls.Add(this.new_3ds); @@ -200,5 +241,7 @@ private void InitializeComponent() private MaterialSkin.Controls.MaterialRadioButton new_3ds; private MaterialSkin.Controls.MaterialCheckBox chck_auto_upd; private MaterialSkin.Controls.MaterialCheckBox chck_dump_info; + private MaterialSkin.Controls.MaterialCheckBox chck_auto_dump; + private MaterialSkin.Controls.MaterialCheckBox chck_darktheme; } } \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs index 878ac3e..28fa81e 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Main/Tour/MnTourSetup.cs @@ -17,6 +17,22 @@ private void dev_tour_setup_Load(object sender, EventArgs e) private void b_fin_Click(object sender, EventArgs e) { + if (chck_auto_dump.Checked == true) + { + Properties.Settings.Default.dev_auto_dump_log = "1"; + } + else + { + Properties.Settings.Default.dev_auto_dump_log = "0"; + } + if (chck_darktheme.Checked == true) + { + Properties.Settings.Default.dev_dark_theme = "1"; + } + else + { + Properties.Settings.Default.dev_dark_theme = "0"; + } if (chck_auto_upd.Checked == true) { Properties.Settings.Default.dev_auto_upd = "1"; diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs index 538e467..af70d55 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Program.cs @@ -16,9 +16,18 @@ private static void Main() Application.SetCompatibleTextRenderingDefault(false); System.Net.ServicePointManager.ServerCertificateValidationCallback = (_dmy_sndr_, _dmy_cert_, _dmy_chain_, _dmy_ejjoj_) => true; - MaterialSkinManager skinmgr = MaterialSkinManager.Instance; - skinmgr.Theme = MaterialSkinManager.Themes.LIGHT; - skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.WHITE); + if (Properties.Settings.Default.dev_dark_theme == "0") + { + MaterialSkinManager skinmgr = MaterialSkinManager.Instance; + skinmgr.Theme = MaterialSkinManager.Themes.LIGHT; + skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.BLACK); + } + else + { + MaterialSkinManager skinmgr = MaterialSkinManager.Instance; + skinmgr.Theme = MaterialSkinManager.Themes.DARK; + skinmgr.ColorScheme = new ColorScheme(Primary.Red800, Primary.Red900, Primary.Red500, Accent.Red200, TextShade.WHITE); + } Application.Run(new FmLoad()); } diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs index ab3a919..28eef7f 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.2.3")] -[assembly: AssemblyFileVersion("3.2.3")] \ No newline at end of file +[assembly: AssemblyVersion("3.3")] +[assembly: AssemblyFileVersion("3.3")] \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs index 6b96ec9..49b5404 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.Designer.cs @@ -118,5 +118,29 @@ internal sealed partial class Settings : global::System.Configuration.Applicatio this["dev_tour"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public string dev_dark_theme { + get { + return ((string)(this["dev_dark_theme"])); + } + set { + this["dev_dark_theme"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string dev_auto_dump_log { + get { + return ((string)(this["dev_auto_dump_log"])); + } + set { + this["dev_auto_dump_log"] = value; + } + } } } diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings index 0d75bfa..c89040a 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Properties/Settings.settings @@ -26,5 +26,11 @@ + + 0 + + + + \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs index 708f70e..63cd69d 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/Services/SvcUpd.cs @@ -1,27 +1,138 @@ -/*using System.IO; +/* ============================================================================== + + This is the Update service. + Any form can call this Service by + simply doing "SvcUpd.SvcUpdate();" + + You may then pass through String + data from "SvcUpdateStat." + + For example: + + lbl_upd.Text = SvcUpd.SvcUpdateStat; + + This will allow you to display current + Update information in any way you wish. + + ---------------------------------------------------------------------------- + + You may also get Error codes by passing + through the same information. Simply do something + like the following: + + if (SvcUpd.SvcUpdateStat == "Unable to update. [Overall Failure]") + { + //Code + } + if (SvcUpd.SvcUpdateStat == "Unable to update. [Get Binary Failed]") + { + //Code + } + if (SvcUpd.SvcUpdateStat == "No new Updates") + { + //Code + } + + ============================================================================== +*/ + +using System; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Windows.Forms; namespace _3DNUS_Material_Edition { internal class SvcUpd { - private static bool TryToDelete(string f) + private static bool is64 = System.Environment.Is64BitOperatingSystem; + private static string cd = Application.StartupPath; + public static string SvcUpdateStat = null; + + //public static System.Windows.Forms.Timer tm = new System.Windows.Forms.Timer + //{ + // Interval = 5000 + //}; + + public static void SvcUpdate() { try { - // A. - // Try to delete the file. - File.Delete("3DNUS.old.exe"); - return true; + try + { + File.Delete(Path.Combine(cd, "Update_Info.txt")); + File.Delete(Path.Combine(cd, "Update_URI.txt")); + File.Delete(Path.Combine(cd, "3DNUS_old.exe")); + File.Delete(Path.Combine(cd, "3DNUS_new.exe")); + File.Delete(Path.Combine(cd, "upd_fin.exe")); + } + catch + { + SvcUpdateStat = "Unable to update. [Cleanup Failed]"; + return; + } + + WebClient get_info = new WebClient(); + get_info.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/Update_Info.txt"), cd + "\\Update_Info.txt"); + WebClient upd_dwld = new WebClient(); + using (Stream upd = File.Open(cd + "\\Update_Info.txt", FileMode.Open)) + { + using (StreamReader reader = new StreamReader(upd)) + { + string rd_upd = null; + + rd_upd = reader.ReadToEnd(); + + if (rd_upd == Application.ProductVersion) + { + SvcUpdateStat = "No new Updates"; + } + else + { + try + { + SvcUpdateStat = "Downloading New update..."; + if (is64 == true) + { + upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x64/3DNUS.exe"), cd + "\\3DNUS_new.exe"); + WebClient get_fin = new WebClient(); + get_fin.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe"); + Process.Start(cd + "\\upd_fin.exe"); + SvcUpdateStat = "Preparing..."; + Application.Exit(); + } + if (is64 == false) + { + upd_dwld.DownloadFile(new Uri("https://raw.githubusercontent.com/DrHacknik/3DNUS/master/Updates/x32/3DNUS.exe"), cd + "\\3DNUS_new.exe"); + WebClient get_fin = new WebClient(); + get_fin.DownloadFile(new Uri("https://raw.githubusercontent.comD/rHacknik/3DNUS/master/Updates/upd_fin.exe"), cd + "\\upd_fin.exe"); + Process.Start(cd + "\\upd_fin.exe"); + SvcUpdateStat = "Preparing..."; + Application.Exit(); + } + } + catch + { + SvcUpdateStat = "Unable to update. [Get Binary Failed]"; + } + } + } + } } - catch (IOException) + catch { - // B. - // We could not delete the file. - return false; + SvcUpdateStat = "Unable to update. [Overall Failure]"; } } - } -}*/ -//This code has been deprecated. \ No newline at end of file + //private static void Tm_Tick(object sender, EventArgs e) + //{ + // tm.Stop(); + // Form dm = new MnMain(); + // dm.Show(); + // return; + //} + } +} \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config index 925e30a..32660ab 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/3DNUS Material Edition.exe.config @@ -11,28 +11,34 @@ <_3DNUS_Material_Edition.Properties.Settings> - + - + - + - + - + - + - + - + + + + 0 + + + diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log deleted file mode 100644 index 7c36802..0000000 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/LOG_DUMP_7_3_2018_18_48_26.log +++ /dev/null @@ -1,12 +0,0 @@ ---Log Dump Start-- - -SystemOS: Microsoft Windows NT 6.2.9200.0 - -Program Version: 3.2.2 - -Debug State: Uknown - -Time Dumped: 7/3/2018 6:48:26 PM - ---------------------------------------- -Console: 7/3/2018 6:48:25 PM \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt deleted file mode 100644 index 0444f32..0000000 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/Update_Info.txt +++ /dev/null @@ -1 +0,0 @@ -3.2.1 \ No newline at end of file diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/ctr.csv b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/bin/Debug/ctr.csv new file mode 100644 index 0000000..e69de29 diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt index 8d34639..0a63353 100644 --- a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt +++ b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/3DNUS Material Edition.csproj.FileListAbsolute.txt @@ -31,7 +31,6 @@ C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Materia C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\Interop.WMPLib.dll C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\AxInterop.WMPLib.dll C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\3DNUS Material Edition.csproj.ResolveComReference.cache -C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_ext_manager.resources C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_settings.resources C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_tour.resources C:\Users\luked\Documents\GitHub\3DNUS\Source\3DNUS_Material_Source\3DNUS Material Edition\3DNUS Material Edition\obj\Debug\_3DNUS_Material_Edition.dev_tour_setup.resources diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll index 652b9e4..3bc8382 100644 Binary files a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources b/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources deleted file mode 100644 index ad18918..0000000 Binary files a/Source/3DNUS_Material_Source/3DNUS Material Edition/3DNUS Material Edition/obj/Debug/_3DNUS_Material_Edition.dev_ext_manager.resources and /dev/null differ