示例#1
0
        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();
            }
        }
示例#2
0
        //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;
            }
        }
示例#3
0
        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
        }