diff --git a/LibW4M/Data/Awards/TeamAwardsData.cs b/LibW4M/Data/Awards/TeamAwardsData.cs index 0a8bbb7..5983e31 100644 --- a/LibW4M/Data/Awards/TeamAwardsData.cs +++ b/LibW4M/Data/Awards/TeamAwardsData.cs @@ -10,7 +10,7 @@ namespace LibW4M.Data.Awards { public class TeamAwardsData : SaveDataEntry { - int[] TeamAwards; + public int[] TeamAwards; public TeamAwardsData(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer) { } diff --git a/LibW4M/Data/InputMapping/InputEventMappingData.cs b/LibW4M/Data/InputMapping/InputEventMappingData.cs index 9adeb94..2913249 100644 --- a/LibW4M/Data/InputMapping/InputEventMappingData.cs +++ b/LibW4M/Data/InputMapping/InputEventMappingData.cs @@ -10,11 +10,24 @@ namespace LibW4M.Data.InputMapping { public class InputEventMappingData : SaveDataEntry { - XomString Message; - XomString FEResourceID; - byte[] AllowedDuplacates; - InputDetailsData[] InputMappings; - int Group; + public XomString Message; + public XomString FEResourceID; + public byte[] AllowedDuplacates; + public InputMappingData[] InputMappings; + public int Group; + + public override string FriendlyName + { + get + { + if (Message.Value != "") + return Message.Value; + if (FEResourceID.Value != "") + return FEResourceID.Value; + + return ""; + } + } public InputEventMappingData(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer) { @@ -32,11 +45,11 @@ namespace LibW4M.Data.InputMapping this.AllowedDuplacates = reader.ReadByteArray(); int[] inputMappingIds = reader.ReadCompressedIntArray(); - InputMappings = new InputDetailsData[inputMappingIds.Length]; + InputMappings = new InputMappingData[inputMappingIds.Length]; for(int i = 0; i < inputMappingIds.Length; i++) { - InputMappings[i] = new InputDetailsData(this.fileBelongs, this.fileBelongs.LookupContainerById(inputMappingIds[i])); + InputMappings[i] = new InputMappingData(this.fileBelongs, this.fileBelongs.LookupContainerById(inputMappingIds[i])); } this.Group = reader.ReadCompressedInt(); diff --git a/LibW4M/Data/InputMapping/InputDetailsData.cs b/LibW4M/Data/InputMapping/InputMappingData.cs similarity index 79% rename from LibW4M/Data/InputMapping/InputDetailsData.cs rename to LibW4M/Data/InputMapping/InputMappingData.cs index f44cf6d..65fb10f 100644 --- a/LibW4M/Data/InputMapping/InputDetailsData.cs +++ b/LibW4M/Data/InputMapping/InputMappingData.cs @@ -8,12 +8,20 @@ using System.Threading.Tasks; namespace LibW4M.Data.InputMapping { - public class InputDetailsData : SaveDataEntry + public class InputMappingData : SaveDataEntry { - public InputDetailsData(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer) + public InputMappingData(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer) { } + public override string FriendlyName + { + get + { + return this.Type.ToString() + " - " + this.Key.ToString() + " - " + this.JoystickAxis.ToString(); + } + } + public int Type; public int Key; public int JoystickAxis; diff --git a/SaveGame.xom b/SaveGame.xom deleted file mode 120000 index 1f2cbdb..0000000 --- a/SaveGame.xom +++ /dev/null @@ -1 +0,0 @@ -C:/Users/Li/AppData/Local/VirtualStore/Program Files (x86)/Codemasters/Worms 4 Mayhem/Data/SaveGame.xom \ No newline at end of file diff --git a/Thumbs.db b/Thumbs.db new file mode 100644 index 0000000..4713912 Binary files /dev/null and b/Thumbs.db differ diff --git a/W4Gui/Components/AwardPanel.Designer.cs b/W4Gui/Components/AwardPanel.Designer.cs new file mode 100644 index 0000000..88a4d0c --- /dev/null +++ b/W4Gui/Components/AwardPanel.Designer.cs @@ -0,0 +1,142 @@ +namespace W4Gui.Components +{ + partial class AwardPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.variableTabControl = new System.Windows.Forms.TabControl(); + this.generalTab = new System.Windows.Forms.TabPage(); + this.tblGeneral = new System.Windows.Forms.TableLayoutPanel(); + this.lblAwardList = new System.Windows.Forms.Label(); + this.selAwardList = new W4Gui.Components.IntList(); + this.lblAwardListExplaination = new System.Windows.Forms.Label(); + this.variableTabControl.SuspendLayout(); + this.generalTab.SuspendLayout(); + this.tblGeneral.SuspendLayout(); + this.SuspendLayout(); + // + // variableTabControl + // + this.variableTabControl.Controls.Add(this.generalTab); + this.variableTabControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.variableTabControl.HotTrack = true; + this.variableTabControl.Location = new System.Drawing.Point(0, 0); + this.variableTabControl.Name = "variableTabControl"; + this.variableTabControl.SelectedIndex = 0; + this.variableTabControl.Size = new System.Drawing.Size(707, 419); + this.variableTabControl.TabIndex = 1; + // + // generalTab + // + this.generalTab.BackColor = System.Drawing.Color.Transparent; + this.generalTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.generalTab.Controls.Add(this.tblGeneral); + this.generalTab.Location = new System.Drawing.Point(4, 24); + this.generalTab.Name = "generalTab"; + this.generalTab.Padding = new System.Windows.Forms.Padding(3); + this.generalTab.Size = new System.Drawing.Size(699, 391); + this.generalTab.TabIndex = 0; + this.generalTab.Text = "General"; + // + // tblGeneral + // + this.tblGeneral.AutoSize = true; + this.tblGeneral.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Inset; + this.tblGeneral.ColumnCount = 2; + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tblGeneral.Controls.Add(this.lblAwardList, 0, 0); + this.tblGeneral.Controls.Add(this.selAwardList, 1, 0); + this.tblGeneral.Controls.Add(this.lblAwardListExplaination, 1, 1); + this.tblGeneral.Dock = System.Windows.Forms.DockStyle.Top; + this.tblGeneral.Location = new System.Drawing.Point(3, 3); + this.tblGeneral.Name = "tblGeneral"; + this.tblGeneral.RowCount = 2; + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.Size = new System.Drawing.Size(689, 161); + this.tblGeneral.TabIndex = 0; + // + // lblAwardList + // + this.lblAwardList.AutoSize = true; + this.lblAwardList.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblAwardList.Location = new System.Drawing.Point(5, 2); + this.lblAwardList.Name = "lblAwardList"; + this.lblAwardList.Size = new System.Drawing.Size(65, 95); + this.lblAwardList.TabIndex = 19; + this.lblAwardList.Text = "Award List:"; + this.lblAwardList.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // selAwardList + // + this.selAwardList.AutoSize = true; + this.selAwardList.Dock = System.Windows.Forms.DockStyle.Fill; + this.selAwardList.Label = "%n"; + this.selAwardList.Location = new System.Drawing.Point(78, 5); + this.selAwardList.Name = "selAwardList"; + this.selAwardList.Size = new System.Drawing.Size(606, 89); + this.selAwardList.TabIndex = 20; + // + // lblAwardListExplaination + // + this.lblAwardListExplaination.AutoSize = true; + this.lblAwardListExplaination.Dock = System.Windows.Forms.DockStyle.Top; + this.lblAwardListExplaination.Location = new System.Drawing.Point(78, 99); + this.lblAwardListExplaination.Name = "lblAwardListExplaination"; + this.lblAwardListExplaination.Size = new System.Drawing.Size(606, 60); + this.lblAwardListExplaination.TabIndex = 21; + this.lblAwardListExplaination.Text = "This is a list of all unlocked awards\r\na value of 0 or 1 determines if it is lock" + + "ed or not\r\n\r\nwhere 0 is locked and 1 means unlocked"; + // + // AwardPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.LightGray; + this.Controls.Add(this.variableTabControl); + this.Name = "AwardPanel"; + this.Size = new System.Drawing.Size(707, 419); + this.variableTabControl.ResumeLayout(false); + this.generalTab.ResumeLayout(false); + this.generalTab.PerformLayout(); + this.tblGeneral.ResumeLayout(false); + this.tblGeneral.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private TabControl variableTabControl; + private TabPage generalTab; + private TableLayoutPanel tblGeneral; + private Label lblAwardList; + private IntList selAwardList; + private Label lblAwardListExplaination; + } +} diff --git a/W4Gui/Components/AwardPanel.cs b/W4Gui/Components/AwardPanel.cs new file mode 100644 index 0000000..917c272 --- /dev/null +++ b/W4Gui/Components/AwardPanel.cs @@ -0,0 +1,38 @@ +using LibW4M.Data.X; +using LibW4M.Data.Teams; +using LibW4M.Data.WeaponFactory; +using LibW4M.Data.Highscores; +using W4Gui.Dialogs; +using W4Gui.Tabs; + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using LibW4M.Data.Awards; + +namespace W4Gui.Components +{ + public partial class AwardPanel : UserControl + { + public AwardPanel() + { + InitializeComponent(); + } + + public void SaveAwardData(ref TeamAwardsData teamAwards) + { + teamAwards.TeamAwards = this.selAwardList.Values; + } + + public void LoadAwardData(TeamAwardsData teamAwards) + { + this.selAwardList.LoadItems(teamAwards.TeamAwards); + } + } +} diff --git a/W4Gui/Components/InputWeaponSettingsData.resx b/W4Gui/Components/AwardPanel.resx similarity index 100% rename from W4Gui/Components/InputWeaponSettingsData.resx rename to W4Gui/Components/AwardPanel.resx diff --git a/W4Gui/Components/HexInputBox.cs b/W4Gui/Components/HexInputBox.cs new file mode 100644 index 0000000..67ab40e --- /dev/null +++ b/W4Gui/Components/HexInputBox.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Media; +using System.Text; +using System.Threading.Tasks; + +namespace W4Gui.Components +{ + public class HexInputBox : TextBox + { + string lastText = ""; + public HexInputBox() + { + + } + public byte[] Value + { + get + { + return convertHexStringToByteArray(this.Text.Replace(" ", "")); + } + set + { + this.Text = BitConverter.ToString(value).Replace('-', ' '); + } + } + + private byte[] convertHexStringToByteArray(string hexString) + { + if (hexString.Length % 2 != 0) + hexString += "0"; + + byte[] data = new byte[hexString.Length / 2]; + for (int index = 0; index < data.Length; index++) + { + string byteValue = hexString.Substring(index * 2, 2); + data[index] = byte.Parse(byteValue, NumberStyles.HexNumber, CultureInfo.InvariantCulture); + } + + return data; + } + + private bool checkChars(KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Insert) return false; + else if (Char.IsAsciiHexDigit(e.KeyChar)) return true; + else if (e.KeyChar == '\b') return true; + else if ((ModifierKeys & (Keys.Control | Keys.Alt)) != 0) return true; + + return false; + } + protected override void OnTextChanged(EventArgs e) + { + int cacheSelectionStart = this.SelectionStart; + try + { + string newText = this.Text; + this.Text = BitConverter.ToString(convertHexStringToByteArray(newText.Replace(" ", ""))).Replace('-', ' '); + this.lastText = this.Text; + } + catch + { + this.Text = lastText; + this.SelectionStart = cacheSelectionStart; + } + + base.OnTextChanged(e); + } + protected override void OnKeyDown(KeyEventArgs e) + { + + if(e.KeyCode == Keys.Right) + { + int cacheSelectionStart = this.SelectionStart; + cacheSelectionStart++; + if (cacheSelectionStart < this.TextLength) + { + if (this.TextLength > 0 && this.Text[cacheSelectionStart] == ' ') cacheSelectionStart++; + this.SelectionStart = cacheSelectionStart; + } + else + { + this.SelectionStart = this.TextLength; + } + + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Left) + { + int cacheSelectionStart = this.SelectionStart; + cacheSelectionStart--; + + + if (cacheSelectionStart > 0) + { + if (this.TextLength > 0 && this.Text[cacheSelectionStart] == ' ') cacheSelectionStart--; + this.SelectionStart = cacheSelectionStart; + } + else + { + this.SelectionStart = 0; + } + + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Delete) + { + int cacheSelectionStart = this.SelectionStart; + StringBuilder text = new StringBuilder(this.Text); + if (cacheSelectionStart < text.Length) + { + if (cacheSelectionStart != 0) + { + if (text[cacheSelectionStart] != ' ') cacheSelectionStart--; + + if (text[cacheSelectionStart] == ' ') + { + text.Remove(cacheSelectionStart, (text.Length >= 3) ? 3 : 2); + } + else + { + cacheSelectionStart++; + } + } + else + { + if (text.Length > 0) + { + text.Remove(0, (text.Length >= 3) ? 3 : 2); + } + } + } + + this.Text = text.ToString(); + this.SelectionStart = cacheSelectionStart; + + e.SuppressKeyPress = true; + + } + base.OnKeyDown(e); + } + protected override void OnKeyPress(KeyPressEventArgs e) + { + + if (!checkChars(e)) + { + e.Handled = true; + SystemSounds.Beep.Play(); + base.OnKeyPress(e); + return; + } + + char toWrite = (e.KeyChar).ToString().ToUpper().First(); + if (!Char.IsAsciiHexDigit(toWrite)) + { + if (toWrite == '\b') + { + int cacheSelectionStart = this.SelectionStart; + StringBuilder text = new StringBuilder(this.Text); + + if (cacheSelectionStart < text.Length) + { + if (text[cacheSelectionStart] != ' ') cacheSelectionStart--; + + if (text[cacheSelectionStart] == ' ') + { + if(cacheSelectionStart > 3) + { + text.Remove(cacheSelectionStart - 3, 3); + cacheSelectionStart -= 3; + } + else + { + text.Remove(cacheSelectionStart - 2, 2); + cacheSelectionStart -= 2; + } + } + else + { + cacheSelectionStart++; + } + } + else + { + text.Remove(text.Length - 3, 3); + cacheSelectionStart -= 3; + } + + + this.Text = text.ToString(); + this.SelectionStart = cacheSelectionStart; + e.Handled = true; + } + + + base.OnKeyPress(e); + return; + } + else + { + int cacheSelectionStart = this.SelectionStart; + StringBuilder text = new StringBuilder(this.Text); + + if (cacheSelectionStart < text.Length) + { + + if (text[cacheSelectionStart] == ' ') cacheSelectionStart++; + + text[cacheSelectionStart] = toWrite; + cacheSelectionStart++; + } + else + { + if (cacheSelectionStart != 0) + { + text.Append(" "); + cacheSelectionStart++; + } + + text.Append(toWrite + "0"); + cacheSelectionStart++; + + } + + this.Text = text.ToString(); + this.SelectionStart = cacheSelectionStart; + e.Handled = true; + + base.OnKeyPress(e); + return; + } + + + } + } +} diff --git a/W4Gui/Components/InputEventMappingPanel.Designer.cs b/W4Gui/Components/InputEventMappingPanel.Designer.cs new file mode 100644 index 0000000..1d29c61 --- /dev/null +++ b/W4Gui/Components/InputEventMappingPanel.Designer.cs @@ -0,0 +1,235 @@ +namespace W4Gui.Components +{ + partial class InputEventMappingPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.inputSettingTabControl = new System.Windows.Forms.TabControl(); + this.generalTab = new System.Windows.Forms.TabPage(); + this.tblGeneral = new System.Windows.Forms.TableLayoutPanel(); + this.lblGroup = new System.Windows.Forms.Label(); + this.lblAllowedDuplicates = new System.Windows.Forms.Label(); + this.selResourceId = new System.Windows.Forms.TextBox(); + this.lblResourceId = new System.Windows.Forms.Label(); + this.lblMessage = new System.Windows.Forms.Label(); + this.selMessage = new System.Windows.Forms.TextBox(); + this.selAllowedDuplicates = new W4Gui.Components.HexInputBox(); + this.selGroup = new W4Gui.Components.IntUpDown(); + this.mappingsPage = new System.Windows.Forms.TabPage(); + this.selInputMappings = new W4Gui.Tabs.OtherTabs.InputMappingsTab(); + this.inputSettingTabControl.SuspendLayout(); + this.generalTab.SuspendLayout(); + this.tblGeneral.SuspendLayout(); + this.mappingsPage.SuspendLayout(); + this.SuspendLayout(); + // + // inputSettingTabControl + // + this.inputSettingTabControl.Controls.Add(this.generalTab); + this.inputSettingTabControl.Controls.Add(this.mappingsPage); + this.inputSettingTabControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputSettingTabControl.HotTrack = true; + this.inputSettingTabControl.Location = new System.Drawing.Point(0, 0); + this.inputSettingTabControl.Name = "inputSettingTabControl"; + this.inputSettingTabControl.SelectedIndex = 0; + this.inputSettingTabControl.Size = new System.Drawing.Size(707, 419); + this.inputSettingTabControl.TabIndex = 1; + // + // generalTab + // + this.generalTab.BackColor = System.Drawing.Color.Transparent; + this.generalTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.generalTab.Controls.Add(this.tblGeneral); + this.generalTab.Location = new System.Drawing.Point(4, 24); + this.generalTab.Name = "generalTab"; + this.generalTab.Padding = new System.Windows.Forms.Padding(3); + this.generalTab.Size = new System.Drawing.Size(699, 391); + this.generalTab.TabIndex = 0; + this.generalTab.Text = "General"; + // + // tblGeneral + // + this.tblGeneral.AutoSize = true; + this.tblGeneral.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Inset; + this.tblGeneral.ColumnCount = 2; + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tblGeneral.Controls.Add(this.lblGroup, 0, 3); + this.tblGeneral.Controls.Add(this.lblAllowedDuplicates, 0, 2); + this.tblGeneral.Controls.Add(this.selResourceId, 1, 1); + this.tblGeneral.Controls.Add(this.lblResourceId, 0, 1); + this.tblGeneral.Controls.Add(this.lblMessage, 0, 0); + this.tblGeneral.Controls.Add(this.selMessage, 1, 0); + this.tblGeneral.Controls.Add(this.selAllowedDuplicates, 1, 2); + this.tblGeneral.Controls.Add(this.selGroup, 1, 3); + this.tblGeneral.Dock = System.Windows.Forms.DockStyle.Top; + this.tblGeneral.Location = new System.Drawing.Point(3, 3); + this.tblGeneral.Name = "tblGeneral"; + this.tblGeneral.RowCount = 4; + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.Size = new System.Drawing.Size(689, 126); + this.tblGeneral.TabIndex = 0; + // + // lblGroup + // + this.lblGroup.AutoSize = true; + this.lblGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblGroup.Location = new System.Drawing.Point(5, 95); + this.lblGroup.Name = "lblGroup"; + this.lblGroup.Size = new System.Drawing.Size(111, 29); + this.lblGroup.TabIndex = 20; + this.lblGroup.Text = "Group:"; + this.lblGroup.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblAllowedDuplicates + // + this.lblAllowedDuplicates.AutoSize = true; + this.lblAllowedDuplicates.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblAllowedDuplicates.Location = new System.Drawing.Point(5, 64); + this.lblAllowedDuplicates.Name = "lblAllowedDuplicates"; + this.lblAllowedDuplicates.Size = new System.Drawing.Size(111, 29); + this.lblAllowedDuplicates.TabIndex = 19; + this.lblAllowedDuplicates.Text = "Allowed Duplicates:"; + this.lblAllowedDuplicates.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // selResourceId + // + this.selResourceId.Dock = System.Windows.Forms.DockStyle.Top; + this.selResourceId.Location = new System.Drawing.Point(124, 36); + this.selResourceId.Name = "selResourceId"; + this.selResourceId.PlaceholderText = "Resource Id"; + this.selResourceId.Size = new System.Drawing.Size(560, 23); + this.selResourceId.TabIndex = 18; + // + // lblResourceId + // + this.lblResourceId.AutoSize = true; + this.lblResourceId.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblResourceId.Location = new System.Drawing.Point(5, 33); + this.lblResourceId.Name = "lblResourceId"; + this.lblResourceId.Size = new System.Drawing.Size(111, 29); + this.lblResourceId.TabIndex = 17; + this.lblResourceId.Text = "Resource Id:"; + this.lblResourceId.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblMessage + // + this.lblMessage.AutoSize = true; + this.lblMessage.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblMessage.Location = new System.Drawing.Point(5, 2); + this.lblMessage.Name = "lblMessage"; + this.lblMessage.Size = new System.Drawing.Size(111, 29); + this.lblMessage.TabIndex = 0; + this.lblMessage.Text = "Message:"; + this.lblMessage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // selMessage + // + this.selMessage.Dock = System.Windows.Forms.DockStyle.Top; + this.selMessage.Location = new System.Drawing.Point(124, 5); + this.selMessage.Name = "selMessage"; + this.selMessage.PlaceholderText = "Message"; + this.selMessage.Size = new System.Drawing.Size(560, 23); + this.selMessage.TabIndex = 1; + // + // selAllowedDuplicates + // + this.selAllowedDuplicates.Dock = System.Windows.Forms.DockStyle.Top; + this.selAllowedDuplicates.Location = new System.Drawing.Point(124, 67); + this.selAllowedDuplicates.Name = "selAllowedDuplicates"; + this.selAllowedDuplicates.Size = new System.Drawing.Size(560, 23); + this.selAllowedDuplicates.TabIndex = 21; + this.selAllowedDuplicates.Value = new byte[0]; + // + // selGroup + // + this.selGroup.Dock = System.Windows.Forms.DockStyle.Top; + this.selGroup.Location = new System.Drawing.Point(124, 98); + this.selGroup.Name = "selGroup"; + this.selGroup.Size = new System.Drawing.Size(560, 23); + this.selGroup.TabIndex = 22; + this.selGroup.Text = "0"; + this.selGroup.Value = 0; + // + // mappingsPage + // + this.mappingsPage.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.mappingsPage.Controls.Add(this.selInputMappings); + this.mappingsPage.Location = new System.Drawing.Point(4, 24); + this.mappingsPage.Name = "mappingsPage"; + this.mappingsPage.Padding = new System.Windows.Forms.Padding(3); + this.mappingsPage.Size = new System.Drawing.Size(699, 391); + this.mappingsPage.TabIndex = 1; + this.mappingsPage.Text = "Input Mappings"; + this.mappingsPage.UseVisualStyleBackColor = true; + // + // selInputMappings + // + this.selInputMappings.Dock = System.Windows.Forms.DockStyle.Fill; + this.selInputMappings.Location = new System.Drawing.Point(3, 3); + this.selInputMappings.Name = "selInputMappings"; + this.selInputMappings.Size = new System.Drawing.Size(689, 381); + this.selInputMappings.TabIndex = 0; + // + // InputSettingsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.LightGray; + this.Controls.Add(this.inputSettingTabControl); + this.Name = "InputSettingsPanel"; + this.Size = new System.Drawing.Size(707, 419); + this.inputSettingTabControl.ResumeLayout(false); + this.generalTab.ResumeLayout(false); + this.generalTab.PerformLayout(); + this.tblGeneral.ResumeLayout(false); + this.tblGeneral.PerformLayout(); + this.mappingsPage.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private TabControl inputSettingTabControl; + private TabPage generalTab; + private TableLayoutPanel tblGeneral; + private Label lblMessage; + private TextBox selMessage; + private Label lblResourceId; + private Label lblGroup; + private Label lblAllowedDuplicates; + private TextBox selResourceId; + private HexInputBox selAllowedDuplicates; + private IntUpDown selGroup; + private TabPage mappingsPage; + private Tabs.OtherTabs.InputMappingsTab selInputMappings; + } +} diff --git a/W4Gui/Components/InputEventMappingPanel.cs b/W4Gui/Components/InputEventMappingPanel.cs new file mode 100644 index 0000000..3aefd53 --- /dev/null +++ b/W4Gui/Components/InputEventMappingPanel.cs @@ -0,0 +1,52 @@ +using LibW4M.Data.InputMapping; +using LibW4M.Data.Teams; +using LibW4M.Data.WeaponFactory; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using W4Gui.Dialogs; + +namespace W4Gui.Components +{ + public partial class InputEventMappingPanel : UserControl + { + public InputEventMappingPanel() + { + InitializeComponent(); + } + + + public void SaveInputEventMappingsData(ref InputEventMappingData inputEventMapping) + { + // Save general + inputEventMapping.Message = DataManager.SaveFile.LookupString(this.selMessage.Text); + inputEventMapping.FEResourceID = DataManager.SaveFile.LookupString(this.selResourceId.Text); + inputEventMapping.AllowedDuplacates = this.selAllowedDuplicates.Value; + inputEventMapping.Group = this.selGroup.Value; + + // Save InputMappings + this.selInputMappings.SaveData(); + inputEventMapping.InputMappings = this.selInputMappings.MappingDataArray; + } + + public void LoadInputEventMappingsData(InputEventMappingData inputEventMapping) + { + // Load general + this.selMessage.Text = inputEventMapping.Message.Value; + this.selResourceId.Text = inputEventMapping.FEResourceID.Value; + this.selAllowedDuplicates.Value = inputEventMapping.AllowedDuplacates; + this.selGroup.Value = inputEventMapping.Group; + + // Load InputMappings + this.selInputMappings.LoadData(ref inputEventMapping.InputMappings); + + } + + } +} diff --git a/W4Gui/Components/ListAddUpdateDel.resx b/W4Gui/Components/InputEventMappingPanel.resx similarity index 100% rename from W4Gui/Components/ListAddUpdateDel.resx rename to W4Gui/Components/InputEventMappingPanel.resx diff --git a/W4Gui/Components/InputMappingPanel.Designer.cs b/W4Gui/Components/InputMappingPanel.Designer.cs new file mode 100644 index 0000000..4e5868f --- /dev/null +++ b/W4Gui/Components/InputMappingPanel.Designer.cs @@ -0,0 +1,184 @@ +namespace W4Gui.Components +{ + partial class InputMappingPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.inputSettingTabControl = new System.Windows.Forms.TabControl(); + this.generalTab = new System.Windows.Forms.TabPage(); + this.tblGeneral = new System.Windows.Forms.TableLayoutPanel(); + this.lblAllowedDuplicates = new System.Windows.Forms.Label(); + this.lblResourceId = new System.Windows.Forms.Label(); + this.lblMessage = new System.Windows.Forms.Label(); + this.selType = new W4Gui.Components.IntUpDown(); + this.selKey = new W4Gui.Components.IntUpDown(); + this.selJoystickAxis = new W4Gui.Components.IntUpDown(); + this.inputSettingTabControl.SuspendLayout(); + this.generalTab.SuspendLayout(); + this.tblGeneral.SuspendLayout(); + this.SuspendLayout(); + // + // inputSettingTabControl + // + this.inputSettingTabControl.Controls.Add(this.generalTab); + this.inputSettingTabControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputSettingTabControl.HotTrack = true; + this.inputSettingTabControl.Location = new System.Drawing.Point(0, 0); + this.inputSettingTabControl.Name = "inputSettingTabControl"; + this.inputSettingTabControl.SelectedIndex = 0; + this.inputSettingTabControl.Size = new System.Drawing.Size(707, 419); + this.inputSettingTabControl.TabIndex = 1; + // + // generalTab + // + this.generalTab.BackColor = System.Drawing.Color.Transparent; + this.generalTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.generalTab.Controls.Add(this.tblGeneral); + this.generalTab.Location = new System.Drawing.Point(4, 24); + this.generalTab.Name = "generalTab"; + this.generalTab.Padding = new System.Windows.Forms.Padding(3); + this.generalTab.Size = new System.Drawing.Size(699, 391); + this.generalTab.TabIndex = 0; + this.generalTab.Text = "General"; + // + // tblGeneral + // + this.tblGeneral.AutoSize = true; + this.tblGeneral.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Inset; + this.tblGeneral.ColumnCount = 2; + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tblGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tblGeneral.Controls.Add(this.lblAllowedDuplicates, 0, 2); + this.tblGeneral.Controls.Add(this.lblResourceId, 0, 1); + this.tblGeneral.Controls.Add(this.lblMessage, 0, 0); + this.tblGeneral.Controls.Add(this.selType, 1, 0); + this.tblGeneral.Controls.Add(this.selKey, 1, 1); + this.tblGeneral.Controls.Add(this.selJoystickAxis, 1, 2); + this.tblGeneral.Dock = System.Windows.Forms.DockStyle.Top; + this.tblGeneral.Location = new System.Drawing.Point(3, 3); + this.tblGeneral.Name = "tblGeneral"; + this.tblGeneral.RowCount = 3; + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tblGeneral.Size = new System.Drawing.Size(689, 95); + this.tblGeneral.TabIndex = 0; + // + // lblAllowedDuplicates + // + this.lblAllowedDuplicates.AutoSize = true; + this.lblAllowedDuplicates.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblAllowedDuplicates.Location = new System.Drawing.Point(5, 64); + this.lblAllowedDuplicates.Name = "lblAllowedDuplicates"; + this.lblAllowedDuplicates.Size = new System.Drawing.Size(75, 29); + this.lblAllowedDuplicates.TabIndex = 19; + this.lblAllowedDuplicates.Text = "Joystick Axis:"; + this.lblAllowedDuplicates.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblResourceId + // + this.lblResourceId.AutoSize = true; + this.lblResourceId.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblResourceId.Location = new System.Drawing.Point(5, 33); + this.lblResourceId.Name = "lblResourceId"; + this.lblResourceId.Size = new System.Drawing.Size(75, 29); + this.lblResourceId.TabIndex = 17; + this.lblResourceId.Text = "Key:"; + this.lblResourceId.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblMessage + // + this.lblMessage.AutoSize = true; + this.lblMessage.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblMessage.Location = new System.Drawing.Point(5, 2); + this.lblMessage.Name = "lblMessage"; + this.lblMessage.Size = new System.Drawing.Size(75, 29); + this.lblMessage.TabIndex = 0; + this.lblMessage.Text = "Type:"; + this.lblMessage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // selType + // + this.selType.Dock = System.Windows.Forms.DockStyle.Top; + this.selType.Location = new System.Drawing.Point(88, 5); + this.selType.Name = "selType"; + this.selType.Size = new System.Drawing.Size(596, 23); + this.selType.TabIndex = 20; + this.selType.Text = "0"; + this.selType.Value = 0; + // + // selKey + // + this.selKey.Dock = System.Windows.Forms.DockStyle.Top; + this.selKey.Location = new System.Drawing.Point(88, 36); + this.selKey.Name = "selKey"; + this.selKey.Size = new System.Drawing.Size(596, 23); + this.selKey.TabIndex = 21; + this.selKey.Text = "0"; + this.selKey.Value = 0; + // + // selJoystickAxis + // + this.selJoystickAxis.Dock = System.Windows.Forms.DockStyle.Top; + this.selJoystickAxis.Location = new System.Drawing.Point(88, 67); + this.selJoystickAxis.Name = "selJoystickAxis"; + this.selJoystickAxis.Size = new System.Drawing.Size(596, 23); + this.selJoystickAxis.TabIndex = 22; + this.selJoystickAxis.Text = "0"; + this.selJoystickAxis.Value = 0; + // + // InputMappingPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.LightGray; + this.Controls.Add(this.inputSettingTabControl); + this.Name = "InputMappingPanel"; + this.Size = new System.Drawing.Size(707, 419); + this.inputSettingTabControl.ResumeLayout(false); + this.generalTab.ResumeLayout(false); + this.generalTab.PerformLayout(); + this.tblGeneral.ResumeLayout(false); + this.tblGeneral.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private TabControl inputSettingTabControl; + private TabPage generalTab; + private TableLayoutPanel tblGeneral; + private Label lblMessage; + private Label lblResourceId; + private Label lblAllowedDuplicates; + private IntUpDown selType; + private IntUpDown selKey; + private IntUpDown selJoystickAxis; + } +} diff --git a/W4Gui/Components/InputMappingPanel.cs b/W4Gui/Components/InputMappingPanel.cs new file mode 100644 index 0000000..bbeb79c --- /dev/null +++ b/W4Gui/Components/InputMappingPanel.cs @@ -0,0 +1,44 @@ +using LibW4M.Data.InputMapping; +using LibW4M.Data.Teams; +using LibW4M.Data.WeaponFactory; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using W4Gui.Dialogs; + +namespace W4Gui.Components +{ + public partial class InputMappingPanel : UserControl + { + public InputMappingPanel() + { + InitializeComponent(); + } + + + public void SaveInputMappingsData(ref InputMappingData inputMapping) + { + // Save general + inputMapping.Type = this.selType.Value; + inputMapping.Key = this.selKey.Value; + inputMapping.JoystickAxis = this.selJoystickAxis.Value; + } + + public void LoadInputMappingsData(InputMappingData inputMapping) + { + // Load general + this.selType.Value = inputMapping.Type; + this.selKey.Value = inputMapping.Key; + this.selJoystickAxis.Value = inputMapping.JoystickAxis; + + + } + + } +} diff --git a/W4Gui/Components/InputMappingPanel.resx b/W4Gui/Components/InputMappingPanel.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Components/InputMappingPanel.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/Components/SchemePanel.Designer.cs b/W4Gui/Components/SchemePanel.Designer.cs index a832fc9..af2ad7e 100644 --- a/W4Gui/Components/SchemePanel.Designer.cs +++ b/W4Gui/Components/SchemePanel.Designer.cs @@ -98,16 +98,16 @@ this.weapTypeTabControl = new System.Windows.Forms.TabControl(); this.weaponTab = new System.Windows.Forms.TabPage(); this.tblWeapons = new System.Windows.Forms.TableLayoutPanel(); - this.selStarburst = new W4Gui.Components.InputWeaponSettingsData(); - this.selBovineBlitz = new W4Gui.Components.InputWeaponSettingsData(); - this.selSniperRifle = new W4Gui.Components.InputWeaponSettingsData(); - this.selSentryGun = new W4Gui.Components.InputWeaponSettingsData(); - this.selPoisonArrow = new W4Gui.Components.InputWeaponSettingsData(); - this.selTailNail = new W4Gui.Components.InputWeaponSettingsData(); - this.selInflatableScouser = new W4Gui.Components.InputWeaponSettingsData(); - this.selFatkinsStrike = new W4Gui.Components.InputWeaponSettingsData(); - this.selAlienAbduction = new W4Gui.Components.InputWeaponSettingsData(); - this.selTeamWeapon = new W4Gui.Components.InputWeaponSettingsData(); + this.selStarburst = new W4Gui.Components.WeaponSettingsPanel(); + this.selBovineBlitz = new W4Gui.Components.WeaponSettingsPanel(); + this.selSniperRifle = new W4Gui.Components.WeaponSettingsPanel(); + this.selSentryGun = new W4Gui.Components.WeaponSettingsPanel(); + this.selPoisonArrow = new W4Gui.Components.WeaponSettingsPanel(); + this.selTailNail = new W4Gui.Components.WeaponSettingsPanel(); + this.selInflatableScouser = new W4Gui.Components.WeaponSettingsPanel(); + this.selFatkinsStrike = new W4Gui.Components.WeaponSettingsPanel(); + this.selAlienAbduction = new W4Gui.Components.WeaponSettingsPanel(); + this.selTeamWeapon = new W4Gui.Components.WeaponSettingsPanel(); this.lblStarburst = new System.Windows.Forms.Label(); this.lblBovineBlitz = new System.Windows.Forms.Label(); this.lblSniperRifle = new System.Windows.Forms.Label(); @@ -118,17 +118,17 @@ this.lblFatkinsStrike = new System.Windows.Forms.Label(); this.lblAlienAbduction = new System.Windows.Forms.Label(); this.lblTeamWeapon = new System.Windows.Forms.Label(); - this.selFlood = new W4Gui.Components.InputWeaponSettingsData(); - this.selSuperSheep = new W4Gui.Components.InputWeaponSettingsData(); - this.selShotgun = new W4Gui.Components.InputWeaponSettingsData(); - this.selSheep = new W4Gui.Components.InputWeaponSettingsData(); - this.selProd = new W4Gui.Components.InputWeaponSettingsData(); - this.selOldWoman = new W4Gui.Components.InputWeaponSettingsData(); - this.selLandMine = new W4Gui.Components.InputWeaponSettingsData(); - this.selHomingMissile = new W4Gui.Components.InputWeaponSettingsData(); - this.selHolyHandGrenade = new W4Gui.Components.InputWeaponSettingsData(); - this.selGrenade = new W4Gui.Components.InputWeaponSettingsData(); - this.selGasCanister = new W4Gui.Components.InputWeaponSettingsData(); + this.selFlood = new W4Gui.Components.WeaponSettingsPanel(); + this.selSuperSheep = new W4Gui.Components.WeaponSettingsPanel(); + this.selShotgun = new W4Gui.Components.WeaponSettingsPanel(); + this.selSheep = new W4Gui.Components.WeaponSettingsPanel(); + this.selProd = new W4Gui.Components.WeaponSettingsPanel(); + this.selOldWoman = new W4Gui.Components.WeaponSettingsPanel(); + this.selLandMine = new W4Gui.Components.WeaponSettingsPanel(); + this.selHomingMissile = new W4Gui.Components.WeaponSettingsPanel(); + this.selHolyHandGrenade = new W4Gui.Components.WeaponSettingsPanel(); + this.selGrenade = new W4Gui.Components.WeaponSettingsPanel(); + this.selGasCanister = new W4Gui.Components.WeaponSettingsPanel(); this.lblFlood = new System.Windows.Forms.Label(); this.lblSuperSheep = new System.Windows.Forms.Label(); this.lblShotgun = new System.Windows.Forms.Label(); @@ -140,82 +140,82 @@ this.lblGasCanister = new System.Windows.Forms.Label(); this.lblHolyHandGrenade = new System.Windows.Forms.Label(); this.lblGrenade = new System.Windows.Forms.Label(); - this.selFirePunch = new W4Gui.Components.InputWeaponSettingsData(); - this.selDynamite = new W4Gui.Components.InputWeaponSettingsData(); - this.selConcreteDonkey = new W4Gui.Components.InputWeaponSettingsData(); + this.selFirePunch = new W4Gui.Components.WeaponSettingsPanel(); + this.selDynamite = new W4Gui.Components.WeaponSettingsPanel(); + this.selConcreteDonkey = new W4Gui.Components.WeaponSettingsPanel(); this.lblFirePunch = new System.Windows.Forms.Label(); this.lblDynamite = new System.Windows.Forms.Label(); this.lblConcreteDonkey = new System.Windows.Forms.Label(); - this.selBazooka = new W4Gui.Components.InputWeaponSettingsData(); - this.selClusterBomb = new W4Gui.Components.InputWeaponSettingsData(); - this.selBaseballBat = new W4Gui.Components.InputWeaponSettingsData(); + this.selBazooka = new W4Gui.Components.WeaponSettingsPanel(); + this.selClusterBomb = new W4Gui.Components.WeaponSettingsPanel(); + this.selBaseballBat = new W4Gui.Components.WeaponSettingsPanel(); this.lblClusterBomb = new System.Windows.Forms.Label(); this.lblBaseballBat = new System.Windows.Forms.Label(); this.lblBazooka = new System.Windows.Forms.Label(); - this.selBananaBomb = new W4Gui.Components.InputWeaponSettingsData(); + this.selBananaBomb = new W4Gui.Components.WeaponSettingsPanel(); this.lblBananaBomb = new System.Windows.Forms.Label(); this.lblAirstrike = new System.Windows.Forms.Label(); - this.selAirstrike = new W4Gui.Components.InputWeaponSettingsData(); + this.selAirstrike = new W4Gui.Components.WeaponSettingsPanel(); this.utilityTab = new System.Windows.Forms.TabPage(); this.tblWeapUtil = new System.Windows.Forms.TableLayoutPanel(); - this.selArmour = new W4Gui.Components.InputWeaponSettingsData(); - this.selDoubleDamage = new W4Gui.Components.InputWeaponSettingsData(); - this.selCrateSpy = new W4Gui.Components.InputWeaponSettingsData(); - this.selCrateShower = new W4Gui.Components.InputWeaponSettingsData(); - this.selSkipGo = new W4Gui.Components.InputWeaponSettingsData(); + this.selArmour = new W4Gui.Components.WeaponSettingsPanel(); + this.selDoubleDamage = new W4Gui.Components.WeaponSettingsPanel(); + this.selCrateSpy = new W4Gui.Components.WeaponSettingsPanel(); + this.selCrateShower = new W4Gui.Components.WeaponSettingsPanel(); + this.selSkipGo = new W4Gui.Components.WeaponSettingsPanel(); this.lblArmour = new System.Windows.Forms.Label(); this.lblCrateSpy = new System.Windows.Forms.Label(); this.lblDoubleDamage = new System.Windows.Forms.Label(); this.lblSkipGo = new System.Windows.Forms.Label(); this.lblCrateShower = new System.Windows.Forms.Label(); - this.selSurrender = new W4Gui.Components.InputWeaponSettingsData(); - this.selGirder = new W4Gui.Components.InputWeaponSettingsData(); - this.selBubbleTrouble = new W4Gui.Components.InputWeaponSettingsData(); + this.selSurrender = new W4Gui.Components.WeaponSettingsPanel(); + this.selGirder = new W4Gui.Components.WeaponSettingsPanel(); + this.selBubbleTrouble = new W4Gui.Components.WeaponSettingsPanel(); this.lblSurrender = new System.Windows.Forms.Label(); this.lblGirder = new System.Windows.Forms.Label(); this.lblBubbleTrouble = new System.Windows.Forms.Label(); - this.selIcarusPotion = new W4Gui.Components.InputWeaponSettingsData(); - this.selWormSelect = new W4Gui.Components.InputWeaponSettingsData(); - this.selNinjaRope = new W4Gui.Components.InputWeaponSettingsData(); + this.selIcarusPotion = new W4Gui.Components.WeaponSettingsPanel(); + this.selWormSelect = new W4Gui.Components.WeaponSettingsPanel(); + this.selNinjaRope = new W4Gui.Components.WeaponSettingsPanel(); this.lblWormSelector = new System.Windows.Forms.Label(); this.lblNinjaRope = new System.Windows.Forms.Label(); this.lblIcarusPotion = new System.Windows.Forms.Label(); - this.selParachute = new W4Gui.Components.InputWeaponSettingsData(); + this.selParachute = new W4Gui.Components.WeaponSettingsPanel(); this.lblParachute = new System.Windows.Forms.Label(); this.lblJetPack = new System.Windows.Forms.Label(); - this.selJetpack = new W4Gui.Components.InputWeaponSettingsData(); + this.selJetpack = new W4Gui.Components.WeaponSettingsPanel(); this.mysteryTab = new System.Windows.Forms.TabPage(); this.tblWeapMystery = new System.Windows.Forms.TableLayoutPanel(); - this.selBadPoisonMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selGoodPoisonMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selBadPoisonMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selGoodPoisonMystery = new W4Gui.Components.WeaponSettingsPanel(); this.lblTeamDisease = new System.Windows.Forms.Label(); this.lblSickItToThem = new System.Windows.Forms.Label(); - this.selSpecialWeaponMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selSuperHealthMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selDamageMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selHealthMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selDoubleTurnTimeMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selSpecialWeaponMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selSuperHealthMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selDamageMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selHealthMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selDoubleTurnTimeMystery = new W4Gui.Components.WeaponSettingsPanel(); this.lblBigGuns = new System.Windows.Forms.Label(); this.lblDamageIncoming = new System.Windows.Forms.Label(); this.lblSuperHealth = new System.Windows.Forms.Label(); this.lblExtendedTime = new System.Windows.Forms.Label(); this.lblMedicalInsurance = new System.Windows.Forms.Label(); - this.selLowGravityMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selQuickWalkMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selTeleportMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selLowGravityMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selQuickWalkMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selTeleportMystery = new W4Gui.Components.WeaponSettingsPanel(); this.lblMoonPhysics = new System.Windows.Forms.Label(); this.lblHyperActive = new System.Windows.Forms.Label(); this.lblRepositionWorm = new System.Windows.Forms.Label(); - this.selFloodMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selDisarmMystery = new W4Gui.Components.InputWeaponSettingsData(); - this.selBarrelTripletMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selFloodMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selDisarmMystery = new W4Gui.Components.WeaponSettingsPanel(); + this.selBarrelTripletMystery = new W4Gui.Components.WeaponSettingsPanel(); this.lblSabotageInventory = new System.Windows.Forms.Label(); this.lblBarrelOLaughs = new System.Windows.Forms.Label(); this.lblGlobalWarming = new System.Windows.Forms.Label(); - this.selMineTripletMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selMineTripletMystery = new W4Gui.Components.WeaponSettingsPanel(); this.lblRandomDetonation = new System.Windows.Forms.Label(); this.lblBringOnTheMines = new System.Windows.Forms.Label(); - this.selMineLayerMystery = new W4Gui.Components.InputWeaponSettingsData(); + this.selMineLayerMystery = new W4Gui.Components.WeaponSettingsPanel(); this.schemeTabControl.SuspendLayout(); this.generalTab.SuspendLayout(); this.tblGeneral.SuspendLayout(); @@ -2599,20 +2599,20 @@ private TabPage utilityTab; private TabPage mysteryTab; private TableLayoutPanel tblWeapons; - private InputWeaponSettingsData selBananaBomb; + private WeaponSettingsPanel selBananaBomb; private Label lblBananaBomb; private Label lblAirstrike; - private InputWeaponSettingsData selAirstrike; - private InputWeaponSettingsData selStarburst; - private InputWeaponSettingsData selBovineBlitz; - private InputWeaponSettingsData selSniperRifle; - private InputWeaponSettingsData selSentryGun; - private InputWeaponSettingsData selPoisonArrow; - private InputWeaponSettingsData selTailNail; - private InputWeaponSettingsData selInflatableScouser; - private InputWeaponSettingsData selFatkinsStrike; - private InputWeaponSettingsData selAlienAbduction; - private InputWeaponSettingsData selTeamWeapon; + private WeaponSettingsPanel selAirstrike; + private WeaponSettingsPanel selStarburst; + private WeaponSettingsPanel selBovineBlitz; + private WeaponSettingsPanel selSniperRifle; + private WeaponSettingsPanel selSentryGun; + private WeaponSettingsPanel selPoisonArrow; + private WeaponSettingsPanel selTailNail; + private WeaponSettingsPanel selInflatableScouser; + private WeaponSettingsPanel selFatkinsStrike; + private WeaponSettingsPanel selAlienAbduction; + private WeaponSettingsPanel selTeamWeapon; private Label lblStarburst; private Label lblBovineBlitz; private Label lblSniperRifle; @@ -2623,17 +2623,17 @@ private Label lblFatkinsStrike; private Label lblAlienAbduction; private Label lblTeamWeapon; - private InputWeaponSettingsData selFlood; - private InputWeaponSettingsData selSuperSheep; - private InputWeaponSettingsData selShotgun; - private InputWeaponSettingsData selSheep; - private InputWeaponSettingsData selProd; - private InputWeaponSettingsData selOldWoman; - private InputWeaponSettingsData selLandMine; - private InputWeaponSettingsData selHomingMissile; - private InputWeaponSettingsData selHolyHandGrenade; - private InputWeaponSettingsData selGrenade; - private InputWeaponSettingsData selGasCanister; + private WeaponSettingsPanel selFlood; + private WeaponSettingsPanel selSuperSheep; + private WeaponSettingsPanel selShotgun; + private WeaponSettingsPanel selSheep; + private WeaponSettingsPanel selProd; + private WeaponSettingsPanel selOldWoman; + private WeaponSettingsPanel selLandMine; + private WeaponSettingsPanel selHomingMissile; + private WeaponSettingsPanel selHolyHandGrenade; + private WeaponSettingsPanel selGrenade; + private WeaponSettingsPanel selGasCanister; private Label lblFlood; private Label lblSuperSheep; private Label lblShotgun; @@ -2645,76 +2645,76 @@ private Label lblGasCanister; private Label lblHolyHandGrenade; private Label lblGrenade; - private InputWeaponSettingsData selFirePunch; - private InputWeaponSettingsData selDynamite; - private InputWeaponSettingsData selConcreteDonkey; + private WeaponSettingsPanel selFirePunch; + private WeaponSettingsPanel selDynamite; + private WeaponSettingsPanel selConcreteDonkey; private Label lblFirePunch; private Label lblDynamite; private Label lblConcreteDonkey; - private InputWeaponSettingsData selBazooka; - private InputWeaponSettingsData selClusterBomb; - private InputWeaponSettingsData selBaseballBat; + private WeaponSettingsPanel selBazooka; + private WeaponSettingsPanel selClusterBomb; + private WeaponSettingsPanel selBaseballBat; private Label lblClusterBomb; private Label lblBaseballBat; private Label lblBazooka; private TableLayoutPanel tblWeapUtil; - private InputWeaponSettingsData selArmour; - private InputWeaponSettingsData selDoubleDamage; - private InputWeaponSettingsData selCrateSpy; - private InputWeaponSettingsData selCrateShower; - private InputWeaponSettingsData selSkipGo; + private WeaponSettingsPanel selArmour; + private WeaponSettingsPanel selDoubleDamage; + private WeaponSettingsPanel selCrateSpy; + private WeaponSettingsPanel selCrateShower; + private WeaponSettingsPanel selSkipGo; private Label lblArmour; private Label lblCrateSpy; private Label lblDoubleDamage; private Label lblSkipGo; private Label lblCrateShower; - private InputWeaponSettingsData selSurrender; - private InputWeaponSettingsData selGirder; - private InputWeaponSettingsData selBubbleTrouble; + private WeaponSettingsPanel selSurrender; + private WeaponSettingsPanel selGirder; + private WeaponSettingsPanel selBubbleTrouble; private Label lblSurrender; private Label lblGirder; private Label lblBubbleTrouble; - private InputWeaponSettingsData selIcarusPotion; - private InputWeaponSettingsData selWormSelect; - private InputWeaponSettingsData selNinjaRope; + private WeaponSettingsPanel selIcarusPotion; + private WeaponSettingsPanel selWormSelect; + private WeaponSettingsPanel selNinjaRope; private Label lblWormSelector; private Label lblNinjaRope; private Label lblIcarusPotion; - private InputWeaponSettingsData selParachute; + private WeaponSettingsPanel selParachute; private Label lblParachute; private Label lblJetPack; - private InputWeaponSettingsData selJetpack; + private WeaponSettingsPanel selJetpack; private TableLayoutPanel tblWeapMystery; - private InputWeaponSettingsData selBadPoisonMystery; - private InputWeaponSettingsData selGoodPoisonMystery; + private WeaponSettingsPanel selBadPoisonMystery; + private WeaponSettingsPanel selGoodPoisonMystery; private Label lblTeamDisease; private Label lblSickItToThem; - private InputWeaponSettingsData selSpecialWeaponMystery; - private InputWeaponSettingsData selSuperHealthMystery; - private InputWeaponSettingsData selDamageMystery; - private InputWeaponSettingsData selHealthMystery; - private InputWeaponSettingsData selDoubleTurnTimeMystery; + private WeaponSettingsPanel selSpecialWeaponMystery; + private WeaponSettingsPanel selSuperHealthMystery; + private WeaponSettingsPanel selDamageMystery; + private WeaponSettingsPanel selHealthMystery; + private WeaponSettingsPanel selDoubleTurnTimeMystery; private Label lblBigGuns; private Label lblDamageIncoming; private Label lblSuperHealth; private Label lblExtendedTime; private Label lblMedicalInsurance; - private InputWeaponSettingsData selLowGravityMystery; - private InputWeaponSettingsData selQuickWalkMystery; - private InputWeaponSettingsData selTeleportMystery; + private WeaponSettingsPanel selLowGravityMystery; + private WeaponSettingsPanel selQuickWalkMystery; + private WeaponSettingsPanel selTeleportMystery; private Label lblMoonPhysics; private Label lblHyperActive; private Label lblRepositionWorm; - private InputWeaponSettingsData selFloodMystery; - private InputWeaponSettingsData selDisarmMystery; - private InputWeaponSettingsData selBarrelTripletMystery; + private WeaponSettingsPanel selFloodMystery; + private WeaponSettingsPanel selDisarmMystery; + private WeaponSettingsPanel selBarrelTripletMystery; private Label lblSabotageInventory; private Label lblBarrelOLaughs; private Label lblGlobalWarming; - private InputWeaponSettingsData selMineTripletMystery; + private WeaponSettingsPanel selMineTripletMystery; private Label lblRandomDetonation; private Label lblBringOnTheMines; - private InputWeaponSettingsData selMineLayerMystery; + private WeaponSettingsPanel selMineLayerMystery; private ComboBox selLndObjects; private ComboBox selStockpiling; private ComboBox selSuddenDeath; diff --git a/W4Gui/Components/ListAddUpdateDel.Designer.cs b/W4Gui/Components/StringList.Designer.cs similarity index 80% rename from W4Gui/Components/ListAddUpdateDel.Designer.cs rename to W4Gui/Components/StringList.Designer.cs index c4acf20..0f40d9c 100644 --- a/W4Gui/Components/ListAddUpdateDel.Designer.cs +++ b/W4Gui/Components/StringList.Designer.cs @@ -1,6 +1,6 @@ namespace W4Gui.Components { - partial class ListAddUpdateDel + partial class StringList { /// /// Required designer variable. @@ -31,7 +31,6 @@ this.tableWListAndButtons = new System.Windows.Forms.TableLayoutPanel(); this.lst = new System.Windows.Forms.ListBox(); this.addDelButtonDivisor = new System.Windows.Forms.TableLayoutPanel(); - this.updateBtn = new System.Windows.Forms.Button(); this.delBtn = new System.Windows.Forms.Button(); this.addBtn = new System.Windows.Forms.Button(); this.newEntry = new System.Windows.Forms.TextBox(); @@ -53,7 +52,7 @@ this.tableWListAndButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableWListAndButtons.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableWListAndButtons.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableWListAndButtons.Size = new System.Drawing.Size(517, 301); + this.tableWListAndButtons.Size = new System.Drawing.Size(472, 203); this.tableWListAndButtons.TabIndex = 21; // // lst @@ -64,47 +63,35 @@ this.lst.Location = new System.Drawing.Point(3, 3); this.lst.Name = "lst"; this.lst.ScrollAlwaysVisible = true; - this.lst.Size = new System.Drawing.Size(511, 217); + this.lst.Size = new System.Drawing.Size(466, 119); this.lst.TabIndex = 0; this.lst.SelectedIndexChanged += new System.EventHandler(this.lst_SelectedIndexChanged); this.lst.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lst_KeyDown); // // addDelButtonDivisor // - this.addDelButtonDivisor.ColumnCount = 3; - this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); - this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); - this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); - this.addDelButtonDivisor.Controls.Add(this.updateBtn, 0, 0); - this.addDelButtonDivisor.Controls.Add(this.delBtn, 2, 0); + this.addDelButtonDivisor.ColumnCount = 2; + this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.addDelButtonDivisor.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.addDelButtonDivisor.Controls.Add(this.delBtn, 1, 0); this.addDelButtonDivisor.Controls.Add(this.addBtn, 0, 0); this.addDelButtonDivisor.Dock = System.Windows.Forms.DockStyle.Fill; - this.addDelButtonDivisor.Location = new System.Drawing.Point(3, 255); + this.addDelButtonDivisor.Location = new System.Drawing.Point(3, 157); this.addDelButtonDivisor.Name = "addDelButtonDivisor"; this.addDelButtonDivisor.RowCount = 1; this.addDelButtonDivisor.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.addDelButtonDivisor.Size = new System.Drawing.Size(511, 43); + this.addDelButtonDivisor.Size = new System.Drawing.Size(466, 43); this.addDelButtonDivisor.TabIndex = 1; // - // updateBtn - // - this.updateBtn.Dock = System.Windows.Forms.DockStyle.Fill; - this.updateBtn.Location = new System.Drawing.Point(173, 3); - this.updateBtn.Name = "updateBtn"; - this.updateBtn.Size = new System.Drawing.Size(164, 37); - this.updateBtn.TabIndex = 2; - this.updateBtn.Text = "Update"; - this.updateBtn.UseVisualStyleBackColor = true; - this.updateBtn.Click += new System.EventHandler(this.updateBtn_Click); - // // delBtn // this.delBtn.Dock = System.Windows.Forms.DockStyle.Fill; - this.delBtn.Location = new System.Drawing.Point(343, 3); + this.delBtn.Location = new System.Drawing.Point(236, 3); this.delBtn.Name = "delBtn"; - this.delBtn.Size = new System.Drawing.Size(165, 37); + this.delBtn.Size = new System.Drawing.Size(227, 37); this.delBtn.TabIndex = 1; - this.delBtn.Text = "Delete"; + this.delBtn.Text = "Delete String"; this.delBtn.UseVisualStyleBackColor = true; this.delBtn.Click += new System.EventHandler(this.delBtn_Click); // @@ -113,19 +100,19 @@ this.addBtn.Dock = System.Windows.Forms.DockStyle.Fill; this.addBtn.Location = new System.Drawing.Point(3, 3); this.addBtn.Name = "addBtn"; - this.addBtn.Size = new System.Drawing.Size(164, 37); + this.addBtn.Size = new System.Drawing.Size(227, 37); this.addBtn.TabIndex = 0; - this.addBtn.Text = "Add"; + this.addBtn.Text = "Add String"; this.addBtn.UseVisualStyleBackColor = true; this.addBtn.Click += new System.EventHandler(this.addBtn_Click); // // newEntry // this.newEntry.Dock = System.Windows.Forms.DockStyle.Fill; - this.newEntry.Location = new System.Drawing.Point(3, 226); + this.newEntry.Location = new System.Drawing.Point(3, 128); this.newEntry.Name = "newEntry"; this.newEntry.PlaceholderText = "Enter Text"; - this.newEntry.Size = new System.Drawing.Size(511, 23); + this.newEntry.Size = new System.Drawing.Size(466, 23); this.newEntry.TabIndex = 4; this.newEntry.KeyDown += new System.Windows.Forms.KeyEventHandler(this.newEntry_KeyDown); // @@ -135,7 +122,7 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.tableWListAndButtons); this.Name = "ListAddUpdateDel"; - this.Size = new System.Drawing.Size(517, 301); + this.Size = new System.Drawing.Size(472, 203); this.tableWListAndButtons.ResumeLayout(false); this.tableWListAndButtons.PerformLayout(); this.addDelButtonDivisor.ResumeLayout(false); @@ -151,6 +138,5 @@ private Button delBtn; private Button addBtn; private TextBox newEntry; - private Button updateBtn; } } diff --git a/W4Gui/Components/ListAddUpdateDel.cs b/W4Gui/Components/StringList.cs similarity index 74% rename from W4Gui/Components/ListAddUpdateDel.cs rename to W4Gui/Components/StringList.cs index deb7d09..f444834 100644 --- a/W4Gui/Components/ListAddUpdateDel.cs +++ b/W4Gui/Components/StringList.cs @@ -10,9 +10,10 @@ using System.Windows.Forms; namespace W4Gui.Components { - public partial class ListAddUpdateDel : UserControl + public partial class StringList : UserControl { - public ListAddUpdateDel() + private int prevSelected = -1; + public StringList() { InitializeComponent(); } @@ -21,10 +22,15 @@ namespace W4Gui.Components { get { + saveCurrent(); + int itmCnt = lst.Items.Count; string[] items = new string[itmCnt]; for (int i = 0; i < itmCnt; i++) - items[i] = lst.Items[i].ToString(); + { + if (lst.Items[i] is null) items[i] = "(null)"; + else items[i] = lst.Items[i].ToString(); + } return items; } @@ -58,11 +64,11 @@ namespace W4Gui.Components lst.Items.RemoveAt(sel); } - private void updateBtn_Click(object sender, EventArgs e) + private void saveCurrent() { int sel = lst.SelectedIndex; - if(sel >= 0) - lst.Items[sel] = newEntry.Text.Trim(); + if (sel >= 0) + lst.Items[sel] = newEntry.Text; } private void newEntry_KeyDown(object sender, KeyEventArgs e) @@ -70,7 +76,7 @@ namespace W4Gui.Components if(e.KeyData == Keys.Enter) { e.Handled = true; - updateBtn_Click(sender, e); + saveCurrent(); } } @@ -87,8 +93,18 @@ namespace W4Gui.Components private void lst_SelectedIndexChanged(object sender, EventArgs e) { + if (prevSelected >= 0) + lst.Items[prevSelected] = newEntry.Text; + if (lst.SelectedIndex >= 0) newEntry.Text = lst.Items[lst.SelectedIndex].ToString(); + + prevSelected = lst.SelectedIndex; + } + + private void ListAddUpdateDel_Load(object sender, EventArgs e) + { + } } } diff --git a/W4Gui/Components/StringList.resx b/W4Gui/Components/StringList.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Components/StringList.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/Components/TeamsPanel.Designer.cs b/W4Gui/Components/TeamsPanel.Designer.cs index 6f3dfcb..c734a45 100644 --- a/W4Gui/Components/TeamsPanel.Designer.cs +++ b/W4Gui/Components/TeamsPanel.Designer.cs @@ -38,7 +38,7 @@ this.lblTeamName = new System.Windows.Forms.Label(); this.selName = new System.Windows.Forms.TextBox(); this.selSkill = new System.Windows.Forms.ComboBox(); - this.selWorms = new W4Gui.Components.ListAddUpdateDel(); + this.selWorms = new W4Gui.Components.StringList(); this.apperanceTab = new System.Windows.Forms.TabPage(); this.tblApperance = new System.Windows.Forms.TableLayoutPanel(); this.lblGlasses = new System.Windows.Forms.Label(); @@ -835,7 +835,7 @@ private TextBox selName; private ComboBox selSkill; private Label lblWormName; - private ListAddUpdateDel selWorms; + private StringList selWorms; private TableLayoutPanel tblApperance; private Label lblHat; private Label lblSpeech; diff --git a/W4Gui/Components/TeamsPanel.cs b/W4Gui/Components/TeamsPanel.cs index 7595507..2ed6dc4 100644 --- a/W4Gui/Components/TeamsPanel.cs +++ b/W4Gui/Components/TeamsPanel.cs @@ -98,6 +98,7 @@ namespace W4Gui.Components { WeaponStore store = csd.SelectedEntry as WeaponStore; weapon = store.Weapon; + this.selTeamWeapName.Text = store.Weapon.Name.Value; } } diff --git a/W4Gui/Components/UnlockableItemsPanel.Designer.cs b/W4Gui/Components/UnlockableItemsPanel.Designer.cs index e0d8bec..0037a98 100644 --- a/W4Gui/Components/UnlockableItemsPanel.Designer.cs +++ b/W4Gui/Components/UnlockableItemsPanel.Designer.cs @@ -38,7 +38,7 @@ this.selType = new W4Gui.Components.IntUpDown(); this.selState = new W4Gui.Components.IntUpDown(); this.selDescriptionName = new System.Windows.Forms.TextBox(); - this.selUnlockRequirements = new W4Gui.Components.ListAddUpdateDel(); + this.selUnlockRequirements = new W4Gui.Components.StringList(); this.lblDescription = new System.Windows.Forms.Label(); this.selValue = new W4Gui.Components.IntUpDown(); this.tblUnlockRequirementsMet = new System.Windows.Forms.TableLayoutPanel(); @@ -266,7 +266,7 @@ private IntUpDown selType; private IntUpDown selState; private TextBox selDescriptionName; - private ListAddUpdateDel selUnlockRequirements; + private StringList selUnlockRequirements; private IntUpDown selValue; } } diff --git a/W4Gui/Components/InputWeaponSettingsData.Designer.cs b/W4Gui/Components/WeaponSettingsPanel.Designer.cs similarity index 99% rename from W4Gui/Components/InputWeaponSettingsData.Designer.cs rename to W4Gui/Components/WeaponSettingsPanel.Designer.cs index 3340cbf..d199d4d 100644 --- a/W4Gui/Components/InputWeaponSettingsData.Designer.cs +++ b/W4Gui/Components/WeaponSettingsPanel.Designer.cs @@ -1,6 +1,6 @@ namespace W4Gui.Components { - partial class InputWeaponSettingsData + partial class WeaponSettingsPanel { /// /// Required designer variable. diff --git a/W4Gui/Components/InputWeaponSettingsData.cs b/W4Gui/Components/WeaponSettingsPanel.cs similarity index 88% rename from W4Gui/Components/InputWeaponSettingsData.cs rename to W4Gui/Components/WeaponSettingsPanel.cs index d20b684..a18cce7 100644 --- a/W4Gui/Components/InputWeaponSettingsData.cs +++ b/W4Gui/Components/WeaponSettingsPanel.cs @@ -11,9 +11,9 @@ using System.Windows.Forms; namespace W4Gui.Components { - public partial class InputWeaponSettingsData : UserControl + public partial class WeaponSettingsPanel : UserControl { - public InputWeaponSettingsData() + public WeaponSettingsPanel() { InitializeComponent(); } diff --git a/W4Gui/Components/WeaponSettingsPanel.resx b/W4Gui/Components/WeaponSettingsPanel.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Components/WeaponSettingsPanel.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/Components/WeaponsPanel.Designer.cs b/W4Gui/Components/WeaponsPanel.Designer.cs index 3eb6446..db6fcc9 100644 --- a/W4Gui/Components/WeaponsPanel.Designer.cs +++ b/W4Gui/Components/WeaponsPanel.Designer.cs @@ -80,8 +80,8 @@ this.lblColRad = new System.Windows.Forms.Label(); this.selPayloadId = new W4Gui.Components.IntUpDown(); this.lblPayloadId = new System.Windows.Forms.Label(); - this.selGraphicalResoures = new W4Gui.Components.ListAddUpdateDel(); - this.selGraphicalLocators = new W4Gui.Components.ListAddUpdateDel(); + this.selGraphicalResoures = new W4Gui.Components.StringList(); + this.selGraphicalLocators = new W4Gui.Components.StringList(); this.togglesTab = new System.Windows.Forms.TabPage(); this.togglesTable = new System.Windows.Forms.TableLayoutPanel(); this.selHoming = new System.Windows.Forms.CheckBox(); @@ -978,8 +978,8 @@ private Label lblColRad; private IntUpDown selPayloadId; private Label lblPayloadId; - private ListAddUpdateDel selGraphicalResoures; - private ListAddUpdateDel selGraphicalLocators; + private StringList selGraphicalResoures; + private StringList selGraphicalLocators; private Label lblDetonation; } } diff --git a/W4Gui/EditorIcon.ico b/W4Gui/EditorIcon.ico new file mode 100644 index 0000000..38904e4 Binary files /dev/null and b/W4Gui/EditorIcon.ico differ diff --git a/W4Gui/Main.Designer.cs b/W4Gui/Main.Designer.cs index ba056f1..ca7d9c0 100644 --- a/W4Gui/Main.Designer.cs +++ b/W4Gui/Main.Designer.cs @@ -31,6 +31,7 @@ namespace W4Gui /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); this.mainMenuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -51,8 +52,10 @@ namespace W4Gui this.unlockItemsTab = new System.Windows.Forms.TabPage(); this.unlockableItemsPanel = new W4Gui.Tabs.UnlockableItemsTab(); this.inputTab = new System.Windows.Forms.TabPage(); + this.inputEventMappingsPanel = new W4Gui.Tabs.InputEventMappingTab(); this.statsTab = new System.Windows.Forms.TabPage(); this.awardsTab = new System.Windows.Forms.TabPage(); + this.awardPanel = new W4Gui.Tabs.AwardTab(); this.variablesTab = new System.Windows.Forms.TabPage(); this.variablesPage = new W4Gui.Tabs.VariablesTab.VariablesTabs(); this.mainMenuStrip.SuspendLayout(); @@ -62,6 +65,8 @@ namespace W4Gui this.schemeTab.SuspendLayout(); this.highscoreTab.SuspendLayout(); this.unlockItemsTab.SuspendLayout(); + this.inputTab.SuspendLayout(); + this.awardsTab.SuspendLayout(); this.variablesTab.SuspendLayout(); this.SuspendLayout(); // @@ -181,7 +186,7 @@ namespace W4Gui this.teamTab.Location = new System.Drawing.Point(4, 24); this.teamTab.Name = "teamTab"; this.teamTab.Padding = new System.Windows.Forms.Padding(3); - this.teamTab.Size = new System.Drawing.Size(905, 509); + this.teamTab.Size = new System.Drawing.Size(192, 72); this.teamTab.TabIndex = 1; this.teamTab.Text = "Teams"; this.teamTab.UseVisualStyleBackColor = true; @@ -191,7 +196,7 @@ namespace W4Gui this.teamsPage.Dock = System.Windows.Forms.DockStyle.Fill; this.teamsPage.Location = new System.Drawing.Point(3, 3); this.teamsPage.Name = "teamsPage"; - this.teamsPage.Size = new System.Drawing.Size(895, 499); + this.teamsPage.Size = new System.Drawing.Size(182, 62); this.teamsPage.TabIndex = 0; // // schemeTab @@ -201,7 +206,7 @@ namespace W4Gui this.schemeTab.Location = new System.Drawing.Point(4, 24); this.schemeTab.Name = "schemeTab"; this.schemeTab.Padding = new System.Windows.Forms.Padding(3); - this.schemeTab.Size = new System.Drawing.Size(905, 509); + this.schemeTab.Size = new System.Drawing.Size(192, 72); this.schemeTab.TabIndex = 3; this.schemeTab.Text = "Schemes"; this.schemeTab.UseVisualStyleBackColor = true; @@ -211,7 +216,7 @@ namespace W4Gui this.schemesPage.Dock = System.Windows.Forms.DockStyle.Fill; this.schemesPage.Location = new System.Drawing.Point(3, 3); this.schemesPage.Name = "schemesPage"; - this.schemesPage.Size = new System.Drawing.Size(895, 499); + this.schemesPage.Size = new System.Drawing.Size(182, 62); this.schemesPage.TabIndex = 0; // // highscoreTab @@ -221,7 +226,7 @@ namespace W4Gui this.highscoreTab.Location = new System.Drawing.Point(4, 24); this.highscoreTab.Name = "highscoreTab"; this.highscoreTab.Padding = new System.Windows.Forms.Padding(3); - this.highscoreTab.Size = new System.Drawing.Size(905, 509); + this.highscoreTab.Size = new System.Drawing.Size(192, 72); this.highscoreTab.TabIndex = 2; this.highscoreTab.Text = "Highscores"; this.highscoreTab.UseVisualStyleBackColor = true; @@ -231,7 +236,7 @@ namespace W4Gui this.highscoresPage.Dock = System.Windows.Forms.DockStyle.Fill; this.highscoresPage.Location = new System.Drawing.Point(3, 3); this.highscoresPage.Name = "highscoresPage"; - this.highscoresPage.Size = new System.Drawing.Size(895, 499); + this.highscoresPage.Size = new System.Drawing.Size(182, 62); this.highscoresPage.TabIndex = 0; // // unlockItemsTab @@ -241,7 +246,7 @@ namespace W4Gui this.unlockItemsTab.Location = new System.Drawing.Point(4, 24); this.unlockItemsTab.Name = "unlockItemsTab"; this.unlockItemsTab.Padding = new System.Windows.Forms.Padding(3); - this.unlockItemsTab.Size = new System.Drawing.Size(905, 509); + this.unlockItemsTab.Size = new System.Drawing.Size(192, 72); this.unlockItemsTab.TabIndex = 6; this.unlockItemsTab.Text = "Unlockable Items"; this.unlockItemsTab.UseVisualStyleBackColor = true; @@ -251,26 +256,36 @@ namespace W4Gui this.unlockableItemsPanel.Dock = System.Windows.Forms.DockStyle.Fill; this.unlockableItemsPanel.Location = new System.Drawing.Point(3, 3); this.unlockableItemsPanel.Name = "unlockableItemsPanel"; - this.unlockableItemsPanel.Size = new System.Drawing.Size(895, 499); + this.unlockableItemsPanel.Size = new System.Drawing.Size(182, 62); this.unlockableItemsPanel.TabIndex = 0; // // inputTab // this.inputTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.inputTab.Controls.Add(this.inputEventMappingsPanel); this.inputTab.Location = new System.Drawing.Point(4, 24); this.inputTab.Name = "inputTab"; - this.inputTab.Size = new System.Drawing.Size(905, 509); + this.inputTab.Padding = new System.Windows.Forms.Padding(3); + this.inputTab.Size = new System.Drawing.Size(192, 72); this.inputTab.TabIndex = 4; this.inputTab.Text = "Input Settings"; this.inputTab.UseVisualStyleBackColor = true; // + // inputEventMappingsPanel + // + this.inputEventMappingsPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputEventMappingsPanel.Location = new System.Drawing.Point(3, 3); + this.inputEventMappingsPanel.Name = "inputEventMappingsPanel"; + this.inputEventMappingsPanel.Size = new System.Drawing.Size(182, 62); + this.inputEventMappingsPanel.TabIndex = 0; + // // statsTab // this.statsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.statsTab.Location = new System.Drawing.Point(4, 24); this.statsTab.Name = "statsTab"; this.statsTab.Padding = new System.Windows.Forms.Padding(3); - this.statsTab.Size = new System.Drawing.Size(905, 509); + this.statsTab.Size = new System.Drawing.Size(192, 72); this.statsTab.TabIndex = 7; this.statsTab.Text = "Statistics"; this.statsTab.UseVisualStyleBackColor = true; @@ -278,14 +293,23 @@ namespace W4Gui // awardsTab // this.awardsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.awardsTab.Controls.Add(this.awardPanel); this.awardsTab.Location = new System.Drawing.Point(4, 24); this.awardsTab.Name = "awardsTab"; this.awardsTab.Padding = new System.Windows.Forms.Padding(3); - this.awardsTab.Size = new System.Drawing.Size(905, 509); + this.awardsTab.Size = new System.Drawing.Size(192, 72); this.awardsTab.TabIndex = 8; this.awardsTab.Text = "Awards"; this.awardsTab.UseVisualStyleBackColor = true; // + // awardPanel + // + this.awardPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.awardPanel.Location = new System.Drawing.Point(3, 3); + this.awardPanel.Name = "awardPanel"; + this.awardPanel.Size = new System.Drawing.Size(182, 62); + this.awardPanel.TabIndex = 0; + // // variablesTab // this.variablesTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; @@ -293,7 +317,7 @@ namespace W4Gui this.variablesTab.Location = new System.Drawing.Point(4, 24); this.variablesTab.Name = "variablesTab"; this.variablesTab.Padding = new System.Windows.Forms.Padding(3); - this.variablesTab.Size = new System.Drawing.Size(905, 509); + this.variablesTab.Size = new System.Drawing.Size(192, 72); this.variablesTab.TabIndex = 5; this.variablesTab.Text = "Variables"; this.variablesTab.UseVisualStyleBackColor = true; @@ -304,7 +328,7 @@ namespace W4Gui this.variablesPage.Dock = System.Windows.Forms.DockStyle.Fill; this.variablesPage.Location = new System.Drawing.Point(3, 3); this.variablesPage.Name = "variablesPage"; - this.variablesPage.Size = new System.Drawing.Size(895, 499); + this.variablesPage.Size = new System.Drawing.Size(182, 62); this.variablesPage.TabIndex = 0; // // Main @@ -316,6 +340,7 @@ namespace W4Gui this.Controls.Add(this.mainTabControl); this.Controls.Add(this.mainMenuStrip); this.DoubleBuffered = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = this.mainMenuStrip; this.Name = "Main"; this.Text = "Worms 4: Mayhem! (Save Editor)"; @@ -328,6 +353,8 @@ namespace W4Gui this.schemeTab.ResumeLayout(false); this.highscoreTab.ResumeLayout(false); this.unlockItemsTab.ResumeLayout(false); + this.inputTab.ResumeLayout(false); + this.awardsTab.ResumeLayout(false); this.variablesTab.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -360,5 +387,7 @@ namespace W4Gui private UnlockableItemsTab unlockableItemsPanel; private TabPage statsTab; private TabPage awardsTab; + private AwardTab awardPanel; + private InputEventMappingTab inputEventMappingsPanel; } } \ No newline at end of file diff --git a/W4Gui/Main.resx b/W4Gui/Main.resx index f2d8197..ac769cb 100644 --- a/W4Gui/Main.resx +++ b/W4Gui/Main.resx @@ -60,4 +60,81 @@ 12, 15 + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABUAAAAxAAAASwAAAFcAAABZAAAAWQAA + AFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWAAA + AEsAAAA2AAAAHwAAAAQAAAAGAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAHAAAAIwQhAJECIQDLAh8AzQUn + AM4FLADOBSUBzwMeAc8DHwLPBScCzwYrAs8GLgLPBSkCzwMdAs8EIwLPBi0CzwYqAs8GKQLPAxwBzwMb + As8FJwHOBScAywQiAJUAAAAzAAAAHQAAACMAAAAgAAAAFAAAAAgAAAADAAAAAQAAAAkAAAAuDDIBwQUr + Av8KNgL/EUsC/xFZA/8PVQT/BzgE/wQoBP8MSQT/FG8E/xR2BP8NUQT/BSUE/wk9BP8RbAT/FHsE/w9Z + BP8GKAT/CkEE/w9aA/8PUAP/DEMBwQAAADsCGABZAyYAogIcAJ4AAwBJAAAAKwAAABwAAAARAAAAEAAA + AC0EIgC4BSsD/xJHBP8JMAT/BSgE/w5WBP8OVgT/BSgE/wYnBP8NVAT/DVME/wQlBP8FKAT/BSYE/wc0 + BP8RagT/BSQE/wUjBP8QagT/BzEE+wQeAuoCEgF9AAAALQxSAMwLTwH7AyQC+wQmAMAJUQCWAhgAhAAF + AEcAAAAtAAAAMAEKAGsDIwDeEV4C/wc2A/8EKAT/DlYE/w5WBP8FKQT/BigE/w1VBP8NVAT/BScE/wUp + BP8FJwT/BzYE/xFrBP8FJQT/BSQE/xBrAvwGLQGxAAUAWwACACoAAAAUC0AB/ww+A/8EJwT/BzQC/xBZ + Af8EKQH7AyMA0AIaAIkEIQBYAAAAZAEXALsQXgH/BzcD/wUqBP8OVgT/DlYE/wUqBP8FKAT/DlcE/w5X + BP8FKAT/BioE/wUoBP8INAT/EWcE/wQlA/kDHgHUCU8AigQeAEIAAAAeAAAACwAAAAQMQQH/DUAD/wUo + BP8IMAT/EkQE/wUsBP8IMQP/CkUB+RGRAM0BEQCrBCoC8xNaA/8JNwT/BSoD/w5ZBP8OWgT/BSsE/wpA + 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 + AAAAAAAAgAAAAMAAEADwABgA/AA8AP+APgA= + + \ No newline at end of file diff --git a/W4Gui/Properties/PublishProfiles/FolderProfile.pubxml.user b/W4Gui/Properties/PublishProfiles/FolderProfile.pubxml.user index 4d662bb..6ee82eb 100644 --- a/W4Gui/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/W4Gui/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2023-02-20T10:18:32.2496478Z;True|2023-02-19T06:40:54.2502643+13:00;False|2023-02-16T17:57:46.9563146+13:00;True|2023-01-19T20:41:26.7371208+13:00;True|2023-01-15T17:06:35.5919106+13:00;True|2023-01-14T13:57:56.0824690+13:00;True|2023-01-11T22:22:28.8737310+13:00;True|2023-01-11T22:16:55.3469226+13:00; + True|2023-02-28T20:19:31.4651141Z;True|2023-02-25T21:53:35.8769435+13:00;True|2023-02-20T23:18:32.2496478+13:00;True|2023-02-19T06:40:54.2502643+13:00;False|2023-02-16T17:57:46.9563146+13:00;True|2023-01-19T20:41:26.7371208+13:00;True|2023-01-15T17:06:35.5919106+13:00;True|2023-01-14T13:57:56.0824690+13:00;True|2023-01-11T22:22:28.8737310+13:00;True|2023-01-11T22:16:55.3469226+13:00; \ No newline at end of file diff --git a/W4Gui/Tabs/AwardTab.Designer.cs b/W4Gui/Tabs/AwardTab.Designer.cs new file mode 100644 index 0000000..3ad91b9 --- /dev/null +++ b/W4Gui/Tabs/AwardTab.Designer.cs @@ -0,0 +1,58 @@ +namespace W4Gui.Tabs +{ + partial class AwardTab + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.awardPanel = new W4Gui.Components.AwardPanel(); + this.SuspendLayout(); + // + // awardPanel + // + this.awardPanel.BackColor = System.Drawing.Color.LightGray; + this.awardPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.awardPanel.Location = new System.Drawing.Point(0, 0); + this.awardPanel.Name = "awardPanel"; + this.awardPanel.Size = new System.Drawing.Size(797, 464); + this.awardPanel.TabIndex = 0; + // + // AwardTab + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.awardPanel); + this.Name = "AwardTab"; + this.Size = new System.Drawing.Size(797, 464); + this.ResumeLayout(false); + + } + + #endregion + + private Components.AwardPanel awardPanel; + } +} diff --git a/W4Gui/Tabs/AwardTab.cs b/W4Gui/Tabs/AwardTab.cs new file mode 100644 index 0000000..1e1906a --- /dev/null +++ b/W4Gui/Tabs/AwardTab.cs @@ -0,0 +1,36 @@ +using LibW4M.Data.Schemes; +using LibW4M.Data.Teams; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace W4Gui.Tabs +{ + public partial class AwardTab : TabEntry + { + public AwardTab() + { + InitializeComponent(); + + } + + public override void SaveFromControl() + { + this.awardPanel.SaveAwardData(ref DataManager.SaveFile.TeamAwardsContainer); + } + + public override void LoadIntoControl() + { + this.awardPanel.LoadAwardData(DataManager.SaveFile.TeamAwardsContainer); + this.awardPanel.Enabled = true; + } + + + } +} diff --git a/W4Gui/Tabs/AwardTab.resx b/W4Gui/Tabs/AwardTab.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Tabs/AwardTab.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/Tabs/InputEventMappingsTab.Designer.cs b/W4Gui/Tabs/InputEventMappingsTab.Designer.cs new file mode 100644 index 0000000..e473835 --- /dev/null +++ b/W4Gui/Tabs/InputEventMappingsTab.Designer.cs @@ -0,0 +1,98 @@ +namespace W4Gui.Tabs +{ + partial class InputEventMappingTab + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.inputEventMappingSplitContainer = new System.Windows.Forms.SplitContainer(); + this.inputEventMappingList = new W4Gui.Components.CollectiveListAddDelete(); + this.inputEventMappingPanel = new W4Gui.Components.InputEventMappingPanel(); + ((System.ComponentModel.ISupportInitialize)(this.inputEventMappingSplitContainer)).BeginInit(); + this.inputEventMappingSplitContainer.Panel1.SuspendLayout(); + this.inputEventMappingSplitContainer.Panel2.SuspendLayout(); + this.inputEventMappingSplitContainer.SuspendLayout(); + this.SuspendLayout(); + // + // inputEventMappingSplitContainer + // + this.inputEventMappingSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.inputEventMappingSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputEventMappingSplitContainer.Location = new System.Drawing.Point(3, 3); + this.inputEventMappingSplitContainer.Name = "inputEventMappingSplitContainer"; + // + // inputEventMappingSplitContainer.Panel1 + // + this.inputEventMappingSplitContainer.Panel1.Controls.Add(this.inputEventMappingList); + // + // inputEventMappingSplitContainer.Panel2 + // + this.inputEventMappingSplitContainer.Panel2.Controls.Add(this.inputEventMappingPanel); + this.inputEventMappingSplitContainer.Size = new System.Drawing.Size(797, 464); + this.inputEventMappingSplitContainer.SplitterDistance = 265; + this.inputEventMappingSplitContainer.TabIndex = 0; + // + // inputEventMappingList + // + this.inputEventMappingList.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputEventMappingList.Location = new System.Drawing.Point(0, 0); + this.inputEventMappingList.Name = "inputEventMappingList"; + this.inputEventMappingList.Size = new System.Drawing.Size(261, 460); + this.inputEventMappingList.TabIndex = 0; + this.inputEventMappingList.NewButton += new System.EventHandler(this.inputEventMappingList_NewButton); + this.inputEventMappingList.DeleteButton += new System.EventHandler(this.inputEventMappingList_DelButton); + // + // inputEventMappingPanel + // + this.inputEventMappingPanel.BackColor = System.Drawing.Color.LightGray; + this.inputEventMappingPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputEventMappingPanel.Location = new System.Drawing.Point(0, 0); + this.inputEventMappingPanel.Name = "inputEventMappingPanel"; + this.inputEventMappingPanel.Size = new System.Drawing.Size(524, 460); + this.inputEventMappingPanel.TabIndex = 0; + // + // InputEventMappingsTab + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.inputEventMappingSplitContainer); + this.Name = "InputEventMappingsTab"; + this.Size = new System.Drawing.Size(797, 464); + this.inputEventMappingSplitContainer.Panel1.ResumeLayout(false); + this.inputEventMappingSplitContainer.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.inputEventMappingSplitContainer)).EndInit(); + this.inputEventMappingSplitContainer.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private SplitContainer inputEventMappingSplitContainer; + private Components.CollectiveListAddDelete inputEventMappingList; + private Components.InputEventMappingPanel inputEventMappingPanel; + } +} diff --git a/W4Gui/Tabs/InputEventMappingsTab.cs b/W4Gui/Tabs/InputEventMappingsTab.cs new file mode 100644 index 0000000..0665303 --- /dev/null +++ b/W4Gui/Tabs/InputEventMappingsTab.cs @@ -0,0 +1,62 @@ +using LibW4M.Data.InputMapping; +using LibW4M.Data.Teams; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace W4Gui.Tabs +{ + public partial class InputEventMappingTab : TabEntry + { + public InputEventMappingTab() + { + InitializeComponent(); + this.inputEventMappingList.List.Selected += inputEventMappingList_Selected; + this.inputEventMappingList.List.Unselected += inputEventMappingList_Unselected; + + } + + public override void SaveFromControl() + { + if (this.inputEventMappingList.List.IsItemSelected) + inputEventMappingList_Unselected(null, null); + } + + public override void LoadIntoControl() + { + this.inputEventMappingList.List.LoadCollective(DataManager.SaveFile.InputMappingCollective); + inputEventMappingPanel.Enabled = false; + } + + private void inputEventMappingList_Unselected(object? sender, EventArgs e) + { + InputEventMappingData InputEventMappingData = DataManager.SaveFile.InputMappingCollective[inputEventMappingList.List.LastSelected] as InputEventMappingData; + inputEventMappingPanel.SaveInputEventMappingsData(ref InputEventMappingData); + inputEventMappingList.List.UpdateName(inputEventMappingList.List.LastSelected, InputEventMappingData.FriendlyName); + } + + private void inputEventMappingList_Selected(object? sender, EventArgs e) + { + InputEventMappingData InputEventMappingData = DataManager.SaveFile.InputMappingCollective[inputEventMappingList.List.CurrentlySelected] as InputEventMappingData; + inputEventMappingPanel.LoadInputEventMappingsData(InputEventMappingData); + inputEventMappingPanel.Enabled = true; + } + + private void inputEventMappingList_NewButton(object sender, EventArgs e) + { + throw new NotImplementedException("Adding new inputEventMapping from here not implemented yet ;)"); + } + + private void inputEventMappingList_DelButton(object sender, EventArgs e) + { + throw new NotImplementedException("Removing inputEventMapping from here not implemented yet ;)"); + } + + } +} diff --git a/W4Gui/Tabs/InputEventMappingsTab.resx b/W4Gui/Tabs/InputEventMappingsTab.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Tabs/InputEventMappingsTab.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/Tabs/OtherTabs/InputMappingsTab.Designer.cs b/W4Gui/Tabs/OtherTabs/InputMappingsTab.Designer.cs new file mode 100644 index 0000000..5ef7ed1 --- /dev/null +++ b/W4Gui/Tabs/OtherTabs/InputMappingsTab.Designer.cs @@ -0,0 +1,100 @@ +namespace W4Gui.Tabs.OtherTabs +{ + partial class InputMappingsTab + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.inputMappingsSplitContainer = new System.Windows.Forms.SplitContainer(); + this.inputMappingsList = new W4Gui.Components.CollectiveListAddDelete(); + this.inputMappingsPanel = new W4Gui.Components.InputMappingPanel(); + ((System.ComponentModel.ISupportInitialize)(this.inputMappingsSplitContainer)).BeginInit(); + this.inputMappingsSplitContainer.Panel1.SuspendLayout(); + this.inputMappingsSplitContainer.Panel2.SuspendLayout(); + this.inputMappingsSplitContainer.SuspendLayout(); + this.SuspendLayout(); + // + // inputMappingsSplitContainer + // + this.inputMappingsSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.inputMappingsSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputMappingsSplitContainer.Location = new System.Drawing.Point(0, 0); + this.inputMappingsSplitContainer.Name = "inputMappingsSplitContainer"; + // + // inputMappingsSplitContainer.Panel1 + // + this.inputMappingsSplitContainer.Panel1.Controls.Add(this.inputMappingsList); + // + // inputMappingsSplitContainer.Panel2 + // + this.inputMappingsSplitContainer.Panel2.BackColor = System.Drawing.Color.LightGray; + this.inputMappingsSplitContainer.Panel2.Controls.Add(this.inputMappingsPanel); + this.inputMappingsSplitContainer.Panel2.Padding = new System.Windows.Forms.Padding(3); + this.inputMappingsSplitContainer.Size = new System.Drawing.Size(797, 464); + this.inputMappingsSplitContainer.SplitterDistance = 265; + this.inputMappingsSplitContainer.TabIndex = 0; + // + // inputMappingsList + // + this.inputMappingsList.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputMappingsList.Location = new System.Drawing.Point(0, 0); + this.inputMappingsList.Name = "inputMappingsList"; + this.inputMappingsList.Size = new System.Drawing.Size(261, 460); + this.inputMappingsList.TabIndex = 0; + this.inputMappingsList.NewButton += new System.EventHandler(this.inputMappingsList_NewButton); + this.inputMappingsList.DeleteButton += new System.EventHandler(this.inputMappingsList_DelButton); + // + // inputMappingsPanel + // + this.inputMappingsPanel.BackColor = System.Drawing.Color.LightGray; + this.inputMappingsPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.inputMappingsPanel.Location = new System.Drawing.Point(3, 3); + this.inputMappingsPanel.Name = "inputMappingsPanel"; + this.inputMappingsPanel.Size = new System.Drawing.Size(518, 454); + this.inputMappingsPanel.TabIndex = 0; + // + // InputMappingsTab + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.inputMappingsSplitContainer); + this.Name = "InputMappingsTab"; + this.Size = new System.Drawing.Size(797, 464); + this.inputMappingsSplitContainer.Panel1.ResumeLayout(false); + this.inputMappingsSplitContainer.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.inputMappingsSplitContainer)).EndInit(); + this.inputMappingsSplitContainer.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private SplitContainer inputMappingsSplitContainer; + private Components.CollectiveListAddDelete inputMappingsList; + private Components.InputMappingPanel inputMappingsPanel; + } +} diff --git a/W4Gui/Tabs/OtherTabs/InputMappingsTab.cs b/W4Gui/Tabs/OtherTabs/InputMappingsTab.cs new file mode 100644 index 0000000..bb11a94 --- /dev/null +++ b/W4Gui/Tabs/OtherTabs/InputMappingsTab.cs @@ -0,0 +1,73 @@ +using LibW4M.Data.Highscores; +using LibW4M.Data.InputMapping; +using LibW4M.Data.Teams; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace W4Gui.Tabs.OtherTabs +{ + public partial class InputMappingsTab : UserControl + { + private List mappingData; + + public InputMappingData[] MappingDataArray + { + get + { + return mappingData.ToArray(); + } + } + public InputMappingsTab() + { + InitializeComponent(); + this.inputMappingsList.List.Selected += inputMappingsList_Selected; + this.inputMappingsList.List.Unselected += inputMappingsList_Unselected; + this.mappingData = new List(); + } + + public void SaveData() + { + if (this.inputMappingsList.List.IsItemSelected) + inputMappingsList_Unselected(null, null); + } + + public void LoadData(ref InputMappingData[] data) + { + this.inputMappingsList.List.LoadArray(data); + inputMappingsPanel.Enabled = false; + mappingData.AddRange(data); + } + + private void inputMappingsList_Unselected(object? sender, EventArgs? e) + { + InputMappingData inputMappingsData = mappingData[inputMappingsList.List.LastSelected] as InputMappingData; + inputMappingsPanel.SaveInputMappingsData(ref inputMappingsData); + inputMappingsList.List.UpdateName(inputMappingsList.List.LastSelected, inputMappingsData.FriendlyName); + } + + private void inputMappingsList_Selected(object? sender, EventArgs e) + { + InputMappingData inputMappingsData = mappingData[inputMappingsList.List.CurrentlySelected] as InputMappingData; + inputMappingsPanel.LoadInputMappingsData(inputMappingsData); + inputMappingsPanel.Enabled = true; + } + + private void inputMappingsList_NewButton(object sender, EventArgs e) + { + throw new NotImplementedException("Adding new inputMappings from here not implemented yet ;)"); + } + + private void inputMappingsList_DelButton(object sender, EventArgs e) + { + throw new NotImplementedException("Removing inputMappings from here not implemented yet ;)"); + } + + } +} diff --git a/W4Gui/Tabs/OtherTabs/InputMappingsTab.resx b/W4Gui/Tabs/OtherTabs/InputMappingsTab.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/W4Gui/Tabs/OtherTabs/InputMappingsTab.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/W4Gui/W4Gui.csproj b/W4Gui/W4Gui.csproj index af6b9e6..eb8804b 100644 --- a/W4Gui/W4Gui.csproj +++ b/W4Gui/W4Gui.csproj @@ -1,14 +1,25 @@  - Exe + WinExe net7.0-windows enable true enable + EditorIcon.ico + + + + + + UserControl + + + UserControl + UserControl @@ -30,11 +41,21 @@ UserControl + + UserControl + True True Resources.resx + + + UserControl + + + UserControl + UserControl diff --git a/W4Gui/W4Gui.csproj.user b/W4Gui/W4Gui.csproj.user index d8e000b..b99fa13 100644 --- a/W4Gui/W4Gui.csproj.user +++ b/W4Gui/W4Gui.csproj.user @@ -13,10 +13,13 @@ Component + + Component + UserControl - + UserControl @@ -25,7 +28,7 @@ Component - + UserControl @@ -55,6 +58,9 @@ UserControl + + UserControl + UserControl diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..2126de4 Binary files /dev/null and b/icon.png differ