ROBLOX Version Downloader

This commit is contained in:
Bitl 2017-08-22 17:59:36 -07:00
parent 4279b90589
commit 825068129e
10 changed files with 6767 additions and 0 deletions

View File

@ -0,0 +1,18 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROBLOX-Version-Downloader", "ROBLOX-Version-Downloader\ROBLOX-Version-Downloader.csproj", "{28A8C063-7E5F-48F6-B23A-B4F70400605F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{28A8C063-7E5F-48F6-B23A-B4F70400605F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28A8C063-7E5F-48F6-B23A-B4F70400605F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28A8C063-7E5F-48F6-B23A-B4F70400605F}.Release|Any CPU.Build.0 = Release|Any CPU
{28A8C063-7E5F-48F6-B23A-B4F70400605F}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,5 @@
public static class GlobalVars
{
public static string VersionHash = "";
public static int Type = 0;
}

View File

@ -0,0 +1,147 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/20/2017
* Time: 3:49 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace ROBLOX_Version_Downloader
{
partial class MainForm
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 27);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(260, 20);
this.textBox1.TabIndex = 0;
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(72, 15);
this.label1.TabIndex = 1;
this.label1.Text = "Version Hash";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(12, 53);
this.progressBar1.Maximum = 150;
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(260, 23);
this.progressBar1.Step = 1;
this.progressBar1.TabIndex = 2;
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 79);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(260, 17);
this.label2.TabIndex = 3;
this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 121);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(260, 23);
this.button1.TabIndex = 4;
this.button1.Text = "DOWNLOAD!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(52, 100);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(83, 16);
this.checkBox1.TabIndex = 5;
this.checkBox1.Text = "2008-2009";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// checkBox2
//
this.checkBox2.Location = new System.Drawing.Point(141, 100);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(79, 15);
this.checkBox2.TabIndex = 6;
this.checkBox2.Text = "2010-2011";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged);
//
// backgroundWorker1
//
this.backgroundWorker1.WorkerReportsProgress = true;
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.BackgroundWorker1DoWork);
this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.BackgroundWorker1ProgressChanged);
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 156);
this.Controls.Add(this.checkBox2);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label2);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
this.Text = "ROBLOX Version Downloader";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -0,0 +1,163 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/20/2017
* Time: 3:49 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Net;
using System.Windows;
using System.IO;
namespace ROBLOX_Version_Downloader
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.VersionHash = textBox1.Text;
}
void Button1Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
void BackgroundWorker1DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
string remoteUri = "http://setup.roblox.com/";
var links = new[] {"null"};
if (GlobalVars.Type == 1)
{
links = new[] {
remoteUri + GlobalVars.VersionHash + "-RobloxApp.zip",
remoteUri + GlobalVars.VersionHash + "-Libraries.zip",
remoteUri + GlobalVars.VersionHash + "-content-music.zip",
remoteUri + GlobalVars.VersionHash + "-redist.zip",
remoteUri + GlobalVars.VersionHash + "-content-sky.zip",
remoteUri + GlobalVars.VersionHash + "-content-sounds.zip",
remoteUri + GlobalVars.VersionHash + "-content-fonts.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures.zip"
};
}
else if (GlobalVars.Type == 2)
{
links = new[] {
remoteUri + GlobalVars.VersionHash + "-RobloxApp.zip",
remoteUri + GlobalVars.VersionHash + "-Libraries.zip",
remoteUri + GlobalVars.VersionHash + "-content-music.zip",
remoteUri + GlobalVars.VersionHash + "-redist.zip",
remoteUri + GlobalVars.VersionHash + "-content-sky.zip",
remoteUri + GlobalVars.VersionHash + "-content-sounds.zip",
remoteUri + GlobalVars.VersionHash + "-content-fonts.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures2.zip"
};
}
/*
else if (GlobalVars.Type == 3)
{
links = new[] {
remoteUri + GlobalVars.VersionHash + "-RobloxApp.zip",
remoteUri + GlobalVars.VersionHash + "-Libraries.zip",
remoteUri + GlobalVars.VersionHash + "-content-music.zip",
remoteUri + GlobalVars.VersionHash + "-redist.zip",
remoteUri + GlobalVars.VersionHash + "-content-sky.zip",
remoteUri + GlobalVars.VersionHash + "-content-sounds.zip",
remoteUri + GlobalVars.VersionHash + "-content-fonts.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures2.zip",
remoteUri + GlobalVars.VersionHash + "-content-shaders.zip",
remoteUri + GlobalVars.VersionHash + "-content-particles.zip"
};
}
else if (GlobalVars.Type == 4)
{
links = new[] {
remoteUri + GlobalVars.VersionHash + "-RobloxApp.zip",
remoteUri + GlobalVars.VersionHash + "-Libraries.zip",
remoteUri + GlobalVars.VersionHash + "-content-music.zip",
remoteUri + GlobalVars.VersionHash + "-redist.zip",
remoteUri + GlobalVars.VersionHash + "-content-sky.zip",
remoteUri + GlobalVars.VersionHash + "-content-sounds.zip",
remoteUri + GlobalVars.VersionHash + "-content-fonts.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures.zip",
remoteUri + GlobalVars.VersionHash + "-content-textures2.zip",
remoteUri + GlobalVars.VersionHash + "-content-shaders.zip",
remoteUri + GlobalVars.VersionHash + "-content-particles.zip",
remoteUri + GlobalVars.VersionHash + "-BuiltInPlugins.zip"
};
}
*/
var percentProgressStep = 0;
using (var client = new WebClient())
foreach (string l in links)
{
string filename = l.Replace((remoteUri + GlobalVars.VersionHash + "-"),"");
label2.Text = "Downloading: " + filename;
client.DownloadFile(l, filename);
percentProgressStep += 15;
backgroundWorker1.ReportProgress(percentProgressStep);
}
}
void BackgroundWorker1ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
if (progressBar1.Value >= 100)
{
progressBar1.Value = progressBar1.Maximum;
label2.Text = "Download Complete!";
}
}
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
checkBox2.Checked = false;
GlobalVars.Type = 1;
}
else if (checkBox1.Checked == false)
{
GlobalVars.Type = 0;
}
}
void CheckBox2CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked == true)
{
checkBox1.Checked = false;
GlobalVars.Type = 2;
}
else if (checkBox2.Checked == false)
{
GlobalVars.Type = 0;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/20/2017
* Time: 3:49 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace ROBLOX_Version_Downloader
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -0,0 +1,31 @@
#region Using directives
using System;
using System.Reflection;
using System.Runtime.InteropServices;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ROBLOX-Version-Downloader")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ROBLOX-Version-Downloader")]
[assembly: AssemblyCopyright("Copyright 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{28A8C063-7E5F-48F6-B23A-B4F70400605F}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>ROBLOX_Version_Downloader</RootNamespace>
<AssemblyName>ROBLOX-Version-Downloader</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\dlicon.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="GlobalVars.cs" />
<Compile Include="MainForm.cs" />
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>