From 06bbe3ceb5741b46d214fbf3707616e3104704fb Mon Sep 17 00:00:00 2001 From: NovaRain Date: Fri, 5 Apr 2019 09:17:43 +0800 Subject: [PATCH] Updates to sfall debug editor (part 1) --- MPClient/DebugEditor.Designer.cs | 148 ++++++++++++++-------------- MPClient/DebugEditor.cs | 57 +++++------ MPClient/EditorConnection.cs | 6 +- MPClient/EditorWindow.Designer.cs | 25 +++-- MPClient/EditorWindow.cs | 14 ++- MPClient/Properties/AssemblyInfo.cs | 2 +- MPClient/SfallDebugEditor.csproj | 13 +-- 7 files changed, 135 insertions(+), 130 deletions(-) diff --git a/MPClient/DebugEditor.Designer.cs b/MPClient/DebugEditor.Designer.cs index bc8b6839..4f67d06e 100644 --- a/MPClient/DebugEditor.Designer.cs +++ b/MPClient/DebugEditor.Designer.cs @@ -24,16 +24,16 @@ /// private void InitializeComponent() { this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.Column0 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.bGlobals = new System.Windows.Forms.Button(); this.bMapVars = new System.Windows.Forms.Button(); this.bCritters = new System.Windows.Forms.Button(); this.bSGlobals = new System.Windows.Forms.Button(); this.bArrays = new System.Windows.Forms.Button(); this.bEdit = new System.Windows.Forms.Button(); - this.Column0 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.SuspendLayout(); // @@ -45,7 +45,7 @@ this.dataGridView1.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.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; + this.dataGridView1.ColumnHeadersHeight = 22; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column0, this.Column1, @@ -55,77 +55,13 @@ this.dataGridView1.MultiSelect = false; this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.RowHeadersVisible = false; + this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dataGridView1.Size = new System.Drawing.Size(443, 233); + this.dataGridView1.Size = new System.Drawing.Size(561, 354); this.dataGridView1.TabIndex = 0; this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick); this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit); - // - // bGlobals - // - this.bGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.bGlobals.Location = new System.Drawing.Point(12, 251); - this.bGlobals.Name = "bGlobals"; - this.bGlobals.Size = new System.Drawing.Size(100, 23); - this.bGlobals.TabIndex = 1; - this.bGlobals.Text = "Globals"; - this.bGlobals.UseVisualStyleBackColor = true; - this.bGlobals.Click += new System.EventHandler(this.bGlobals_Click); - // - // bMapVars - // - this.bMapVars.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.bMapVars.Location = new System.Drawing.Point(118, 251); - this.bMapVars.Name = "bMapVars"; - this.bMapVars.Size = new System.Drawing.Size(100, 23); - this.bMapVars.TabIndex = 2; - this.bMapVars.Text = "Map variables"; - this.bMapVars.UseVisualStyleBackColor = true; - this.bMapVars.Click += new System.EventHandler(this.bMapVars_Click); - // - // bCritters - // - this.bCritters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.bCritters.Location = new System.Drawing.Point(12, 280); - this.bCritters.Name = "bCritters"; - this.bCritters.Size = new System.Drawing.Size(100, 23); - this.bCritters.TabIndex = 3; - this.bCritters.Text = "Critters"; - this.bCritters.UseVisualStyleBackColor = true; - this.bCritters.Click += new System.EventHandler(this.bCritters_Click); - // - // bSGlobals - // - this.bSGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bSGlobals.Location = new System.Drawing.Point(249, 251); - this.bSGlobals.Name = "bSGlobals"; - this.bSGlobals.Size = new System.Drawing.Size(100, 23); - this.bSGlobals.TabIndex = 4; - this.bSGlobals.Text = "sfall globals"; - this.bSGlobals.UseVisualStyleBackColor = true; - this.bSGlobals.Click += new System.EventHandler(this.bSGlobals_Click); - // - // bArrays - // - this.bArrays.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bArrays.Location = new System.Drawing.Point(355, 251); - this.bArrays.Name = "bArrays"; - this.bArrays.Size = new System.Drawing.Size(100, 23); - this.bArrays.TabIndex = 5; - this.bArrays.Text = "sfall arrays"; - this.bArrays.UseVisualStyleBackColor = true; - this.bArrays.Click += new System.EventHandler(this.bArrays_Click); - // - // bEdit - // - this.bEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bEdit.Location = new System.Drawing.Point(355, 280); - this.bEdit.Name = "bEdit"; - this.bEdit.Size = new System.Drawing.Size(100, 23); - this.bEdit.TabIndex = 6; - this.bEdit.Text = "Edit"; - this.bEdit.UseVisualStyleBackColor = true; - this.bEdit.Click += new System.EventHandler(this.bEdit_Click); + this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded); // // Column0 // @@ -151,11 +87,77 @@ this.Column3.HeaderText = "Value (Float)"; this.Column3.Name = "Column3"; // + // bGlobals + // + this.bGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bGlobals.Location = new System.Drawing.Point(12, 372); + this.bGlobals.Name = "bGlobals"; + this.bGlobals.Size = new System.Drawing.Size(100, 23); + this.bGlobals.TabIndex = 1; + this.bGlobals.Text = "Globals"; + this.bGlobals.UseVisualStyleBackColor = true; + this.bGlobals.Click += new System.EventHandler(this.bGlobals_Click); + // + // bMapVars + // + this.bMapVars.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bMapVars.Location = new System.Drawing.Point(118, 372); + this.bMapVars.Name = "bMapVars"; + this.bMapVars.Size = new System.Drawing.Size(100, 23); + this.bMapVars.TabIndex = 2; + this.bMapVars.Text = "Map variables"; + this.bMapVars.UseVisualStyleBackColor = true; + this.bMapVars.Click += new System.EventHandler(this.bMapVars_Click); + // + // bCritters + // + this.bCritters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bCritters.Location = new System.Drawing.Point(12, 401); + this.bCritters.Name = "bCritters"; + this.bCritters.Size = new System.Drawing.Size(100, 23); + this.bCritters.TabIndex = 3; + this.bCritters.Text = "Critters"; + this.bCritters.UseVisualStyleBackColor = true; + this.bCritters.Click += new System.EventHandler(this.bCritters_Click); + // + // bSGlobals + // + this.bSGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.bSGlobals.Location = new System.Drawing.Point(367, 372); + this.bSGlobals.Name = "bSGlobals"; + this.bSGlobals.Size = new System.Drawing.Size(100, 23); + this.bSGlobals.TabIndex = 4; + this.bSGlobals.Text = "sfall globals"; + this.bSGlobals.UseVisualStyleBackColor = true; + this.bSGlobals.Click += new System.EventHandler(this.bSGlobals_Click); + // + // bArrays + // + this.bArrays.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.bArrays.Location = new System.Drawing.Point(473, 372); + this.bArrays.Name = "bArrays"; + this.bArrays.Size = new System.Drawing.Size(100, 23); + this.bArrays.TabIndex = 5; + this.bArrays.Text = "sfall arrays"; + this.bArrays.UseVisualStyleBackColor = true; + this.bArrays.Click += new System.EventHandler(this.bArrays_Click); + // + // bEdit + // + this.bEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.bEdit.Location = new System.Drawing.Point(473, 401); + this.bEdit.Name = "bEdit"; + this.bEdit.Size = new System.Drawing.Size(100, 23); + this.bEdit.TabIndex = 6; + this.bEdit.Text = "Edit"; + this.bEdit.UseVisualStyleBackColor = true; + this.bEdit.Click += new System.EventHandler(this.bEdit_Click); + // // DebugEditor // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(467, 315); + this.ClientSize = new System.Drawing.Size(585, 436); this.Controls.Add(this.bEdit); this.Controls.Add(this.bArrays); this.Controls.Add(this.bSGlobals); diff --git a/MPClient/DebugEditor.cs b/MPClient/DebugEditor.cs index b6d909c5..42b21368 100644 --- a/MPClient/DebugEditor.cs +++ b/MPClient/DebugEditor.cs @@ -47,36 +47,27 @@ namespace FalloutClient { private readonly Dictionary CritNames = new Dictionary(); private void Redraw() { + bEdit.Enabled = false; + Column2.ReadOnly = false; + Column3.ReadOnly = false; + Column2.HeaderText = "Value (Int)"; + Column3.HeaderText = "Value (Float)"; + dataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect; dataGridView1.SuspendLayout(); dataGridView1.Rows.Clear(); switch (mode) { case Mode.Globals: - Column2.ReadOnly = false; - Column3.ReadOnly = false; - Column2.HeaderText = "Value (Int)"; - Column3.HeaderText = "Value (Float)"; - bEdit.Enabled = false; for (int i = 0; i < connection.Globals.Length; i++) { string name = GlobNames.ContainsKey(i) ? GlobNames[i] : ""; dataGridView1.Rows.Add(i, name, connection.Globals[i], converter.GetAsFloat(connection.Globals[i])); } break; case Mode.MapVars: - Column2.ReadOnly = false; - Column3.ReadOnly = false; - Column2.HeaderText = "Value (Int)"; - Column3.HeaderText = "Value (Float)"; - bEdit.Enabled = false; for (int i = 0; i < connection.MapVars.Length; i++) { dataGridView1.Rows.Add(i, "", connection.MapVars[i], converter.GetAsFloat(connection.MapVars[i])); } break; case Mode.SGlobals: - Column2.ReadOnly = false; - Column3.ReadOnly = false; - Column2.HeaderText = "Value (Int)"; - Column3.HeaderText = "Value (Float)"; - bEdit.Enabled = false; for (int i = 0; i < connection.SGlobalKeys.Length; i++) { string s = connection.SGlobalKeys[i] > 0xffffffff ? new string(System.Text.ASCIIEncoding.ASCII.GetChars(converter.GetAsBytes(connection.SGlobalKeys[i]))) @@ -85,6 +76,7 @@ namespace FalloutClient { } break; case Mode.Arrays: + dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; Column2.ReadOnly = true; Column3.ReadOnly = true; Column2.HeaderText = "Array size"; @@ -94,13 +86,14 @@ namespace FalloutClient { bool isMap = connection.ArrayIsMap[i]; int arrlen = connection.ArrayLengths[i]; if (isMap) arrlen /= 2; - dataGridView1.Rows.Add(connection.Arrays[i], isMap ? "Map" : "", arrlen, "0x" + connection.ArrayDataSizes[i].ToString("x").ToUpper()); + dataGridView1.Rows.Add(connection.Arrays[i], isMap ? "Map" : "", arrlen, "0x" + connection.ArrayFlag[i].ToString("x").ToUpper()); } break; case Mode.Critters: + dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; Column2.ReadOnly = true; Column3.ReadOnly = true; - Column2.HeaderText = "Pid"; + Column2.HeaderText = "PID"; Column3.HeaderText = "Pointer"; bEdit.Enabled = true; for (int i = 0; i < connection.Critters.Length / 2; i++) { @@ -218,7 +211,7 @@ namespace FalloutClient { private void bEdit_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) return; - int i = dataGridView1.SelectedRows[0].Index; + int i = (int)dataGridView1.SelectedRows[0].Tag; switch (mode) { case Mode.Arrays: { DataType[] types = new DataType[connection.ArrayLengths[i]]; @@ -251,14 +244,14 @@ namespace FalloutClient { } } br.Close(); - strings = EditorWindow.ShowEditor(null, types, strings); + strings = EditorWindow.ShowEditor(null, types, strings, true); if (strings != null) { // save - connection.WriteDataType(DataTypeSend.SetArray); + /*connection.WriteDataType(DataTypeSend.SetArray); connection.WriteInt(i); - ms = new MemoryStream(connection.ArrayLengths[i] * connection.ArrayDataSizes[i]); + ms = new MemoryStream(connection.ArrayLengths[i] * connection.ArrayFlag[i]); BinaryWriter bw=new BinaryWriter(ms); for (int j = 0; j < strings.Length; j++) { - ms.Position = j * connection.ArrayDataSizes[i]; + ms.Position = j * connection.ArrayFlag[i]; switch (types[j]) { case DataType.Int: bw.Write(int.Parse(strings[j])); @@ -268,24 +261,24 @@ namespace FalloutClient { break; case DataType.String: byte[] bytes=System.Text.Encoding.ASCII.GetBytes(strings[j]); - if (bytes.Length < connection.ArrayDataSizes[i]) bw.Write(bytes); - else bw.Write(bytes, 0, connection.ArrayDataSizes[i] - 1); + if (bytes.Length < connection.ArrayFlag[i]) bw.Write(bytes); + else bw.Write(bytes, 0, connection.ArrayFlag[i] - 1); bw.Write(0); break; } } - connection.WriteBytes(ms.GetBuffer(), 0, connection.ArrayLengths[i] * connection.ArrayDataSizes[i]); - bw.Close(); + connection.WriteBytes(ms.GetBuffer(), 0, connection.ArrayLengths[i] * connection.ArrayFlag[i]); + bw.Close();*/ } } break; case Mode.Critters: { - DataType[] types=new DataType[33]; - string[] strings=new string[33]; - string[] names=new string[33]; + DataType[] types = new DataType[33]; + string[] strings = new string[33]; + string[] names = new string[33]; connection.WriteDataType(DataTypeSend.RetrieveCritter); connection.WriteInt(i); - BinaryReader br=new BinaryReader(new System.IO.MemoryStream(connection.ReadBytes(33 * 4))); + BinaryReader br = new BinaryReader(new System.IO.MemoryStream(connection.ReadBytes(33 * 4))); for (int j = 0; j < 33; j++) { types[j] = DataType.Int; strings[j] = br.ReadInt32().ToString(); @@ -334,5 +327,9 @@ namespace FalloutClient { private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { bEdit.PerformClick(); } + + private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { + dataGridView1.Rows[e.RowIndex].Tag = e.RowIndex; + } } } diff --git a/MPClient/EditorConnection.cs b/MPClient/EditorConnection.cs index 707a4ee7..b54ba515 100644 --- a/MPClient/EditorConnection.cs +++ b/MPClient/EditorConnection.cs @@ -18,7 +18,7 @@ namespace FalloutClient { public readonly int[] sGlobals; public readonly uint[] Arrays; public readonly int[] ArrayLengths; - public readonly int[] ArrayDataSizes; + public readonly int[] ArrayFlag; public readonly bool[] ArrayIsMap; public EditorConnection() { @@ -33,7 +33,7 @@ namespace FalloutClient { sGlobals = new int[SGlobalKeys.Length]; Arrays = new uint[br.ReadInt32()]; ArrayLengths = new int[Arrays.Length]; - ArrayDataSizes = new int[Arrays.Length]; + ArrayFlag = new int[Arrays.Length]; ArrayIsMap = new bool[Arrays.Length]; Critters = new uint[br.ReadInt32(), 2]; @@ -48,7 +48,7 @@ namespace FalloutClient { Arrays[i] = br.ReadUInt32(); ArrayIsMap[i] = (br.ReadInt32() != 0); ArrayLengths[i] = br.ReadInt32(); - ArrayDataSizes[i] = br.ReadInt32(); + ArrayFlag[i] = br.ReadInt32(); } for (int i = 0; i < Critters.Length / 2; i++) { Critters[i, 0] = br.ReadUInt32(); diff --git a/MPClient/EditorWindow.Designer.cs b/MPClient/EditorWindow.Designer.cs index 63e089ea..69487443 100644 --- a/MPClient/EditorWindow.Designer.cs +++ b/MPClient/EditorWindow.Designer.cs @@ -34,8 +34,8 @@ // // bSave // - this.bSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bSave.Location = new System.Drawing.Point(12, 265); + this.bSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bSave.Location = new System.Drawing.Point(12, 336); this.bSave.Name = "bSave"; this.bSave.Size = new System.Drawing.Size(75, 23); this.bSave.TabIndex = 0; @@ -46,7 +46,7 @@ // bCancel // this.bCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bCancel.Location = new System.Drawing.Point(281, 265); + this.bCancel.Location = new System.Drawing.Point(371, 336); this.bCancel.Name = "bCancel"; this.bCancel.Size = new System.Drawing.Size(75, 23); this.bCancel.TabIndex = 1; @@ -62,15 +62,18 @@ this.dataGridView1.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.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.ColumnHeadersHeight = 22; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2, this.Column3}); this.dataGridView1.Location = new System.Drawing.Point(12, 12); + this.dataGridView1.MultiSelect = false; this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.RowHeadersVisible = false; - this.dataGridView1.Size = new System.Drawing.Size(344, 247); + this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing; + this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect; + this.dataGridView1.Size = new System.Drawing.Size(434, 318); this.dataGridView1.TabIndex = 2; this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit); // @@ -80,30 +83,34 @@ this.Column1.HeaderText = "Element"; this.Column1.Name = "Column1"; this.Column1.ReadOnly = true; + this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column2 // this.Column2.HeaderText = "Type"; this.Column2.Name = "Column2"; this.Column2.ReadOnly = true; - this.Column2.Width = 90; + this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.Column2.Width = 75; // // Column3 // this.Column3.HeaderText = "Value"; this.Column3.Name = "Column3"; - this.Column3.Width = 125; + this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.Column3.Width = 150; // // EditorWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(368, 300); + this.ClientSize = new System.Drawing.Size(458, 371); this.Controls.Add(this.dataGridView1); this.Controls.Add(this.bCancel); this.Controls.Add(this.bSave); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Name = "EditorWindow"; - this.Text = "Editor Window"; + this.Text = "Editor Values"; ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); this.ResumeLayout(false); diff --git a/MPClient/EditorWindow.cs b/MPClient/EditorWindow.cs index c3479bc3..d3b9c423 100644 --- a/MPClient/EditorWindow.cs +++ b/MPClient/EditorWindow.cs @@ -12,20 +12,24 @@ namespace FalloutClient { private readonly string[] values; private bool save; - private EditorWindow(string[] names, DataType[] types, string[] values) { + private EditorWindow(string[] names, DataType[] types, string[] values, bool isMap) { this.types = types; this.values = values; InitializeComponent(); dataGridView1.SuspendLayout(); if (names == null) - for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add(i.ToString(), types[i].ToString(), values[i]); + for (int i = 0; i < types.Length; i++) { + string element = i.ToString(); + if (isMap && (i % 2) == 0) element += " - Key"; + dataGridView1.Rows.Add(element, types[i].ToString(), values[i]); + } else - for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add("0x" + (i * 4).ToString("x").ToUpper() + names[i], types[i].ToString(), values[i]); + for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add("[0x" + (i * 4).ToString("x").ToUpper() + "]" + names[i], types[i].ToString(), values[i]); dataGridView1.ResumeLayout(); } - public static string[] ShowEditor(string[] names, DataType[] types, string[] values) { - EditorWindow editor = new EditorWindow(names, types, values); + public static string[] ShowEditor(string[] names, DataType[] types, string[] values, bool isMap = false) { + EditorWindow editor = new EditorWindow(names, types, values, isMap); editor.ShowDialog(); if (editor.save) return editor.values; diff --git a/MPClient/Properties/AssemblyInfo.cs b/MPClient/Properties/AssemblyInfo.cs index 814746b2..69749a54 100644 --- a/MPClient/Properties/AssemblyInfo.cs +++ b/MPClient/Properties/AssemblyInfo.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Fallout sfall Debug Editor")] +[assembly: AssemblyTitle("sfall Debug Editor")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/MPClient/SfallDebugEditor.csproj b/MPClient/SfallDebugEditor.csproj index a74293c0..06709b9e 100644 --- a/MPClient/SfallDebugEditor.csproj +++ b/MPClient/SfallDebugEditor.csproj @@ -16,6 +16,7 @@ v2.0 + false publish\ true Disk @@ -28,9 +29,8 @@ true 0 1.0.0.%2a - false false - true + false true @@ -82,18 +82,13 @@ False - Клиентский профиль .NET Framework 3.5 SP1 + .NET Framework 3.5 SP1 Client Profile false False .NET Framework 3.5 SP1 - true - - - False - Установщик Windows 3.1 - true + false