BMTuneSource/frmBaseromConvert.cs

356 lines
16 KiB
C#

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
internal class frmBaseromConvert : Form
{
private Class18 class18_0;
private IContainer icontainer_0;
private Label labelProductName;
private Label label_Baserom;
private DataGridView dataGridView1;
private Label label6;
private Button okButton;
private Button button1;
private Label label4;
private DataGridViewTextBoxColumn Column2;
private DataGridViewTextBoxColumn Column1;
private DataGridViewTextBoxColumn Column3;
private Label label1;
private Label label3;
private Panel panel1;
public frmBaseromConvert(ref Class18 class18_1)
{
this.InitializeComponent();
this.class18_0 = class18_1;
this.class18_0.Binary_Files_0.ReloadVersion();
for (int i = this.class18_0.Binary_Files_0.class1_Version_0.Count - 1; i >= 0; i--)
{
Class1_Version class1_Version_1 = this.class18_0.Binary_Files_0.class1_Version_0[i];
this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[this.dataGridView1.RowCount - 1].Cells[0].Value = "V" + class1_Version_1.Version.ToString().Substring(0, 1) + "." + class1_Version_1.Version.ToString().Substring(1, 1) + class1_Version_1.Version.ToString().Substring(2, 1);
this.dataGridView1.Rows[this.dataGridView1.RowCount - 1].Cells[1].Value = class1_Version_1.Stable.ToString();
this.dataGridView1.Rows[this.dataGridView1.RowCount - 1].Cells[2].Value = class1_Version_1.Infos;
}
//Select last stable version
if (this.dataGridView1.Rows.Count > 0)
{
for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
{
if (this.dataGridView1.Rows[i].Cells.Count >= 2)
{
if (this.dataGridView1.Rows[i].Cells[1].Value.ToString() == "True")
{
this.dataGridView1.CurrentCell = this.dataGridView1.Rows[i].Cells[0];
this.dataGridView1.Rows[i].Selected = true;
string TVers = this.dataGridView1.Rows[i].Cells[0].Value.ToString();
TVers = TVers.Replace("V", "");
label4.Text = TVers;
i = this.dataGridView1.Rows.Count;
}
}
}
}
label_Baserom.Text = this.class18_0.RomVersion.ToString().Substring(0, 1) + "." + this.class18_0.RomVersion.ToString().Substring(1, 1) + this.class18_0.RomVersion.ToString().Substring(2, 1);
SetRestoreText();
foreach (Control control in base.Controls)
{
float emSize = control.Font.Size * (class18_0.class10_settings_0.scaleRate / 100f);
control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit);
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBaseromConvert));
this.labelProductName = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.label_Baserom = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label6 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// labelProductName
//
this.labelProductName.AutoSize = true;
this.labelProductName.Font = new System.Drawing.Font("Lucida Sans", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelProductName.Location = new System.Drawing.Point(119, 10);
this.labelProductName.Margin = new System.Windows.Forms.Padding(7, 0, 3, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 18);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(165, 18);
this.labelProductName.TabIndex = 19;
this.labelProductName.Text = "Baserom Converter";
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.AutoSize = true;
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.Location = new System.Drawing.Point(262, 525);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(141, 25);
this.okButton.TabIndex = 24;
this.okButton.Text = "&Convert Baserom";
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// label_Baserom
//
this.label_Baserom.AutoSize = true;
this.label_Baserom.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Baserom.Location = new System.Drawing.Point(118, 6);
this.label_Baserom.Name = "label_Baserom";
this.label_Baserom.Size = new System.Drawing.Size(34, 15);
this.label_Baserom.TabIndex = 27;
this.label_Baserom.Text = "1.00";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column2,
this.Column1,
this.Column3});
this.dataGridView1.Location = new System.Drawing.Point(5, 109);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(398, 410);
this.dataGridView1.TabIndex = 29;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentDoubleClick);
//
// Column2
//
this.Column2.HeaderText = "Version";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 60;
//
// Column1
//
this.Column1.HeaderText = "Stable";
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
this.Column1.Width = 50;
//
// Column3
//
this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.Column3.HeaderText = "Infos";
this.Column3.Name = "Column3";
this.Column3.ReadOnly = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(82, 38);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(226, 14);
this.label6.TabIndex = 32;
this.label6.Text = "Convert the Baserom Version of BMTune";
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.AutoSize = true;
this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.button1.Location = new System.Drawing.Point(5, 525);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(87, 25);
this.button1.TabIndex = 34;
this.button1.Text = "Cancel";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.Blue;
this.label4.Location = new System.Drawing.Point(118, 25);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(35, 13);
this.label4.TabIndex = 37;
this.label4.Text = "1.00";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(15, 5);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(95, 14);
this.label1.TabIndex = 38;
this.label1.Text = "Current Version:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(32, 25);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 14);
this.label3.TabIndex = 39;
this.label3.Text = "New Version:";
//
// panel1
//
this.panel1.BackColor = System.Drawing.SystemColors.ControlLight;
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.label_Baserom);
this.panel1.Controls.Add(this.label4);
this.panel1.Location = new System.Drawing.Point(111, 59);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(173, 44);
this.panel1.TabIndex = 40;
//
// frmBaseromConvert
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(409, 557);
this.Controls.Add(this.panel1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label6);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.labelProductName);
this.Controls.Add(this.okButton);
this.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmBaseromConvert";
this.Padding = new System.Windows.Forms.Padding(10);
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Baserom Converter";
this.Load += new System.EventHandler(this.frmAboutBox_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
private void frmAboutBox_Load(object sender, EventArgs e)
{
}
private void SetRestoreText()
{
string TVers = label4.Text;
TVers = TVers.Replace(".", "");
int VersionI = int.Parse(TVers);
if (VersionI == this.class18_0.RomVersion) okButton.Text = "&Restore Baserom";
else okButton.Text = "&Convert Baserom";
}
public void StartConvert()
{
bool DoingNormalConvert = true;
string TVers = label4.Text;
TVers = TVers.Replace(".", "");
int VersionI = int.Parse(TVers);
if (VersionI == this.class18_0.RomVersion)
{
if (MessageBox.Show(Form.ActiveForm, "Do you want to restore using the Calibration Export/Import method?", "BMTune", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
{
string ExportingPath = Environment.GetEnvironmentVariable("TEMP") + @"\ToImportCal.bmc";
DoingNormalConvert = false;
//################################################
this.class18_0.method_73(ExportingPath); //Export
//
this.class18_0.OpenSilentBRom = true;
this.class18_0.method_63(false, 100, Path.GetFileName(this.class18_0.method_25_GetFilename())); //load V1.00 baserom
this.class18_0.OpenSilentBRom = false;
this.class18_0.ConvertBaseromVersionToVersion(VersionI);
this.class18_0.RomVersion = VersionI;
this.class18_0.ResetBaseromParameters();
//
this.class18_0.method_75(ExportingPath, false, 1); //Import
if (File.Exists(ExportingPath)) File.Delete(ExportingPath);
//#######################################################
}
}
if (DoingNormalConvert) this.class18_0.ConvertBaseromVersionToVersion(VersionI);
//Add warning for emulator connected
if (this.class18_0.class25_0.GetConnected()) MessageBox.Show(Form.ActiveForm, "You need to upload again 'baserom+calibration' to the emulator for it to refresh!", "BMTune", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
this.Close();
}
private void okButton_Click(object sender, EventArgs e)
{
StartConvert();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
string TVers = this.dataGridView1.Rows[this.dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value.ToString();
TVers = TVers.Replace("V", "");
label4.Text = TVers;
SetRestoreText();
}
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
StartConvert();
}
}