Add compression function and Place compressor to SDK #61
|
|
@ -830,6 +830,33 @@ namespace Novetus.Core
|
||||||
|
|
||||||
return outFname;
|
return outFname;
|
||||||
}
|
}
|
||||||
|
public static void Compress(string currFile) // taken from https://github.com/IDeletedSystem64/rblx-compressor
|
||||||
|
{
|
||||||
|
var newFile = currFile + ".bz2";
|
||||||
|
var input = File.OpenRead(currFile);
|
||||||
|
var output = File.Create(newFile);
|
||||||
|
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
{
|
||||||
|
using (var compressor = new Ionic.BZip2.ParallelBZip2OutputStream(output))
|
||||||
|
{
|
||||||
|
byte[] buffer = new byte[2048];
|
||||||
|
int n;
|
||||||
|
while ((n = input.Read(buffer, 0, buffer.Length)) > 0)
|
||||||
|
{
|
||||||
|
compressor.Write(buffer, 0, n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void Pump(Stream src, Stream dest)
|
private static void Pump(Stream src, Stream dest)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,14 @@
|
||||||
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem(new string[] {
|
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
"Roblox Script Generator"}, "ROBLOXScriptGenerator.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
"Roblox Script Generator"}, "ROBLOXScriptGenerator.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem(new string[] {
|
System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
"Roblox Legacy Place Converter"}, "ROBLOXLegacyPlaceConverter.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
"Place Compressor"}, "ModCreator.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem(new string[] {
|
System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
"Diogenes Editor"}, "Diogenes.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
"Roblox Legacy Place Converter"}, "ROBLOXLegacyPlaceConverter.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem(new string[] {
|
System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
"ClientScript Tester"}, "ClientScriptTester.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
"Diogenes Editor"}, "Diogenes.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem(new string[] {
|
System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
|
"ClientScript Tester"}, "ClientScriptTester.png", System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
|
System.Windows.Forms.ListViewItem listViewItem14 = new System.Windows.Forms.ListViewItem(new string[] {
|
||||||
"XML Content Editor"}, 9, System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
"XML Content Editor"}, 9, System.Drawing.Color.Empty, System.Drawing.Color.Empty, new System.Drawing.Font("Microsoft Sans Serif", 9.75F));
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NovetusSDK));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NovetusSDK));
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
|
@ -106,7 +108,8 @@
|
||||||
listViewItem10,
|
listViewItem10,
|
||||||
listViewItem11,
|
listViewItem11,
|
||||||
listViewItem12,
|
listViewItem12,
|
||||||
listViewItem13});
|
listViewItem13,
|
||||||
|
listViewItem14});
|
||||||
this.listView1.Location = new System.Drawing.Point(12, 102);
|
this.listView1.Location = new System.Drawing.Point(12, 102);
|
||||||
this.listView1.Name = "listView1";
|
this.listView1.Name = "listView1";
|
||||||
this.listView1.Size = new System.Drawing.Size(414, 260);
|
this.listView1.Size = new System.Drawing.Size(414, 260);
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ enum SDKApps
|
||||||
ClientScriptDoc,
|
ClientScriptDoc,
|
||||||
SplashTester,
|
SplashTester,
|
||||||
ScriptGenerator,
|
ScriptGenerator,
|
||||||
|
PlaceCompressor,
|
||||||
LegacyPlaceConverter,
|
LegacyPlaceConverter,
|
||||||
DiogenesEditor,
|
DiogenesEditor,
|
||||||
ClientScriptTester,
|
ClientScriptTester,
|
||||||
|
|
@ -142,6 +143,10 @@ public partial class NovetusSDK : Form
|
||||||
proc.StartInfo.UseShellExecute = false;
|
proc.StartInfo.UseShellExecute = false;
|
||||||
proc.Start();
|
proc.Start();
|
||||||
break;
|
break;
|
||||||
|
case SDKApps.PlaceCompressor:
|
||||||
|
PlaceCompressor pc = new PlaceCompressor();
|
||||||
|
pc.Show();
|
||||||
|
break;
|
||||||
case SDKApps.LegacyPlaceConverter:
|
case SDKApps.LegacyPlaceConverter:
|
||||||
Process proc2 = new Process();
|
Process proc2 = new Process();
|
||||||
proc2.StartInfo.FileName = GlobalPaths.DataDir + "\\Roblox_Legacy_Place_Converter.exe";
|
proc2.StartInfo.FileName = GlobalPaths.DataDir + "\\Roblox_Legacy_Place_Converter.exe";
|
||||||
|
|
@ -149,6 +154,7 @@ public partial class NovetusSDK : Form
|
||||||
proc2.StartInfo.UseShellExecute = false;
|
proc2.StartInfo.UseShellExecute = false;
|
||||||
proc2.Start();
|
proc2.Start();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDKApps.DiogenesEditor:
|
case SDKApps.DiogenesEditor:
|
||||||
DiogenesEditor dio = new DiogenesEditor();
|
DiogenesEditor dio = new DiogenesEditor();
|
||||||
dio.Show();
|
dio.Show();
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACw
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACw
|
||||||
FgAAAk1TRnQBSQFMAgEBDQEAAVABAAFQAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
FgAAAk1TRnQBSQFMAgEBDQEAAVgBAAFYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
|
@ -154,9 +154,9 @@
|
||||||
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
||||||
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
||||||
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wYAAd0BtAHdBf8B3QG0
|
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wYAAd0BtAHdBf8B3QG0
|
||||||
Ad01AAG0AdYBtAHuAQcB+ALrAbQB1gG0NAAB/wHxAbQB8AH0AfMB6wJtAfABtAHxNAAB/wHvAvgC6wHt
|
Ad01AAG0AdYBtAG8AQcB7ALrAbQB1gG0NAAB/wHxAbQB8AH0AfMB6wJtAfABtAHxNAAB/wHvAuwC6wHt
|
||||||
AfcB6wH0MgABGwdSARwBkgHtAfcB6wH0MgABUgblAVkBUgH0AfgB7wHrAfQyAAFSAeUCWAM3AeUBUgH0
|
AfcB6wH0MgABGwdSARwBkgHtAfcB6wH0MgABUgblAVkBUgH0AewB7wHrAfQyAAFSAeUCWAM3AeUBUgH0
|
||||||
AfgB7wHrAfQyAAFSAeUBWAOgATcB5QFSAf8B7AHvAfgB9DIAAVIB5QVeAeUBUgH/AewB7wH4AfQyAAFS
|
AewB7wHrAfQyAAFSAeUBWAOgATcB5QFSAf8B7AHvAewB9DIAAVIB5QVeAeUBUgH/AewB7wHsAfQyAAFS
|
||||||
AeUFWAHlAVIB/wHtAe8B7AH0MgABUgHlAVgDoAFYAeUBUgH/Ae0B7wHsAfQyAAFSBOUCXgHlAVIB/wGS
|
AeUFWAHlAVIB/wHtAe8B7AH0MgABUgHlAVgDoAFYAeUBUgH/Ae0B7wHsAfQyAAFSBOUCXgHlAVIB/wGS
|
||||||
Ae8B7AH0MgABeQdYAXkB8gHtAe8B7AH0MgABGwFSAVgBHAH3BZIC7wHsAfQzAAHzAZkBHAH3Ae8FBwHv
|
Ae8B7AH0MgABeQdYAXkB8gHtAe8B7AH0MgABGwFSAVgBHAH3BZIC7wHsAfQzAAHzAZkBHAH3Ae8FBwHv
|
||||||
Ae0B/zQAAv8B9AHvAvcEkgG8Af9aAAH/AZgaAASzAa0BxwEABa0BvAS1CrQBvAUAA20CSQFtDAACcgsA
|
Ae0B/zQAAv8B9AHvAvcEkgG8Af9aAAH/AZgaAASzAa0BxwEABa0BvAS1CrQBvAUAA20CSQFtDAACcgsA
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
partial class PlaceCompressor
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlaceCompressor));
|
||||||
|
this.statusLabel = new System.Windows.Forms.Label();
|
||||||
|
this.processStatus = new System.Windows.Forms.Label();
|
||||||
|
this.selectButton = new System.Windows.Forms.Button();
|
||||||
|
this.selectedText = new System.Windows.Forms.Label();
|
||||||
|
this.currentFile = new System.Windows.Forms.Label();
|
||||||
|
this.sourceLink = new System.Windows.Forms.LinkLabel();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// statusLabel
|
||||||
|
//
|
||||||
|
this.statusLabel.AutoSize = true;
|
||||||
|
this.statusLabel.Location = new System.Drawing.Point(12, 15);
|
||||||
|
this.statusLabel.Name = "statusLabel";
|
||||||
|
this.statusLabel.Size = new System.Drawing.Size(40, 13);
|
||||||
|
this.statusLabel.TabIndex = 0;
|
||||||
|
this.statusLabel.Text = "Status:";
|
||||||
|
//
|
||||||
|
// processStatus
|
||||||
|
//
|
||||||
|
this.processStatus.AutoSize = true;
|
||||||
|
this.processStatus.Location = new System.Drawing.Point(49, 15);
|
||||||
|
this.processStatus.Name = "processStatus";
|
||||||
|
this.processStatus.Size = new System.Drawing.Size(74, 13);
|
||||||
|
this.processStatus.TabIndex = 1;
|
||||||
|
this.processStatus.Text = "processStatus";
|
||||||
|
//
|
||||||
|
// selectButton
|
||||||
|
//
|
||||||
|
this.selectButton.Location = new System.Drawing.Point(12, 31);
|
||||||
|
this.selectButton.Name = "selectButton";
|
||||||
|
this.selectButton.Size = new System.Drawing.Size(340, 23);
|
||||||
|
this.selectButton.TabIndex = 2;
|
||||||
|
this.selectButton.Text = "Select Place";
|
||||||
|
this.selectButton.UseVisualStyleBackColor = true;
|
||||||
|
this.selectButton.Click += new System.EventHandler(this.selectButton_Click);
|
||||||
|
//
|
||||||
|
// selectedText
|
||||||
|
//
|
||||||
|
this.selectedText.AutoSize = true;
|
||||||
|
this.selectedText.Location = new System.Drawing.Point(12, 57);
|
||||||
|
this.selectedText.Name = "selectedText";
|
||||||
|
this.selectedText.Size = new System.Drawing.Size(82, 13);
|
||||||
|
this.selectedText.TabIndex = 3;
|
||||||
|
this.selectedText.Text = "Selected Place:";
|
||||||
|
//
|
||||||
|
// currentFile
|
||||||
|
//
|
||||||
|
this.currentFile.AutoSize = true;
|
||||||
|
this.currentFile.Location = new System.Drawing.Point(91, 57);
|
||||||
|
this.currentFile.Name = "currentFile";
|
||||||
|
this.currentFile.Size = new System.Drawing.Size(41, 13);
|
||||||
|
this.currentFile.TabIndex = 4;
|
||||||
|
this.currentFile.Text = "currFile";
|
||||||
|
//
|
||||||
|
// sourceLink
|
||||||
|
//
|
||||||
|
this.sourceLink.AutoSize = true;
|
||||||
|
this.sourceLink.LinkColor = System.Drawing.Color.Black;
|
||||||
|
this.sourceLink.Location = new System.Drawing.Point(12, 80);
|
||||||
|
this.sourceLink.Name = "sourceLink";
|
||||||
|
this.sourceLink.Size = new System.Drawing.Size(298, 13);
|
||||||
|
this.sourceLink.TabIndex = 5;
|
||||||
|
this.sourceLink.TabStop = true;
|
||||||
|
this.sourceLink.Text = "Checkout the fully featured compressor and source on GitHub";
|
||||||
|
this.sourceLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.sourceLink_LinkClicked);
|
||||||
|
//
|
||||||
|
// PlaceCompressor
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||||
|
this.ClientSize = new System.Drawing.Size(364, 105);
|
||||||
|
this.Controls.Add(this.sourceLink);
|
||||||
|
this.Controls.Add(this.currentFile);
|
||||||
|
this.Controls.Add(this.selectedText);
|
||||||
|
this.Controls.Add(this.selectButton);
|
||||||
|
this.Controls.Add(this.processStatus);
|
||||||
|
this.Controls.Add(this.statusLabel);
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Name = "PlaceCompressor";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "RBLX Compressor";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Label statusLabel;
|
||||||
|
private System.Windows.Forms.Label processStatus;
|
||||||
|
private System.Windows.Forms.Button selectButton;
|
||||||
|
private System.Windows.Forms.Label selectedText;
|
||||||
|
private System.Windows.Forms.Label currentFile;
|
||||||
|
private System.Windows.Forms.LinkLabel sourceLink;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
#region Usings
|
||||||
|
using Novetus.Core;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.IO;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public partial class PlaceCompressor : Form
|
||||||
|
{
|
||||||
|
private bool successful;
|
||||||
|
private string currFile;
|
||||||
|
public PlaceCompressor()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
processStatus.Text = "Idle";
|
||||||
|
currentFile.Text = "No place selected!";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void selectButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OpenFileDialog ofd = new OpenFileDialog();
|
||||||
|
{
|
||||||
|
ofd.Filter = "Roblox Level (*.rbxl)|*.rbxl|Roblox Level|*.rbxlx";
|
||||||
|
ofd.FilterIndex = 1;
|
||||||
|
ofd.Title = "Load Roblox Level...";
|
||||||
|
if (ofd.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
currentFile.Text = ofd.SafeFileName;
|
||||||
|
currFile = Path.GetFullPath(ofd.FileName);
|
||||||
|
selectButton.Enabled = false;
|
||||||
|
processStatus.Text = "Compressing...";
|
||||||
|
Util.ConsolePrint("Beginning compression of " + ofd.SafeFileName, 3);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Util.Compress(currFile);
|
||||||
|
successful = true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
successful = false;
|
||||||
|
Util.ConsolePrint("Something went wrong while compressing: " + ex.Message, 2);
|
||||||
|
MessageBox.Show("Something went wrong while compressing the Place: \n" + ex.Message, "RBLX Compressor - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
selectButton.Enabled = true;
|
||||||
|
System.GC.Collect(); // I know this isn't recommended, but repeated use in a single session can cause memory leaks otherwise.
|
||||||
|
if (!successful) { processStatus.Text = "Error"; }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
processStatus.Text = "Compression Finished!";
|
||||||
|
Util.ConsolePrint("Compression Finished", 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sourceLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start("https://github.com/IDeletedSystem64/rblx-compressor");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,145 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAD///8A////AP///wD///8A////ANhsJXDYbCXg0mwpdltoaA1ZZmYPVmVlGVRhYRtSYGAZzWsqc9ds
|
||||||
|
JeLXbCVx////AP///wD///8A////AP///wDfgEHg66+I/9d/RPBcamqGXGpqkFlmZuVWZWXpVmNj5dV+
|
||||||
|
Q/Lrrob/3oBB4f///wD///8A////AP///wBrd3cD1ZFgfeCTXuTKjWGKYW9vMV5ra0tjb2/+XGpq/l5r
|
||||||
|
a/7Ii1+J4ZRe4eGUXnH///8A////AP///wD///8Ab3p6EYiSktJ8h4f/eoWF/3N/f/9lcnL9jZeX/5yk
|
||||||
|
pP9rdnb/V2VlJP///wD///8AJ5/CcCefwv8nn8L/J5/C/yifwf8unLz/MJq4/zKYtP9YfYXHa3d314qU
|
||||||
|
lP+epqb/bXl5/1toaCT///8A////ACefwv9b6O//YPT2/1309v9Z9Pb/VfT2/1H09v9J5+7/Kp2+/2h0
|
||||||
|
dDV4g4P/oKio/3B7e/9camok////AP///wAnn8L/Z/X2/yrc3f8c1NT/F9LU/xHS0/8V2dv/UvT2/yef
|
||||||
|
wv9qd3cjd4KC/6Kqqv9xfn7/YG1tJP///wD///8AJ5/C/2v19v8n1df/o/T0/6H09P+g9PT/EdLT/1b0
|
||||||
|
9v8nn8L/bXl5H4SGgfWiqan/fIN+/2NvbyT///8A////ACefwv9u9fb/TPP0/0jz9P9F8/T/QPL0/zzy
|
||||||
|
9P9a9Pb/J5/C/3B8fB5/hH70pKuq/3uDgP9lcnIk////AP///wAnn8L/cfX2/zje3/8s1tf/KNXX/yPV
|
||||||
|
1v8n3N3/XvT2/yefwv91gYEei42G9Katrf+Dh4T/aHV1JP///wD///8AJ5/C/3P19v812Nj/p/T0/6b0
|
||||||
|
9P+k9PT/JNXW/2L09v8nn8L/d4ODHoaLhPSor67/gYeG/215eST///8A////ACefwv929fb/V/P0/1Tz
|
||||||
|
9P9R8/T/TvP0/0rz9P9m9fb/J5/C/3qGhh6Qk4v0qrCw/4eOi/9wfHwk////AP///wAnn8LBRM/Z/0re
|
||||||
|
3/810tL/NM7O/zLMzf880ND/QsjO/zacuddgkZ1giY6L9620s/+GjIv/cn5+JP///wD///8AJ5/CWief
|
||||||
|
wv1Dxs//ka2u/5qiov+Xn5//lp6e/5KcnP+Rmpr/k5yc/6Cpqf+wtrb/ho6M/3eBgST///8A////AP//
|
||||||
|
/wAnn8JOM56+vpCorPmepqb/qrGx/7m/v/+4vr7/try8/7W7u/+zubn/sLe3/4WQkP95hIQh////AP//
|
||||||
|
/wD///8A////AJObmwOTm5sXkpqaM52lpd6aoqL/maGh/5aenv+Unp7/kpyc/46YmPqSmpqWfoiIDv//
|
||||||
|
/wD///8A+AAAAPgAAADwAAAA8AMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAD
|
||||||
|
AACAAwAAwAMAAA==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
|
|
@ -369,6 +369,12 @@
|
||||||
<Compile Include="Forms\NovetusConsole.Designer.cs">
|
<Compile Include="Forms\NovetusConsole.Designer.cs">
|
||||||
<DependentUpon>NovetusConsole.cs</DependentUpon>
|
<DependentUpon>NovetusConsole.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Forms\SDK\PlaceCompressor.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\SDK\PlaceCompressor.Designer.cs">
|
||||||
|
<DependentUpon>PlaceCompressor.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Forms\SDK\ModCreator.cs">
|
<Compile Include="Forms\SDK\ModCreator.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
@ -497,6 +503,9 @@
|
||||||
<EmbeddedResource Include="Forms\NovetusConsole.resx">
|
<EmbeddedResource Include="Forms\NovetusConsole.resx">
|
||||||
<DependentUpon>NovetusConsole.cs</DependentUpon>
|
<DependentUpon>NovetusConsole.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Forms\SDK\PlaceCompressor.resx">
|
||||||
|
<DependentUpon>PlaceCompressor.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\SDK\ModCreator.resx">
|
<EmbeddedResource Include="Forms\SDK\ModCreator.resx">
|
||||||
<DependentUpon>ModCreator.cs</DependentUpon>
|
<DependentUpon>ModCreator.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue