HondaReflashTool/Editortable.cs

1372 lines
71 KiB
C#

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Drawing;
using System.Windows.Forms;
using DarkUI.Controls;
using DarkUI.Forms;
using System.Runtime.CompilerServices;
public class Editortable : DarkForm
{
private string vssUnits_0 = "KPH";
private Editortable Editortable_0;
private IContainer icontainer_0;
private IContainer icontainer_1;
public bool bool_0 = true;
public static float float_0 = 1f;
public static float[] float_1 = new float[2];
private DarkTreeView treeView1;
private DarkGroupBox groupBox1;
public DataGridView dataGridView_0;
internal ClassEditor ClassEditor_0;
public string LoadedFilename;
public bool IsFullBinary = true;
public static ImageList imageList_0;
private OpenFileDialog openFileDialog1;
private SaveFileDialog saveFileDialog1;
public GForm_Main GForm_Main_0;
private DarkToolStrip darkToolStrip1;
private ToolStripDropDownButton toolStripDropDownButton1;
private ToolStripMenuItem openbinToolStripMenuItem;
private ToolStripMenuItem savebinToolStripMenuItem;
private ToolStripMenuItem fixChecksumsToolStripMenuItem;
private ToolStripSeparator toolStripSeparator1;
private ToolStripMenuItem openDefinitionsFolderToolStripMenuItem;
private ToolStripDropDownButton toolStripDropDownButton2;
private ToolStripMenuItem undoToolStripMenuItem;
public ToolStripMenuItem redoToolStripMenuItem;
private ToolStripSeparator toolStripSeparator2;
private ToolStripMenuItem increaseSelectionToolStripMenuItem;
private SplitContainer splitContainer1;
private SplitContainer splitContainer2;
private DarkTextBox darkTextBox_0;
private ToolStripDropDownButton toolStripDropDownButton3;
private FolderBrowserDialog folderBrowserDialog1;
private ToolStripMenuItem removeBootloaderInbinToolStripMenuItem;
private ToolStripMenuItem convertrwdTobinToolStripMenuItem;
private ToolStripMenuItem convertbinTorwdToolStripMenuItem;
private ToolStripMenuItem openOBD2ScanToolToolStripMenuItem;
private ContextMenuStrip contextMenuStrip1;
private IContainer components;
private ToolStripMenuItem clearLogsToolStripMenuItem;
private ToolStripMenuItem loadReloadDefinitionToolStripMenuItem;
private ToolStripMenuItem decreaseSelectionToolStripMenuItem;
internal Editortable(ref GForm_Main GForm_Main_1)
{
GForm_Main_0 = GForm_Main_1;
this.InitializeComponent();
Editortable_0 = this;
if (this.ClassEditor_0 != null) this.ClassEditor_0 = null;
this.ClassEditor_0 = new ClassEditor(ref Editortable_0);
this.Text = "Honda&Acura Rom Tables Editor (" + this.GForm_Main_0.Version + ")";
}
public void Loadingg()
{
//string LastOpenFilePath = Application.StartupPath + @"\LastFileOpened.txt";
//if (File.Exists(LastOpenFilePath))
if (GForm_Main_0.LastFileOpenedEditor != "")
{
DialogResult result = DarkMessageBox.Show(this, "Do you want to reopen the last file you have worked on?", "Reopen last file used", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
if (result == DialogResult.Yes)
{
//LoadThisFile(File.ReadAllText(LastOpenFilePath));
LoadThisFile(GForm_Main_0.LastFileOpenedEditor);
}
}
}
public void method_Log(string string_3)
{
this.darkTextBox_0.Text += string_3;
//Console.Write(string_3);
}
public void method_1(string string_3)
{
try
{
//With newline automaticly added
//Console.WriteLine(string_3);
Editortable.Class5 @class = new Editortable.Class5();
@class.Editortable_0 = this;
@class.string_0 = string_3;
this.darkTextBox_0.BeginInvoke(new MethodInvoker(@class.method_0));
}
catch { }
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Editortable));
this.treeView1 = new DarkUI.Controls.DarkTreeView();
this.groupBox1 = new DarkUI.Controls.DarkGroupBox();
this.dataGridView_0 = new System.Windows.Forms.DataGridView();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.darkToolStrip1 = new DarkUI.Controls.DarkToolStrip();
this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();
this.openbinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.savebinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fixChecksumsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.loadReloadDefinitionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openDefinitionsFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripDropDownButton2 = new System.Windows.Forms.ToolStripDropDownButton();
this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.increaseSelectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.decreaseSelectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripDropDownButton3 = new System.Windows.Forms.ToolStripDropDownButton();
this.openOBD2ScanToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertrwdTobinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.convertbinTorwdToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removeBootloaderInbinToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.darkTextBox_0 = new DarkUI.Controls.DarkTextBox();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.clearLogsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_0)).BeginInit();
this.darkToolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// treeView1
//
this.treeView1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.treeView1.EvenNodeColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.treeView1.FocusedNodeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(110)))), ((int)(((byte)(175)))));
this.treeView1.ImageIndex = 0;
this.treeView1.ImageList = null;
this.treeView1.Location = new System.Drawing.Point(0, 0);
this.treeView1.Margin = new System.Windows.Forms.Padding(2);
this.treeView1.MaxDragChange = 20;
this.treeView1.Name = "treeView1";
this.treeView1.NonFocusedNodeColor = System.Drawing.Color.FromArgb(((int)(((byte)(92)))), ((int)(((byte)(92)))), ((int)(((byte)(92)))));
this.treeView1.OddNodeColor = System.Drawing.Color.FromArgb(((int)(((byte)(57)))), ((int)(((byte)(60)))), ((int)(((byte)(62)))));
this.treeView1.SelectedImageIndex = 0;
this.treeView1.SelectWithArrowKeys = false;
this.treeView1.Size = new System.Drawing.Size(297, 517);
this.treeView1.TabIndex = 2;
this.treeView1.SelectedNodesChanged += new System.EventHandler(this.treeView1_AfterSelect);
//
// groupBox1
//
this.groupBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.groupBox1.Controls.Add(this.dataGridView_0);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
this.groupBox1.Size = new System.Drawing.Size(799, 361);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Table:";
//
// dataGridView_0
//
this.dataGridView_0.AllowUserToAddRows = false;
this.dataGridView_0.AllowUserToDeleteRows = false;
this.dataGridView_0.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.dataGridView_0.BackgroundColor = System.Drawing.SystemColors.ControlDarkDark;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView_0.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView_0.ColumnHeadersHeight = 20;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.ControlLight;
dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView_0.DefaultCellStyle = dataGridViewCellStyle2;
this.dataGridView_0.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView_0.EnableHeadersVisualStyles = false;
this.dataGridView_0.GridColor = System.Drawing.SystemColors.ControlDarkDark;
this.dataGridView_0.Location = new System.Drawing.Point(2, 15);
this.dataGridView_0.Margin = new System.Windows.Forms.Padding(2);
this.dataGridView_0.Name = "dataGridView_0";
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.ControlDarkDark;
dataGridViewCellStyle3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView_0.RowHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.dataGridView_0.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
this.dataGridView_0.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.dataGridView_0.RowTemplate.Height = 31;
this.dataGridView_0.Size = new System.Drawing.Size(795, 344);
this.dataGridView_0.TabIndex = 4;
this.dataGridView_0.TabStop = false;
this.dataGridView_0.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.CellValueChanged);
this.dataGridView_0.KeyDown += new System.Windows.Forms.KeyEventHandler(this.method_4);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.bin";
this.openFileDialog1.Filter = "Honda binary rom file|*.bin";
this.openFileDialog1.Title = "Open File";
//
// saveFileDialog1
//
this.saveFileDialog1.DefaultExt = "*.bin";
this.saveFileDialog1.Filter = "Honda binary file|*.bin";
this.saveFileDialog1.Title = "Save File";
//
// darkToolStrip1
//
this.darkToolStrip1.AutoSize = false;
this.darkToolStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.darkToolStrip1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.darkToolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripDropDownButton1,
this.toolStripDropDownButton2,
this.toolStripDropDownButton3});
this.darkToolStrip1.Location = new System.Drawing.Point(0, 0);
this.darkToolStrip1.Name = "darkToolStrip1";
this.darkToolStrip1.Padding = new System.Windows.Forms.Padding(5, 0, 1, 0);
this.darkToolStrip1.Size = new System.Drawing.Size(1100, 28);
this.darkToolStrip1.TabIndex = 2;
this.darkToolStrip1.Text = "darkToolStrip1";
//
// toolStripDropDownButton1
//
this.toolStripDropDownButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openbinToolStripMenuItem,
this.savebinToolStripMenuItem,
this.fixChecksumsToolStripMenuItem,
this.toolStripSeparator1,
this.loadReloadDefinitionToolStripMenuItem,
this.openDefinitionsFolderToolStripMenuItem});
this.toolStripDropDownButton1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image")));
this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";
this.toolStripDropDownButton1.Size = new System.Drawing.Size(38, 25);
this.toolStripDropDownButton1.Text = "File";
//
// openbinToolStripMenuItem
//
this.openbinToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.openbinToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.openbinToolStripMenuItem.Name = "openbinToolStripMenuItem";
this.openbinToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.openbinToolStripMenuItem.Text = "Open .bin";
this.openbinToolStripMenuItem.Click += new System.EventHandler(this.button1_Click);
//
// savebinToolStripMenuItem
//
this.savebinToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.savebinToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.savebinToolStripMenuItem.Name = "savebinToolStripMenuItem";
this.savebinToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.savebinToolStripMenuItem.Text = "Save .bin";
this.savebinToolStripMenuItem.Click += new System.EventHandler(this.button2_Click);
//
// fixChecksumsToolStripMenuItem
//
this.fixChecksumsToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.fixChecksumsToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.fixChecksumsToolStripMenuItem.Name = "fixChecksumsToolStripMenuItem";
this.fixChecksumsToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.fixChecksumsToolStripMenuItem.Text = "Fix Checksums";
this.fixChecksumsToolStripMenuItem.Click += new System.EventHandler(this.fixChecksumsToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.toolStripSeparator1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.toolStripSeparator1.Margin = new System.Windows.Forms.Padding(0, 0, 0, 1);
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(196, 6);
//
// loadReloadDefinitionToolStripMenuItem
//
this.loadReloadDefinitionToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.loadReloadDefinitionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.loadReloadDefinitionToolStripMenuItem.Name = "loadReloadDefinitionToolStripMenuItem";
this.loadReloadDefinitionToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.loadReloadDefinitionToolStripMenuItem.Text = "Load/Reload Definition";
this.loadReloadDefinitionToolStripMenuItem.Click += new System.EventHandler(this.loadReloadDefinitionToolStripMenuItem_Click);
//
// openDefinitionsFolderToolStripMenuItem
//
this.openDefinitionsFolderToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.openDefinitionsFolderToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.openDefinitionsFolderToolStripMenuItem.Name = "openDefinitionsFolderToolStripMenuItem";
this.openDefinitionsFolderToolStripMenuItem.Size = new System.Drawing.Size(199, 22);
this.openDefinitionsFolderToolStripMenuItem.Text = "Open Definitions Folder";
this.openDefinitionsFolderToolStripMenuItem.Click += new System.EventHandler(this.openDefinitionsFolderToolStripMenuItem_Click);
//
// toolStripDropDownButton2
//
this.toolStripDropDownButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.toolStripDropDownButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripDropDownButton2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.undoToolStripMenuItem,
this.redoToolStripMenuItem,
this.toolStripSeparator2,
this.increaseSelectionToolStripMenuItem,
this.decreaseSelectionToolStripMenuItem});
this.toolStripDropDownButton2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.toolStripDropDownButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton2.Image")));
this.toolStripDropDownButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripDropDownButton2.Name = "toolStripDropDownButton2";
this.toolStripDropDownButton2.Size = new System.Drawing.Size(40, 25);
this.toolStripDropDownButton2.Text = "Edit";
//
// undoToolStripMenuItem
//
this.undoToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.undoToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.undoToolStripMenuItem.Name = "undoToolStripMenuItem";
this.undoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.undoToolStripMenuItem.Text = "Undo";
this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click);
//
// redoToolStripMenuItem
//
this.redoToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.redoToolStripMenuItem.Enabled = false;
this.redoToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(153)))), ((int)(((byte)(153)))));
this.redoToolStripMenuItem.Name = "redoToolStripMenuItem";
this.redoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.redoToolStripMenuItem.Text = "Redo";
this.redoToolStripMenuItem.Click += new System.EventHandler(this.redoToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.toolStripSeparator2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.toolStripSeparator2.Margin = new System.Windows.Forms.Padding(0, 0, 0, 1);
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
//
// increaseSelectionToolStripMenuItem
//
this.increaseSelectionToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.increaseSelectionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.increaseSelectionToolStripMenuItem.Name = "increaseSelectionToolStripMenuItem";
this.increaseSelectionToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.increaseSelectionToolStripMenuItem.Text = "Increase Selection";
this.increaseSelectionToolStripMenuItem.Click += new System.EventHandler(this.increaseSelectionToolStripMenuItem_Click);
//
// decreaseSelectionToolStripMenuItem
//
this.decreaseSelectionToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.decreaseSelectionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.decreaseSelectionToolStripMenuItem.Name = "decreaseSelectionToolStripMenuItem";
this.decreaseSelectionToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.decreaseSelectionToolStripMenuItem.Text = "Decrease Selection";
this.decreaseSelectionToolStripMenuItem.Click += new System.EventHandler(this.decreaseSelectionToolStripMenuItem_Click);
//
// toolStripDropDownButton3
//
this.toolStripDropDownButton3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.toolStripDropDownButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.toolStripDropDownButton3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openOBD2ScanToolToolStripMenuItem,
this.convertrwdTobinToolStripMenuItem,
this.convertbinTorwdToolStripMenuItem,
this.removeBootloaderInbinToolStripMenuItem});
this.toolStripDropDownButton3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.toolStripDropDownButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton3.Image")));
this.toolStripDropDownButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripDropDownButton3.Name = "toolStripDropDownButton3";
this.toolStripDropDownButton3.Size = new System.Drawing.Size(47, 25);
this.toolStripDropDownButton3.Text = "Tools";
//
// openOBD2ScanToolToolStripMenuItem
//
this.openOBD2ScanToolToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.openOBD2ScanToolToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.openOBD2ScanToolToolStripMenuItem.Name = "openOBD2ScanToolToolStripMenuItem";
this.openOBD2ScanToolToolStripMenuItem.Size = new System.Drawing.Size(214, 22);
this.openOBD2ScanToolToolStripMenuItem.Text = "Open OBD2 Scan Tool";
this.openOBD2ScanToolToolStripMenuItem.Click += new System.EventHandler(this.openOBD2ScanToolToolStripMenuItem_Click);
//
// convertrwdTobinToolStripMenuItem
//
this.convertrwdTobinToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.convertrwdTobinToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.convertrwdTobinToolStripMenuItem.Name = "convertrwdTobinToolStripMenuItem";
this.convertrwdTobinToolStripMenuItem.Size = new System.Drawing.Size(214, 22);
this.convertrwdTobinToolStripMenuItem.Text = "Convert .rwd to .bin";
this.convertrwdTobinToolStripMenuItem.Click += new System.EventHandler(this.convertrwdTobinToolStripMenuItem_Click);
//
// convertbinTorwdToolStripMenuItem
//
this.convertbinTorwdToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.convertbinTorwdToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.convertbinTorwdToolStripMenuItem.Name = "convertbinTorwdToolStripMenuItem";
this.convertbinTorwdToolStripMenuItem.Size = new System.Drawing.Size(214, 22);
this.convertbinTorwdToolStripMenuItem.Text = "Convert .bin to .rwd";
this.convertbinTorwdToolStripMenuItem.Click += new System.EventHandler(this.convertbinTorwdToolStripMenuItem_Click);
//
// removeBootloaderInbinToolStripMenuItem
//
this.removeBootloaderInbinToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(63)))), ((int)(((byte)(65)))));
this.removeBootloaderInbinToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.removeBootloaderInbinToolStripMenuItem.Name = "removeBootloaderInbinToolStripMenuItem";
this.removeBootloaderInbinToolStripMenuItem.Size = new System.Drawing.Size(214, 22);
this.removeBootloaderInbinToolStripMenuItem.Text = "Remove Bootloader in .bin";
this.removeBootloaderInbinToolStripMenuItem.Click += new System.EventHandler(this.removeBootloaderInbinToolStripMenuItem_Click);
//
// splitContainer1
//
this.splitContainer1.BackColor = System.Drawing.SystemColors.ControlDark;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 28);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.treeView1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
this.splitContainer1.Size = new System.Drawing.Size(1100, 517);
this.splitContainer1.SplitterDistance = 297;
this.splitContainer1.TabIndex = 4;
//
// splitContainer2
//
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
this.splitContainer2.Name = "splitContainer2";
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.groupBox1);
//
// splitContainer2.Panel2
//
this.splitContainer2.Panel2.Controls.Add(this.darkTextBox_0);
this.splitContainer2.Size = new System.Drawing.Size(799, 517);
this.splitContainer2.SplitterDistance = 361;
this.splitContainer2.TabIndex = 0;
//
// darkTextBox_0
//
this.darkTextBox_0.ContextMenuStrip = this.contextMenuStrip1;
this.darkTextBox_0.Dock = System.Windows.Forms.DockStyle.Fill;
this.darkTextBox_0.Location = new System.Drawing.Point(0, 0);
this.darkTextBox_0.Multiline = true;
this.darkTextBox_0.Name = "darkTextBox_0";
this.darkTextBox_0.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.darkTextBox_0.Size = new System.Drawing.Size(799, 152);
this.darkTextBox_0.TabIndex = 56;
this.darkTextBox_0.Text = "Honda ROM Editor Tools";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.clearLogsToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26);
//
// clearLogsToolStripMenuItem
//
this.clearLogsToolStripMenuItem.Name = "clearLogsToolStripMenuItem";
this.clearLogsToolStripMenuItem.Size = new System.Drawing.Size(129, 22);
this.clearLogsToolStripMenuItem.Text = "Clear Logs";
this.clearLogsToolStripMenuItem.Click += new System.EventHandler(this.clearLogsToolStripMenuItem_Click);
//
// Editortable
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1100, 545);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.darkToolStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "Editortable";
this.Text = "Honda&Acura Rom Tables Editor";
this.Load += new System.EventHandler(this.Editortable_Load);
this.groupBox1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView_0)).EndInit();
this.darkToolStrip1.ResumeLayout(false);
this.darkToolStrip1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.splitContainer2.Panel1.ResumeLayout(false);
this.splitContainer2.Panel2.ResumeLayout(false);
this.splitContainer2.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
public void Editortable_Load(object sender, EventArgs e)
{
this.CreateRightClicMenu();
}
public void ClearLogs()
{
darkTextBox_0.Text = "";
}
public bool LoadDefinitionsFor(string string_9)
{
if (string_9 == ClassEditor_0.DefinitionsCurrentLoadedECU) return true;
int DefinitionsFilesCount = 0;
List<int> IndexLisst = new List<int>();
for (int i = 0; i < ClassEditor_0.Ecus_Definitions_Compatible.Count; i++)
{
if (ClassEditor_0.Ecus_Definitions_Compatible[i] == string_9)
{
DefinitionsFilesCount++;
IndexLisst.Add(i);
}
}
//More than one 'definition.txt' file have been found for the same ECU
if (DefinitionsFilesCount > 1)
{
GForm_SeveralDef GForm_SeveralDef_0 = new GForm_SeveralDef();
GForm_SeveralDef_0.LoadSetValues(ref GForm_Main_0, string_9, IndexLisst);
DialogResult result = GForm_SeveralDef_0.ShowDialog();
if (result == DialogResult.OK)
{
ClassEditor_0.LoadThisECUDefinitions(string_9, IndexLisst[GForm_SeveralDef_0.comboBox1.SelectedIndex]);
return true;
}
//HERE
//ClassEditor_0.LoadThisECUDefinitions(string_9, IndexLisst[0]);
//return true;
}
//Only one definition file matching
if (DefinitionsFilesCount == 1)
{
ClassEditor_0.LoadThisECUDefinitions(string_9, IndexLisst[0]);
return true;
}
//nothing found
return false;
}
public void method_1()
{
ClassEditor_0.CanReloadTablesValues = false;
if (!ClassEditor_0.LoadROMbytes(LoadedFilename))
{
DarkMessageBox.Show("Failed to open Binary file.");
}
else if (!this.LoadDefinitionsFor(ClassEditor_0.string_ECU_Name))
{
DarkMessageBox.Show("No definition found for " + ClassEditor_0.string_ECU_Name);
}
else
{
this.CreateNodes();
}
ClassEditor_0.CanReloadTablesValues = true;
}
private void CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (ClassEditor_0.CanReloadTablesValues)
{
ClassEditor_0.ValuesChanged = true;
ClassEditor_0.SetBackColor(dataGridView_0.Columns.Count, float_1[0], float_1[1]);
}
}
public void CreateNodes()
{
this.treeView1.Nodes.Clear();
int num = 0;
List<string> AllUndefininedNodes = new List<string>();
List<string> AllUntestedNodes = new List<string>();
List<string> AllReadOnlyNodes = new List<string>();
//Makes Nodes
for (int i = 0; i < ClassEditor_0.DefinitionsName.Count; i++)
{
//#############################################
if (ClassEditor_0.DefinitionsIsReadOnly[i])
{
AllReadOnlyNodes.Add(ClassEditor_0.DefinitionsName[i]);
}
if (ClassEditor_0.DefinitionsIsUntested[i] && !ClassEditor_0.DefinitionsIsReadOnly[i])
{
AllUntestedNodes.Add(ClassEditor_0.DefinitionsName[i]);
}
if (ClassEditor_0.DefinitionsIsNotDefined[i] && !ClassEditor_0.DefinitionsIsUntested[i] && !ClassEditor_0.DefinitionsIsReadOnly[i])
{
AllUndefininedNodes.Add(ClassEditor_0.DefinitionsName[i]);
}
//#############################################
if (!ClassEditor_0.DefinitionsIsNotDefined[i] && !ClassEditor_0.DefinitionsIsUntested[i] && !ClassEditor_0.DefinitionsIsReadOnly[i])
{
string str = ClassEditor_0.DefinitionsName[i];
DarkTreeNode ThisNode = new DarkTreeNode();
if (str.ToString().Contains("----"))
{
ThisNode.Text = str.Replace("----", "");
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes[this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add(ThisNode);
continue;
}
if (str.ToString().Contains("--"))
{
ThisNode.Text = str.Replace("--", "");
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
continue;
}
num++;
ThisNode.Text = str;
this.treeView1.Nodes.Add(ThisNode);
}
}
//Make Undefined Nodes
DarkTreeNode ThisNodeUnDefined = new DarkTreeNode();
ThisNodeUnDefined.Text = "Undefined parameters";
if (AllUndefininedNodes.Count > 0) this.treeView1.Nodes.Add(ThisNodeUnDefined);
for (int i = 0; i < AllUndefininedNodes.Count; i++)
{
string str = AllUndefininedNodes[i];
DarkTreeNode ThisNode = new DarkTreeNode();
if (str.ToString().Contains("--"))
{
ThisNode.Text = str.Replace("--", "");
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
//this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes[this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add(ThisNode);
continue;
}
num++;
ThisNode.Text = str;
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
}
//Make Untested Nodes
DarkTreeNode ThisNodeUnTested = new DarkTreeNode();
ThisNodeUnTested.Text = "Untested parameters";
if (AllUntestedNodes.Count > 0) this.treeView1.Nodes.Add(ThisNodeUnTested);
for (int i = 0; i < AllUntestedNodes.Count; i++)
{
string str = AllUntestedNodes[i];
DarkTreeNode ThisNode = new DarkTreeNode();
if (str.ToString().Contains("--"))
{
ThisNode.Text = str.Replace("--", "");
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
//this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes[this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add(ThisNode);
continue;
}
num++;
ThisNode.Text = str;
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
}
//Make ReadOnly Nodes
DarkTreeNode ThisNodeReadOnly = new DarkTreeNode();
ThisNodeReadOnly.Text = "ReadOnly parameters";
if (AllUntestedNodes.Count > 0) this.treeView1.Nodes.Add(ThisNodeReadOnly);
for (int i = 0; i < AllReadOnlyNodes.Count; i++)
{
string str = AllReadOnlyNodes[i];
DarkTreeNode ThisNode = new DarkTreeNode();
if (str.ToString().Contains("--"))
{
ThisNode.Text = str.Replace("--", "");
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
//this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes[this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add(ThisNode);
continue;
}
num++;
ThisNode.Text = str;
this.treeView1.Nodes[this.treeView1.Nodes.Count - 1].Nodes.Add(ThisNode);
}
//####################################################################################
/*foreach (DarkTreeNode node in this.treeView1.Nodes)
{
if (node.Nodes.Count > 0)
{
foreach (DarkTreeNode node2 in node.Nodes)
{
if (node.Text.Contains("limiter"))
{
node2.ImageKey = "Normal";
node2.SelectedImageKey = "Normal";
continue;
}
}
}
if ((node.Text.Contains("Revlimiter") || node.Text.Contains("Speedlimiter")) || node.Text.Contains("Limit"))
{
node.ImageKey = "Normal";
node.SelectedImageKey = "Normal";
}
else if (node.Text.Contains("00\x00b0"))
{
node.ImageKey = "Degree";
node.SelectedImageKey = "Degree";
}//...
}*/
//####################################################################################
}
private void method_4(object sender, KeyEventArgs e)
{
ClassEditor_0.ShortcutsCommand(e, 0);
}
public void CreateRightClicMenu()
{
ContextMenu menu = new ContextMenu {
MenuItems = {
{
"Increase selection",
new EventHandler(this.method_6)
},
{
"Decrease selection",
new EventHandler(this.method_7)
}
}
};
this.ContextMenu = menu;
}
private void method_6(object sender, EventArgs e)
{
ClassEditor_0.ShortcutsCommand(new KeyEventArgs(Keys.None), 2);
}
private void method_7(object sender, EventArgs e)
{
ClassEditor_0.ShortcutsCommand(new KeyEventArgs(Keys.None), 3);
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
/*public static ImageList ImageList_0
{
get
{
if (imageList_0 == null)
{
imageList_0 = new ImageList();
imageList_0.Images.Add("HighCam", global::Properties.Resources.Lightning2);
imageList_0.Images.Add("LowCam", global::Properties.Resources.Lightning);
imageList_0.Images.Add("HighFuel", global::Properties.Resources.injector2);
imageList_0.Images.Add("LowFuel", global::Properties.Resources.injector1);
imageList_0.Images.Add("Table", global::Properties.Resources.Script1);
imageList_0.Images.Add("Degree", global::Properties.Resources.Target);
imageList_0.Images.Add("Red", global::Properties.Resources.Report);
imageList_0.Images.Add("Normal", global::Properties.Resources.Wrench);
imageList_0.Images.Add("Vtec", global::Properties.Resources.Pinion);
imageList_0.Images.Add("Knock", global::Properties.Resources.Problem);
imageList_0.Images.Add("Bang", global::Properties.Resources.Disaster);
}
return imageList_0;
}
}*/
private int GetNodeParameterIndex(string text, string ParentNode)
{
//return within parent
if (ParentNode != "")
{
bool ParentFound = false;
for (int i = 0; i < ClassEditor_0.DefinitionsName.Count; i++)
{
if (ClassEditor_0.DefinitionsName[i] == ParentNode) ParentFound = true;
if (ParentFound)
{
if (ClassEditor_0.DefinitionsName[i] == text || ClassEditor_0.DefinitionsName[i] == "--" + text) return i;
}
}
}
//return exact
for (int i = 0; i < ClassEditor_0.DefinitionsName.Count; i++)
{
if (ClassEditor_0.DefinitionsName[i] == text)
{
return i;
}
}
//return approximative
for (int i = 0; i < ClassEditor_0.DefinitionsName.Count; i++)
{
if (ClassEditor_0.DefinitionsName[i].Contains(text))
{
return i;
}
}
//return error
return -1;
}
private void treeView1_AfterSelect(object sender, EventArgs e)
{
if (this.treeView1.SelectedNodes.Count == 0) return;
if ((this.treeView1.SelectedNode != null) && ClassEditor_0.CanReloadTablesValues)
{
ClassEditor_0.CanReloadTablesValues = false;
//##################################################################################
if (ClassEditor_0.ValuesChanged && ClassEditor_0.SelectedTableSize != 0 && ClassEditor_0.SelectedROMLocation != 0)
{
ClassEditor_0.GetChanges();
}
ClassEditor_0.ValuesChanged = false;
//##################################################################################
this.groupBox1.Text = "Table: " + this.treeView1.SelectedNode.Text;
string text = this.treeView1.SelectedNode.Text;
if (text != null)
{
string ParentNode = "";
if (this.treeView1.SelectedNode.ParentNode != null) ParentNode = this.treeView1.SelectedNode.ParentNode.Text;
int NodeIndex = GetNodeParameterIndex(text, ParentNode);
if (NodeIndex == -1)
{
Editortable_0.GForm_Main_0.method_1("ROM Indexing error with Nodes!");
ClassEditor_0.CanReloadTablesValues = true;
return;
}
//Empty 'Main' Node -> Select first child node
if (ClassEditor_0.DefinitionsTableSize[NodeIndex] == "")
{
try
{
ClassEditor_0.CanReloadTablesValues = true;
this.treeView1.SelectNode(this.treeView1.SelectedNode.Nodes[0]);
}
catch { }
return;
}
float_1[0] = ClassEditor_0.DefinitionsValueMin[NodeIndex];
float_1[1] = ClassEditor_0.DefinitionsValueMax[NodeIndex];
float_0 = (float) ClassEditor_0.DefinitionsChangeAmount[NodeIndex];
ClassEditor_0.IsSingleByteX = ClassEditor_0.DefinitionsIsSingleByteX[NodeIndex];
ClassEditor_0.IsSingleByteY = ClassEditor_0.DefinitionsIsSingleByteY[NodeIndex];
ClassEditor_0.IsSingleByteTable = ClassEditor_0.DefinitionsIsSingleByteTable[NodeIndex];
//Set TableSize
string TableSizeStr = ClassEditor_0.DefinitionsTableSize[NodeIndex].ToLower();
string[] TableSizeStrSplit = TableSizeStr.Split('x');
int[] TableSizze = new int[] { int.Parse(TableSizeStrSplit[0]), int.Parse(TableSizeStrSplit[1]) };
if (ClassEditor_0.DefinitionsLocationsX[NodeIndex].Length >= 10) ClassEditor_0.DefinitionsLocationsX[NodeIndex] = ClassEditor_0.DefinitionsLocationsX[NodeIndex].Replace("0x80", "0x");
if (ClassEditor_0.DefinitionsLocationsY[NodeIndex].Length >= 10) ClassEditor_0.DefinitionsLocationsY[NodeIndex] = ClassEditor_0.DefinitionsLocationsY[NodeIndex].Replace("0x80", "0x");
if (ClassEditor_0.DefinitionsLocationsTable[NodeIndex].Length >= 10) ClassEditor_0.DefinitionsLocationsTable[NodeIndex] = ClassEditor_0.DefinitionsLocationsTable[NodeIndex].Replace("0x80", "0x");
//Set X rom location
long ParamLocation = ClassEditor_0.HexStringToInt(ClassEditor_0.DefinitionsLocationsX[NodeIndex]);
//Set Y Headers (normal header mode)
int DoingThisSize = TableSizze[0];
if (ClassEditor_0.DefinitionsIsXYInverted[NodeIndex]) DoingThisSize = TableSizze[1];
string[] textArray1 = new string[DoingThisSize];
if (ClassEditor_0.DefinitionsHeaders[NodeIndex] != "" && ClassEditor_0.DefinitionsHeaders[NodeIndex].Contains(","))
{
string[] AllHeaders = ClassEditor_0.DefinitionsHeaders[NodeIndex].Split(',');
if (AllHeaders.Length != DoingThisSize) Editortable_0.GForm_Main_0.method_1("Headers length not matching Table Size");
if (AllHeaders.Length == DoingThisSize)
{
for (int i = 0; i < AllHeaders.Length; i++)
{
textArray1[i] = AllHeaders[i];
}
}
}
//Set Y Advanced Header (values from 'DefinitionsLocationsHeader' with mathematical function 'MathHeader')
string NewHeaderLocation = ClassEditor_0.DefinitionsLocationsY[NodeIndex];
if (NewHeaderLocation != "")
{
long ParamHeaderLocation = ClassEditor_0.HexStringToInt(NewHeaderLocation);
textArray1 = ClassEditor_0.GetAdvancedHeader(TableSizze[0], ParamHeaderLocation, ClassEditor_0.DefinitionsMathY[NodeIndex], ClassEditor_0.DefinitionsFormatY[NodeIndex]);
}
this.groupBox1.Text = "Table: " + this.treeView1.SelectedNode.Text + " (" + ClassEditor_0.DefinitionsLocationsTable[NodeIndex] + ")";
ClassEditor_0.SelectedTableIndexInDefinitions = NodeIndex;
//Show Value in Datagridview
ClassEditor_0.SetTableValues(TableSizze,
ParamLocation,
ClassEditor_0.DefinitionsUnit1[NodeIndex],
ClassEditor_0.DefinitionsUnit2[NodeIndex],
textArray1, ClassEditor_0.DefinitionsMathX[NodeIndex],
ClassEditor_0.DefinitionsFormatX[NodeIndex],
ClassEditor_0.DefinitionsIsXYInverted[NodeIndex],
ClassEditor_0.HexStringToInt(ClassEditor_0.DefinitionsLocationsTable[NodeIndex]),
ClassEditor_0.DefinitionsMathTable[NodeIndex], ClassEditor_0.DefinitionsFormatTable[NodeIndex],
ClassEditor_0.DefinitionsIsTableInverted[NodeIndex],
ClassEditor_0.DefinitionsIsReadOnly[NodeIndex]);
}
}
ClassEditor_0.CanReloadTablesValues = true;
}
public int CheckForBootLoaderSum(string ThisECUName)
{
string BLSumPath = Application.StartupPath + @"\BootLoaderSumBytesList.txt";
if (File.Exists(BLSumPath))
{
string[] AllLines = File.ReadAllLines(BLSumPath);
for (int i = 0; i < AllLines.Length; i++)
{
if (AllLines[i].Contains("|"))
{
string[] SplittedCommands = AllLines[i].Split('|');
if (SplittedCommands[0] == ThisECUName)
{
return int.Parse(SplittedCommands[1]);
}
}
}
}
return -1;
}
public string ExtractECUNameFromThisFile(byte[] ThisFileBytes)
{
string ECUName = "";
for (int i = 0; i < ThisFileBytes.Length - 12; i++)
{
//37805-
if ((char) ThisFileBytes[i] == '3'
&& (char)ThisFileBytes[i + 1] == '7'
&& (char)ThisFileBytes[i + 2] == '8'
&& (char)ThisFileBytes[i + 3] == '0'
&& (char)ThisFileBytes[i + 4] == '5'
&& (char)ThisFileBytes[i + 5] == '-'
&& (char)ThisFileBytes[i + 10] != 'Z')
{
ECUName = "";
ECUName = ECUName + ((char)ThisFileBytes[i]).ToString(); //3
ECUName = ECUName + ((char)ThisFileBytes[i + 1]).ToString(); //7
ECUName = ECUName + ((char)ThisFileBytes[i + 2]).ToString(); //8
ECUName = ECUName + ((char)ThisFileBytes[i + 3]).ToString(); //0
ECUName = ECUName + ((char)ThisFileBytes[i + 4]).ToString(); //5
ECUName = ECUName + ((char)ThisFileBytes[i + 5]).ToString(); //-
ECUName = ECUName + ((char)ThisFileBytes[i + 6]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 7]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 8]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 9]).ToString(); //-
ECUName = ECUName + ((char)ThisFileBytes[i + 10]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 11]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 12]).ToString(); //X
ECUName = ECUName + ((char)ThisFileBytes[i + 13]).ToString(); //X
}
}
return ECUName;
}
public int ExtractECUNameLocationFromThisFile(byte[] ThisFileBytes)
{
int Locationn = -1;
for (int i = 0; i < ThisFileBytes.Length - 12; i++)
{
//37805-
if ((char)ThisFileBytes[i] == '3'
&& (char)ThisFileBytes[i + 1] == '7'
&& (char)ThisFileBytes[i + 2] == '8'
&& (char)ThisFileBytes[i + 3] == '0'
&& (char)ThisFileBytes[i + 4] == '5'
&& (char)ThisFileBytes[i + 5] == '-'
&& (char)ThisFileBytes[i + 10] != 'Z')
{
Locationn = i;
}
}
return Locationn;
}
public void LoadThisFile(string ThisFilePath)
{
this.Text = "Honda Rom Tables Editor (" + this.GForm_Main_0.Version + ") | " + Path.GetFileName(ThisFilePath);
//string LastOpenFilePath = Application.StartupPath + @"\LastFileOpened.txt";
//File.Create(LastOpenFilePath).Dispose();
//File.WriteAllText(LastOpenFilePath, ThisFilePath);
GForm_Main_0.LastFileOpenedEditor = ThisFilePath;
GForm_Main_0.SaveSettings();
this.IsFullBinary = false;
byte[] FilesBytes = File.ReadAllBytes(ThisFilePath);
this.Editortable_0.LoadedFilename = ThisFilePath;
if ((FilesBytes.Length - 1) == 0xFFFFF) this.IsFullBinary = true;
if ((FilesBytes.Length - 1) == 0x1FFFFF) this.IsFullBinary = true;
if ((FilesBytes.Length - 1) == 0x27FFFF) this.IsFullBinary = true;
//if ((FilesBytes.Length - 1) == 0x3FFFFF) this.IsFullBinary = true;
ClassEditor_0.SetFileFormat(FilesBytes);
//Console.WriteLine("calib: " + (FilesBytes.Length - 1).ToString("X"));
//Console.WriteLine("full: " + (FilesBytes.Length - 1 + 0xA0010000).ToString("X"));
//Load BootLoader Sum byte for decrypted firmware (not a full binary rom)
if ((FilesBytes.Length - 1) == 0xF7FFF || (FilesBytes.Length - 1) == 0x1EFFFF || (FilesBytes.Length - 1) == 0x26FFFF)
{
int BtSumInt = CheckForBootLoaderSum(ExtractECUNameFromThisFile(FilesBytes));
if (BtSumInt == -1)
{
DarkMessageBox.Show(this, "Since this decompressed firmware .bin file is missing the bootloader section\nSelect the firmware .rwd file from which is as been decompressed from", "MISSING BOOTLOADER SECTION FOR CHECKSUMS VERIFICATIONS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
//Open RWD firmware
openFileDialog1.Filter = "Honda Compressed RWD Firmware|*.gz;*.rwd";
openFileDialog1.DefaultExt = "*.gz";
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Class_RWD.LoadRWD(openFileDialog1.FileName, true, false, true, true);
}
}
else
{
Class_RWD.BootloaderSum = (byte)BtSumInt;
}
}
//Load File
if ((FilesBytes.Length - 1) == 0xF7FFF
|| (FilesBytes.Length - 1) == 0xFFFFF
|| (FilesBytes.Length - 1) == 0x1EFFFF
|| (FilesBytes.Length - 1) == 0x1FFFFF
|| (FilesBytes.Length - 1) == 0x26FFFF
|| (FilesBytes.Length - 1) == 0x27FFFF) //0x3FFFFF
{
//Load Binary into ROM Table Editor
this.method_1();
}
else
{
//Console.WriteLine((FilesBytes.Length - 1).ToString("X"));
DarkMessageBox.Show(this, "This file is not compatible!");
}
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
LoadThisFile(openFileDialog1.FileName);
}
}
private void button2_Click(object sender, EventArgs e)
{
DialogResult result = saveFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
this.ClassEditor_0.SaveROMBytes(saveFileDialog1.FileName);
}
}
public void CheckDefinitionFolderExist()
{
string Paath = Application.StartupPath + @"\Definitions";
if (!Directory.Exists(Paath))
{
Directory.CreateDirectory(Paath);
File.WriteAllBytes(Paath + @"\37805_RRB_A140.txt", FlashToolTest.Properties.Resources._37805_RRB_A140);
File.WriteAllBytes(Paath + @"\37805_RWC_A620.txt", FlashToolTest.Properties.Resources._37805_RWC_A620);
File.WriteAllBytes(Paath + @"\37805_S2K.txt", FlashToolTest.Properties.Resources._37805_S2K);
File.WriteAllBytes(Paath + @"\DefinitionsGuide.txt", FlashToolTest.Properties.Resources.DefinitionsGuide);
}
}
private void openDefinitionsFolderToolStripMenuItem_Click(object sender, EventArgs e)
{
CheckDefinitionFolderExist();
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
FileName = Application.StartupPath + @"\Definitions",
UseShellExecute = true,
Verb = "open"
});
}
private void increaseSelectionToolStripMenuItem_Click(object sender, EventArgs e)
{
ClassEditor_0.IncDecreaseSelection(false, false);
}
private void decreaseSelectionToolStripMenuItem_Click(object sender, EventArgs e)
{
ClassEditor_0.IncDecreaseSelection(true, false);
}
private void fixChecksumsToolStripMenuItem_Click(object sender, EventArgs e)
{
ClassEditor_0.FixChecksums();
}
[CompilerGenerated]
private sealed class Class5
{
public Class5()
{
}
internal void method_0()
{
this.Editortable_0.darkTextBox_0.AppendText(this.string_0 + Environment.NewLine);
}
public Editortable Editortable_0;
public string string_0;
}
private void undoToolStripMenuItem_Click(object sender, EventArgs e)
{
//this.ClassEditor_0.AllROMDifferences.Contains(Environment.NewLine)
if (this.ClassEditor_0.AllROMDifferences != "")
{
string[] lines = this.ClassEditor_0.AllROMDifferences.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
if (lines.Length > 0)
{
for (int i = lines.Length - 1; i >= 0; i--)
{
if (lines[i] != "")
{
string CommandsLine = lines[i].Replace(" ", "");
if (CommandsLine.Contains(":"))
{
string[] CmdsSpli1 = CommandsLine.Split(':');
int Index = int.Parse(CmdsSpli1[1].Split('[')[0]);
string RemainingCmds = CmdsSpli1[1].Split('[')[1].Replace("->", ";");
int num1 = int.Parse(RemainingCmds.Split(';')[0]);
int num2 = int.Parse(RemainingCmds.Split(';')[1].Split(']')[0]);
int intLocationnValue = int.Parse(CmdsSpli1[2].Replace("0x", ""), System.Globalization.NumberStyles.HexNumber);
//Apply Changes
this.ClassEditor_0.ROM_Bytes[intLocationnValue] = (byte)num1;
//Send Logs
string BufText = "Undo change at line: " + Index.ToString() + "[" + num2.ToString("X2") + "->" + num1.ToString("X2") + "] | At: 0x" + (intLocationnValue).ToString("X") + Environment.NewLine;
GForm_Main_0.method_1(BufText);
//Remove from rom differences (string list)
string BufferROMDiff = "";
if (i > 0)
{
for (int i2 = 0; i2 < i; i2++) BufferROMDiff = BufferROMDiff + lines[i2];
this.ClassEditor_0.AllROMDifferences = BufferROMDiff;
}
//add to Redo list
this.ClassEditor_0.AllROMDifferencesRedo = this.ClassEditor_0.AllROMDifferencesRedo + lines[i] + Environment.NewLine;
redoToolStripMenuItem.Enabled = true;
//return
i = -1;
}
}
}
}
}
}
private void redoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.ClassEditor_0.AllROMDifferencesRedo != "")
{
string[] lines = this.ClassEditor_0.AllROMDifferencesRedo.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
if (lines.Length > 0)
{
for (int i = lines.Length - 1; i >= 0; i--)
{
if (lines[i] != "")
{
string CommandsLine = lines[i].Replace(" ", "");
if (CommandsLine.Contains(":"))
{
string[] CmdsSpli1 = CommandsLine.Split(':');
int Index = int.Parse(CmdsSpli1[1].Split('[')[0]);
string RemainingCmds = CmdsSpli1[1].Split('[')[1].Replace("->", ";");
int num1 = int.Parse(RemainingCmds.Split(';')[0]);
int num2 = int.Parse(RemainingCmds.Split(';')[1].Split(']')[0]);
int intLocationnValue = int.Parse(CmdsSpli1[2].Replace("0x", ""), System.Globalization.NumberStyles.HexNumber);
//Apply Changes
this.ClassEditor_0.ROM_Bytes[intLocationnValue] = (byte)num2;
//Send Logs
string BufText = "Redo change at line: " + Index.ToString() + "[" + num1.ToString("X2") + "->" + num2.ToString("X2") + "] | At: 0x" + (intLocationnValue).ToString("X") + Environment.NewLine;
GForm_Main_0.method_1(BufText);
//Remove from Redo list
string BufferROMDiff = "";
if (i > 0)
{
for (int i2 = 0; i2 < i; i2++) BufferROMDiff = BufferROMDiff + lines[i2];
this.ClassEditor_0.AllROMDifferencesRedo = BufferROMDiff;
}
//add to rom differences (string list)
this.ClassEditor_0.AllROMDifferences = this.ClassEditor_0.AllROMDifferences + lines[i] + Environment.NewLine;
if (this.ClassEditor_0.AllROMDifferencesRedo == "") redoToolStripMenuItem.Enabled = false;
//return
i = -1;
}
}
}
}
}
}
private void removeBootloaderInbinToolStripMenuItem_Click(object sender, EventArgs e)
{
DarkMessageBox.Show(this, "Select the file to remove the Bootloader(Start) section from\nThe created .bin with removed bootloader can now be used as a 'decrypted firmware .bin'\nYou can also remake a firmware .rwd update file from this .bin and use it to flash on the ECU!", "Select full binary rom .bin", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
byte[] FilesBytes = File.ReadAllBytes(openFileDialog1.FileName);
ClassEditor_0.SetFileFormat(FilesBytes);
if (ClassEditor_0.FileFormat == "1mb-full" || ClassEditor_0.FileFormat == "2mb-full" || ClassEditor_0.FileFormat == "4mb-full")
{
byte[] FilesBytesRWD = new byte[] { };
if (ClassEditor_0.FileFormat == "1mb-full")
{
FilesBytesRWD = new byte[FilesBytes.Length - 0x8000];
for (int i = 0; i < FilesBytesRWD.Length; i++) FilesBytesRWD[i] = FilesBytes[i + 0x8000];
}
if (ClassEditor_0.FileFormat == "2mb-full" || ClassEditor_0.FileFormat == "4mb-full")
{
FilesBytesRWD = new byte[FilesBytes.Length - 0x10000];
for (int i = 0; i < FilesBytesRWD.Length; i++) FilesBytesRWD[i] = FilesBytes[i + 0x10000];
}
string SaveeePath = Path.GetDirectoryName(openFileDialog1.FileName) + @"\" + Path.GetFileNameWithoutExtension(openFileDialog1.FileName) + "_NoBootloader.bin";
File.Create(SaveeePath).Dispose();
File.WriteAllBytes(SaveeePath, FilesBytesRWD);
GForm_Main_0.method_1("Removed Bootloader file created: " + SaveeePath);
}
else
{
Console.WriteLine((FilesBytes.Length - 1).ToString("X"));
DarkMessageBox.Show(this, "This file is not compatible!");
}
}
}
private void convertrwdTobinToolStripMenuItem_Click(object sender, EventArgs e)
{
GForm_Main_0.darkButton2_Click_1(sender, e);
}
private void convertbinTorwdToolStripMenuItem_Click(object sender, EventArgs e)
{
GForm_Main_0.darkButton3_Click_1(sender, e);
}
private void openOBD2ScanToolToolStripMenuItem_Click(object sender, EventArgs e)
{
GForm_Main_0.darkButton5_Click(sender, e);
}
private void clearLogsToolStripMenuItem_Click(object sender, EventArgs e)
{
ClearLogs();
GForm_Main_0.ClearLogs();
}
private void loadReloadDefinitionToolStripMenuItem_Click(object sender, EventArgs e)
{
ClassEditor_0.CanReloadTablesValues = false;
if (!this.LoadDefinitionsFor(ClassEditor_0.string_ECU_Name))
{
DarkMessageBox.Show("No definition found for " + ClassEditor_0.string_ECU_Name);
}
else
{
this.CreateNodes();
}
ClassEditor_0.CanReloadTablesValues = true;
}
}