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
+ A/8PVgT/DlEE/wUpBP8GKgT/CD8D/wlDAvsMOgHQARMAigAFAEsAAAAlAAAAEQAAAAUAAAABAAAAAA1Z
+ AMcNUwL0Bi4D+go8BP8RRwT/BS0E/wgyBP8TSgT/E2IB9QMqAfUGLwP/E2sD/wtKBP8JQgT/EGAD/w1S
+ BP8FLQT/C0cE/xZYA/8NPAH+AygB9QMdAr4HPQGWB0IAhAAAAEgAAAApAAAAFAAAAAgAAAACAAAAAAAA
+ AAAAAAAAAhkAWgEOAIMHQgDFEFwB/wcwBP8FLgT/BS4E/wgzBP8OOQP/BzIE/wcyA/8KQAT/FHME/xaP
+ BP8SdwT/BzME/wYwBP8FLwT/DToD/wkyAfQADQCFAAQASAAAACkAAAAcAAAAEgAAAAgAAAACAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABFAyAAfRJyAOEQSAL/BjEE/wYyBP8SSAT/FU0D/xRgA/8LPAP/CDkD/xJ1
+ BP8XmwT/FZME/wtHBP8IMQT/C0cE/xNyBP8UZgP8Ci4BrwABAD4AAAAWAAAABgAAAAMAAAABAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAELAHQHLwHYE1YD/wg0BP8GMQT/BjIE/wk1BP8UkgH/Ck4A/wQv
+ AP8NawH/E3sE/wtIBP8OXQT/FpQE/wk0BP8INwL/CUkB/BKCAK4ECgBDAAAAFQAAAAMAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgArggyAv8TQwT/BjAE/wYxAv8GMgL/BjID/xOb
+ Af8HSAD/AzAA/w5TAf8RVQP/CDQE/wxMBP8WnwT/CTYE/wYzAvwDIwCxAAMARQAAABoAAAAGAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGQCuCDUD/xNOBP8GMAT/BTEB/wYy
+ Av8GMwT/E5QC/whJAf8FMgH/EG0C/xFuBP8INAT/DE0E/xeaBP8HNQP9BCUBsAAEAEYAAAAYAAAABgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMAHMHNAHXE2EC/wUx
+ Av8FMgH/BzUE/wk8A/8VhgT/C0kE/wg1BP8SfQT/E30E/wk1BP8MTQT/FpED/wMlAMEAAwBQAAAAHAAA
+ AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgUr
+ AGkObADOBCwA9QYzA/8IPAT/EmsD/xmLBP8LRwT/CTYE/xN/BP8TfwT/CTYE/w1RBP8WoAP/Ax4AnQAA
+ ADQAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAXAAAAPAESAJMELQH1BjQD/wY1A/8KRAT/F4IE/wxFBP8JOQT/DFID/xRZA/8VRAT/FVYD/w5h
+ A/8EIQGsAAAAQAAAABMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABUDHQBDDVgAvA1AAv8HNgT/CDwE/xBjBP8SYQT/Dk4D/wg6A/8HOgT/EFUE/xRl
+ BP8TYQT/DlAE/wY1AvIDHQCHAAAALAAAAAoAAAAAAAAAAAAAAAEAAAAGAAAADgAAABQAAAAXAAAAFQAA
+ ABEAAAAKAAAAAwAAAAEAAAAAAAAAJQdBAGEWnAHxDj8D/wc2A/8RZAP/EW0D/xBaBP8TWgT/DkgD/wg8
+ BP8OVQT/F3UE/xduA/8OUgT/CDoD/wY2Ae4DHgBoAAAAEgAAAAMAAAAFAAAADwAAACEBCgBAAyEAVgMe
+ AFwBCgBaAQsATgACAC0AAAAXAAAACQAAAAIAAAA6BzwAkhKVAfkFMwT/BTUD/xRoBP8KQAT/BjQE/xJ1
+ A/8TeAT/CDsD/wc6BP8RbAT/Em0E/wg4BP8IOwT/BjQC8gIbAHQAAAAaAAAAEAAAACEAAAA7AQ0AagIl
+ ANEMWAHyDFYB8QMmAPEEJQDoBjsAnghKAFcAAAAjAAAADwAAAEwHMwDKElwC/wY0BP8HNgT/FGQE/wpC
+ A/8JNwT/E30E/xN/BP8JOwT/CDsE/xJ/BP8TfwT/CToE/wg8BP8ELQDYAAMAYAAAACsAAAAuAhwAew9z
+ AMcFNwHhBC0D/w09A/8NPAP/BCoC/wQoA/8MSwL/DEwA0wAEAFwAAAAnAAAAVwcqAM0SQgL/BjME/wY0
+ BP8UaQP/C0QD/wk3BP8SfAT/En0E/wk7BP8IOgT/EX4E/xN/BP8JOgT/CjwE/wc3Av0DHQCVAAAASAIc
+ AIIFMAHvE1MC/wg3BP8ELgP/DDUC/ww0Av8FKwT/BSkE/wxCBP8MQQL/ARsAvQAAAEEAAABZCToAzhJL
+ Av8GMgT/BjQE/xWMBP8LRwT/CDIE/xJ6BP8SfQT/CTkE/xBeBP8VjQT/EnwE/wk5BP8KOwT/DDwC/ws/
+ ANcACgB0AygAzQYzAv8TTAT/CDQD/wMsA/8MOAP/DTcD/wUrBP8LMwP/D1oD/wxSA/8BGgDIAAAASgAA
+ AFQPbQDME1AC/wYyBP8GNAT/EXwE/xJ9BP8RdQT/FIsE/w9kBP8KOgT/C0gE/xmpBP8SegT/CTcE/wo7
+ BP8IOAP/DWwB8wMcAI4DJgDUBjIC/w9EBP8PQQT/DT4E/w9GBP8KOQP/BSoE/wguBP8TUgP/C0EC/QEX
+ AKQAAAA5AAAAQgUqAL4MRAL/CTgE/wc0BP8JPAT/E4EE/xSNBP8QbgT/CTgE/wg5Av8KRgP/DmMD/w5k
+ A/8LRgT/CTkE/wc5BP8HQQHzAQwAiQMnANIGMgL/BzIE/w9KBP8QSwT/DUIE/wYwBP8FKQP/BjAE/wg2
+ A/wGJQC1AAEARwAAAB4AAAAnBCgAXhF4ANQSUgP/CDYE/w1NBP8VjQT/FZUE/xSKBP8LTQP/BjQB/w53
+ Af8VmwH/FZsB/xB3A/8IOQT/D1QD/xOAAdIDIABlAyEAqAYwAvwINgT/EGkE/xZtBP8SWgT/CTwE/wcz
+ A/8PVwT/DUsC1gAAAFwAAAAgAAAACQAAAA8AAAAmAQ4AYgQqAdQHMwP/E2kE/wo/BP8HMgP/EXEE/xFx
+ BP8GMwL/BTQB/w5RAv8PUQL/BjQC/wk6A/8SRwLYAQ8AZQAAADIAAwBGAyMArwUvAvsGLgT/EUcE/wgx
+ BP8EKAT/DUUE/wxDAv8CHQDNAAAASQAAABUAAAACAAAAAgAAAAsAAAAiAQ8AWgQmAL4SdQHuCUED/wYy
+ BP8PUAP/D1ED/wUzAv8ENAH/DkIC/w5BAv8EMwH/BTEB9QQQAH0AAAAuAAAAEQAAABoABQBAAiAAogQo
+ AeERWAP/CDUE/wUpBP8NPQT/CzwD/wIgAeEBCgBiAAAAGAAAAAMAAAAAAAAAAgAAAAkAAAAcAAAAOQtd
+ AHYFLgC6BC4B9A1LAf4OTQL/BTIB/wQwAP8NRgH/DUUB/wUxAf8FMAHxAg0AYgAAABwAAAACAAAABQAA
+ ABQAAAAwAQoAaxBxAdcIOQP/BSgE/ww8BP8MOwT/AyQD/wEXAIsAAAAgAAAABQAAAAAAAAAAAAAAAQAA
+ AAQAAAAPAAAAHwAGAD4BCwBrClYAvApTANIELgD7CVAB+wpZANkKUwHxBC8B/wYvAfACDgFTAAAAFAAA
+ AAEAAAAAAAAAAwAAAAwAAAAlAyYAYQQmAdUFKAP/DDsE/ww6BP8DJAP/ARYAjgAAACMAAAAGAAAAAAAA
+ AAAAAAAAAAAAAAAAAAEAAAAFAAAADwAAAB4AAAAzAAUATQMdAIELXgCDAxYAYAIZAIwEKQDHAygBvQIS
+ AEEAAAAOAAAAAQAAAAAAAAAAAAAAAQAAAAsAAAAkAQsAYwIfAdYLSgP/DVEE/wUnA/wCFgGBAAAAHAAA
+ AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAsAAAAVAAAAGwAAABwAAAAgAAMAKgEL
+ ADkBCwA1AAUAGgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAsAAAAnAAkAZQQmAdYMSwL9DTYBrwAC
+ AEEAAAASAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAABAAA
+ AAYAAAALAAAADwAAAA4AAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABEAAAAyAQsAbQEU
+ AJcABABTAAAAJAAAAAkAAAAB/gAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAfAAAAfwAA
+ A/8AAAf/AAAP/wAAH/8AAD//AAAfnwAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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