diff --git a/.vs/ARCHBLOXLauncher1/v16/.suo b/.vs/ARCHBLOXLauncher1/v16/.suo new file mode 100644 index 0000000..9854d53 Binary files /dev/null and b/.vs/ARCHBLOXLauncher1/v16/.suo differ diff --git a/.vs/ARCHBLOXLauncherGUI/DesignTimeBuild/.dtbcache.v2 b/.vs/ARCHBLOXLauncherGUI/DesignTimeBuild/.dtbcache.v2 index 1075958..ccab50f 100644 Binary files a/.vs/ARCHBLOXLauncherGUI/DesignTimeBuild/.dtbcache.v2 and b/.vs/ARCHBLOXLauncherGUI/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/0c8a2f97-306f-4801-89ef-86f2f1860604.vsidx b/.vs/ARCHBLOXLauncherGUI/FileContentIndex/0c8a2f97-306f-4801-89ef-86f2f1860604.vsidx deleted file mode 100644 index de03c18..0000000 Binary files a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/0c8a2f97-306f-4801-89ef-86f2f1860604.vsidx and /dev/null differ diff --git a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/29f69929-fc57-4738-9508-2ae05ab373ec.vsidx b/.vs/ARCHBLOXLauncherGUI/FileContentIndex/29f69929-fc57-4738-9508-2ae05ab373ec.vsidx deleted file mode 100644 index c3fba93..0000000 Binary files a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/29f69929-fc57-4738-9508-2ae05ab373ec.vsidx and /dev/null differ diff --git a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/96617486-23f4-45e5-9717-055ff2fff8f1.vsidx b/.vs/ARCHBLOXLauncherGUI/FileContentIndex/413363e4-2485-44f3-9ef0-e7d6a1caef88.vsidx similarity index 88% rename from .vs/ARCHBLOXLauncherGUI/FileContentIndex/96617486-23f4-45e5-9717-055ff2fff8f1.vsidx rename to .vs/ARCHBLOXLauncherGUI/FileContentIndex/413363e4-2485-44f3-9ef0-e7d6a1caef88.vsidx index 58c2d14..5003abf 100644 Binary files a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/96617486-23f4-45e5-9717-055ff2fff8f1.vsidx and b/.vs/ARCHBLOXLauncherGUI/FileContentIndex/413363e4-2485-44f3-9ef0-e7d6a1caef88.vsidx differ diff --git a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/9b6d6a93-989a-42fc-846c-dcd829971878.vsidx b/.vs/ARCHBLOXLauncherGUI/FileContentIndex/9b6d6a93-989a-42fc-846c-dcd829971878.vsidx deleted file mode 100644 index 261e384..0000000 Binary files a/.vs/ARCHBLOXLauncherGUI/FileContentIndex/9b6d6a93-989a-42fc-846c-dcd829971878.vsidx and /dev/null differ diff --git a/.vs/ARCHBLOXLauncherGUI/v17/.futdcache.v1 b/.vs/ARCHBLOXLauncherGUI/v17/.futdcache.v1 index d111834..cfe7f32 100644 Binary files a/.vs/ARCHBLOXLauncherGUI/v17/.futdcache.v1 and b/.vs/ARCHBLOXLauncherGUI/v17/.futdcache.v1 differ diff --git a/.vs/ARCHBLOXLauncherGUI/v17/.suo b/.vs/ARCHBLOXLauncherGUI/v17/.suo index 0f2f05e..d7da5bd 100644 Binary files a/.vs/ARCHBLOXLauncherGUI/v17/.suo and b/.vs/ARCHBLOXLauncherGUI/v17/.suo differ diff --git a/.vs/ProjectEvaluation/archbloxlaunchergui.metadata.v2 b/.vs/ProjectEvaluation/archbloxlaunchergui.metadata.v2 index d34be0c..9aa852a 100644 Binary files a/.vs/ProjectEvaluation/archbloxlaunchergui.metadata.v2 and b/.vs/ProjectEvaluation/archbloxlaunchergui.metadata.v2 differ diff --git a/.vs/ProjectEvaluation/archbloxlaunchergui.projects.v2 b/.vs/ProjectEvaluation/archbloxlaunchergui.projects.v2 index a76953e..0ee5a75 100644 Binary files a/.vs/ProjectEvaluation/archbloxlaunchergui.projects.v2 and b/.vs/ProjectEvaluation/archbloxlaunchergui.projects.v2 differ diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..a36005c --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\ARCHBLOXLauncherGUI.sln", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..7087af3 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/ARCHBLOXLauncherGUI.csproj b/ARCHBLOXLauncherGUI.csproj index 9594ef7..116b30f 100644 --- a/ARCHBLOXLauncherGUI.csproj +++ b/ARCHBLOXLauncherGUI.csproj @@ -6,10 +6,10 @@ true archblox.ico $(MSBuildProjectName) - https://www.archblox.com + http://www.archblox.com ARCHBLOX Launcher archblox.png - https://www.github.com/thomasluigi07/ARCHBLOXLauncher + http://www.github.com/thomasluigi07/ARCHBLOXLauncher git 2.7 2.7 diff --git a/Extensions.cs b/Extensions.cs index 4c97f06..1eb5e7e 100644 --- a/Extensions.cs +++ b/Extensions.cs @@ -1,4 +1,6 @@ using System; +using System.Security.Cryptography; +using System.IO; namespace ARCHBLOXLauncherGUI { diff --git a/Form1.Designer.cs b/Form1.Designer.cs index 4b18b64..042c39d 100644 --- a/Form1.Designer.cs +++ b/Form1.Designer.cs @@ -57,9 +57,9 @@ this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top; this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.pictureBox1.Image = global::ARCHBLOXLauncherGUI.Properties.Resources.unknown; - this.pictureBox1.Location = new System.Drawing.Point(51, 11); + this.pictureBox1.Location = new System.Drawing.Point(51, 12); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(203, 37); + this.pictureBox1.Size = new System.Drawing.Size(203, 40); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 0; this.pictureBox1.TabStop = false; @@ -72,9 +72,9 @@ this.JoinBox.Controls.Add(this.serverport); this.JoinBox.Controls.Add(this.label7); this.JoinBox.Controls.Add(this.button2); - this.JoinBox.Location = new System.Drawing.Point(7, 48); + this.JoinBox.Location = new System.Drawing.Point(7, 51); this.JoinBox.Name = "JoinBox"; - this.JoinBox.Size = new System.Drawing.Size(286, 140); + this.JoinBox.Size = new System.Drawing.Size(286, 150); this.JoinBox.TabIndex = 26; this.JoinBox.TabStop = false; this.JoinBox.Visible = false; @@ -83,40 +83,40 @@ // this.serverip.CharacterCasing = System.Windows.Forms.CharacterCasing.Lower; this.serverip.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.serverip.Location = new System.Drawing.Point(6, 37); + this.serverip.Location = new System.Drawing.Point(6, 40); this.serverip.MaxLength = 15; this.serverip.Name = "serverip"; this.serverip.PlaceholderText = "IP"; - this.serverip.Size = new System.Drawing.Size(276, 21); + this.serverip.Size = new System.Drawing.Size(276, 23); this.serverip.TabIndex = 18; // // label4 // this.label4.AutoSize = true; this.label4.BackColor = System.Drawing.Color.Transparent; - this.label4.Location = new System.Drawing.Point(6, 18); + this.label4.Location = new System.Drawing.Point(6, 19); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(277, 14); + this.label4.Size = new System.Drawing.Size(270, 15); this.label4.TabIndex = 17; this.label4.Text = "Server IP (Use localhost if joining your own server)"; // // serverport // this.serverport.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.serverport.Location = new System.Drawing.Point(6, 78); + this.serverport.Location = new System.Drawing.Point(6, 84); this.serverport.MaxLength = 5; this.serverport.Name = "serverport"; this.serverport.PlaceholderText = "PORT"; - this.serverport.Size = new System.Drawing.Size(274, 21); + this.serverport.Size = new System.Drawing.Size(274, 23); this.serverport.TabIndex = 19; // // label7 // this.label7.AutoSize = true; this.label7.BackColor = System.Drawing.Color.Transparent; - this.label7.Location = new System.Drawing.Point(6, 62); + this.label7.Location = new System.Drawing.Point(6, 66); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(67, 14); + this.label7.Size = new System.Drawing.Size(64, 15); this.label7.TabIndex = 25; this.label7.Text = "Server Port"; // @@ -127,9 +127,9 @@ this.button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.button2.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.button2.Location = new System.Drawing.Point(6, 109); + this.button2.Location = new System.Drawing.Point(6, 117); this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(274, 21); + this.button2.Size = new System.Drawing.Size(274, 22); this.button2.TabIndex = 24; this.button2.Text = "Join"; this.button2.UseVisualStyleBackColor = false; @@ -144,9 +144,9 @@ this.HostBox.Controls.Add(this.button3); this.HostBox.Controls.Add(this.textBox2); this.HostBox.Controls.Add(this.button1); - this.HostBox.Location = new System.Drawing.Point(7, 48); + this.HostBox.Location = new System.Drawing.Point(7, 51); this.HostBox.Name = "HostBox"; - this.HostBox.Size = new System.Drawing.Size(288, 131); + this.HostBox.Size = new System.Drawing.Size(288, 140); this.HostBox.TabIndex = 27; this.HostBox.TabStop = false; this.HostBox.Visible = false; @@ -155,29 +155,29 @@ // this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; - this.label2.Location = new System.Drawing.Point(4, 18); + this.label2.Location = new System.Drawing.Point(4, 19); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(168, 14); + this.label2.Size = new System.Drawing.Size(162, 15); this.label2.TabIndex = 23; this.label2.Text = "Port (53640 is recommended)"; // // textBox1 // this.textBox1.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textBox1.Location = new System.Drawing.Point(6, 35); + this.textBox1.Location = new System.Drawing.Point(6, 38); this.textBox1.MaxLength = 5; this.textBox1.Name = "textBox1"; this.textBox1.PlaceholderText = "PORT"; - this.textBox1.Size = new System.Drawing.Size(274, 21); + this.textBox1.Size = new System.Drawing.Size(274, 23); this.textBox1.TabIndex = 24; // // label3 // this.label3.AutoSize = true; this.label3.BackColor = System.Drawing.Color.Transparent; - this.label3.Location = new System.Drawing.Point(4, 59); + this.label3.Location = new System.Drawing.Point(4, 63); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(190, 14); + this.label3.Size = new System.Drawing.Size(187, 15); this.label3.TabIndex = 27; this.label3.Text = "Filename (use temp.rbxl if unsure)"; // @@ -187,9 +187,9 @@ this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.button3.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.button3.Location = new System.Drawing.Point(207, 75); + this.button3.Location = new System.Drawing.Point(207, 80); this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(73, 21); + this.button3.Size = new System.Drawing.Size(73, 22); this.button3.TabIndex = 26; this.button3.Text = "Browse..."; this.button3.UseVisualStyleBackColor = true; @@ -198,10 +198,10 @@ // textBox2 // this.textBox2.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textBox2.Location = new System.Drawing.Point(6, 76); + this.textBox2.Location = new System.Drawing.Point(6, 81); this.textBox2.Name = "textBox2"; this.textBox2.PlaceholderText = "Filename"; - this.textBox2.Size = new System.Drawing.Size(195, 21); + this.textBox2.Size = new System.Drawing.Size(195, 23); this.textBox2.TabIndex = 25; // // button1 @@ -211,9 +211,9 @@ this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.button1.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.button1.Location = new System.Drawing.Point(6, 102); + this.button1.Location = new System.Drawing.Point(6, 109); this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(274, 21); + this.button1.Size = new System.Drawing.Size(274, 22); this.button1.TabIndex = 28; this.button1.Text = "Host"; this.button1.UseVisualStyleBackColor = false; @@ -226,9 +226,9 @@ this.HostBTN.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.HostBTN.Font = new System.Drawing.Font("Segoe UI Semilight", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); this.HostBTN.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.HostBTN.Location = new System.Drawing.Point(12, 121); + this.HostBTN.Location = new System.Drawing.Point(12, 130); this.HostBTN.Name = "HostBTN"; - this.HostBTN.Size = new System.Drawing.Size(137, 49); + this.HostBTN.Size = new System.Drawing.Size(137, 52); this.HostBTN.TabIndex = 28; this.HostBTN.Text = "Host a Game"; this.HostBTN.UseVisualStyleBackColor = true; @@ -241,9 +241,9 @@ this.JoinBTN.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.JoinBTN.Font = new System.Drawing.Font("Segoe UI Semilight", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); this.JoinBTN.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.JoinBTN.Location = new System.Drawing.Point(155, 121); + this.JoinBTN.Location = new System.Drawing.Point(155, 130); this.JoinBTN.Name = "JoinBTN"; - this.JoinBTN.Size = new System.Drawing.Size(135, 49); + this.JoinBTN.Size = new System.Drawing.Size(135, 52); this.JoinBTN.TabIndex = 29; this.JoinBTN.Text = "Join a Game"; this.JoinBTN.UseVisualStyleBackColor = true; @@ -256,9 +256,9 @@ this.UpdateBTN.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.UpdateBTN.Font = new System.Drawing.Font("Segoe UI Semilight", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); this.UpdateBTN.ForeColor = System.Drawing.SystemColors.ButtonHighlight; - this.UpdateBTN.Location = new System.Drawing.Point(12, 66); + this.UpdateBTN.Location = new System.Drawing.Point(12, 71); this.UpdateBTN.Name = "UpdateBTN"; - this.UpdateBTN.Size = new System.Drawing.Size(276, 49); + this.UpdateBTN.Size = new System.Drawing.Size(277, 53); this.UpdateBTN.TabIndex = 30; this.UpdateBTN.Text = "Install"; this.UpdateBTN.UseVisualStyleBackColor = true; @@ -269,9 +269,9 @@ this.BackBTN.BackgroundImage = global::ARCHBLOXLauncherGUI.Properties.Resources.buttonblue; this.BackBTN.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.BackBTN.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.BackBTN.Location = new System.Drawing.Point(254, 19); + this.BackBTN.Location = new System.Drawing.Point(254, 20); this.BackBTN.Name = "BackBTN"; - this.BackBTN.Size = new System.Drawing.Size(42, 21); + this.BackBTN.Size = new System.Drawing.Size(42, 22); this.BackBTN.TabIndex = 31; this.BackBTN.Text = "Back"; this.BackBTN.UseVisualStyleBackColor = true; @@ -280,12 +280,12 @@ // // Form1 // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(49)))), ((int)(((byte)(107)))), ((int)(((byte)(223))))); this.BackgroundImage = global::ARCHBLOXLauncherGUI.Properties.Resources.animated; this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.ClientSize = new System.Drawing.Size(302, 193); + this.ClientSize = new System.Drawing.Size(302, 207); this.Controls.Add(this.BackBTN); this.Controls.Add(this.UpdateBTN); this.Controls.Add(this.JoinBTN); diff --git a/Form1.cs b/Form1.cs index 34159d2..f4a8934 100644 --- a/Form1.cs +++ b/Form1.cs @@ -1,6 +1,4 @@ using System; -using System.ComponentModel; -using System.Drawing; using System.Text; using IWshRuntimeLibrary; using System.Diagnostics; @@ -30,16 +28,26 @@ namespace ARCHBLOXLauncherGUI bool ingame = false; bool hosting = false; private static WebClient wc = new WebClient(); - static byte[] raw = wc.DownloadData("https://archblox.com/client/version.txt"); + static byte[] raw = wc.DownloadData("http://archblox.com/client/version.txt"); static string webData = Encoding.UTF8.GetString(raw); static string version_string = webData; static string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Archblx\", @"Versions\"); static string clientPath = Path.Combine(folderPath, version_string + @"\"); static string filePath = Path.Combine(clientPath, "ArchbloxPlayerBeta.exe"); - // animations + delegate void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs e); public Form1() { InitializeComponent(); + // Check for a internet connection + try + { + wc.DownloadData("http://archblox.com/client/version.txt"); + } + catch + { + MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: HttpOpenRequest failed for GET http://archblox.com/client/version.txt, Error ID: 6", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + Environment.Exit(0); + } ARCHBLOXProtocol.ARCHBLOXURIProtocol.Register(); CreateShortcut(); var lastword = ""; @@ -67,7 +75,7 @@ namespace ARCHBLOXLauncherGUI } if (info1 == "" || info2 == "") { - MessageBox.Show("Paramaters are invalid. Please try again. (ID: 500)", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: Invalid Arguments, Error ID: 500", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(0); } var pProcess = new Process(); @@ -99,7 +107,7 @@ namespace ARCHBLOXLauncherGUI } if (info1 == "" || info2 == "") { - MessageBox.Show("Paramaters are invalid. Please try again. (ID: 500)", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: Invalid Arguments, Error ID: 500", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(0); } var pProcess = new Process(); @@ -130,7 +138,6 @@ namespace ARCHBLOXLauncherGUI // close program Environment.Exit(0); } - client = new DiscordRpcClient("996030605106090006"); client.Initialize(); client.SetPresence(new RichPresence() @@ -166,7 +173,7 @@ namespace ARCHBLOXLauncherGUI } if (!System.IO.File.Exists(filePath)) { - DialogResult res = MessageBox.Show("You need to install the latest version of ARCHBLOX to host. Would you like to install it?", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + DialogResult res = MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: Out of date client! To update the client, select Yes or select the Install button on the main menu.", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (res == DialogResult.Yes) { ARCHBLOXLauncherGUI.Form2 form2 = new ARCHBLOXLauncherGUI.Form2(); @@ -175,11 +182,11 @@ namespace ARCHBLOXLauncherGUI } else if (textBox1.Text == "" || textBox2.Text == "") { - MessageBox.Show("Please fill in all of the text fields.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Please fill in all of the text boxes.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (rbxl == false) { - MessageBox.Show("Please use a valid .RBXL! ." + sWord + " is not a supported file format.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: Invalid .RBXL, " + sWord + " is not a supported file format.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { @@ -247,7 +254,7 @@ namespace ARCHBLOXLauncherGUI // joining if (!System.IO.File.Exists(filePath)) { - DialogResult res = MessageBox.Show("You need to install the latest version of ARCHBLOX to join " + serverip.Text + ":" + serverport.Text + ". Would you like to install it?", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + DialogResult res = MessageBox.Show("An error occoured while starting ARCHBLOX\n\nDetails: Out of date client! To update the client, select Yes or select the Install button on the main menu.", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (res == DialogResult.Yes) { ARCHBLOXLauncherGUI.Form2 form2 = new ARCHBLOXLauncherGUI.Form2(); @@ -256,7 +263,7 @@ namespace ARCHBLOXLauncherGUI } else if (serverip.Text == "" || serverport.Text == "") { - MessageBox.Show("Please fill in all of the text fields.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show("Please fill in all of the text boxes.", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { @@ -324,7 +331,7 @@ namespace ARCHBLOXLauncherGUI OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "Choose a RBXL..."; dialog.AddExtension = true; - dialog.Filter = "Place File (*.rbxl)| *.rbxl"; + dialog.Filter = "ROBLOX Place File (*.rbxl)| *.rbxl"; if (DialogResult.OK == dialog.ShowDialog()) { // check if it is a rbxl @@ -339,7 +346,7 @@ namespace ARCHBLOXLauncherGUI if (line.Contains(" fi.Length) / 1000000; } @@ -29,56 +29,73 @@ namespace ARCHBLOXLauncherGUI { InitializeComponent(); // setup other variables - byte[] raw = wc.DownloadData("https://archblox.com/client/version.txt"); - string webData = Encoding.UTF8.GetString(raw); - string version_string = webData; - string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Archblx\", @"Versions\"); - string clientPath = Path.Combine(folderPath, version_string + @"\"); - string filePath = Path.Combine(clientPath, Path.GetFileName(@"https://archblox.com/client/" + version_string + ".zip")); - // setup file paths etc - { - if (Directory.Exists(folderPath)) - { - // since the folder already exists, show size of folder and ask user if they want to delete older versions - DialogResult res = MessageBox.Show("Do you want to delete previous installs of ARCHBLOX? Current size of ARCHBLOX folder: " + GetDirectorySize(folderPath) + "MB.", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Information); - if (res == DialogResult.Yes) - { - label1.Text = "Removing previous installs..."; - Directory.Delete(folderPath, true); - - } - } - } - // setup variables - wc.DownloadProgressChanged += Client_DownloadProgressChanged; - wc.DownloadFileCompleted += Client_DownloadFileCompleted; progressBar1.Style = ProgressBarStyle.Marquee; - label1.Text = "Configuring ARCHBLOX..."; - wc.DownloadProgressChanged += Client_DownloadProgressChanged; - wc.DownloadFileCompleted += Client_DownloadFileCompleted; - if (Directory.Exists(clientPath)) + try { - // ask user if they want to re-install - DialogResult res = MessageBox.Show("The latest version of ARCHBLOX is already installed. Do you want to re-install it?", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); - if (res == DialogResult.Yes) - { - label1.Text = "Removing previous install..."; - Directory.Delete(clientPath, true); - - } - if (res == DialogResult.No) - { - label1.Text = "Cancelled install."; - DontEvenBother = true; - } + wc.DownloadData("http://archblox.com/client/version.txt"); + } + catch + { + MessageBox.Show("An error occoured while installing ARCHBLOX\n\nDetails: HttpOpenRequest failed for GET http://archblox.com/client/version.txt, Error ID: 6", "ARCHBLOX", MessageBoxButtons.OK, MessageBoxIcon.Error); + DontEvenBother = true; } if (DontEvenBother == false) { - // continue with install - Directory.CreateDirectory(clientPath); - wc.DownloadFileAsync(new Uri(@"https://archblox.com/client/" + version_string + ".zip"), filePath); - progressBar1.Style = ProgressBarStyle.Blocks; - handle.WaitOne(); + byte[] raw = wc.DownloadData("http://archblox.com/client/version.txt"); + string webData = Encoding.UTF8.GetString(raw); + string version_string = webData; + string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Archblx\", @"Versions\"); + string clientPath = Path.Combine(folderPath, version_string + @"\"); + string filePath = Path.Combine(Path.GetTempPath(),version_string + ".zip"); + // setup file paths etc + { + if (Directory.Exists(folderPath)) + { + // since the folder already exists, show size of folder and ask user if they want to delete older versions + DialogResult res = MessageBox.Show("Do you want to delete previous installs of ARCHBLOX? Current size of ARCHBLOX folder: " + GetDirectorySize(folderPath) + "MB.", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Information); + if (res == DialogResult.Yes) + { + label1.Text = "Removing previous installs..."; + Directory.Delete(folderPath, true); + } + } + } + // setup variables + wc.DownloadProgressChanged += Client_DownloadProgressChanged; + wc.DownloadFileCompleted += Client_DownloadFileCompleted; + label1.Text = "Configuring ARCHBLOX..."; + if (Directory.Exists(clientPath)) + { + // ask user if they want to re-install + DialogResult res = MessageBox.Show("The latest version of ARCHBLOX is already installed. Do you want to re-install it?", "ARCHBLOX", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + if (res == DialogResult.Yes) + { + label1.Text = "Removing previous install..."; + Directory.Delete(clientPath, true); + + } + if (res == DialogResult.No) + { + label1.Text = "Cancelled install."; + DontEvenBother = true; + } + } + if (DontEvenBother == false) + { + // continue with install + Directory.CreateDirectory(clientPath); + wc.DownloadFileAsync(new Uri(@"http://archblox.com/client/" + version_string + ".zip"), filePath); + progressBar1.Style = ProgressBarStyle.Blocks; + handle.WaitOne(); + } else + { + this.Hide(); + this.Close(); + } + } else + { + this.Hide(); + this.Close(); } } private void Client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) @@ -87,12 +104,12 @@ namespace ARCHBLOXLauncherGUI { // the download has completed, extract zip, setup URI. IsCompleted = true; - byte[] raw = wc.DownloadData("https://archblox.com/client/version.txt"); + byte[] raw = wc.DownloadData("http://archblox.com/client/version.txt"); string webData = Encoding.UTF8.GetString(raw); string version_string = webData; string folderPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Archblx\", @"Versions\"); string clientPath = Path.Combine(folderPath, version_string + @"\"); - string filePath = Path.Combine(clientPath, Path.GetFileName(@"https://archblox.com/client/" + version_string + ".zip")); + string filePath = Path.Combine(Path.GetTempPath(), version_string + ".zip"); ZipFile.ExtractToDirectory(filePath, clientPath); File.Delete(filePath); label1.Text = "Installing URi..."; @@ -109,7 +126,9 @@ namespace ARCHBLOXLauncherGUI { label1.Text = "ARCHBLOX installed without URI."; } - + Thread.Sleep(1000); + this.Hide(); + this.Close(); } } diff --git a/Properties/PublishProfiles/x64.pubxml b/Properties/PublishProfiles/x64.pubxml index 5f86609..b5922c8 100644 --- a/Properties/PublishProfiles/x64.pubxml +++ b/Properties/PublishProfiles/x64.pubxml @@ -1,6 +1,6 @@  diff --git a/Properties/PublishProfiles/x64_netcoreincluded.pubxml b/Properties/PublishProfiles/x64_netcoreincluded.pubxml index 2519d6e..df3cf34 100644 --- a/Properties/PublishProfiles/x64_netcoreincluded.pubxml +++ b/Properties/PublishProfiles/x64_netcoreincluded.pubxml @@ -1,6 +1,6 @@  diff --git a/Properties/PublishProfiles/x86.pubxml b/Properties/PublishProfiles/x86.pubxml index e1b3362..a6cfa59 100644 --- a/Properties/PublishProfiles/x86.pubxml +++ b/Properties/PublishProfiles/x86.pubxml @@ -1,6 +1,6 @@  diff --git a/README.md b/README.md index 440878e..fb714cf 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ ## ARCHBLOXLauncher A Launcher for ARCHBLOX. + +# Credits +p0s0: Helped out with URI +BakonBot: Binary RBXL detection +Stack Exchange members: Most of the funny methods used for a lot of things. +You: for being awesome. B) \ No newline at end of file diff --git a/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll b/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll index 0407730..cee7026 100644 Binary files a/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll and b/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll differ diff --git a/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb b/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb index 3b8c796..30698ab 100644 Binary files a/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb and b/bin/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb differ diff --git a/bin/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll b/bin/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll index 1b8022d..3c97626 100644 Binary files a/bin/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll and b/bin/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll differ diff --git a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs index d02f5bb..cc33afb 100644 --- a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs +++ b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs @@ -19,7 +19,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyProductAttribute("ARCHBLOXLauncherGUI")] [assembly: System.Reflection.AssemblyTitleAttribute("ARCHBLOXLauncherGUI")] [assembly: System.Reflection.AssemblyVersionAttribute("2.7")] -[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://www.github.com/thomasluigi07/ARCHBLOXLauncher")] +[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "http://www.github.com/thomasluigi07/ARCHBLOXLauncher")] // Generated by the MSBuild WriteCodeFragment class. diff --git a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache index b62979e..e01b62f 100644 --- a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache +++ b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache @@ -1 +1 @@ -e7b2af59e3d4d105d76a22845727b3b92c2ba77c +bc0113f22f7454ffa2eed34d308b6d9c26a358a0 diff --git a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.GenerateResource.cache b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.GenerateResource.cache index d943691..1118614 100644 Binary files a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.GenerateResource.cache and b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.GenerateResource.cache differ diff --git a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll index 0407730..cee7026 100644 Binary files a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll and b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.dll differ diff --git a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb index 3b8c796..30698ab 100644 Binary files a/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb and b/obj/Debug/netcoreapp3.1/ARCHBLOXLauncherGUI.pdb differ diff --git a/obj/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll b/obj/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll index 1b8022d..3c97626 100644 Binary files a/obj/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll and b/obj/Debug/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll differ diff --git a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs index 8202580..86ffc45 100644 --- a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs +++ b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfo.cs @@ -13,11 +13,13 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("ARCHBLOXLauncherGUI")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyDescriptionAttribute("ARCHBLOX Launcher")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("2.7")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] [assembly: System.Reflection.AssemblyProductAttribute("ARCHBLOXLauncherGUI")] [assembly: System.Reflection.AssemblyTitleAttribute("ARCHBLOXLauncherGUI")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyVersionAttribute("2.7")] +[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://www.github.com/thomasluigi07/ARCHBLOXLauncher")] // Generated by the MSBuild WriteCodeFragment class. diff --git a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache index f02b267..391d731 100644 --- a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache +++ b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.AssemblyInfoInputs.cache @@ -1 +1 @@ -6f9d16c093487edd1e5a5cc9891c502fd7bc9069 +96d1eaab556670d9b3f5c78fd41934fe1d9ac03e diff --git a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.GeneratedMSBuildEditorConfig.editorconfig b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.GeneratedMSBuildEditorConfig.editorconfig index 3f2c199..b0ffe22 100644 --- a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.GeneratedMSBuildEditorConfig.editorconfig +++ b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.GeneratedMSBuildEditorConfig.editorconfig @@ -1,9 +1,3 @@ is_global = true -build_property.ApplicationManifest = -build_property.StartupObject = -build_property.ApplicationDefaultFont = -build_property.ApplicationHighDpiMode = -build_property.ApplicationUseCompatibleTextRendering = -build_property.ApplicationVisualStyles = build_property.RootNamespace = ARCHBLOXLauncherGUI build_property.ProjectDir = C:\Users\Thomas\source\repos\ARCHBLOXLauncher1\ diff --git a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.assets.cache b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.assets.cache index b2a1404..74a958b 100644 Binary files a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.assets.cache and b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.assets.cache differ diff --git a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.ResolveComReference.cache b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.ResolveComReference.cache index e8d32dd..d6019ae 100644 Binary files a/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.ResolveComReference.cache and b/obj/Release/netcoreapp3.1/ARCHBLOXLauncherGUI.csproj.ResolveComReference.cache differ diff --git a/obj/Release/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll b/obj/Release/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll index 27c79b4..430713c 100644 Binary files a/obj/Release/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll and b/obj/Release/netcoreapp3.1/Interop.IWshRuntimeLibrary.dll differ