From e52712bfab2fcbcf299155ce8a01454fbdf03e19 Mon Sep 17 00:00:00 2001 From: AdAstra-LD Date: Thu, 4 Feb 2021 17:45:59 +0100 Subject: [PATCH] Finished conversion of script editor + bugfixing + Minor refactor + Export MAP BIN button + Fixed type painters resetting after changing map + Added more type painter colors + Fixed type painters font size + Fixed type painter value [updown] limit + Moved ScriptCommand and Script to a separate file + Fixed Encounter Editor unpacking HG encounters for SS roms --- DS_Map/BuildingEditor.cs | 26 +- DS_Map/DS Map.csproj | 1 + DS_Map/Main Window.Designer.cs | 535 +++++++++++++++++---------------- DS_Map/Main Window.cs | 242 ++++++++------- DS_Map/Main Window.resx | 360 +++++++++++----------- DS_Map/MapFile.cs | 10 +- DS_Map/RomInfo.cs | 2 + DS_Map/ScriptCommand.cs | 198 ++++++++++++ DS_Map/ScriptFile.cs | 326 ++++---------------- 9 files changed, 860 insertions(+), 840 deletions(-) create mode 100644 DS_Map/ScriptCommand.cs diff --git a/DS_Map/BuildingEditor.cs b/DS_Map/BuildingEditor.cs index 60a3578..6dea817 100644 --- a/DS_Map/BuildingEditor.cs +++ b/DS_Map/BuildingEditor.cs @@ -192,33 +192,26 @@ namespace DSPRE LoadModelTextures(textureComboBox.SelectedIndex - 1); RenderModel(); } - private void exportButton_Click(object sender, EventArgs e) - { + private void exportButton_Click(object sender, EventArgs e) { SaveFileDialog em = new SaveFileDialog(); em.Filter = "NSBMD model (*.nsbmd)|*.nsbmd"; em.FileName = buildingEditorBldListBox.SelectedItem.ToString(); if (em.ShowDialog(this) != DialogResult.OK) return; - - else - File.Copy(folder + rom.GetBuildingModelsDirPath(interiorCheckBox.Checked) + "\\" + buildingEditorBldListBox.SelectedIndex.ToString("D4"), em.FileName, true); + + File.Copy(folder + rom.GetBuildingModelsDirPath(interiorCheckBox.Checked) + "\\" + buildingEditorBldListBox.SelectedIndex.ToString("D4"), em.FileName, true); } - private void importButton_Click(object sender, EventArgs e) - { + private void importButton_Click(object sender, EventArgs e) { OpenFileDialog im = new OpenFileDialog(); im.Filter = "NSBMD model (*.nsbmd)|*.nsbmd"; if (im.ShowDialog(this) != DialogResult.OK) return; - using (BinaryReader reader = new BinaryReader(new FileStream(im.FileName, FileMode.Open))) - { - if (reader.ReadUInt32() != 0x30444D42) - { + using (BinaryReader reader = new BinaryReader(new FileStream(im.FileName, FileMode.Open))) { + if (reader.ReadUInt32() != 0x30444D42) { MessageBox.Show("Please select an NSBMD file.", "Invalid File"); return; - } - else - { + } else { File.Copy(im.FileName, folder + rom.GetBuildingModelsDirPath(interiorCheckBox.Checked) + "\\" + buildingEditorBldListBox.SelectedIndex.ToString("D4"), true); buildingsListBox_SelectedIndexChanged(null, null); } @@ -237,12 +230,11 @@ namespace DSPRE private void textureComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (disableHandlers) return; + LoadModelTextures(textureComboBox.SelectedIndex - 1); RenderModel(); } - - private void buildingOpenGLControl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { + private void buildingOpenGLControl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { switch (e.KeyCode) { case Keys.Right: ang += 1; diff --git a/DS_Map/DS Map.csproj b/DS_Map/DS Map.csproj index 6024e9b..e67fd81 100644 --- a/DS_Map/DS Map.csproj +++ b/DS_Map/DS Map.csproj @@ -142,6 +142,7 @@ CameraView.cs + Form diff --git a/DS_Map/Main Window.Designer.cs b/DS_Map/Main Window.Designer.cs index eb92ea1..33a598c 100644 --- a/DS_Map/Main Window.Designer.cs +++ b/DS_Map/Main Window.Designer.cs @@ -30,21 +30,21 @@ { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainProgram)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); + 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.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); this.mainTabControl = new System.Windows.Forms.TabControl(); this.headerEditorTabPage = new System.Windows.Forms.TabPage(); this.worldmapCoordsGroupBox = new System.Windows.Forms.GroupBox(); @@ -175,11 +175,8 @@ this.matrixNameLabel = new System.Windows.Forms.Label(); this.matrixTabControl = new System.Windows.Forms.TabControl(); this.headersTabPage = new System.Windows.Forms.TabPage(); - this.headersGridView = new DSPRE.DataGridViewDoubleBuffered(); this.heightsTabPage = new System.Windows.Forms.TabPage(); - this.heightsGridView = new DSPRE.DataGridViewDoubleBuffered(); this.mapFilesTabPage = new System.Windows.Forms.TabPage(); - this.mapFilesGridView = new DSPRE.DataGridViewDoubleBuffered(); this.matrixNameTextBox = new System.Windows.Forms.TextBox(); this.heightUpDown = new System.Windows.Forms.NumericUpDown(); this.widthUpDown = new System.Windows.Forms.NumericUpDown(); @@ -187,6 +184,7 @@ this.widthLabel = new System.Windows.Forms.Label(); this.selectMatrixComboBox = new System.Windows.Forms.ComboBox(); this.mapEditorTabPage = new System.Windows.Forms.TabPage(); + this.exportCurrentMapBinButton = new System.Windows.Forms.Button(); this.replaceMapBinButton = new System.Windows.Forms.Button(); this.addMapFileButton = new System.Windows.Forms.Button(); this.removeMapFileButton = new System.Windows.Forms.Button(); @@ -462,7 +460,7 @@ this.eventOpenGlControl = new Tao.Platform.Windows.SimpleOpenGlControl(); this.scriptEditorTabPage = new System.Windows.Forms.TabPage(); this.groupBox8 = new System.Windows.Forms.GroupBox(); - this.scriptCmdSearchCaseSensitiveCheckBox = new System.Windows.Forms.CheckBox(); + this.scriptSearchCaseSensitiveCheckBox = new System.Windows.Forms.CheckBox(); this.searchInScriptsTextBox = new System.Windows.Forms.TextBox(); this.label31 = new System.Windows.Forms.Label(); this.searchProgressBar = new System.Windows.Forms.ProgressBar(); @@ -553,13 +551,13 @@ this.groupBox13 = new System.Windows.Forms.GroupBox(); this.replaceOnlyCurrentCheckBox = new System.Windows.Forms.CheckBox(); this.searchOnlyCurrentCheckBox = new System.Windows.Forms.CheckBox(); - this.caseSensitiveReplaceCheckbox = new System.Windows.Forms.CheckBox(); + this.caseSensitiveTextReplaceCheckbox = new System.Windows.Forms.CheckBox(); this.textSearchResultsListBox = new System.Windows.Forms.ListBox(); this.replaceTextLabel = new System.Windows.Forms.Label(); this.replaceMessageTextBox = new System.Windows.Forms.TextBox(); this.label8 = new System.Windows.Forms.Label(); this.textSearchProgressBar = new System.Windows.Forms.ProgressBar(); - this.caseSensitiveSearchCheckbox = new System.Windows.Forms.CheckBox(); + this.caseSensitiveTextSearchCheckbox = new System.Windows.Forms.CheckBox(); this.label7 = new System.Windows.Forms.Label(); this.searchMessageTextBox = new System.Windows.Forms.TextBox(); this.searchMessageButton = new System.Windows.Forms.Button(); @@ -603,6 +601,9 @@ this.headerSearchToolStripButton = new System.Windows.Forms.ToolStripButton(); this.versionLabel = new System.Windows.Forms.Label(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.headersGridView = new DSPRE.DataGridViewDoubleBuffered(); + this.heightsGridView = new DSPRE.DataGridViewDoubleBuffered(); + this.mapFilesGridView = new DSPRE.DataGridViewDoubleBuffered(); this.mainTabControl.SuspendLayout(); this.headerEditorTabPage.SuspendLayout(); this.worldmapCoordsGroupBox.SuspendLayout(); @@ -633,11 +634,8 @@ this.matrixEditorTabPage.SuspendLayout(); this.matrixTabControl.SuspendLayout(); this.headersTabPage.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.headersGridView)).BeginInit(); this.heightsTabPage.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.heightsGridView)).BeginInit(); this.mapFilesTabPage.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.mapFilesGridView)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.heightUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.widthUpDown)).BeginInit(); this.mapEditorTabPage.SuspendLayout(); @@ -759,6 +757,9 @@ this.menuStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); this.mainToolStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.headersGridView)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.heightsGridView)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.mapFilesGridView)).BeginInit(); this.SuspendLayout(); // // mainTabControl @@ -2291,62 +2292,6 @@ this.headersTabPage.Text = "Map Headers"; this.headersTabPage.UseVisualStyleBackColor = true; // - // headersGridView - // - this.headersGridView.AllowUserToAddRows = false; - this.headersGridView.AllowUserToDeleteRows = false; - this.headersGridView.AllowUserToResizeColumns = false; - this.headersGridView.AllowUserToResizeRows = false; - dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.headersGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle16; - this.headersGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.headersGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; - dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle17.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle17.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle17.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.headersGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle17; - this.headersGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle18.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle18.Format = "D4"; - dataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.headersGridView.DefaultCellStyle = dataGridViewCellStyle18; - this.headersGridView.Location = new System.Drawing.Point(0, 0); - this.headersGridView.Name = "headersGridView"; - dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle19.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle19.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle19.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle19.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.headersGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle19; - this.headersGridView.RowHeadersWidth = 50; - this.headersGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; - dataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle20.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.headersGridView.RowsDefaultCellStyle = dataGridViewCellStyle20; - this.headersGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.headersGridView.RowTemplate.Height = 18; - this.headersGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this.headersGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; - this.headersGridView.ShowCellErrors = false; - this.headersGridView.Size = new System.Drawing.Size(1032, 566); - this.headersGridView.TabIndex = 1; - this.headersGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.headersGridView_CellFormatting); - this.headersGridView.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.headersGridView_CellMouseDoubleClick); - this.headersGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.headersGridView_CellValueChanged); - // // heightsTabPage // this.heightsTabPage.Controls.Add(this.heightsGridView); @@ -2357,60 +2302,6 @@ this.heightsTabPage.Text = "Map Heights"; this.heightsTabPage.UseVisualStyleBackColor = true; // - // heightsGridView - // - this.heightsGridView.AllowUserToAddRows = false; - this.heightsGridView.AllowUserToDeleteRows = false; - this.heightsGridView.AllowUserToResizeColumns = false; - this.heightsGridView.AllowUserToResizeRows = false; - dataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.heightsGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle21; - this.heightsGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.heightsGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; - dataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle22.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle22.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle22.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle22.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle22.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.heightsGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle22; - this.heightsGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle23.Font = new System.Drawing.Font("Tahoma", 8.25F); - dataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle23.Format = "D2"; - dataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.heightsGridView.DefaultCellStyle = dataGridViewCellStyle23; - this.heightsGridView.Location = new System.Drawing.Point(0, 0); - this.heightsGridView.Name = "heightsGridView"; - dataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle24.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.heightsGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle24; - this.heightsGridView.RowHeadersWidth = 50; - this.heightsGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; - dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle25.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.heightsGridView.RowsDefaultCellStyle = dataGridViewCellStyle25; - this.heightsGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.heightsGridView.RowTemplate.Height = 18; - this.heightsGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this.heightsGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; - this.heightsGridView.Size = new System.Drawing.Size(1032, 566); - this.heightsGridView.TabIndex = 2; - this.heightsGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.heightsGridView_CellFormatting); - this.heightsGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.heightsGridView_CellValueChanged); - // // mapFilesTabPage // this.mapFilesTabPage.Controls.Add(this.mapFilesGridView); @@ -2421,61 +2312,6 @@ this.mapFilesTabPage.Text = "Map Files"; this.mapFilesTabPage.UseVisualStyleBackColor = true; // - // mapFilesGridView - // - this.mapFilesGridView.AllowUserToAddRows = false; - this.mapFilesGridView.AllowUserToDeleteRows = false; - this.mapFilesGridView.AllowUserToResizeColumns = false; - this.mapFilesGridView.AllowUserToResizeRows = false; - dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.mapFilesGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle26; - this.mapFilesGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.mapFilesGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; - dataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle27.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle27.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.mapFilesGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle27; - this.mapFilesGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle28.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle28.Format = "D4"; - dataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.mapFilesGridView.DefaultCellStyle = dataGridViewCellStyle28; - this.mapFilesGridView.Location = new System.Drawing.Point(0, 0); - this.mapFilesGridView.Name = "mapFilesGridView"; - dataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle29.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); - dataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.mapFilesGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle29; - this.mapFilesGridView.RowHeadersWidth = 50; - this.mapFilesGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; - dataGridViewCellStyle30.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle30.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.mapFilesGridView.RowsDefaultCellStyle = dataGridViewCellStyle30; - this.mapFilesGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.mapFilesGridView.RowTemplate.Height = 18; - this.mapFilesGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this.mapFilesGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; - this.mapFilesGridView.Size = new System.Drawing.Size(1032, 566); - this.mapFilesGridView.TabIndex = 2; - this.mapFilesGridView.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.mapFilesGridView_CellMouseDoubleClick); - this.mapFilesGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.mapFilesGridView_CellFormatting); - this.mapFilesGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.mapFilesGridView_CellValueChanged); - // // matrixNameTextBox // this.matrixNameTextBox.Location = new System.Drawing.Point(13, 73); @@ -2564,6 +2400,7 @@ // mapEditorTabPage // this.mapEditorTabPage.BackColor = System.Drawing.SystemColors.Window; + this.mapEditorTabPage.Controls.Add(this.exportCurrentMapBinButton); this.mapEditorTabPage.Controls.Add(this.replaceMapBinButton); this.mapEditorTabPage.Controls.Add(this.addMapFileButton); this.mapEditorTabPage.Controls.Add(this.removeMapFileButton); @@ -2588,15 +2425,28 @@ this.mapEditorTabPage.Text = "Map Editor"; this.mapEditorTabPage.Enter += new System.EventHandler(this.mapEditorTabPage_Enter); // + // exportCurrentMapBinButton + // + this.exportCurrentMapBinButton.Image = global::DSPRE.Properties.Resources.exportArrow; + this.exportCurrentMapBinButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.exportCurrentMapBinButton.Location = new System.Drawing.Point(345, 532); + this.exportCurrentMapBinButton.Name = "exportCurrentMapBinButton"; + this.exportCurrentMapBinButton.Size = new System.Drawing.Size(84, 40); + this.exportCurrentMapBinButton.TabIndex = 38; + this.exportCurrentMapBinButton.Text = "Export \r\nMap BIN"; + this.exportCurrentMapBinButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.exportCurrentMapBinButton.UseVisualStyleBackColor = true; + this.exportCurrentMapBinButton.Click += new System.EventHandler(this.exportCurrentMapBinButton_Click); + // // replaceMapBinButton // this.replaceMapBinButton.Image = global::DSPRE.Properties.Resources.importArrow; this.replaceMapBinButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.replaceMapBinButton.Location = new System.Drawing.Point(265, 532); + this.replaceMapBinButton.Location = new System.Drawing.Point(258, 532); this.replaceMapBinButton.Name = "replaceMapBinButton"; - this.replaceMapBinButton.Size = new System.Drawing.Size(158, 40); + this.replaceMapBinButton.Size = new System.Drawing.Size(84, 40); this.replaceMapBinButton.TabIndex = 37; - this.replaceMapBinButton.Text = "Import and\r\nReplace Current"; + this.replaceMapBinButton.Text = "Replace \r\nMap BIN"; this.replaceMapBinButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.replaceMapBinButton.UseVisualStyleBackColor = true; this.replaceMapBinButton.Click += new System.EventHandler(this.replaceMapBinButton_Click); @@ -2605,9 +2455,9 @@ // this.addMapFileButton.Image = global::DSPRE.Properties.Resources.addIcon; this.addMapFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.addMapFileButton.Location = new System.Drawing.Point(265, 489); + this.addMapFileButton.Location = new System.Drawing.Point(258, 489); this.addMapFileButton.Name = "addMapFileButton"; - this.addMapFileButton.Size = new System.Drawing.Size(78, 40); + this.addMapFileButton.Size = new System.Drawing.Size(84, 40); this.addMapFileButton.TabIndex = 36; this.addMapFileButton.Text = "Add \r\nMap File"; this.addMapFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -2620,7 +2470,7 @@ this.removeMapFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; this.removeMapFileButton.Location = new System.Drawing.Point(345, 489); this.removeMapFileButton.Name = "removeMapFileButton"; - this.removeMapFileButton.Size = new System.Drawing.Size(78, 40); + this.removeMapFileButton.Size = new System.Drawing.Size(84, 40); this.removeMapFileButton.TabIndex = 35; this.removeMapFileButton.Text = "Remove \r\nLast Map"; this.removeMapFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -2671,9 +2521,9 @@ // this.saveMapButton.Image = global::DSPRE.Properties.Resources.save_rom; this.saveMapButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.saveMapButton.Location = new System.Drawing.Point(265, 575); + this.saveMapButton.Location = new System.Drawing.Point(258, 575); this.saveMapButton.Name = "saveMapButton"; - this.saveMapButton.Size = new System.Drawing.Size(158, 40); + this.saveMapButton.Size = new System.Drawing.Size(171, 40); this.saveMapButton.TabIndex = 34; this.saveMapButton.Text = "Save Current Map File"; this.saveMapButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -3158,8 +3008,13 @@ this.typePainterUpDown.Enabled = false; this.typePainterUpDown.Hexadecimal = true; this.typePainterUpDown.Location = new System.Drawing.Point(134, 101); + this.typePainterUpDown.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); this.typePainterUpDown.Name = "typePainterUpDown"; - this.typePainterUpDown.Size = new System.Drawing.Size(74, 20); + this.typePainterUpDown.Size = new System.Drawing.Size(78, 20); this.typePainterUpDown.TabIndex = 3; this.typePainterUpDown.ValueChanged += new System.EventHandler(this.typePainterUpDown_ValueChanged); // @@ -3204,7 +3059,7 @@ this.collisionPainterComboBox.Name = "collisionPainterComboBox"; this.collisionPainterComboBox.Size = new System.Drawing.Size(234, 21); this.collisionPainterComboBox.TabIndex = 1; - this.collisionPainterComboBox.SelectedIndexChanged += new System.EventHandler(this.collisionPainterComboBox_SelectedIndexChanged); + this.collisionPainterComboBox.SelectedIndexChanged += new System.EventHandler(this.collisionPainterComboBox_ResetSelection); // // collisionPainterPictureBox // @@ -4182,9 +4037,9 @@ // this.removeEventFileButton.Image = global::DSPRE.Properties.Resources.deleteIcon; this.removeEventFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.removeEventFileButton.Location = new System.Drawing.Point(367, 36); + this.removeEventFileButton.Location = new System.Drawing.Point(354, 36); this.removeEventFileButton.Name = "removeEventFileButton"; - this.removeEventFileButton.Size = new System.Drawing.Size(93, 25); + this.removeEventFileButton.Size = new System.Drawing.Size(98, 25); this.removeEventFileButton.TabIndex = 54; this.removeEventFileButton.Text = "Remove Last"; this.removeEventFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -4195,9 +4050,9 @@ // this.addEventFileButton.Image = global::DSPRE.Properties.Resources.addIcon; this.addEventFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.addEventFileButton.Location = new System.Drawing.Point(367, 9); + this.addEventFileButton.Location = new System.Drawing.Point(354, 9); this.addEventFileButton.Name = "addEventFileButton"; - this.addEventFileButton.Size = new System.Drawing.Size(93, 25); + this.addEventFileButton.Size = new System.Drawing.Size(98, 25); this.addEventFileButton.TabIndex = 53; this.addEventFileButton.Text = "Add Event"; this.addEventFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -4324,7 +4179,7 @@ this.selectEventComboBox.FormattingEnabled = true; this.selectEventComboBox.Location = new System.Drawing.Point(10, 11); this.selectEventComboBox.Name = "selectEventComboBox"; - this.selectEventComboBox.Size = new System.Drawing.Size(181, 21); + this.selectEventComboBox.Size = new System.Drawing.Size(164, 21); this.selectEventComboBox.TabIndex = 41; this.selectEventComboBox.SelectedIndexChanged += new System.EventHandler(this.selectEventComboBox_SelectedIndexChanged); // @@ -4332,9 +4187,9 @@ // this.exportEventFileButton.Image = global::DSPRE.Properties.Resources.exportArrow; this.exportEventFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.exportEventFileButton.Location = new System.Drawing.Point(282, 9); + this.exportEventFileButton.Location = new System.Drawing.Point(266, 9); this.exportEventFileButton.Name = "exportEventFileButton"; - this.exportEventFileButton.Size = new System.Drawing.Size(82, 52); + this.exportEventFileButton.Size = new System.Drawing.Size(84, 52); this.exportEventFileButton.TabIndex = 36; this.exportEventFileButton.Text = "Export"; this.exportEventFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -4345,9 +4200,9 @@ // this.importEventFileButton.Image = global::DSPRE.Properties.Resources.importArrow; this.importEventFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.importEventFileButton.Location = new System.Drawing.Point(197, 9); + this.importEventFileButton.Location = new System.Drawing.Point(178, 9); this.importEventFileButton.Name = "importEventFileButton"; - this.importEventFileButton.Size = new System.Drawing.Size(82, 52); + this.importEventFileButton.Size = new System.Drawing.Size(84, 52); this.importEventFileButton.TabIndex = 35; this.importEventFileButton.Text = "Replace\r\nCurrent"; this.importEventFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -4358,7 +4213,7 @@ // this.saveEventsButton.Location = new System.Drawing.Point(9, 36); this.saveEventsButton.Name = "saveEventsButton"; - this.saveEventsButton.Size = new System.Drawing.Size(183, 25); + this.saveEventsButton.Size = new System.Drawing.Size(166, 25); this.saveEventsButton.TabIndex = 34; this.saveEventsButton.Text = "Save Events"; this.saveEventsButton.UseVisualStyleBackColor = true; @@ -5996,7 +5851,7 @@ // // groupBox8 // - this.groupBox8.Controls.Add(this.scriptCmdSearchCaseSensitiveCheckBox); + this.groupBox8.Controls.Add(this.scriptSearchCaseSensitiveCheckBox); this.groupBox8.Controls.Add(this.searchInScriptsTextBox); this.groupBox8.Controls.Add(this.label31); this.groupBox8.Controls.Add(this.searchProgressBar); @@ -6011,21 +5866,21 @@ this.groupBox8.TabStop = false; this.groupBox8.Text = "Search for commands:"; // - // scriptCmdSearchCaseSensitiveCheckBox + // scriptSearchCaseSensitiveCheckBox // - this.scriptCmdSearchCaseSensitiveCheckBox.AutoSize = true; - this.scriptCmdSearchCaseSensitiveCheckBox.Location = new System.Drawing.Point(315, 37); - this.scriptCmdSearchCaseSensitiveCheckBox.Name = "scriptCmdSearchCaseSensitiveCheckBox"; - this.scriptCmdSearchCaseSensitiveCheckBox.Size = new System.Drawing.Size(96, 17); - this.scriptCmdSearchCaseSensitiveCheckBox.TabIndex = 39; - this.scriptCmdSearchCaseSensitiveCheckBox.Text = "Case Sensitive"; - this.scriptCmdSearchCaseSensitiveCheckBox.UseVisualStyleBackColor = true; + this.scriptSearchCaseSensitiveCheckBox.AutoSize = true; + this.scriptSearchCaseSensitiveCheckBox.Location = new System.Drawing.Point(340, 37); + this.scriptSearchCaseSensitiveCheckBox.Name = "scriptSearchCaseSensitiveCheckBox"; + this.scriptSearchCaseSensitiveCheckBox.Size = new System.Drawing.Size(83, 17); + this.scriptSearchCaseSensitiveCheckBox.TabIndex = 39; + this.scriptSearchCaseSensitiveCheckBox.Text = "Match Case"; + this.scriptSearchCaseSensitiveCheckBox.UseVisualStyleBackColor = true; // // searchInScriptsTextBox // this.searchInScriptsTextBox.Location = new System.Drawing.Point(11, 35); this.searchInScriptsTextBox.Name = "searchInScriptsTextBox"; - this.searchInScriptsTextBox.Size = new System.Drawing.Size(295, 20); + this.searchInScriptsTextBox.Size = new System.Drawing.Size(319, 20); this.searchInScriptsTextBox.TabIndex = 38; this.searchInScriptsTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.searchInScriptsTextBox_KeyDown); // @@ -6042,7 +5897,7 @@ // this.searchProgressBar.Location = new System.Drawing.Point(9, 264); this.searchProgressBar.Name = "searchProgressBar"; - this.searchProgressBar.Size = new System.Drawing.Size(501, 23); + this.searchProgressBar.Size = new System.Drawing.Size(511, 23); this.searchProgressBar.TabIndex = 36; // // label30 @@ -6065,7 +5920,7 @@ // // searchInScriptsButton // - this.searchInScriptsButton.Location = new System.Drawing.Point(416, 26); + this.searchInScriptsButton.Location = new System.Drawing.Point(429, 26); this.searchInScriptsButton.Name = "searchInScriptsButton"; this.searchInScriptsButton.Size = new System.Drawing.Size(91, 36); this.searchInScriptsButton.TabIndex = 32; @@ -6077,7 +5932,7 @@ // this.searchInScriptsResultListBox.Location = new System.Drawing.Point(10, 79); this.searchInScriptsResultListBox.Name = "searchInScriptsResultListBox"; - this.searchInScriptsResultListBox.Size = new System.Drawing.Size(500, 160); + this.searchInScriptsResultListBox.Size = new System.Drawing.Size(510, 160); this.searchInScriptsResultListBox.TabIndex = 17; this.searchInScriptsResultListBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.searchInScriptsResultListBox_KeyDown); this.searchInScriptsResultListBox.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.searchInScripts_GoToEntryResult); @@ -6086,7 +5941,7 @@ // this.importScriptFileButton.Image = global::DSPRE.Properties.Resources.importArrow; this.importScriptFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.importScriptFileButton.Location = new System.Drawing.Point(204, 17); + this.importScriptFileButton.Location = new System.Drawing.Point(218, 17); this.importScriptFileButton.Name = "importScriptFileButton"; this.importScriptFileButton.Size = new System.Drawing.Size(96, 52); this.importScriptFileButton.TabIndex = 16; @@ -6099,7 +5954,7 @@ // this.exportScriptFileButton.Image = global::DSPRE.Properties.Resources.exportArrow; this.exportScriptFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.exportScriptFileButton.Location = new System.Drawing.Point(306, 17); + this.exportScriptFileButton.Location = new System.Drawing.Point(318, 16); this.exportScriptFileButton.Name = "exportScriptFileButton"; this.exportScriptFileButton.Size = new System.Drawing.Size(96, 52); this.exportScriptFileButton.TabIndex = 15; @@ -6112,7 +5967,7 @@ // this.saveScriptFileButton.Location = new System.Drawing.Point(7, 46); this.saveScriptFileButton.Name = "saveScriptFileButton"; - this.saveScriptFileButton.Size = new System.Drawing.Size(189, 23); + this.saveScriptFileButton.Size = new System.Drawing.Size(203, 23); this.saveScriptFileButton.TabIndex = 14; this.saveScriptFileButton.Text = "&Save Current"; this.saveScriptFileButton.UseVisualStyleBackColor = true; @@ -6122,7 +5977,7 @@ // this.removeScriptFileButton.Image = global::DSPRE.Properties.Resources.deleteIcon; this.removeScriptFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.removeScriptFileButton.Location = new System.Drawing.Point(408, 44); + this.removeScriptFileButton.Location = new System.Drawing.Point(422, 43); this.removeScriptFileButton.Name = "removeScriptFileButton"; this.removeScriptFileButton.Size = new System.Drawing.Size(106, 25); this.removeScriptFileButton.TabIndex = 13; @@ -6135,7 +5990,7 @@ // this.addScriptFileButton.Image = global::DSPRE.Properties.Resources.addIcon; this.addScriptFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.addScriptFileButton.Location = new System.Drawing.Point(408, 17); + this.addScriptFileButton.Location = new System.Drawing.Point(422, 16); this.addScriptFileButton.Name = "addScriptFileButton"; this.addScriptFileButton.Size = new System.Drawing.Size(106, 25); this.addScriptFileButton.TabIndex = 10; @@ -7072,7 +6927,7 @@ this.selectScriptFileComboBox.FormattingEnabled = true; this.selectScriptFileComboBox.Location = new System.Drawing.Point(8, 20); this.selectScriptFileComboBox.Name = "selectScriptFileComboBox"; - this.selectScriptFileComboBox.Size = new System.Drawing.Size(187, 21); + this.selectScriptFileComboBox.Size = new System.Drawing.Size(201, 21); this.selectScriptFileComboBox.TabIndex = 0; this.selectScriptFileComboBox.SelectedIndexChanged += new System.EventHandler(this.selectScriptFileComboBox_SelectedIndexChanged); // @@ -7103,7 +6958,7 @@ // this.LineNumbersFormatgroupBox.Controls.Add(this.decimalRadioButton); this.LineNumbersFormatgroupBox.Controls.Add(this.hexRadiobutton); - this.LineNumbersFormatgroupBox.Location = new System.Drawing.Point(580, 36); + this.LineNumbersFormatgroupBox.Location = new System.Drawing.Point(594, 36); this.LineNumbersFormatgroupBox.Name = "LineNumbersFormatgroupBox"; this.LineNumbersFormatgroupBox.Size = new System.Drawing.Size(134, 35); this.LineNumbersFormatgroupBox.TabIndex = 34; @@ -7137,13 +6992,13 @@ // this.groupBox13.Controls.Add(this.replaceOnlyCurrentCheckBox); this.groupBox13.Controls.Add(this.searchOnlyCurrentCheckBox); - this.groupBox13.Controls.Add(this.caseSensitiveReplaceCheckbox); + this.groupBox13.Controls.Add(this.caseSensitiveTextReplaceCheckbox); this.groupBox13.Controls.Add(this.textSearchResultsListBox); this.groupBox13.Controls.Add(this.replaceTextLabel); this.groupBox13.Controls.Add(this.replaceMessageTextBox); this.groupBox13.Controls.Add(this.label8); this.groupBox13.Controls.Add(this.textSearchProgressBar); - this.groupBox13.Controls.Add(this.caseSensitiveSearchCheckbox); + this.groupBox13.Controls.Add(this.caseSensitiveTextSearchCheckbox); this.groupBox13.Controls.Add(this.label7); this.groupBox13.Controls.Add(this.searchMessageTextBox); this.groupBox13.Controls.Add(this.searchMessageButton); @@ -7176,15 +7031,15 @@ this.searchOnlyCurrentCheckBox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.searchOnlyCurrentCheckBox.UseVisualStyleBackColor = true; // - // caseSensitiveReplaceCheckbox + // caseSensitiveTextReplaceCheckbox // - this.caseSensitiveReplaceCheckbox.AutoSize = true; - this.caseSensitiveReplaceCheckbox.Location = new System.Drawing.Point(190, 133); - this.caseSensitiveReplaceCheckbox.Name = "caseSensitiveReplaceCheckbox"; - this.caseSensitiveReplaceCheckbox.Size = new System.Drawing.Size(83, 17); - this.caseSensitiveReplaceCheckbox.TabIndex = 39; - this.caseSensitiveReplaceCheckbox.Text = "Match Case"; - this.caseSensitiveReplaceCheckbox.UseVisualStyleBackColor = true; + this.caseSensitiveTextReplaceCheckbox.AutoSize = true; + this.caseSensitiveTextReplaceCheckbox.Location = new System.Drawing.Point(190, 133); + this.caseSensitiveTextReplaceCheckbox.Name = "caseSensitiveTextReplaceCheckbox"; + this.caseSensitiveTextReplaceCheckbox.Size = new System.Drawing.Size(83, 17); + this.caseSensitiveTextReplaceCheckbox.TabIndex = 39; + this.caseSensitiveTextReplaceCheckbox.Text = "Match Case"; + this.caseSensitiveTextReplaceCheckbox.UseVisualStyleBackColor = true; // // textSearchResultsListBox // @@ -7229,15 +7084,15 @@ this.textSearchProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous; this.textSearchProgressBar.TabIndex = 34; // - // caseSensitiveSearchCheckbox + // caseSensitiveTextSearchCheckbox // - this.caseSensitiveSearchCheckbox.AutoSize = true; - this.caseSensitiveSearchCheckbox.Location = new System.Drawing.Point(190, 49); - this.caseSensitiveSearchCheckbox.Name = "caseSensitiveSearchCheckbox"; - this.caseSensitiveSearchCheckbox.Size = new System.Drawing.Size(83, 17); - this.caseSensitiveSearchCheckbox.TabIndex = 33; - this.caseSensitiveSearchCheckbox.Text = "Match Case"; - this.caseSensitiveSearchCheckbox.UseVisualStyleBackColor = true; + this.caseSensitiveTextSearchCheckbox.AutoSize = true; + this.caseSensitiveTextSearchCheckbox.Location = new System.Drawing.Point(190, 49); + this.caseSensitiveTextSearchCheckbox.Name = "caseSensitiveTextSearchCheckbox"; + this.caseSensitiveTextSearchCheckbox.Size = new System.Drawing.Size(83, 17); + this.caseSensitiveTextSearchCheckbox.TabIndex = 33; + this.caseSensitiveTextSearchCheckbox.Text = "Match Case"; + this.caseSensitiveTextSearchCheckbox.UseVisualStyleBackColor = true; // // label7 // @@ -7336,7 +7191,7 @@ // this.exportTextFileButton.Image = global::DSPRE.Properties.Resources.exportArrow; this.exportTextFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.exportTextFileButton.Location = new System.Drawing.Point(298, 21); + this.exportTextFileButton.Location = new System.Drawing.Point(297, 21); this.exportTextFileButton.Name = "exportTextFileButton"; this.exportTextFileButton.Size = new System.Drawing.Size(94, 50); this.exportTextFileButton.TabIndex = 23; @@ -7372,9 +7227,9 @@ // this.removeMessageFileButton.Image = global::DSPRE.Properties.Resources.deleteIcon; this.removeMessageFileButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; - this.removeMessageFileButton.Location = new System.Drawing.Point(483, 21); + this.removeMessageFileButton.Location = new System.Drawing.Point(491, 21); this.removeMessageFileButton.Name = "removeMessageFileButton"; - this.removeMessageFileButton.Size = new System.Drawing.Size(88, 50); + this.removeMessageFileButton.Size = new System.Drawing.Size(97, 50); this.removeMessageFileButton.TabIndex = 20; this.removeMessageFileButton.Text = "Remove \r\nLast Archive"; this.removeMessageFileButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -7387,7 +7242,7 @@ this.addTextArchiveButton.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; this.addTextArchiveButton.Location = new System.Drawing.Point(397, 21); this.addTextArchiveButton.Name = "addTextArchiveButton"; - this.addTextArchiveButton.Size = new System.Drawing.Size(82, 50); + this.addTextArchiveButton.Size = new System.Drawing.Size(91, 50); this.addTextArchiveButton.TabIndex = 19; this.addTextArchiveButton.Text = "Add Text \r\nArchive"; this.addTextArchiveButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -7690,6 +7545,171 @@ this.versionLabel.TabIndex = 9; this.versionLabel.Text = "ROM:"; // + // headersGridView + // + this.headersGridView.AllowUserToAddRows = false; + this.headersGridView.AllowUserToDeleteRows = false; + this.headersGridView.AllowUserToResizeColumns = false; + this.headersGridView.AllowUserToResizeRows = false; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.headersGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.headersGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.headersGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.headersGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.headersGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle3.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle3.Format = "D4"; + dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.headersGridView.DefaultCellStyle = dataGridViewCellStyle3; + this.headersGridView.Location = new System.Drawing.Point(0, 0); + this.headersGridView.Name = "headersGridView"; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle4.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.headersGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.headersGridView.RowHeadersWidth = 50; + this.headersGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle5.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.headersGridView.RowsDefaultCellStyle = dataGridViewCellStyle5; + this.headersGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.headersGridView.RowTemplate.Height = 18; + this.headersGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; + this.headersGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.headersGridView.ShowCellErrors = false; + this.headersGridView.Size = new System.Drawing.Size(1032, 566); + this.headersGridView.TabIndex = 1; + this.headersGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.headersGridView_CellFormatting); + this.headersGridView.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.headersGridView_CellMouseDoubleClick); + this.headersGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.headersGridView_CellValueChanged); + // + // heightsGridView + // + this.heightsGridView.AllowUserToAddRows = false; + this.heightsGridView.AllowUserToDeleteRows = false; + this.heightsGridView.AllowUserToResizeColumns = false; + this.heightsGridView.AllowUserToResizeRows = false; + dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.heightsGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6; + this.heightsGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.heightsGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; + dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.heightsGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7; + this.heightsGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle8.Font = new System.Drawing.Font("Tahoma", 8.25F); + dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle8.Format = "D2"; + dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.heightsGridView.DefaultCellStyle = dataGridViewCellStyle8; + this.heightsGridView.Location = new System.Drawing.Point(0, 0); + this.heightsGridView.Name = "heightsGridView"; + dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle9.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.heightsGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle9; + this.heightsGridView.RowHeadersWidth = 50; + this.heightsGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle10.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.heightsGridView.RowsDefaultCellStyle = dataGridViewCellStyle10; + this.heightsGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.heightsGridView.RowTemplate.Height = 18; + this.heightsGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; + this.heightsGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.heightsGridView.Size = new System.Drawing.Size(1032, 566); + this.heightsGridView.TabIndex = 2; + this.heightsGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.heightsGridView_CellFormatting); + this.heightsGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.heightsGridView_CellValueChanged); + // + // mapFilesGridView + // + this.mapFilesGridView.AllowUserToAddRows = false; + this.mapFilesGridView.AllowUserToDeleteRows = false; + this.mapFilesGridView.AllowUserToResizeColumns = false; + this.mapFilesGridView.AllowUserToResizeRows = false; + dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.mapFilesGridView.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11; + this.mapFilesGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.mapFilesGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; + dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle12.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.mapFilesGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12; + this.mapFilesGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle13.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle13.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle13.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle13.Format = "D4"; + dataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.mapFilesGridView.DefaultCellStyle = dataGridViewCellStyle13; + this.mapFilesGridView.Location = new System.Drawing.Point(0, 0); + this.mapFilesGridView.Name = "mapFilesGridView"; + dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle14.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + dataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.mapFilesGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle14; + this.mapFilesGridView.RowHeadersWidth = 50; + this.mapFilesGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle15.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.mapFilesGridView.RowsDefaultCellStyle = dataGridViewCellStyle15; + this.mapFilesGridView.RowTemplate.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.mapFilesGridView.RowTemplate.Height = 18; + this.mapFilesGridView.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.False; + this.mapFilesGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.mapFilesGridView.Size = new System.Drawing.Size(1032, 566); + this.mapFilesGridView.TabIndex = 2; + this.mapFilesGridView.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.mapFilesGridView_CellMouseDoubleClick); + this.mapFilesGridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.mapFilesGridView_CellFormatting); + this.mapFilesGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.mapFilesGridView_CellValueChanged); + // // MainProgram // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -7749,11 +7769,8 @@ this.matrixEditorTabPage.PerformLayout(); this.matrixTabControl.ResumeLayout(false); this.headersTabPage.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.headersGridView)).EndInit(); this.heightsTabPage.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.heightsGridView)).EndInit(); this.mapFilesTabPage.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.mapFilesGridView)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.heightUpDown)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.widthUpDown)).EndInit(); this.mapEditorTabPage.ResumeLayout(false); @@ -7912,6 +7929,9 @@ this.statusStrip1.PerformLayout(); this.mainToolStrip.ResumeLayout(false); this.mainToolStrip.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.headersGridView)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.heightsGridView)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.mapFilesGridView)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -8123,7 +8143,7 @@ private System.Windows.Forms.Label label7; private System.Windows.Forms.Button searchMessageButton; private System.Windows.Forms.Button replaceMessageButton; - private System.Windows.Forms.CheckBox caseSensitiveSearchCheckbox; + private System.Windows.Forms.CheckBox caseSensitiveTextSearchCheckbox; private System.Windows.Forms.ProgressBar textSearchProgressBar; private System.Windows.Forms.Label label8; private System.Windows.Forms.TabPage tabPage1; @@ -8388,7 +8408,7 @@ private System.Windows.Forms.Button pasteCameraAngleButton; private System.Windows.Forms.Button copyCameraAngleButton; private System.Windows.Forms.ListBox textSearchResultsListBox; - private System.Windows.Forms.CheckBox caseSensitiveReplaceCheckbox; + private System.Windows.Forms.CheckBox caseSensitiveTextReplaceCheckbox; private System.Windows.Forms.CheckBox replaceOnlyCurrentCheckBox; private System.Windows.Forms.CheckBox searchOnlyCurrentCheckBox; private System.Windows.Forms.NumericUpDown musicDayUpDown; @@ -8419,7 +8439,7 @@ private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button1; private System.Windows.Forms.Button warpButton; - private System.Windows.Forms.CheckBox scriptCmdSearchCaseSensitiveCheckBox; + private System.Windows.Forms.CheckBox scriptSearchCaseSensitiveCheckBox; private System.Windows.Forms.Button waitMovementButton; private System.Windows.Forms.Button applyMovementButton; private System.Windows.Forms.Button setOwPositionButton; @@ -8476,6 +8496,7 @@ private System.Windows.Forms.Label label19; private System.Windows.Forms.NumericUpDown expectedVarValueTriggerUpDown; private System.Windows.Forms.GroupBox triggerLogicGroupBox; + private System.Windows.Forms.Button exportCurrentMapBinButton; } } diff --git a/DS_Map/Main Window.cs b/DS_Map/Main Window.cs index e4bc734..264c790 100644 --- a/DS_Map/Main Window.cs +++ b/DS_Map/Main Window.cs @@ -2599,7 +2599,7 @@ namespace DSPRE { private void addMapFileButton_Click(object sender, EventArgs e) { /* Add new map file to map folder */ string mapFilePath = RomInfo.mapDirPath + "\\" + selectMapComboBox.Items.Count.ToString("D4"); - using (BinaryWriter writer = new BinaryWriter(new FileStream(mapFilePath, FileMode.Create))) writer.Write(LoadMapFile(0).Save()); + using (BinaryWriter writer = new BinaryWriter(new FileStream(mapFilePath, FileMode.Create))) writer.Write(LoadMapFile(0).ToByteArray()); /* Update ComboBox and select new file */ selectMapComboBox.Items.Add(selectMapComboBox.Items.Count.ToString("D3") + Header.nameSeparator + "newmap"); @@ -2770,28 +2770,26 @@ namespace DSPRE { ang, dist, elev, perspective, mapOpenGlControl.Width, mapOpenGlControl.Height, mapTexturesOn, showBuildingTextures); } - private void cam2Dmode() { perspective = 4f; ang = 0f; dist = 115.2f; elev = 90f; } - private void cam3Dmode() { perspective = 45f; ang = 0f; dist = 12.8f; elev = 50.0f; } - private void removeMapFileButton_Click(object sender, EventArgs e) { /* Delete last map file */ File.Delete(RomInfo.mapDirPath + "\\" + (selectMapComboBox.Items.Count - 1).ToString("D4")); /* Check if currently selected file is the last one, and in that case select the one before it */ int lastIndex = selectMapComboBox.Items.Count - 1; - if (selectMapComboBox.SelectedIndex == lastIndex) selectMapComboBox.SelectedIndex--; + if (selectMapComboBox.SelectedIndex == lastIndex) + selectMapComboBox.SelectedIndex--; /* Remove item from ComboBox */ selectMapComboBox.Items.RemoveAt(lastIndex); @@ -2799,7 +2797,20 @@ namespace DSPRE { private void saveMapButton_Click(object sender, EventArgs e) { string mapIndex = selectMapComboBox.SelectedIndex.ToString("D4"); using (BinaryWriter writer = new BinaryWriter(new FileStream(RomInfo.mapDirPath + "\\" + mapIndex, FileMode.Create))) - writer.Write(currentMapFile.Save()); + writer.Write(currentMapFile.ToByteArray()); + } + private void exportCurrentMapBinButton_Click(object sender, EventArgs e) { + SaveFileDialog eb = new SaveFileDialog(); + eb.Filter = "Gen IV Map BIN File (*.bin)|*.bin"; + eb.FileName = selectMapComboBox.SelectedItem.ToString(); + if (eb.ShowDialog(this) != DialogResult.OK) + return; + + using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(eb.FileName))) { + writer.Write(currentMapFile.ToByteArray()); + } + + MessageBox.Show("Map BIN exported successfully!", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } private void selectMapComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (disableHandlers) @@ -2812,7 +2823,6 @@ namespace DSPRE { if (mapTextureComboBox.SelectedIndex > 0) currentMapFile.mapModel = LoadModelTextures(currentMapFile.mapModel, romInfo.mapTexturesDirPath, mapTextureComboBox.SelectedIndex - 1); - /* Load buildings nsbmd and textures for renderer into MapFile's building objects */ for (int i = 0; i < currentMapFile.buildings.Count; i++) { currentMapFile.buildings[i] = LoadBuildingModel(currentMapFile.buildings[i], interiorbldRadioButton.Checked); // Load building nsbmd @@ -2824,19 +2834,20 @@ namespace DSPRE { RenderMap(ref mapRenderer, ref buildingsRenderer, ref currentMapFile, ang, dist, elev, perspective, mapOpenGlControl.Width, mapOpenGlControl.Height, mapTexturesOn, showBuildingTextures); /* Draw permissions in the small selection boxes */ - Draw_Small_Collision(); - Draw_Small_Type(); + DrawSmallCollision(); + DrawSmallTypeCollision(); /* Draw selected permissions category */ if (selectCollisionPanel.BackColor == Color.MidnightBlue) { - Draw_Collision_Grid(); + DrawCollisionGrid(); } else { - Draw_Type_Grid(); + DrawTypeGrid(); } - /* Set map screenshot as background picture in permissions editor PictureBox */ movPictureBox.BackgroundImage = GrabMapScreenshot(movPictureBox.Width, movPictureBox.Height); + RestorePainter(); + /* Fill buildings ListBox, and if not empty select first item */ FillBuildingsBox(); if (buildingsListBox.Items.Count > 0) @@ -2858,7 +2869,6 @@ namespace DSPRE { RenderMap(ref mapRenderer, ref buildingsRenderer, ref currentMapFile, ang, dist, elev, perspective, mapOpenGlControl.Width, mapOpenGlControl.Height, mapTexturesOn, showBuildingTextures); } - #region Building Editor private void addBuildingButton_Click(object sender, EventArgs e) { addBuildingToMap(new Building()); @@ -2867,7 +2877,6 @@ namespace DSPRE { if (buildingsListBox.SelectedIndex > -1) addBuildingToMap(new Building(currentMapFile.buildings[buildingsListBox.SelectedIndex])); } - private void addBuildingToMap(Building b) { currentMapFile.AddBuilding(b); @@ -2883,7 +2892,6 @@ namespace DSPRE { /* Redraw scene with new building */ RenderMap(ref mapRenderer, ref buildingsRenderer, ref currentMapFile, ang, dist, elev, perspective, mapOpenGlControl.Width, mapOpenGlControl.Height, mapTexturesOn, showBuildingTextures); } - private void buildIndexComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (disableHandlers || buildingsListBox.SelectedIndex < 0) return; @@ -2900,11 +2908,9 @@ namespace DSPRE { } private void buildingsListBox_SelectedIndexChanged(object sender, EventArgs e) { - #region Temporarily disable events to allow for faster execution if (disableHandlers) return; disableHandlers = true; - #endregion int buildingNumber = buildingsListBox.SelectedIndex; @@ -2917,9 +2923,7 @@ namespace DSPRE { buildingHeightUpDown.Value = currentMapFile.buildings[buildingNumber].height; buildingLengthUpDown.Value = currentMapFile.buildings[buildingNumber].length; - #region Re-enable disabled events disableHandlers = false; - #endregion } private void buildingHeightUpDown_ValueChanged(object sender, EventArgs e) { if (buildingsListBox.SelectedIndex > -1) { @@ -2947,7 +2951,7 @@ namespace DSPRE { return; using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(eb.FileName))) { - writer.Write(currentMapFile.ExportBuildings()); + writer.Write(currentMapFile.BuildingsToByteArray()); } MessageBox.Show("Buildings exported successfully!", "", MessageBoxButtons.OK, MessageBoxIcon.Information); @@ -3084,12 +3088,12 @@ namespace DSPRE { bmp.RotateFlip(RotateFlipType.RotateNoneFlipY); return bmp; } - private void Draw_Collision_Grid() { + private void DrawCollisionGrid() { Bitmap mainBm = new Bitmap(608, 608); using (Graphics gMain = Graphics.FromImage(mainBm)) { for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { - Set_Collision_Painter(currentMapFile.collisions[i, j]); + SetCollisionPainter(currentMapFile.collisions[i, j]); /* Draw collision on the main grid */ mainCell = new Rectangle(19 * j, 19 * i, 19, 19); @@ -3101,12 +3105,12 @@ namespace DSPRE { movPictureBox.Image = mainBm; movPictureBox.Invalidate(); } - private void Draw_Small_Collision() { + private void DrawSmallCollision() { Bitmap smallBm = new Bitmap(100, 100); using (Graphics gSmall = Graphics.FromImage(smallBm)) { for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { - Set_Collision_Painter(currentMapFile.collisions[i, j]); + SetCollisionPainter(currentMapFile.collisions[i, j]); /* Draw collision on the small image */ smallCell = new Rectangle(3 * j, 3 * i, 3, 3); @@ -3118,12 +3122,12 @@ namespace DSPRE { collisionPictureBox.Image = smallBm; collisionPictureBox.Invalidate(); } - private void Draw_Type_Grid() { + private void DrawTypeGrid() { Bitmap mainBm = new Bitmap(608, 608); using (Graphics gMain = Graphics.FromImage(mainBm)) { for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { - Set_Type_Painter(Convert.ToInt32(currentMapFile.types[i, j])); + SetTypePainter(Convert.ToInt32(currentMapFile.types[i, j])); /* Draw cell with color */ mainCell = new Rectangle(19 * j, 19 * i, 19, 19); @@ -3142,12 +3146,12 @@ namespace DSPRE { movPictureBox.Image = mainBm; movPictureBox.Invalidate(); } - private void Draw_Small_Type() { + private void DrawSmallTypeCollision() { Bitmap smallBm = new Bitmap(100, 100); using (Graphics gSmall = Graphics.FromImage(smallBm)) { for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { - Set_Type_Painter(currentMapFile.types[i, j]); + SetTypePainter(currentMapFile.types[i, j]); /* Draw collision on the small image */ smallCell = new Rectangle(3 * j, 3 * i, 3, 3); @@ -3159,7 +3163,7 @@ namespace DSPRE { typePictureBox.Image = smallBm; typePictureBox.Invalidate(); } - private void Edit_Cell(int xPosition, int yPosition) { + private void EditCell(int xPosition, int yPosition) { try { mainCell = new Rectangle(xPosition * 19, yPosition * 19, 19, 19); smallCell = new Rectangle(xPosition * 3, yPosition * 3, 3, 3); @@ -3203,14 +3207,16 @@ namespace DSPRE { movPictureBox.Invalidate(); } catch { return; } } - private void Restore_Painter() { - if (selectCollisionPanel.BackColor == Color.MidnightBlue) - collisionPainterComboBox_SelectedIndexChanged(null, null); // Restore painters to original state - else if (collisionTypePainterComboBox.Enabled) + private void RestorePainter() { + if (selectCollisionPanel.BackColor == Color.MidnightBlue) { + collisionPainterComboBox_ResetSelection(null, null); // Restore painters to original state + } else if (collisionTypePainterComboBox.Enabled) { typePainterComboBox_SelectedIndexChanged(null, null); // Restore painters to original state - else typePainterUpDown_ValueChanged(null, null); + } else { + typePainterUpDown_ValueChanged(null, null); + } } - private void Set_Collision_Painter(int collisionValue) { + private void SetCollisionPainter(int collisionValue) { switch (collisionValue) { case 0x0: paintPen = new Pen(Color.FromArgb(128, Color.White)); @@ -3227,7 +3233,7 @@ namespace DSPRE { } paintByte = (byte)collisionValue; } - private void Set_Type_Painter(int typeValue) { + private void SetTypePainter(int typeValue) { switch (typeValue) { case 0x0: paintPen = new Pen(Color.FromArgb(128, Color.White)); @@ -3252,7 +3258,7 @@ namespace DSPRE { paintPen = new Pen(Color.FromArgb(128, Color.BurlyWood)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.BurlyWood)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 8.5f); + textFont = new Font("Arial", 8.65f); break; case 0x10: paintPen = new Pen(Color.FromArgb(128, Color.SkyBlue)); @@ -3290,6 +3296,23 @@ namespace DSPRE { textBrush = new SolidBrush(Color.Black); textFont = new Font("Arial", 9.0f); break; + case 0x30: + case 0x31: + case 0x32: + case 0x33: + paintPen = new Pen(Color.FromArgb(128, Color.Red)); + paintBrush = new SolidBrush(Color.FromArgb(128, Color.Red)); + textBrush = new SolidBrush(Color.White); + textFont = new Font("Arial", 9.0f); + break; + case 0x3C: + case 0x3D: + case 0x3E: + paintPen = new Pen(Color.FromArgb(0x7F654321)); + paintBrush = new SolidBrush(Color.FromArgb(0x7F654321)); + textBrush = new SolidBrush(Color.White); + textFont = new Font("Arial", 8.65f); + break; case 0x38: case 0x39: case 0x3A: @@ -3297,7 +3320,7 @@ namespace DSPRE { paintPen = new Pen(Color.FromArgb(128, Color.Maroon)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.Maroon)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 8.7f); + textFont = new Font("Arial", 8.65f); break; case 0x40: case 0x41: @@ -3308,11 +3331,18 @@ namespace DSPRE { textBrush = new SolidBrush(Color.Black); textFont = new Font("Arial", 9.0f); break; + case 0x4B: + case 0x4C: + paintPen = new Pen(Color.FromArgb(128, Color.Sienna)); + paintBrush = new SolidBrush(Color.FromArgb(128, Color.Sienna)); + textBrush = new SolidBrush(Color.White); + textFont = new Font("Arial", 9.0f); + break; case 0x5E: paintPen = new Pen(Color.FromArgb(128, Color.DarkOrchid)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.DarkOrchid)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 8.7f); + textFont = new Font("Arial", 8.65f); break; case 0x5F: case 0x62: @@ -3323,7 +3353,7 @@ namespace DSPRE { paintPen = new Pen(Color.FromArgb(128, Color.DarkOrchid)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.DarkOrchid)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 9.0f); + textFont = new Font("Arial", 8.65f); break; case 0x6C: case 0x6D: @@ -3332,7 +3362,7 @@ namespace DSPRE { paintPen = new Pen(Color.FromArgb(128, Color.DarkOrchid)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.DarkOrchid)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 8.6f); + textFont = new Font("Arial", 8.65f); break; case 0xA1: case 0xA2: @@ -3340,25 +3370,25 @@ namespace DSPRE { paintPen = new Pen(Color.FromArgb(128, Color.Honeydew)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.Honeydew)); textBrush = new SolidBrush(Color.Black); - textFont = new Font("Arial", 9.0f); + textFont = new Font("Arial", 8.65f); break; case 0xA4: paintPen = new Pen(Color.FromArgb(128, Color.Peru)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.Peru)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 9.0f); + textFont = new Font("Arial", 8.65f); break; case 0xA6: paintPen = new Pen(Color.FromArgb(128, Color.SeaGreen)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.SeaGreen)); textBrush = new SolidBrush(Color.White); - textFont = new Font("Arial", 8.7f); + textFont = new Font("Arial", 8.65f); break; default: paintPen = new Pen(Color.FromArgb(128, Color.White)); paintBrush = new SolidBrush(Color.FromArgb(128, Color.White)); textBrush = new SolidBrush(Color.Black); - textFont = new Font("Arial", 8.7f); + textFont = new Font("Arial", 8.65f); break; } paintByte = (byte)typeValue; @@ -3375,7 +3405,7 @@ namespace DSPRE { using (Graphics mainG = Graphics.FromImage(movPictureBox.Image)) { smallG.Clear(Color.Transparent); mainG.Clear(Color.Transparent); - Set_Collision_Painter(0x0); + SetCollisionPainter(0x0); for (int i = 0; i < 32; i++) { for (int j = 0; j < 32; j++) { @@ -3391,17 +3421,24 @@ namespace DSPRE { movPictureBox.Invalidate(); // Refresh main image smallBox.Invalidate(); - Restore_Painter(); + RestorePainter(); } - private void collisionPainterComboBox_SelectedIndexChanged(object sender, EventArgs e) { + private void collisionPainterComboBox_ResetSelection(object sender, EventArgs e) { int collisionValue; - if (collisionPainterComboBox.SelectedIndex == 0) collisionValue = 0; - else if (collisionPainterComboBox.SelectedIndex == 1) collisionValue = 0x80; - else collisionValue = 1; - Set_Collision_Painter(collisionValue); + if (collisionPainterComboBox.SelectedIndex == 0) { + collisionValue = 0; + } else if (collisionPainterComboBox.SelectedIndex == 1) { + collisionValue = 0x80; + } else { + collisionValue = 1; + } + + SetCollisionPainter(collisionValue); + + using (Graphics g = Graphics.FromImage(collisionPainterPictureBox.Image)) + g.Clear(Color.FromArgb(255, paintBrush.Color)); - using (Graphics g = Graphics.FromImage(collisionPainterPictureBox.Image)) g.Clear(Color.FromArgb(255, paintBrush.Color)); collisionPainterPictureBox.Invalidate(); } private void collisionPictureBox_Click(object sender, EventArgs e) { @@ -3410,8 +3447,8 @@ namespace DSPRE { selectCollisionPanel.BackColor = Color.MidnightBlue; collisionGroupBox.Enabled = true; - Draw_Collision_Grid(); - Restore_Painter(); + DrawCollisionGrid(); + RestorePainter(); } private void exportMovButton_Click(object sender, EventArgs e) { SaveFileDialog em = new SaveFileDialog(); @@ -3420,7 +3457,9 @@ namespace DSPRE { if (em.ShowDialog(this) != DialogResult.OK) return; - using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(em.FileName))) writer.Write(currentMapFile.ExportPermissions()); + using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(em.FileName))) + writer.Write(currentMapFile.CollisionsToByteArray()); + MessageBox.Show("Permissions exported successfully!", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } private void importMovButton_Click(object sender, EventArgs e) { @@ -3431,47 +3470,40 @@ namespace DSPRE { currentMapFile.ImportPermissions(new FileStream(ip.FileName, FileMode.Open)); - Draw_Small_Collision(); - Draw_Small_Type(); - if (selectCollisionPanel.BackColor == Color.MidnightBlue) Draw_Collision_Grid(); - else Draw_Type_Grid(); - Restore_Painter(); + DrawSmallCollision(); + DrawSmallTypeCollision(); + if (selectCollisionPanel.BackColor == Color.MidnightBlue) { + DrawCollisionGrid(); + } else { + DrawTypeGrid(); + } + RestorePainter(); MessageBox.Show("Permissions imported successfully!", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } private void movPictureBox_Click(object sender, EventArgs e) { - Edit_Cell(movPictureBox.PointToClient(MousePosition).X / 19, movPictureBox.PointToClient(MousePosition).Y / 19); + EditCell(movPictureBox.PointToClient(MousePosition).X / 19, movPictureBox.PointToClient(MousePosition).Y / 19); } private void movPictureBox_MouseMove(object sender, MouseEventArgs e) { if ((Control.MouseButtons & MouseButtons.Left) == MouseButtons.Left) { - Edit_Cell(e.Location.X / 19, e.Location.Y / 19); + EditCell(e.Location.X / 19, e.Location.Y / 19); } } private void typePainterComboBox_SelectedIndexChanged(object sender, EventArgs e) { string selectedType = collisionTypePainterComboBox.SelectedItem.ToString(); - int typeValue = Convert.ToInt32(selectedType.Substring(1, 2), 16); - - Set_Type_Painter(typeValue); - - sf = new StringFormat(); - sf.LineAlignment = StringAlignment.Center; - sf.Alignment = StringAlignment.Center; - - using (Graphics g = Graphics.FromImage(typePainterPictureBox.Image)) { - g.Clear(Color.FromArgb(255, paintBrush.Color)); - g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; - g.DrawString(typeValue.ToString("X2"), new Font("Microsoft Sans Serif", 24), textBrush, painterBox, sf); - } - typePainterPictureBox.Invalidate(); + updateTypeCollisions(Convert.ToInt32(selectedType.Substring(1, 2), 16)); } private void typePainterUpDown_ValueChanged(object sender, EventArgs e) { int typeValue = (int)typePainterUpDown.Value; - Set_Type_Painter(typeValue); + updateTypeCollisions(typeValue); + } + private void updateTypeCollisions(int typeValue) { + SetTypePainter(typeValue); sf = new StringFormat(); sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; - painterBox = new Rectangle(0, 0, 100, 100); + using (Graphics g = Graphics.FromImage(typePainterPictureBox.Image)) { g.Clear(Color.FromArgb(255, paintBrush.Color)); g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; @@ -3485,8 +3517,8 @@ namespace DSPRE { selectTypePanel.BackColor = Color.MidnightBlue; typeGroupBox.Enabled = true; - Draw_Type_Grid(); - Restore_Painter(); + DrawTypeGrid(); + RestorePainter(); } private void typesRadioButton_CheckedChanged(object sender, EventArgs e) { if (knownTypesRadioButton.Checked) { @@ -5116,20 +5148,20 @@ namespace DSPRE { if (scriptTextBox.Lines[i].Contains("UseScript")) { int scriptNumber = Int16.Parse(scriptTextBox.Lines[i].Substring(1 + scriptTextBox.Lines[i].IndexOf('#'))); - scrFile.scripts.Add(new Script(scriptNumber)); + scrFile.scripts.Add(new Script(useScript: scriptNumber)); } else { /* Read script commands */ - List commandList = new List(); + List cmdList = new List(); while (scriptTextBox.Lines[i] != "End" && !scriptTextBox.Lines[i].Contains("Jump Function") && i < scriptTextBox.Lines.Length - 1) { Console.WriteLine("Script line " + (i + 1).ToString()); - Command cmd = new Command(scriptTextBox.Lines[i]); + ScriptCommand cmd = new ScriptCommand(scriptTextBox.Lines[i]); Console.WriteLine("----" + cmd + "----"); - commandList.Add(cmd); + cmdList.Add(cmd); i++; } - commandList.Add(new Command(scriptTextBox.Lines[i])); // Add end or jump/call command - scrFile.scripts.Add(new Script(commandList)); + cmdList.Add(new ScriptCommand(scriptTextBox.Lines[i])); // Add end or jump/call command + scrFile.scripts.Add(new Script(commandList: cmdList)); } } } @@ -5142,14 +5174,14 @@ namespace DSPRE { i++; //Skip all empty lines /* Read function commands */ - List commandList = new List(); + List cmdList = new List(); while (functionTextBox.Lines[i] != "End" && !functionTextBox.Lines[i].Contains("Return") && !functionTextBox.Lines[i].Contains("Jump F")) { - commandList.Add(new Command(functionTextBox.Lines[i])); + cmdList.Add(new ScriptCommand(functionTextBox.Lines[i])); i++; } - commandList.Add(new Command(functionTextBox.Lines[i])); // Add end command - scrFile.functions.Add(new Script(commandList)); + cmdList.Add(new ScriptCommand(functionTextBox.Lines[i])); // Add end command + scrFile.functions.Add(new Script(commandList: cmdList)); } } } @@ -5160,15 +5192,15 @@ namespace DSPRE { while (movementTextBox.Lines[i].Length == 0) i++; //Skip all empty lines - List commandList = new List(); + List cmdList = new List(); /* Read script commands */ while (movementTextBox.Lines[i] != "End") { - commandList.Add(new Command(movementTextBox.Lines[i], true)); + cmdList.Add(new ScriptCommand(movementTextBox.Lines[i], true)); i++; } - commandList.Add(new Command(movementTextBox.Lines[i],true)); // Add end command + cmdList.Add(new ScriptCommand(movementTextBox.Lines[i],true)); // Add end command - scrFile.movements.Add(new Script(commandList)); + scrFile.movements.Add(new Script(commandList: cmdList)); } } } @@ -5188,28 +5220,28 @@ namespace DSPRE { ScriptFile file = new ScriptFile(i); //Case Sensitive search - if (caseSensitiveSearchCheckbox.Checked) { + if (scriptSearchCaseSensitiveCheckBox.Checked) { for (int j = 0; j < file.scripts.Count; j++) { - foreach (Command cur in file.scripts[j].commands) { + foreach (ScriptCommand cur in file.scripts[j].commands) { if (cur.cmdName.Contains(searchString)) results.Add("File " + i + " - " + "Script " + (j + 1) + ": " + cur.cmdName + Environment.NewLine); } } for (int j = 0; j < file.functions.Count; j++) { - foreach (Command cur in file.functions[j].commands) { + foreach (ScriptCommand cur in file.functions[j].commands) { if (cur.cmdName.Contains(searchString)) results.Add("File " + i + " - " + "Function " + (j + 1) + ": " + cur.cmdName + Environment.NewLine); } } } else { //Case Insensitive search for (int j = 0; j < file.scripts.Count; j++) { - foreach (Command cur in file.scripts[j].commands) { + foreach (ScriptCommand cur in file.scripts[j].commands) { if (cur.cmdName.IndexOf(searchString, StringComparison.InvariantCultureIgnoreCase) >= 0) results.Add("File " + i + " - " + "Script " + (j + 1) + ": " + cur.cmdName + Environment.NewLine); } } for (int j = 0; j < file.functions.Count; j++) { - foreach (Command cur in file.functions[j].commands) { + foreach (ScriptCommand cur in file.functions[j].commands) { if (cur.cmdName.IndexOf(searchString, StringComparison.InvariantCultureIgnoreCase) >= 0) results.Add("File " + i + " - " + "Function " + (j + 1) + ": " + cur.cmdName + Environment.NewLine); } @@ -5310,7 +5342,6 @@ namespace DSPRE { buffer = ""; /* Add functions */ - statusLabel.Text = "Parsing Functions..."; for (int i = 0; i < currentScriptFile.functions.Count; i++) { Script currentFunction = currentScriptFile.functions[i]; @@ -5324,7 +5355,6 @@ namespace DSPRE { buffer = ""; /* Add movements */ - statusLabel.Text = "Parsing Movements..."; for (int i = 0; i < currentScriptFile.movements.Count; i++) { Script currentMovement = currentScriptFile.movements[i]; @@ -5808,7 +5838,7 @@ namespace DSPRE { textSearchProgressBar.Maximum = lastArchive; List results = new List(); - if (caseSensitiveSearchCheckbox.Checked) { + if (caseSensitiveTextSearchCheckbox.Checked) { for (int i = firstArchive; i < lastArchive; i++) { TextArchive file = new TextArchive(i); @@ -5834,7 +5864,7 @@ namespace DSPRE { textSearchResultsListBox.Items.AddRange(results.ToArray()); textSearchProgressBar.Value = 0; - caseSensitiveSearchCheckbox.Enabled = true; + caseSensitiveTextSearchCheckbox.Enabled = true; } private void searchMessageTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) @@ -5878,7 +5908,7 @@ namespace DSPRE { currentTextArchive = file; bool found = false; - if (caseSensitiveReplaceCheckbox.Checked) { + if (caseSensitiveTextReplaceCheckbox.Checked) { for (int j = 0; j < file.messages.Count; j++) { if (file.messages[j].Contains(searchString)) { file.messages[j] = file.messages[j].Replace(searchString, replaceString); @@ -6010,7 +6040,6 @@ namespace DSPRE { texturePacksListBox.Items.Add("Texture Pack " + i); } #endregion - private void buildingsTilesetRadioButton_CheckedChanged(object sender, EventArgs e) { FillTilesetBox(); texturePacksListBox.SelectedIndex = (int)areaDataBuildingTilesetUpDown.Value; @@ -6214,7 +6243,6 @@ namespace DSPRE { texturePacksListBox.Items.Add("Texture Pack " + texturePacksListBox.Items.Count); texturePacksListBox.SelectedIndex = texturePacksListBox.Items.Count - 1; } - private void removeNSBTXButton_Click(object sender, EventArgs e) { if (texturePacksListBox.Items.Count > 1) { /* Delete NSBTX file */ diff --git a/DS_Map/Main Window.resx b/DS_Map/Main Window.resx index bcb08fb..1bcf3c2 100644 --- a/DS_Map/Main Window.resx +++ b/DS_Map/Main Window.resx @@ -118,184 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAJJJREFUOE+1kzEO - gCAMRTmeo6PH4lgewdEjOLLVfJKaWj5qahgehS99uDSJSJrmRf4AR5XknGXd9hDohaOKEJRyhEBvI9JX - vuzteZwoAhWhenxuz+NFEagI1e/17DPNUceJItxEbER6TZ5rRJ6G1krYd6UOLRYGLuBFK/J3LDRUrAz1 - SUZDC5rB2581QQ8VcpGkExWcDjXFZ/TqAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAPRJREFUWEftlDES - gjAQRTmWd7Cg1JLW0pJreCtKruIF0I3zmfD5gYXMxCbOPAeeye6rbKZp+itSlkTKkkhZEimZ78e+DsNz - FFICDBrH9yk8IVIadrHvXwE13MMw/NiK0DJangq43h4L1BkEbEWsBS1PBXiIA1IRyxex/P7ss9iLmB/C - CwVgSNO2p1AR7oDc5YAjXAG8/NJ1s7PnI86AcwXgMC6nBnsdgN8MCCIRkUNqedjHIsgoIidkMUMsN1YC - 2AUOOQPm8HwgZQwGMPxPqM4YPI+Rcg8brAL4nAcp96gBNaAG1IAaYNjCGP7di5QlkbIcU/MB6WubB5bP - KlAAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAONJREFUWEft0jEO - gzAQBEBeR0tJFYkqDVL+lTKvyLOcbHHR+bRgsqCjIdJEaI3NYtOVUk5Fw0w0zETDTDTMRMNMNNzi+8Pf - TxzfioYteOD79ayoJWjYklYAiy6Zp6nC7jFxXY+GgInxLVVrJWgIVwFMeozjIeQC+LhufV/xH95a5sfk - AvdhOIRcgG2nQi7AttRb2nZv1xHYA/aSC9gZ2tv4aybeb5lcwM7QFvPXTLzfMrkA206FVAAwcYl/Szbu - xXU9GrZgUTvv1hm30LDlKnB6AcBDTRz7Bw0z0TATDTPRME/pPmKnw1qJ7LoMAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAN9JREFUWEftz7sN - wkAQBFAXRAGOqIEAySkpoVNCQrpzKzRweIO1Rsucf+cbEpAeWMMyGpqU0k/RUImGSjRUoqESDZVoqERD - JRqi8WVvu8W+iIbOCobhXWRpBA3df4D9uO9fRQ4bcO6em1QZ0Jwuq1Qf4P/SM3yWDFhSfYA/26fz7zyv - OmBJtQFbHD5gr6IBxgpM190nnkXsJvZFNERt24493+WWo9wN60Q0RF5+vT0mXo5yN6wT0RDNlaPcDetE - NERz5Sh3wzoRDRkrdPE7t+YmoqESDZVoqERDJRrqpOYDrj6pBKfT0lUAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAOJJREFUWEft0LEN - gzAUBFBmo3RJ6ZbSpcu0lIzgFbIOq6R0OCmWfn5OkYzJJ0QpngRn+TjR5ZwPRUNLNLREQ0s0tERDcJeQ - qVhpvaO7JRoCLi7Lrdl5B/RhpIW10KO7JRoCLqZ0bbbLgGlOm+CuG/1ax78BNITB+6cBIc5VygD06G6J - hnD4gBBeB+C5fKCclUy/f2RAjTIAPbpboiFMkf8BqWT6TA5Aj+6WaAhfOaBG8wA/9L8xAD26W6Ih6AFb - 7DagRdMA70O7/4BzD3jHPbAzRXdLNLREQ0s0tERDSzS0k7s7Zg5I8zHRj9IAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAHNJREFUOE9j+P// - P4NHQMR/SjDIDLAhCQtekI01Kk6ADaPIIJAhWA368eMDSZh4gzZUIDC6HBATb1AGAwKjywHxqEFADApk - kCEUBzYI43ANCJNmEB5MvEFU8xpVwwgPxmoQTJAcDDcImyQpGGwQdQq2/wwAuHW+otoYVvoAAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAG9JREFUOE/t1LEN - ACEIhWFHcSxGcAxGoXRLLo/LWRg1opRX/I0kX5TCpKop56w3wTCEmY8jIsOuICBDqNbqahsSkVY/Q9tQ - KaXVz9APvcsGcr1sNLsNckGrtqGwp4XuaNUQ+g5PatBo6MmgmI9N0wOQev5Ll7lcCAAAAABJRU5ErkJg - gg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABMAAAASCAYAAAC5DOVpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAP1JREFUOE+tkrEV - gkAQRCnBEiyB0JASDC3lSrAMQkogNDQ0tARKIFtv9t3A3rEcBAaft3tv5gNiIyIubXsTjzJn2Ryw1N2f - yiO8FO41abZQQgFg2Z5RartgHeLoPUltRwdUZbZUYjND/9aZwkxEbNmDOcoAHK6MWAGoZQ5lZ/ibjF8Z - ffWErhPAv8VZkNenSaL0UI18+7AIj6TMII/erqyUetjcRpaMWQif/J52gh3nNmdFi0yHOCI0f0aZplmD - mAl2nGNGrhSpwy64mxXsgZztkXyJK1+DxXL2Xo+sQxxZsFJCCWbkPKFeELR3199muMoYLgvYcU4ZQG+V - SfMD7KY3wtu2/tcAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAOtJREFUOE/FkrEN - wjAURDMWJWOkZATKlJQZgzIlJSNQMgJlRqD7+L501vfZjoIoQDr5+/69S6QwmNlPaprjeLYo3UdVBoDl - +rB1fWdtFRUXhAhpCe6tom6BwjxZRKYoSD9fxqdzhs99weQhjZfT3Zb55SEVdhByZJzLQxoB+1PTSUDV - LIDJwBZMxZKqYI82Czg/b2NxaqYo0BKKcFSEnctDGsfjlIP6BhD23QK/pKsWRVBhZ9TAN2c4Cr5mocpg - 0KHwyl8XEMYZfVVl9IK7CyAN92Coaf6/AH8eSOeWmiaAeTqk0QacXxfslw0f+kwSu21Y2aYAAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABkAAAASCAYAAACuLnWgAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAQJJREFUSEu1kb0R - wjAUgzMOJSUjMAJjUFJ6jJSUGYMRMkbKlHQmehcduucXO9yF4jvb8pOUny7n/HdCMeJ0u2Tg93sIRcIw - 8Bzvht8T71VCEWgYePTffXSuFYUigIlB86szNFTB3M8lWgBaJaBWVAqL5D/FFr4cPviLzEKQklYZS3S+ - WoJLwE+FNQr1GlEfs8KSc381MDinwQZbb8Onxzx8zGiWwJBSbytCtop4p/PVEjusRb5kmt4GQ73mS7TA - cvVgwiLxc8HIMOjc+zML+D+KzEJYJD6NBkEbhtECseLMO85Gb2GZXjBxNSEQK8MidA74LFAICo178F4l - FI8mFI8ldx/JDrZXxapFRgAAAABJRU5ErkJggg== - - - - 239, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w - LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACA - DwAAAk1TRnQBSQFMAgEBBwEAAVQBDAFUAQwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo - AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA - AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 - AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA - AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm - AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM - AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA - ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz - AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ - AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM - AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA - AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA - AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ - AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ - AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA - AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm - ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ - Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz - AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA - AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM - AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM - ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM - Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA - AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM - AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ - AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz - AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm - AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw - AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/woAAewBEgHvBQAB9BEA - ChIYAALzAusB7wHsAesB8wUAAeoB9AUAAvIB9AYAAxIGSgMSFAAB8wHxAbwC7AEHAbwBBwHsAesBBwQA - AQ4BEgHtBAAB8AEiASkB6wHzBQABEgJKBm4CSgESEwABvAH3Ae0BkgHvAbwBBwHwAfQB8gHrAeoEAAEO - AW0B7QMAAQcBIwIrASoB6wHzAwABEgFKAW4BSgZuAUoBbgFKARISAAFtAvcB8AG8AfMC8gL0Ae0B6wEH - AwABBwEVAeoD7QEpASsBJQEfASUBKgHrAfQCAAESAUoBbgFKBpMBSgFuAUoBEhIAAbwB7wHxAfQB9gHy - AvAB9AH2Ae8B7AFtAwAB9AEQAesBSgEwAQMBJQEXAfkCIAElASoB6gIAARIBSgGTAW4GSQFuAZMBSgES - EgAB8gHvAvYB9wFtAesB8gH0AfYB8wHrAewBBwIAAfQBEAFzAUUBJAEgAfkBFwH5ASABHwEgATEBIgH0 - AQABEgGTAW4BSQZsAUkBbgGTARITAAHvAfMBvAGSAfAB9wH2AfcB7QEHAesB7AHvAwAB8gERAUUBHwIg - AfkBFwH5ASABHwExASIB9AEAARIBkwFJAmwEcQJsAUkBkwESEwABBwHwAUQBJQEaApIB8gLzAfQBEgHr - AfICAAHyAUMB7AFFAR8BIAH5ARcBJgExATcBMAEUAgABSQFuAWwBcQGXBHEBlwFxAWwBbgESEwAB9AFt - ASwBJQHrAfQC8QLvAfIC6wG8AgAB8wFtAesBRQEfAiAB+QExAVECbQHzAgABSQJsAZcCcQKXAnEBlwJs - AUkTAAEcASwBKwHqAQcBvALvAfQCvAHzAm0DAAHwARMBRQEfASQCKwFRAbwFAAFJAWwCcQaXAnEBbAFJ - EgAB7wIrAUsB7wEHAbwB8QQHAfQBiwHqAwAB8AERAUsBJAEjAQMBSgHwBwABbAFxA5cCeAOXAXEBbBIA - Ae8BKwEsAUUCvAEHAe8BBwG8AfABGQLbAWwBBwMAAfABIwIrAQ4B8AHxCAABSQFxApcBeAWXAXEBSRIA - ARIBLAFFAfIB8wHvAfIB8QG7AtoBswKLAfMEAAHwASMBNwExAQ4LAAFJAXEClwF4A5cBcQFJFAABEgG8 - AgABBwGzAdQBswJsAe8IAAHvAg4B8wwAAWwBcQSXAXEBbBkAAQcCEgG8HQAEcRcAAfQL8wH0EwAN8xMA - AQcL7wEHAgAPEAEAAQcNswEHBwAEQwcAAe8BAAG7BrMBuwIAAe8CAAEQBjgBEAbTARABAAGzDQABswUA - AkME8AJDBQAB7wEAAbMGAAGzAgAB7wIAARACOAMAATgBEALTAgAC0wEQAQABsw0AAbMEAAFDCPABQwQA - Ae8BAAGtAQABlwJWAZcBAAGzAgAB7wIAARADOAEAAjgBEAHTAQAC0wEAAdMBEAEAAbMBAAFWCVABVgEA - AbMDAAFDA/ABkgJDAZID8AFDAwAB7wEAAa0BAARWAQABswH0AQAB7wIAARACOAIAAjgBEAHTAQAC0wEA - AdMBEAEAAbMBAAtWAQABswMAAUMB8AGSARIBQwHwAZIBQwESAZIB8AFDAwAB7wEAAa0BAARWAQABswH0 - AQAB7wIAARADOAEAAjgBEALTAgAC0wEQAQABswEAC1YBAAGzAgABQwHwARICYwFDAQAB8AFDAmMBEgHw - AUMCAAHvAQABrQEABHgBAAGzAfQBAAHvAgABEAY4ARAG0wEQAQABswEAC1YBAAGzAgABQwESBEcCQwRH - ARIBQwIAAe8BAAGtBgABswHzAQAB7wIADxABAAGzAQALVgEAAbMCAAFDDEcBQwIAAe8BAAG7Aq0EswG7 - AfMBAAHvAgABEAZHARAGAAEQAQABswEAC1YBAAGzAgABQwxHAUMCAAHvAQAB8wP0AfMB9AQAAe8CAAEQ - AkcCAAJHARAGAAEQAQABswEAC1YBAAGzAwABQwJHApQGRwFDAwAB7wEAAXQCMgEsAXQBAAG8AvcBAAHv - AgABEAFHAQACRwEAAUcBEAYAARABAAGzAQABVgl4AVYBAAGzAwABQwFHBJQFRwFDAwAB7wEAASwDwwFT - AQAB9wIAAfMB8AIAARABRwEAAkcBAAFHARAGAAEQAQABswEAC3gBAAGzBAABQwSUBEcBQwQAAe8BAAF0 - AywBdAEAAfcBAAHzAfADAAEQAkcCAAJHARAGAAEQAQABswEAC3gBAAGzBQACQwGUA0cCQwUAAe8IAAHz - AfAEAAEQBkcBEAYAARABAAGzDQABswcABEMHAAEHCO8BBwUADxABAAEJDbMBCREAAUIBTQE+BwABPgMA - ASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAH/AY8BvwH/AeABBwIAAfgBBwKPAcABAwIAAcABBwGP - AQcBwAEDAgABgAEHAY4BAwGAAQECAAGAAQMBgAEBAYABAQIAAYABAwGAAQEBgAEBAgABgAEBAYABAAGA - AQECAAHAAQEBwAEAAYABAQIAAcABAAHAAQEBgAEBAgABwAEAAcABAQGAAQECAAHAAQAB4AEPAYABAQIA - AYABAAHgAR8BwAEDBAAB4AE/AcABAwMAAQEB4AH/AeABBwIAAZgBDwHwAf8B8AEPAgAB+AF/Av8B/AE/ - AgABgAEDAv8BgAEDAv8BgAEDAQABAQEAAQEB/AE/AaABGwEAAQEBfwH9AfABDwGvAdsBAAExAX8B/QHg - AQcBqAFbAQABSQFAAQUBwAEDAagBSwEAAUkBQAEFAcABAwGoAUsBAAExAUABBQGBAQEBqAFLAQABAQFA - AQUBgAEBAa8BywEAAQEBQAEFAYABAQGgAQsBAAH9AUABBQGAAQEBoAF7ARgBxQFAAQUBwAEDAaABiwEk - Ae0BQAEFAcABAwGgAbMBJAHNAUABBQHgAQcBoAGnARgB7QFAAQUB8AEPAb8BzwEAAf0BfwH9AfwBPwGA - AR8BAAEBAQABAQL/Cw== - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -991,6 +813,107 @@ tKfMyjUkyIygTzrjDhqFL7mDJz+3RnvKrFxDgsyYxk385p/u4CGd0Z4yCzYZZMbU3C8bhW+5PxSkM9JP Z+QEKSIzyeiU/3MzIf80XA7IXoiys3q+byBqlNhAmTk027dIm8kwekBSRGegjprEoAeJQRqDdAI2GWnA aF2vNVLXwKZGGxYB+WhgM4QOkaB5Pz3zB9u0i81Or4XVAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAJJJREFUOE+1kzEO + gCAMRTmeo6PH4lgewdEjOLLVfJKaWj5qahgehS99uDSJSJrmRf4AR5XknGXd9hDohaOKEJRyhEBvI9JX + vuzteZwoAhWhenxuz+NFEagI1e/17DPNUceJItxEbER6TZ5rRJ6G1krYd6UOLRYGLuBFK/J3LDRUrAz1 + SUZDC5rB2581QQ8VcpGkExWcDjXFZ/TqAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAPRJREFUWEftlDES + gjAQRTmWd7Cg1JLW0pJreCtKruIF0I3zmfD5gYXMxCbOPAeeye6rbKZp+itSlkTKkkhZEimZ78e+DsNz + FFICDBrH9yk8IVIadrHvXwE13MMw/NiK0DJangq43h4L1BkEbEWsBS1PBXiIA1IRyxex/P7ss9iLmB/C + CwVgSNO2p1AR7oDc5YAjXAG8/NJ1s7PnI86AcwXgMC6nBnsdgN8MCCIRkUNqedjHIsgoIidkMUMsN1YC + 2AUOOQPm8HwgZQwGMPxPqM4YPI+Rcg8brAL4nAcp96gBNaAG1IAaYNjCGP7di5QlkbIcU/MB6WubB5bP + KlAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAONJREFUWEft0jEO + gzAQBEBeR0tJFYkqDVL+lTKvyLOcbHHR+bRgsqCjIdJEaI3NYtOVUk5Fw0w0zETDTDTMRMNMNNzi+8Pf + TxzfioYteOD79ayoJWjYklYAiy6Zp6nC7jFxXY+GgInxLVVrJWgIVwFMeozjIeQC+LhufV/xH95a5sfk + AvdhOIRcgG2nQi7AttRb2nZv1xHYA/aSC9gZ2tv4aybeb5lcwM7QFvPXTLzfMrkA206FVAAwcYl/Szbu + xXU9GrZgUTvv1hm30LDlKnB6AcBDTRz7Bw0z0TATDTPRME/pPmKnw1qJ7LoMAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAN9JREFUWEftz7sN + wkAQBFAXRAGOqIEAySkpoVNCQrpzKzRweIO1Rsucf+cbEpAeWMMyGpqU0k/RUImGSjRUoqESDZVoqERD + JRqi8WVvu8W+iIbOCobhXWRpBA3df4D9uO9fRQ4bcO6em1QZ0Jwuq1Qf4P/SM3yWDFhSfYA/26fz7zyv + OmBJtQFbHD5gr6IBxgpM190nnkXsJvZFNERt24493+WWo9wN60Q0RF5+vT0mXo5yN6wT0RDNlaPcDetE + NERz5Sh3wzoRDRkrdPE7t+YmoqESDZVoqERDJRrqpOYDrj6pBKfT0lUAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAOJJREFUWEft0LEN + gzAUBFBmo3RJ6ZbSpcu0lIzgFbIOq6R0OCmWfn5OkYzJJ0QpngRn+TjR5ZwPRUNLNLREQ0s0tERDcJeQ + qVhpvaO7JRoCLi7Lrdl5B/RhpIW10KO7JRoCLqZ0bbbLgGlOm+CuG/1ax78BNITB+6cBIc5VygD06G6J + hnD4gBBeB+C5fKCclUy/f2RAjTIAPbpboiFMkf8BqWT6TA5Aj+6WaAhfOaBG8wA/9L8xAD26W6Ih6AFb + 7DagRdMA70O7/4BzD3jHPbAzRXdLNLREQ0s0tERDSzS0k7s7Zg5I8zHRj9IAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAHNJREFUOE9j+P// + P4NHQMR/SjDIDLAhCQtekI01Kk6ADaPIIJAhWA368eMDSZh4gzZUIDC6HBATb1AGAwKjywHxqEFADApk + kCEUBzYI43ANCJNmEB5MvEFU8xpVwwgPxmoQTJAcDDcImyQpGGwQdQq2/wwAuHW+otoYVvoAAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAG9JREFUOE/t1LEN + ACEIhWFHcSxGcAxGoXRLLo/LWRg1opRX/I0kX5TCpKop56w3wTCEmY8jIsOuICBDqNbqahsSkVY/Q9tQ + KaXVz9APvcsGcr1sNLsNckGrtqGwp4XuaNUQ+g5PatBo6MmgmI9N0wOQev5Ll7lcCAAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABMAAAASCAYAAAC5DOVpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAP1JREFUOE+tkrEV + gkAQRCnBEiyB0JASDC3lSrAMQkogNDQ0tARKIFtv9t3A3rEcBAaft3tv5gNiIyIubXsTjzJn2Ryw1N2f + yiO8FO41abZQQgFg2Z5RartgHeLoPUltRwdUZbZUYjND/9aZwkxEbNmDOcoAHK6MWAGoZQ5lZ/ibjF8Z + ffWErhPAv8VZkNenSaL0UI18+7AIj6TMII/erqyUetjcRpaMWQif/J52gh3nNmdFi0yHOCI0f0aZplmD + mAl2nGNGrhSpwy64mxXsgZztkXyJK1+DxXL2Xo+sQxxZsFJCCWbkPKFeELR3199muMoYLgvYcU4ZQG+V + SfMD7KY3wtu2/tcAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAOtJREFUOE/FkrEN + wjAURDMWJWOkZATKlJQZgzIlJSNQMgJlRqD7+L501vfZjoIoQDr5+/69S6QwmNlPaprjeLYo3UdVBoDl + +rB1fWdtFRUXhAhpCe6tom6BwjxZRKYoSD9fxqdzhs99weQhjZfT3Zb55SEVdhByZJzLQxoB+1PTSUDV + LIDJwBZMxZKqYI82Czg/b2NxaqYo0BKKcFSEnctDGsfjlIP6BhD23QK/pKsWRVBhZ9TAN2c4Cr5mocpg + 0KHwyl8XEMYZfVVl9IK7CyAN92Coaf6/AH8eSOeWmiaAeTqk0QacXxfslw0f+kwSu21Y2aYAAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABkAAAASCAYAAACuLnWgAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAQJJREFUSEu1kb0R + wjAUgzMOJSUjMAJjUFJ6jJSUGYMRMkbKlHQmehcduucXO9yF4jvb8pOUny7n/HdCMeJ0u2Tg93sIRcIw + 8Bzvht8T71VCEWgYePTffXSuFYUigIlB86szNFTB3M8lWgBaJaBWVAqL5D/FFr4cPviLzEKQklYZS3S+ + WoJLwE+FNQr1GlEfs8KSc381MDinwQZbb8Onxzx8zGiWwJBSbytCtop4p/PVEjusRb5kmt4GQ73mS7TA + cvVgwiLxc8HIMOjc+zML+D+KzEJYJD6NBkEbhtECseLMO85Gb2GZXjBxNSEQK8MidA74LFAICo178F4l + FI8mFI8ldx/JDrZXxapFRgAAAABJRU5ErkJggg== @@ -1221,9 +1144,83 @@ True - - True + + 239, 17 + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACA + DwAAAk1TRnQBSQFMAgEBBwEAAZwBDAGcAQwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/woAAewBEgHvBQAB9BEA + ChIYAALzAusB7wHsAesB8wUAAeoB9AUAAvIB9AYAAxIGSgMSFAAB8wHxAbwC7AEHAbwBBwHsAesBBwQA + AQ4BEgHtBAAB8AEiASkB6wHzBQABEgJKBm4CSgESEwABvAH3Ae0BkgHvAbwBBwHwAfQB8gHrAeoEAAEO + AW0B7QMAAQcBIwIrASoB6wHzAwABEgFKAW4BSgZuAUoBbgFKARISAAFtAvcB8AG8AfMC8gL0Ae0B6wEH + AwABBwEVAeoD7QEpASsBJQEfASUBKgHrAfQCAAESAUoBbgFKBpMBSgFuAUoBEhIAAbwB7wHxAfQB9gHy + AvAB9AH2Ae8B7AFtAwAB9AEQAesBSgEwAQMBJQEXAfkCIAElASoB6gIAARIBSgGTAW4GSQFuAZMBSgES + EgAB8gHvAvYB9wFtAesB8gH0AfYB8wHrAewBBwIAAfQBEAFzAUUBJAEgAfkBFwH5ASABHwEgATEBIgH0 + AQABEgGTAW4BSQZsAUkBbgGTARITAAHvAfMBvAGSAfAB9wH2AfcB7QEHAesB7AHvAwAB8gERAUUBHwIg + AfkBFwH5ASABHwExASIB9AEAARIBkwFJAmwEcQJsAUkBkwESEwABBwHwAUQBJQEaApIB8gLzAfQBEgHr + AfICAAHyAUMB7AFFAR8BIAH5ARcBJgExATcBMAEUAgABSQFuAWwBcQGXBHEBlwFxAWwBbgESEwAB9AFt + ASwBJQHrAfQC8QLvAfIC6wG8AgAB8wFtAesBRQEfAiAB+QExAVECbQHzAgABSQJsAZcCcQKXAnEBlwJs + AUkTAAEcASwBKwHqAQcBvALvAfQCvAHzAm0DAAHwARMBRQEfASQCKwFRAbwFAAFJAWwCcQaXAnEBbAFJ + EgAB7wIrAUsB7wEHAbwB8QQHAfQBiwHqAwAB8AERAUsBJAEjAQMBSgHwBwABbAFxA5cCeAOXAXEBbBIA + Ae8BKwEsAUUCvAEHAe8BBwG8AfABGQLbAWwBBwMAAfABIwIrAQ4B8AHxCAABSQFxApcBeAWXAXEBSRIA + ARIBLAFFAfIB8wHvAfIB8QG7AtoBswKLAfMEAAHwASMBNwExAQ4LAAFJAXEClwF4A5cBcQFJFAABEgG8 + AgABBwGzAdQBswJsAe8IAAHvAg4B8wwAAWwBcQSXAXEBbBkAAQcCEgG8HQAEcRcAAfQL8wH0EwAN8xMA + AQcL7wEHAgAPEAEAAQcNswEHBwAEQwcAAe8BAAG7BrMBuwIAAe8CAAEQBjgBEAbTARABAAGzDQABswUA + AkME8AJDBQAB7wEAAbMGAAGzAgAB7wIAARACOAMAATgBEALTAgAC0wEQAQABsw0AAbMEAAFDCPABQwQA + Ae8BAAGtAQABlwJWAZcBAAGzAgAB7wIAARADOAEAAjgBEAHTAQAC0wEAAdMBEAEAAbMBAAFWCVABVgEA + AbMDAAFDA/ABkgJDAZID8AFDAwAB7wEAAa0BAARWAQABswH0AQAB7wIAARACOAIAAjgBEAHTAQAC0wEA + AdMBEAEAAbMBAAtWAQABswMAAUMB8AGSARIBQwHwAZIBQwESAZIB8AFDAwAB7wEAAa0BAARWAQABswH0 + AQAB7wIAARADOAEAAjgBEALTAgAC0wEQAQABswEAC1YBAAGzAgABQwHwARICYwFDAQAB8AFDAmMBEgHw + AUMCAAHvAQABrQEABHgBAAGzAfQBAAHvAgABEAY4ARAG0wEQAQABswEAC1YBAAGzAgABQwESBEcCQwRH + ARIBQwIAAe8BAAGtBgABswHzAQAB7wIADxABAAGzAQALVgEAAbMCAAFDDEcBQwIAAe8BAAG7Aq0EswG7 + AfMBAAHvAgABEAZHARAGAAEQAQABswEAC1YBAAGzAgABQwxHAUMCAAHvAQAB8wP0AfMB9AQAAe8CAAEQ + AkcCAAJHARAGAAEQAQABswEAC1YBAAGzAwABQwJHApQGRwFDAwAB7wEAAXQCMgEsAXQBAAG8AvcBAAHv + AgABEAFHAQACRwEAAUcBEAYAARABAAGzAQABVgl4AVYBAAGzAwABQwFHBJQFRwFDAwAB7wEAASwDwwFT + AQAB9wIAAfMB8AIAARABRwEAAkcBAAFHARAGAAEQAQABswEAC3gBAAGzBAABQwSUBEcBQwQAAe8BAAF0 + AywBdAEAAfcBAAHzAfADAAEQAkcCAAJHARAGAAEQAQABswEAC3gBAAGzBQACQwGUA0cCQwUAAe8IAAHz + AfAEAAEQBkcBEAYAARABAAGzDQABswcABEMHAAEHCO8BBwUADxABAAEJDbMBCREAAUIBTQE+BwABPgMA + ASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAH/AY8BvwH/AeABBwIAAfgBBwKPAcABAwIAAcABBwGP + AQcBwAEDAgABgAEHAY4BAwGAAQECAAGAAQMBgAEBAYABAQIAAYABAwGAAQEBgAEBAgABgAEBAYABAAGA + AQECAAHAAQEBwAEAAYABAQIAAcABAAHAAQEBgAEBAgABwAEAAcABAQGAAQECAAHAAQAB4AEPAYABAQIA + AYABAAHgAR8BwAEDBAAB4AE/AcABAwMAAQEB4AH/AeABBwIAAZgBDwHwAf8B8AEPAgAB+AF/Av8B/AE/ + AgABgAEDAv8BgAEDAv8BgAEDAQABAQEAAQEB/AE/AaABGwEAAQEBfwH9AfABDwGvAdsBAAExAX8B/QHg + AQcBqAFbAQABSQFAAQUBwAEDAagBSwEAAUkBQAEFAcABAwGoAUsBAAExAUABBQGBAQEBqAFLAQABAQFA + AQUBgAEBAa8BywEAAQEBQAEFAYABAQGgAQsBAAH9AUABBQGAAQEBoAF7ARgBxQFAAQUBwAEDAaABiwEk + Ae0BQAEFAcABAwGgAbMBJAHNAUABBQHgAQcBoAGnARgB7QFAAQUB8AEPAb8BzwEAAf0BfwH9AfwBPwGA + AR8BAAEBAQABAQL/Cw== + + 17, 17 @@ -1342,9 +1339,6 @@ qcnkDWXJtp9DVaw7AAAAAElFTkSuQmCC - - 533, 20 - 48 diff --git a/DS_Map/MapFile.cs b/DS_Map/MapFile.cs index 93f98e5..aa91b9a 100644 --- a/DS_Map/MapFile.cs +++ b/DS_Map/MapFile.cs @@ -106,7 +106,7 @@ namespace DSPRE public void AddBuilding(Building b) { buildings.Add(b); } - public byte[] ExportBuildings() { + public byte[] BuildingsToByteArray() { MemoryStream newData = new MemoryStream(0x30 * buildings.Count); using (BinaryWriter writer = new BinaryWriter(newData)) { for (int i = 0; i < buildings.Count; i++) { @@ -132,7 +132,7 @@ namespace DSPRE public byte[] ExportMapModel() { return mapModelData; } - public byte[] ExportPermissions() { + public byte[] CollisionsToByteArray() { MemoryStream newData = new MemoryStream(); using (BinaryWriter writer = new BinaryWriter(newData)) { for (int i = 0; i < 32; i++) { @@ -205,7 +205,7 @@ namespace DSPRE bdhc = reader.ReadBytes((int)newData.Length); } } - public byte[] Save() { + public byte[] ToByteArray() { MemoryStream newData = new MemoryStream(); using (BinaryWriter writer = new BinaryWriter(newData)) { /* Write section lengths */ @@ -222,8 +222,8 @@ namespace DSPRE } /* Write sections */ - writer.Write(ExportPermissions()); - writer.Write(ExportBuildings()); + writer.Write(CollisionsToByteArray()); + writer.Write(BuildingsToByteArray()); writer.Write(ExportMapModel()); writer.Write(GetTerrain()); } diff --git a/DS_Map/RomInfo.cs b/DS_Map/RomInfo.cs index 987b875..6cf5815 100644 --- a/DS_Map/RomInfo.cs +++ b/DS_Map/RomInfo.cs @@ -227,6 +227,8 @@ namespace DSPRE { @"data\a\1\4\8" }; + if (gameVersion == "SS") + narcPaths[narcPaths.Length - 2] = @"data\a\1\3\6"; //Fix SS encounters break; } } diff --git a/DS_Map/ScriptCommand.cs b/DS_Map/ScriptCommand.cs new file mode 100644 index 0000000..d8fa4cd --- /dev/null +++ b/DS_Map/ScriptCommand.cs @@ -0,0 +1,198 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; + +namespace DSPRE { + public class Script { + public List commands; + public int useScript; + + #region Constructors (2) + public Script(int useScript = -1, List commandList = null) { + commands = commandList; + this.useScript = useScript; + } + #endregion + } + public class ScriptCommand { + #region Fields (4) + public ushort id; + public List parameterList; + public string cmdName; + public bool isMovement; + #endregion + + #region Constructors (2) + public ScriptCommand(ushort id, List parameterList, bool isMovement = false) { + this.id = id; + this.isMovement = isMovement; + this.parameterList = parameterList; + + Dictionary commandNamesDatabase; + if (isMovement) { + commandNamesDatabase = PokeDatabase.ScriptEditor.movementsDictIDName; + } else { + commandNamesDatabase = RomInfo.scriptCommandNamesDict; + } + + try { + cmdName = commandNamesDatabase[id]; + } catch (KeyNotFoundException) { + cmdName = id.ToString("X4"); + } + + if (isMovement) { + for (int i = 0; i < parameterList.Count; i++) { + if (parameterList[i].Length == 1) + this.cmdName += " " + "0x" + (parameterList[i][0]).ToString("X1"); + else if (parameterList[i].Length == 2) + this.cmdName += " " + "0x" + (BitConverter.ToInt16(parameterList[i], 0)).ToString("X1"); + else if (parameterList[i].Length == 4) + this.cmdName += " " + "0x" + (BitConverter.ToInt32(parameterList[i], 0)).ToString("X1"); + } + } else { + switch (id) { + case 0x16: // Jump + case 0x1A: // Call + this.cmdName += " " + "Function_#" + (1 + BitConverter.ToInt32(parameterList[0], 0)).ToString("D"); + break; + case 0x17: // JumpIfObjID + case 0x18: // JumpIfBgID + case 0x19: // JumpIfPlayerDir + this.cmdName += " " + (BitConverter.ToInt32(parameterList[0], 0)).ToString("D") + " " + "Function_#" + (1 + (BitConverter.ToInt32(parameterList[1], 0))).ToString("D"); + break; + case 0x1C: // CompareLastResultJump + case 0x1D: // CompareLastResultCall + byte opcode = parameterList[0][0]; + this.cmdName += " " + PokeDatabase.ScriptEditor.comparisonOperators[opcode] + " " + "Function_#" + (1 + (BitConverter.ToInt32(parameterList[1], 0))).ToString("D"); + break; + case 0x5E: // ApplyMovement + ushort flexID = BitConverter.ToUInt16(parameterList[0], 0); + this.cmdName += OverworldFlexDecode(flexID); + this.cmdName += " " + "Movement_#" + (1 + (BitConverter.ToInt32(parameterList[1], 0))).ToString("D"); + break; + case 0x62: // Lock + case 0x63: // Release + case 0x64: // AddPeople + case 0x65: // RemoveOW + flexID = BitConverter.ToUInt16(parameterList[0], 0); + cmdName += OverworldFlexDecode(flexID); + break; + default: + for (int i = 0; i < parameterList.Count; i++) { + if (parameterList[i].Length == 1) + this.cmdName += " " + "0x" + (parameterList[i][0]).ToString("X1"); + else if (parameterList[i].Length == 2) + this.cmdName += " " + "0x" + (BitConverter.ToInt16(parameterList[i], 0)).ToString("X1"); + else if (parameterList[i].Length == 4) + this.cmdName += " " + "0x" + (BitConverter.ToInt32(parameterList[i], 0)).ToString("X1"); + } + break; + } + } + } + public ScriptCommand(string wholeLine, bool isMovement = false) { + this.cmdName = wholeLine; + this.isMovement = isMovement; + this.parameterList = new List(); + + string[] nameParts = wholeLine.Split(' '); // Separate command code from parameters + /* Get command id, which is always first in the description */ + + try { + if (isMovement) { + id = PokeDatabase.ScriptEditor.movementsDictIDName.First(x => x.Value == nameParts[0]).Key; + } else { + id = RomInfo.scriptCommandNamesDict.First(x => x.Value == nameParts[0]).Key; + } + } catch (InvalidOperationException) { + UInt16.TryParse(nameParts[0], NumberStyles.HexNumber, CultureInfo.InvariantCulture, out this.id); + } + + /* Read parameters from remainder of the description */ + Console.WriteLine("ID = " + id.ToString("X4")); + if (nameParts.Length > 1) { + if (isMovement) { + if (nameParts[1].Length > 4) { // Cases where movement is followed by an Overworld parameter + + int positionOfOverworldID = nameParts[1].IndexOf('#'); // Find position of # + parameterList.Add(BitConverter.GetBytes(Int32.Parse(nameParts[1].Substring(positionOfOverworldID + 1), NumberStyles.Integer))); // Add Overworld_# + parameterList[0] = BitConverter.GetBytes(BitConverter.ToInt32(parameterList[0], 0) - 1); // Add Overworld number + + // TODO: Check if other cases may apply to movement parameters + } else { + parameterList.Add(BitConverter.GetBytes(Int16.Parse(nameParts[1].Substring(2), NumberStyles.HexNumber))); + } + } else { + byte[] parametersArr = RomInfo.scriptParametersDict[id]; + for (int i = 0; i < parametersArr.Length; i++) { + Console.WriteLine("Parameter #" + i.ToString() + ": " + nameParts[i + 1]); + try { + ushort comparisonOperator = PokeDatabase.ScriptEditor.comparisonOperators.First(x => x.Value == nameParts[i + 1]).Key; + parameterList.Add(new byte[] { (byte)comparisonOperator }); + } catch { //Not a comparison + int indexOfSpecialCharacter = nameParts[i + 1].IndexOfAny(new char[] { 'x', '#' }); + + /* If number is preceded by 0x parse it as hex, otherwise as decimal */ + NumberStyles style; + if (nameParts[i + 1].Contains("0x")) + style = NumberStyles.HexNumber; + else + style = NumberStyles.Integer; + + /* Convert strings of parameters to the correct datatypes */ + switch (parametersArr[i]) { + case 1: + parameterList.Add(new byte[] { Byte.Parse(nameParts[i + 1].Substring(indexOfSpecialCharacter + 1), style) }); + break; + case 2: + switch (nameParts[i + 1]) { + case "Player": + parameterList.Add(BitConverter.GetBytes((ushort)255)); + break; + case "Following": + parameterList.Add(BitConverter.GetBytes((ushort)253)); + break; + case "Cam": + parameterList.Add(BitConverter.GetBytes((ushort)241)); + break; + default: + parameterList.Add(BitConverter.GetBytes(Int16.Parse(nameParts[i + 1].Substring(indexOfSpecialCharacter + 1), style))); + break; + } + break; + case 4: + parameterList.Add(BitConverter.GetBytes(Int32.Parse(nameParts[i + 1].Substring(indexOfSpecialCharacter + 1), style))); + break; + } + } + } + } + } + } + #endregion + + #region Utilities + private string OverworldFlexDecode(ushort flexID) { + if (flexID > 255) { + return " " + "0x" + flexID.ToString("X4"); + } else { + switch (flexID) { + case 255: + return " " + "Player"; + case 253: + return " " + "Following"; + case 241: + return " " + "Cam"; + default: + return " " + "Overworld_#" + flexID.ToString("D"); + } + } + } + public override string ToString() { + return cmdName + " (" + id.ToString("X") + ")"; + } + #endregion + } +} diff --git a/DS_Map/ScriptFile.cs b/DS_Map/ScriptFile.cs index 6081e9f..6158b23 100644 --- a/DS_Map/ScriptFile.cs +++ b/DS_Map/ScriptFile.cs @@ -1,11 +1,7 @@ using System; using System.Collections.Generic; -using System.Globalization; -using System.Reflection; -using System.Resources; using System.IO; using System.Linq; -using System.Collections; using System.Windows.Forms; namespace DSPRE { @@ -21,7 +17,7 @@ namespace DSPRE { #endregion #region Constructors (1) - public ScriptFile(Stream fs, string gameVersion) { + public ScriptFile(Stream fs) { List scriptOffsets = new List(); List functionOffsets = new List(); List movementOffsets = new List(); @@ -56,16 +52,18 @@ namespace DSPRE { if (isLevelScript) { return; } + /* Read scripts */ for (int i = 0; i < scriptOffsets.Count; i++) { int duplicateIndex = scriptOffsets.FindIndex(offset => offset == scriptOffsets[i]); // Check for UseScript_# + if (duplicateIndex == i) { scrReader.BaseStream.Position = scriptOffsets[i]; - List commandsList = new List(); + List commandsList = new List(); bool endScript = new bool(); while (!endScript) { - Command command = Read_Command(scrReader, ref functionOffsets, ref movementOffsets, gameVersion); + ScriptCommand command = ReadCommand(scrReader, ref functionOffsets, ref movementOffsets); if (command == null) { return; } else { @@ -75,32 +73,33 @@ namespace DSPRE { endScript = true; } } - this.scripts.Add(new Script(commandsList)); - } else - scripts.Add(new Script(duplicateIndex)); + this.scripts.Add(new Script(commandList: commandsList)); + } else { + scripts.Add(new Script(useScript: duplicateIndex)); + } } /* Read functions */ for (int i = 0; i < functionOffsets.Count; i++) { scrReader.BaseStream.Position = functionOffsets[i]; - List commandsList = new List(); + List cmdList = new List(); bool endFunction = new bool(); while (!endFunction) { - Command command = Read_Command(scrReader, ref functionOffsets, ref movementOffsets, gameVersion); - commandsList.Add(command); + ScriptCommand command = ReadCommand(scrReader, ref functionOffsets, ref movementOffsets); + cmdList.Add(command); if (endCodes.Contains(command.id)) endFunction = true; } - this.functions.Add(new Script(commandsList)); + this.functions.Add(new Script(commandList: cmdList)); } /* Read movements */ for (int i = 0; i < movementOffsets.Count; i++) { scrReader.BaseStream.Position = movementOffsets[i]; - List commandsList = new List(); + List cmdList = new List(); bool endMovement = new bool(); while (!endMovement) { ushort id = scrReader.ReadUInt16(); @@ -110,15 +109,15 @@ namespace DSPRE { else endMovement = true; - Command command = new Command(id, parameters, true); - commandsList.Add(command); + ScriptCommand command = new ScriptCommand(id, parameters, isMovement: true); + cmdList.Add(command); } - this.movements.Add(new Script(commandsList)); + this.movements.Add(new Script(commandList: cmdList)); } } } public ScriptFile(int fileID) : this((new FileStream(RomInfo.scriptDirPath + - "\\" + fileID.ToString("D4"), FileMode.Open)), RomInfo.gameVersion) { + "\\" + fileID.ToString("D4"), FileMode.Open))) { } public ScriptFile(List