private void ImportXMLToolStripMenuItem_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog() { Filter = "XML Files|*.xml", CheckFileExists = true }; if (ofd.ShowDialog() == DialogResult.OK) { ForcesText = new ForcesText(); ForcesText.ImportXML(ofd.FileName); saveToolStripMenuItem.Enabled = true; saveAsToolStripMenuItem.Enabled = true; exportXMLToolStripMenuItem.Enabled = true; UpdateGUI(); } }
//GUI Events private void openToolStripMenuItem_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog() { Filter = "Sonic Forces Text Files|*.cnvrs-text", CheckFileExists = true, }; if (ofd.ShowDialog() == DialogResult.OK) { ForcesText = new ForcesText(); openFile = ofd.FileName; ForcesText.Load(ofd.FileName); UpdateGUI(); saveToolStripMenuItem.Enabled = true; saveAsToolStripMenuItem.Enabled = true; exportXMLToolStripMenuItem.Enabled = true; } }
public ParameterEditor(object param, int index, ForcesText text) { Param = param; Index = index; forcesText = text; InitializeComponent(); #region Parameter Stuff typeBx.Enabled = false; if (Param is ForcesText.Cell cell) { switch (Index) { case 0: { typeBx.Text = cell.LayoutIndex.GetType().Name; dataBx.Text = cell.LayoutIndex.ToString(); break; } case 1: { typeBx.Enabled = true; typeBx.Text = cell.TypeName; dataBx.Lines = cell.Data.Split('\n'); break; } case 2: { typeBx.Text = cell.UUID.GetType().Name; dataBx.Text = cell.UUID.ToString(); break; } default: throw new Exception("Invalid Index"); } } else if (Param is ForcesText.Layout layout) { switch (Index) { case 0: { typeBx.Text = "Int32"; dataBx.Text = layout.UnknownData1.ToString(); break; } case 1: { typeBx.Text = "Single"; dataBx.Text = layout.UnknownData2.ToString(); break; } case 2: { typeBx.Text = "Single"; dataBx.Text = layout.UnknownData3.ToString(); break; } case 3: { typeBx.Text = "Int32"; dataBx.Text = layout.UnknownData4.ToString(); break; } case 4: { typeBx.Text = "Int32"; dataBx.Text = layout.UnknownData5.ToString(); break; } case 5: { typeBx.Text = "Int32"; dataBx.Text = layout.UnknownData6.ToString(); break; } case 6: { typeBx.Text = "Int32"; dataBx.Text = layout.UnknownData7.ToString(); break; } case 7: { typeBx.Text = "Int64"; dataBx.Text = layout.UnknownData8.ToString(); break; } default: throw new Exception("Invalid Index"); } } else if (Param is ForcesText.CellType cellType) { switch (Index) { case 0: { typeBx.Text = "String"; dataBx.Text = cellType.Namespace.ToString(); break; } case 1: { typeBx.Text = "Single"; dataBx.Text = cellType.UnknownFloat1.ToString(); break; } case 2: { typeBx.Text = "Single"; dataBx.Text = cellType.UnknownFloat2.ToString(); break; } case 3: { typeBx.Text = "Single"; dataBx.Text = cellType.UnknownFloat3.ToString(); break; } case 4: { typeBx.Text = "Int32"; dataBx.Text = cellType.UnknownInt1.ToString(); break; } case 5: { typeBx.Text = "Int32"; dataBx.Text = cellType.UnknownInt2.ToString(); break; } case 6: { typeBx.Text = "Int64"; dataBx.Text = cellType.UnknownULong1.ToString(); break; } case 7: { typeBx.Text = "Int64"; dataBx.Text = cellType.UnknownULong2.ToString(); break; } default: throw new Exception("Invalid Index"); } } #endregion }