Update!
This commit is contained in:
parent
9fcf29c841
commit
061bd14f6c
|
@ -10,18 +10,48 @@ namespace LibW4M.Data.Stats
|
|||
{
|
||||
public class StatsContainerData : SaveDataEntry
|
||||
{
|
||||
int[] Values;
|
||||
public int[] Values;
|
||||
internal XomString? teamName;
|
||||
public StatsContainerData(W4SaveFile fileBelongs, XomContainer mainContainer) : base(fileBelongs, mainContainer)
|
||||
{
|
||||
}
|
||||
|
||||
public bool IsRenamable
|
||||
{
|
||||
get
|
||||
{
|
||||
return (teamName is not null);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeName(string newName)
|
||||
{
|
||||
if (!IsRenamable) return;
|
||||
if (teamName.Value.Equals(newName)) return;
|
||||
|
||||
for(int i = 0; i < this.fileBelongs.TeamStatsCollective.Length; i++)
|
||||
{
|
||||
StatsContainerData? stat = this.fileBelongs.TeamStatsCollective[i] as StatsContainerData;
|
||||
if (stat is null) continue;
|
||||
|
||||
if (stat.uuid.Equals(this.uuid))
|
||||
{
|
||||
if (i > this.fileBelongs.TeamStatsCollective.TeamNames.Count) break;
|
||||
XomString xStr = this.fileBelongs.LookupString(newName);
|
||||
|
||||
// update in both places
|
||||
this.fileBelongs.TeamStatsCollective.TeamNames[i] = xStr;
|
||||
this.teamName = xStr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override string FriendlyName
|
||||
{
|
||||
get
|
||||
{
|
||||
if (teamName.Value is not null) return teamName.Value;
|
||||
return base.FriendlyName;
|
||||
if (IsRenamable) return teamName.Value;
|
||||
return String.Join(" - ", Values);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,27 +28,27 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.variableTabControl = new System.Windows.Forms.TabControl();
|
||||
this.awardTabControl = 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.awardTabControl.SuspendLayout();
|
||||
this.generalTab.SuspendLayout();
|
||||
this.tblGeneral.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// variableTabControl
|
||||
// awardTabControl
|
||||
//
|
||||
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;
|
||||
this.awardTabControl.Controls.Add(this.generalTab);
|
||||
this.awardTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.awardTabControl.HotTrack = true;
|
||||
this.awardTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.awardTabControl.Name = "awardTabControl";
|
||||
this.awardTabControl.SelectedIndex = 0;
|
||||
this.awardTabControl.Size = new System.Drawing.Size(707, 419);
|
||||
this.awardTabControl.TabIndex = 1;
|
||||
//
|
||||
// generalTab
|
||||
//
|
||||
|
@ -117,11 +117,11 @@
|
|||
//
|
||||
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.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.awardTabControl);
|
||||
this.Name = "AwardPanel";
|
||||
this.Size = new System.Drawing.Size(707, 419);
|
||||
this.variableTabControl.ResumeLayout(false);
|
||||
this.awardTabControl.ResumeLayout(false);
|
||||
this.generalTab.ResumeLayout(false);
|
||||
this.generalTab.PerformLayout();
|
||||
this.tblGeneral.ResumeLayout(false);
|
||||
|
@ -132,7 +132,7 @@
|
|||
|
||||
#endregion
|
||||
|
||||
private TabControl variableTabControl;
|
||||
private TabControl awardTabControl;
|
||||
private TabPage generalTab;
|
||||
private TableLayoutPanel tblGeneral;
|
||||
private Label lblAwardList;
|
||||
|
|
|
@ -0,0 +1,157 @@
|
|||
namespace W4Gui.Components
|
||||
{
|
||||
partial class StatisticsPanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.statisticsTabControl = new System.Windows.Forms.TabControl();
|
||||
this.generalTab = new System.Windows.Forms.TabPage();
|
||||
this.tblGeneral = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblStatsValues = new System.Windows.Forms.Label();
|
||||
this.lblTeamName = new System.Windows.Forms.Label();
|
||||
this.selTeamName = new System.Windows.Forms.TextBox();
|
||||
this.selStatValues = new W4Gui.Components.IntList();
|
||||
this.statisticsTabControl.SuspendLayout();
|
||||
this.generalTab.SuspendLayout();
|
||||
this.tblGeneral.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// statisticsTabControl
|
||||
//
|
||||
this.statisticsTabControl.Controls.Add(this.generalTab);
|
||||
this.statisticsTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statisticsTabControl.HotTrack = true;
|
||||
this.statisticsTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.statisticsTabControl.Name = "statisticsTabControl";
|
||||
this.statisticsTabControl.SelectedIndex = 0;
|
||||
this.statisticsTabControl.Size = new System.Drawing.Size(707, 419);
|
||||
this.statisticsTabControl.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.lblStatsValues, 0, 1);
|
||||
this.tblGeneral.Controls.Add(this.lblTeamName, 0, 0);
|
||||
this.tblGeneral.Controls.Add(this.selTeamName, 1, 0);
|
||||
this.tblGeneral.Controls.Add(this.selStatValues, 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.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tblGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tblGeneral.Size = new System.Drawing.Size(689, 130);
|
||||
this.tblGeneral.TabIndex = 0;
|
||||
//
|
||||
// lblStatsValues
|
||||
//
|
||||
this.lblStatsValues.AutoSize = true;
|
||||
this.lblStatsValues.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblStatsValues.Location = new System.Drawing.Point(5, 33);
|
||||
this.lblStatsValues.Name = "lblStatsValues";
|
||||
this.lblStatsValues.Size = new System.Drawing.Size(93, 95);
|
||||
this.lblStatsValues.TabIndex = 17;
|
||||
this.lblStatsValues.Text = "Statistics Values:";
|
||||
this.lblStatsValues.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// lblTeamName
|
||||
//
|
||||
this.lblTeamName.AutoSize = true;
|
||||
this.lblTeamName.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblTeamName.Location = new System.Drawing.Point(5, 2);
|
||||
this.lblTeamName.Name = "lblTeamName";
|
||||
this.lblTeamName.Size = new System.Drawing.Size(93, 29);
|
||||
this.lblTeamName.TabIndex = 0;
|
||||
this.lblTeamName.Text = "Team Name:";
|
||||
this.lblTeamName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// selTeamName
|
||||
//
|
||||
this.selTeamName.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.selTeamName.Location = new System.Drawing.Point(106, 5);
|
||||
this.selTeamName.Name = "selTeamName";
|
||||
this.selTeamName.PlaceholderText = "Team Name";
|
||||
this.selTeamName.ReadOnly = true;
|
||||
this.selTeamName.Size = new System.Drawing.Size(578, 23);
|
||||
this.selTeamName.TabIndex = 1;
|
||||
//
|
||||
// selStatValues
|
||||
//
|
||||
this.selStatValues.AutoSize = true;
|
||||
this.selStatValues.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.selStatValues.Label = "%n";
|
||||
this.selStatValues.Location = new System.Drawing.Point(106, 36);
|
||||
this.selStatValues.Name = "selStatValues";
|
||||
this.selStatValues.Size = new System.Drawing.Size(578, 89);
|
||||
this.selStatValues.TabIndex = 18;
|
||||
//
|
||||
// StatisticsPanel
|
||||
//
|
||||
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.statisticsTabControl);
|
||||
this.Name = "StatisticsPanel";
|
||||
this.Size = new System.Drawing.Size(707, 419);
|
||||
this.statisticsTabControl.ResumeLayout(false);
|
||||
this.generalTab.ResumeLayout(false);
|
||||
this.generalTab.PerformLayout();
|
||||
this.tblGeneral.ResumeLayout(false);
|
||||
this.tblGeneral.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private TabControl statisticsTabControl;
|
||||
private TabPage generalTab;
|
||||
private TableLayoutPanel tblGeneral;
|
||||
private Label lblTeamName;
|
||||
private TextBox selTeamName;
|
||||
private Label lblStatsValues;
|
||||
private IntList selStatValues;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using LibW4M.Data.Highscores;
|
||||
using LibW4M.Data.Stats;
|
||||
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 StatisticsPanel : UserControl
|
||||
{
|
||||
public StatisticsPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public void SaveStatsData(ref StatsContainerData stats)
|
||||
{
|
||||
// Save general
|
||||
stats.Values = selStatValues.Values;
|
||||
if (stats.IsRenamable) stats.ChangeName(selTeamName.Text);
|
||||
}
|
||||
|
||||
public void LoadStatsData(StatsContainerData stats)
|
||||
{
|
||||
// Load general
|
||||
selStatValues.LoadItems(stats.Values);
|
||||
|
||||
if (stats.IsRenamable)
|
||||
{
|
||||
selTeamName.Text = stats.FriendlyName;
|
||||
selTeamName.ReadOnly = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
selTeamName.Text = "(GLOBAL)";
|
||||
selTeamName.ReadOnly = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,190 @@
|
|||
namespace W4Gui.Dialogs
|
||||
{
|
||||
partial class AboutW4Gui
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutW4Gui));
|
||||
this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.logoPictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.labelProductName = new System.Windows.Forms.Label();
|
||||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.labelCopyright = new System.Windows.Forms.Label();
|
||||
this.labelCompanyName = new System.Windows.Forms.Label();
|
||||
this.textBoxDescription = new System.Windows.Forms.TextBox();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.tableLayoutPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableLayoutPanel
|
||||
//
|
||||
this.tableLayoutPanel.ColumnCount = 2;
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F));
|
||||
this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3);
|
||||
this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
|
||||
this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
|
||||
this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel.Location = new System.Drawing.Point(10, 10);
|
||||
this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.tableLayoutPanel.Name = "tableLayoutPanel";
|
||||
this.tableLayoutPanel.RowCount = 6;
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.Size = new System.Drawing.Size(487, 307);
|
||||
this.tableLayoutPanel.TabIndex = 0;
|
||||
//
|
||||
// logoPictureBox
|
||||
//
|
||||
this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
|
||||
this.logoPictureBox.Location = new System.Drawing.Point(4, 3);
|
||||
this.logoPictureBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.logoPictureBox.Name = "logoPictureBox";
|
||||
this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6);
|
||||
this.logoPictureBox.Size = new System.Drawing.Size(152, 301);
|
||||
this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.logoPictureBox.TabIndex = 12;
|
||||
this.logoPictureBox.TabStop = false;
|
||||
//
|
||||
// labelProductName
|
||||
//
|
||||
this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelProductName.Location = new System.Drawing.Point(167, 0);
|
||||
this.labelProductName.Margin = new System.Windows.Forms.Padding(7, 0, 4, 0);
|
||||
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 20);
|
||||
this.labelProductName.Name = "labelProductName";
|
||||
this.labelProductName.Size = new System.Drawing.Size(316, 20);
|
||||
this.labelProductName.TabIndex = 19;
|
||||
this.labelProductName.Text = "Worms 4: Mayehm! Save Editor";
|
||||
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelVersion
|
||||
//
|
||||
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelVersion.Location = new System.Drawing.Point(167, 30);
|
||||
this.labelVersion.Margin = new System.Windows.Forms.Padding(7, 0, 4, 0);
|
||||
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 20);
|
||||
this.labelVersion.Name = "labelVersion";
|
||||
this.labelVersion.Size = new System.Drawing.Size(316, 20);
|
||||
this.labelVersion.TabIndex = 0;
|
||||
this.labelVersion.Text = "Version";
|
||||
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelCopyright
|
||||
//
|
||||
this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelCopyright.Location = new System.Drawing.Point(167, 60);
|
||||
this.labelCopyright.Margin = new System.Windows.Forms.Padding(7, 0, 4, 0);
|
||||
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 20);
|
||||
this.labelCopyright.Name = "labelCopyright";
|
||||
this.labelCopyright.Size = new System.Drawing.Size(316, 20);
|
||||
this.labelCopyright.TabIndex = 21;
|
||||
this.labelCopyright.Text = "Public Domain 2023";
|
||||
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelCompanyName
|
||||
//
|
||||
this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelCompanyName.Location = new System.Drawing.Point(167, 90);
|
||||
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(7, 0, 4, 0);
|
||||
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 20);
|
||||
this.labelCompanyName.Name = "labelCompanyName";
|
||||
this.labelCompanyName.Size = new System.Drawing.Size(316, 20);
|
||||
this.labelCompanyName.TabIndex = 22;
|
||||
this.labelCompanyName.Text = "Created by Li (They/Them)";
|
||||
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// textBoxDescription
|
||||
//
|
||||
this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.textBoxDescription.Location = new System.Drawing.Point(167, 123);
|
||||
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(7, 3, 4, 3);
|
||||
this.textBoxDescription.Multiline = true;
|
||||
this.textBoxDescription.Name = "textBoxDescription";
|
||||
this.textBoxDescription.ReadOnly = true;
|
||||
this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.textBoxDescription.Size = new System.Drawing.Size(316, 147);
|
||||
this.textBoxDescription.TabIndex = 23;
|
||||
this.textBoxDescription.TabStop = false;
|
||||
this.textBoxDescription.Text = resources.GetString("textBoxDescription.Text");
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.okButton.Location = new System.Drawing.Point(395, 277);
|
||||
this.okButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(88, 27);
|
||||
this.okButton.TabIndex = 24;
|
||||
this.okButton.Text = "&OK";
|
||||
//
|
||||
// AboutW4Gui
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(507, 327);
|
||||
this.Controls.Add(this.tableLayoutPanel);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "AboutW4Gui";
|
||||
this.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "About Worms 4: Mayhem! Save Editor";
|
||||
this.tableLayoutPanel.ResumeLayout(false);
|
||||
this.tableLayoutPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
|
||||
private System.Windows.Forms.PictureBox logoPictureBox;
|
||||
private System.Windows.Forms.Label labelProductName;
|
||||
private System.Windows.Forms.Label labelVersion;
|
||||
private System.Windows.Forms.Label labelCopyright;
|
||||
private System.Windows.Forms.Label labelCompanyName;
|
||||
private System.Windows.Forms.TextBox textBoxDescription;
|
||||
private System.Windows.Forms.Button okButton;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace W4Gui.Dialogs
|
||||
{
|
||||
partial class AboutW4Gui : Form
|
||||
{
|
||||
public AboutW4Gui()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Text = String.Format("About {0}", AssemblyTitle);
|
||||
this.labelProductName.Text = AssemblyProduct;
|
||||
this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
|
||||
this.labelCopyright.Text = AssemblyCopyright;
|
||||
//this.labelCompanyName.Text = AssemblyCompany;
|
||||
//this.textBoxDescription.Text = AssemblyDescription;
|
||||
}
|
||||
|
||||
#region Assembly Attribute Accessors
|
||||
|
||||
public string AssemblyTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
|
||||
if (attributes.Length > 0)
|
||||
{
|
||||
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
|
||||
if (titleAttribute.Title != "")
|
||||
{
|
||||
return titleAttribute.Title;
|
||||
}
|
||||
}
|
||||
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyProduct
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyProductAttribute)attributes[0]).Product;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCopyright
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCompany
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCompanyAttribute)attributes[0]).Company;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,558 @@
|
|||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="logoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="textBoxDescription.Text" xml:space="preserve">
|
||||
<value>-- Credits --
|
||||
|
||||
- Program Development:
|
||||
Li
|
||||
|
||||
- Corrected Typos:
|
||||
RandomHuman2020
|
||||
|
||||
- Beta Testing:
|
||||
DiamondCreeper75
|
||||
hacker known as cbps [ Confirmed Xbox ]
|
||||
Li [ Confirmed PS2 ]
|
||||
|
||||
- Int compression help:
|
||||
Rufis_
|
||||
shadowknight1620
|
||||
|
||||
- Reverse Engineering:
|
||||
Li
|
||||
- Worms 4 Mayhem:
|
||||
Team17
|
||||
Codemasters
|
||||
Majesco
|
||||
|
||||
|
||||
- PS2 psu format:
|
||||
gothi [https://www.ps2savetools.com/documents/ps2-save-game-format-for-ems-adapter-psu]
|
||||
|
||||
- .NET Core:
|
||||
Microsoft Corperation
|
||||
|
||||
- Windows Forms:
|
||||
Microsoft Corperation
|
||||
|
||||
-- License --
|
||||
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <http://unlicense.org/></value>
|
||||
</data>
|
||||
</root>
|
|
@ -36,10 +36,9 @@ namespace W4Gui
|
|||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.convertToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.convertToPS2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.convertToXboxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.extractAllXomContainersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutProgramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mainTabControl = new System.Windows.Forms.TabControl();
|
||||
this.weaponTab = new System.Windows.Forms.TabPage();
|
||||
this.weaponPage = new W4Gui.Tabs.WeaponsTab();
|
||||
|
@ -54,11 +53,11 @@ namespace W4Gui
|
|||
this.inputTab = new System.Windows.Forms.TabPage();
|
||||
this.inputEventMappingsPanel = new W4Gui.Tabs.InputEventMappingTab();
|
||||
this.statsTab = new System.Windows.Forms.TabPage();
|
||||
this.statsPanel = new W4Gui.Tabs.StatsTab.StatTypeSelectionTab();
|
||||
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.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mainMenuStrip.SuspendLayout();
|
||||
this.mainTabControl.SuspendLayout();
|
||||
this.weaponTab.SuspendLayout();
|
||||
|
@ -67,6 +66,7 @@ namespace W4Gui
|
|||
this.highscoreTab.SuspendLayout();
|
||||
this.unlockItemsTab.SuspendLayout();
|
||||
this.inputTab.SuspendLayout();
|
||||
this.statsTab.SuspendLayout();
|
||||
this.awardsTab.SuspendLayout();
|
||||
this.variablesTab.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
@ -76,7 +76,7 @@ namespace W4Gui
|
|||
this.mainMenuStrip.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.mainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.convertToolStripMenuItem});
|
||||
this.helpToolStripMenuItem});
|
||||
this.mainMenuStrip.Location = new System.Drawing.Point(0, 0);
|
||||
this.mainMenuStrip.Name = "mainMenuStrip";
|
||||
this.mainMenuStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
|
||||
|
@ -109,36 +109,28 @@ namespace W4Gui
|
|||
this.saveToolStripMenuItem.Text = "Save";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
|
||||
//
|
||||
// convertToolStripMenuItem
|
||||
// saveAsToolStripMenuItem
|
||||
//
|
||||
this.convertToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.convertToPS2ToolStripMenuItem,
|
||||
this.convertToXboxToolStripMenuItem,
|
||||
this.extractAllXomContainersToolStripMenuItem});
|
||||
this.convertToolStripMenuItem.Enabled = false;
|
||||
this.convertToolStripMenuItem.Name = "convertToolStripMenuItem";
|
||||
this.convertToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||
this.convertToolStripMenuItem.Text = "Convert";
|
||||
this.saveAsToolStripMenuItem.Enabled = false;
|
||||
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
|
||||
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.saveAsToolStripMenuItem.Text = "Save As";
|
||||
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
|
||||
//
|
||||
// convertToPS2ToolStripMenuItem
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.convertToPS2ToolStripMenuItem.Name = "convertToPS2ToolStripMenuItem";
|
||||
this.convertToPS2ToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.convertToPS2ToolStripMenuItem.Text = "Convert to PS2";
|
||||
this.convertToPS2ToolStripMenuItem.Click += new System.EventHandler(this.convertToPS2ToolStripMenuItem_Click);
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutProgramToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// convertToXboxToolStripMenuItem
|
||||
// aboutProgramToolStripMenuItem
|
||||
//
|
||||
this.convertToXboxToolStripMenuItem.Name = "convertToXboxToolStripMenuItem";
|
||||
this.convertToXboxToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.convertToXboxToolStripMenuItem.Text = "Convert to Xbox";
|
||||
//
|
||||
// extractAllXomContainersToolStripMenuItem
|
||||
//
|
||||
this.extractAllXomContainersToolStripMenuItem.Name = "extractAllXomContainersToolStripMenuItem";
|
||||
this.extractAllXomContainersToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.extractAllXomContainersToolStripMenuItem.Text = "Extract All XomContainers";
|
||||
this.extractAllXomContainersToolStripMenuItem.Click += new System.EventHandler(this.extractAllXomContainersToolStripMenuItem_Click);
|
||||
this.aboutProgramToolStripMenuItem.Name = "aboutProgramToolStripMenuItem";
|
||||
this.aboutProgramToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.aboutProgramToolStripMenuItem.Text = "About";
|
||||
this.aboutProgramToolStripMenuItem.Click += new System.EventHandler(this.aboutProgramToolStripMenuItem_Click);
|
||||
//
|
||||
// mainTabControl
|
||||
//
|
||||
|
@ -284,6 +276,7 @@ namespace W4Gui
|
|||
// statsTab
|
||||
//
|
||||
this.statsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.statsTab.Controls.Add(this.statsPanel);
|
||||
this.statsTab.Location = new System.Drawing.Point(4, 24);
|
||||
this.statsTab.Name = "statsTab";
|
||||
this.statsTab.Padding = new System.Windows.Forms.Padding(3);
|
||||
|
@ -292,6 +285,15 @@ namespace W4Gui
|
|||
this.statsTab.Text = "Statistics";
|
||||
this.statsTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// statsPanel
|
||||
//
|
||||
this.statsPanel.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.statsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statsPanel.Location = new System.Drawing.Point(3, 3);
|
||||
this.statsPanel.Name = "statsPanel";
|
||||
this.statsPanel.Size = new System.Drawing.Size(182, 62);
|
||||
this.statsPanel.TabIndex = 0;
|
||||
//
|
||||
// awardsTab
|
||||
//
|
||||
this.awardsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
|
@ -333,14 +335,6 @@ namespace W4Gui
|
|||
this.variablesPage.Size = new System.Drawing.Size(182, 62);
|
||||
this.variablesPage.TabIndex = 0;
|
||||
//
|
||||
// saveAsToolStripMenuItem
|
||||
//
|
||||
this.saveAsToolStripMenuItem.Enabled = false;
|
||||
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
|
||||
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.saveAsToolStripMenuItem.Text = "Save As";
|
||||
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
|
||||
//
|
||||
// Main
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
|
@ -364,6 +358,7 @@ namespace W4Gui
|
|||
this.highscoreTab.ResumeLayout(false);
|
||||
this.unlockItemsTab.ResumeLayout(false);
|
||||
this.inputTab.ResumeLayout(false);
|
||||
this.statsTab.ResumeLayout(false);
|
||||
this.awardsTab.ResumeLayout(false);
|
||||
this.variablesTab.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
@ -380,10 +375,6 @@ namespace W4Gui
|
|||
private TabControl mainTabControl;
|
||||
private TabPage weaponTab;
|
||||
private WeaponsTab weaponPage;
|
||||
private ToolStripMenuItem convertToolStripMenuItem;
|
||||
private ToolStripMenuItem convertToPS2ToolStripMenuItem;
|
||||
private ToolStripMenuItem convertToXboxToolStripMenuItem;
|
||||
private ToolStripMenuItem extractAllXomContainersToolStripMenuItem;
|
||||
private TabPage teamTab;
|
||||
private TeamsTab teamsPage;
|
||||
private TabPage schemeTab;
|
||||
|
@ -400,5 +391,8 @@ namespace W4Gui
|
|||
private AwardTab awardPanel;
|
||||
private InputEventMappingTab inputEventMappingsPanel;
|
||||
private ToolStripMenuItem saveAsToolStripMenuItem;
|
||||
private Tabs.StatsTab.StatTypeSelectionTab statsPanel;
|
||||
private ToolStripMenuItem helpToolStripMenuItem;
|
||||
private ToolStripMenuItem aboutProgramToolStripMenuItem;
|
||||
}
|
||||
}
|
189
W4Gui/Main.cs
189
W4Gui/Main.cs
|
@ -13,6 +13,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using W4Gui.Dialogs;
|
||||
using W4Gui.Tabs;
|
||||
|
||||
namespace W4Gui
|
||||
|
@ -34,77 +35,74 @@ namespace W4Gui
|
|||
|
||||
private void openToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog fd = new OpenFileDialog();
|
||||
fd.Filter = "Worms 4: Mayhem PC Save File|*.xom|Worms 4: Mayhem PS2 Save File|*.psu|Worms 4: Mayhem XBOX Save File|data";
|
||||
fd.Title = "Open Worms 4 Save File";
|
||||
if(fd.ShowDialog() == DialogResult.OK)
|
||||
try
|
||||
{
|
||||
DataManager.LoadedSavePath = fd.FileName;
|
||||
DataManager.LoadedSaveType = (SaveType)(fd.FilterIndex - 1);
|
||||
|
||||
switch (DataManager.LoadedSaveType)
|
||||
OpenFileDialog fd = new OpenFileDialog();
|
||||
fd.Filter = "Worms 4: Mayhem PC Save File|*.xom|Worms 4: Mayhem PS2 Save File|*.psu|Worms 4: Mayhem XBOX Save File|data";
|
||||
fd.Title = "Open Worms 4 Save File";
|
||||
if (fd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
case SaveType.PC:
|
||||
default:
|
||||
DataManager.SaveFile = new W4SaveFile(XomReader.ReadXomFile(fd.FileName));
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile = Ps2Save.ReadPS2Save(fd.FileName);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile = XboxSave.ReadXboxSave(fd.FileName);
|
||||
break;
|
||||
DataManager.LoadedSavePath = fd.FileName;
|
||||
DataManager.LoadedSaveType = (SaveType)(fd.FilterIndex - 1);
|
||||
|
||||
switch (DataManager.LoadedSaveType)
|
||||
{
|
||||
case SaveType.PC:
|
||||
default:
|
||||
DataManager.SaveFile = new W4SaveFile(XomReader.ReadXomFile(fd.FileName));
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile = Ps2Save.ReadPS2Save(fd.FileName);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile = XboxSave.ReadXboxSave(fd.FileName);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.mainTabControl.Enabled = true;
|
||||
this.saveToolStripMenuItem.Enabled = true;
|
||||
this.saveAsToolStripMenuItem.Enabled = true;
|
||||
|
||||
this.Text = defaultTitle + " (" + DataManager.LoadedSaveType.ToString() + ") " + "[" + fd.FileName + "]";
|
||||
|
||||
DataManager.LoadAll();
|
||||
}
|
||||
|
||||
|
||||
this.mainTabControl.Enabled = true;
|
||||
this.saveToolStripMenuItem.Enabled = true;
|
||||
this.saveAsToolStripMenuItem.Enabled = true;
|
||||
this.convertToolStripMenuItem.Enabled = true;
|
||||
|
||||
this.Text = defaultTitle + " (" + DataManager.LoadedSaveType.ToString() + ") " + "[" + fd.FileName + "]";
|
||||
|
||||
DataManager.LoadAll();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Failed to load save: " + ex.Message + "\nIt may be invalid or corrupt.", "Load failed!", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
mainTabControl.Enabled = false;
|
||||
DataManager.SaveAll();
|
||||
switch (DataManager.LoadedSaveType)
|
||||
try
|
||||
{
|
||||
case SaveType.PC:
|
||||
DataManager.SaveFile.SavePC(DataManager.LoadedSavePath);
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile.SavePS2PSU(DataManager.LoadedSavePath);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile.SaveXBOX(DataManager.LoadedSavePath);
|
||||
break;
|
||||
mainTabControl.Enabled = false;
|
||||
DataManager.SaveAll();
|
||||
switch (DataManager.LoadedSaveType)
|
||||
{
|
||||
case SaveType.PC:
|
||||
DataManager.SaveFile.SavePC(DataManager.LoadedSavePath);
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile.SavePS2PSU(DataManager.LoadedSavePath);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile.SaveXBOX(DataManager.LoadedSavePath);
|
||||
break;
|
||||
}
|
||||
mainTabControl.Enabled = true;
|
||||
MessageBox.Show("File saved to: " + DataManager.LoadedSavePath, "Save Complete!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
mainTabControl.Enabled = true;
|
||||
MessageBox.Show("File saved to: " + DataManager.LoadedSavePath, "Save Complete!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
|
||||
}
|
||||
|
||||
private void extractAllXomContainersToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FolderBrowserDialog fbd = new FolderBrowserDialog();
|
||||
fbd.Description = "Select folder to extract XomContainers too.";
|
||||
if(fbd.ShowDialog() == DialogResult.OK)
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
this.mainTabControl.Enabled = false;
|
||||
|
||||
DataManager.SaveFile.ExtractAllContainers(fbd.SelectedPath);
|
||||
|
||||
this.mainTabControl.Enabled = true;
|
||||
MessageBox.Show("Failed to save: " + ex.Message, "Save failed!", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void mainTabControl_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lastTabIndex >= 0)
|
||||
|
@ -140,55 +138,50 @@ namespace W4Gui
|
|||
lastTabIndex = this.mainTabControl.SelectedIndex;
|
||||
}
|
||||
|
||||
private void convertToPS2ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog fd = new SaveFileDialog();
|
||||
fd.Filter = "Worms 4: Mayhem PlayStation 2 Save File|*";
|
||||
fd.Title = "Save Worms 4 PlayStation 2 Save File";
|
||||
fd.FileName = "BESLES-53096W4MA";
|
||||
if (fd.ShowDialog() == DialogResult.OK)
|
||||
try
|
||||
{
|
||||
this.mainTabControl.Enabled = false;
|
||||
SaveFileDialog fd = new SaveFileDialog();
|
||||
fd.Filter = "Worms 4: Mayhem PC Save File|*.xom|Worms 4: Mayhem PS2 Single Save File|*.psu|Worms 4: Mayhem XBOX Save File|data";
|
||||
fd.Title = "Save Worms 4 Save File";
|
||||
fd.FileName = Path.GetFileName(DataManager.LoadedSavePath);
|
||||
if (fd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.mainTabControl.Enabled = false;
|
||||
|
||||
DataManager.SaveAll();
|
||||
DataManager.SaveFile.SavePS2(fd.FileName);
|
||||
DataManager.SaveAll();
|
||||
SaveType saveType = (SaveType)(fd.FilterIndex - 1);
|
||||
|
||||
this.mainTabControl.Enabled = true;
|
||||
switch (saveType)
|
||||
{
|
||||
case SaveType.PC:
|
||||
DataManager.SaveFile.SavePC(fd.FileName);
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile.SavePS2PSU(fd.FileName);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile.SaveXBOX(fd.FileName);
|
||||
break;
|
||||
}
|
||||
|
||||
DataManager.LoadedSavePath = fd.FileName;
|
||||
DataManager.LoadedSaveType = saveType;
|
||||
|
||||
MessageBox.Show("File saved to: " + fd.FileName, "Save Complete!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
this.mainTabControl.Enabled = true;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Failed to save: " + ex.Message, "Save failed!", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void aboutProgramToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog fd = new SaveFileDialog();
|
||||
fd.Filter = "Worms 4: Mayhem PC Save File|*.xom|Worms 4: Mayhem PS2 Single Save File|*.psu|Worms 4: Mayhem XBOX Save File|data";
|
||||
fd.Title = "Save Worms 4 Save File";
|
||||
fd.FileName = Path.GetFileName(DataManager.LoadedSavePath);
|
||||
if (fd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.mainTabControl.Enabled = false;
|
||||
|
||||
DataManager.SaveAll();
|
||||
SaveType saveType = (SaveType)(fd.FilterIndex-1);
|
||||
|
||||
switch (saveType)
|
||||
{
|
||||
case SaveType.PC:
|
||||
DataManager.SaveFile.SavePC(fd.FileName);
|
||||
break;
|
||||
case SaveType.PS2:
|
||||
DataManager.SaveFile.SavePS2PSU(fd.FileName);
|
||||
break;
|
||||
case SaveType.XBOX:
|
||||
DataManager.SaveFile.SaveXBOX(fd.FileName);
|
||||
break;
|
||||
}
|
||||
|
||||
DataManager.LoadedSavePath = fd.FileName;
|
||||
DataManager.LoadedSaveType = saveType;
|
||||
|
||||
MessageBox.Show("File saved to: " + fd.FileName, "Save Complete!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
this.mainTabControl.Enabled = true;
|
||||
}
|
||||
new AboutW4Gui().ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<History>True|2023-03-03T16:17:31.1862857Z;True|2023-03-04T04:40:06.7859106+13:00;True|2023-03-01T11:45:37.3479871+13:00;True|2023-03-01T09:19:31.4651141+13:00;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;</History>
|
||||
<History>True|2023-03-04T00:33:03.9184567Z;True|2023-03-04T05:17:31.1862857+13:00;True|2023-03-04T04:40:06.7859106+13:00;True|2023-03-01T11:45:37.3479871+13:00;True|2023-03-01T09:19:31.4651141+13:00;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;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -33,7 +33,6 @@
|
|||
//
|
||||
// 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";
|
||||
|
|
|
@ -0,0 +1,116 @@
|
|||
namespace W4Gui.Tabs.StatsTab
|
||||
{
|
||||
partial class StatTypeSelectionTab
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.statTypeTabControl = new System.Windows.Forms.TabControl();
|
||||
this.teamStatsTab = new System.Windows.Forms.TabPage();
|
||||
this.globalStatsTab = new System.Windows.Forms.TabPage();
|
||||
this.teamStatsPanel = new W4Gui.Tabs.StatsTab.TeamStatisticsTab();
|
||||
this.statsPanel = new W4Gui.Tabs.StatsTab.StatisticsTab();
|
||||
this.statTypeTabControl.SuspendLayout();
|
||||
this.teamStatsTab.SuspendLayout();
|
||||
this.globalStatsTab.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// statTypeTabControl
|
||||
//
|
||||
this.statTypeTabControl.Controls.Add(this.teamStatsTab);
|
||||
this.statTypeTabControl.Controls.Add(this.globalStatsTab);
|
||||
this.statTypeTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statTypeTabControl.HotTrack = true;
|
||||
this.statTypeTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.statTypeTabControl.Name = "statTypeTabControl";
|
||||
this.statTypeTabControl.SelectedIndex = 0;
|
||||
this.statTypeTabControl.Size = new System.Drawing.Size(885, 502);
|
||||
this.statTypeTabControl.TabIndex = 0;
|
||||
//
|
||||
// teamStatsTab
|
||||
//
|
||||
this.teamStatsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.teamStatsTab.Controls.Add(this.teamStatsPanel);
|
||||
this.teamStatsTab.Location = new System.Drawing.Point(4, 24);
|
||||
this.teamStatsTab.Name = "teamStatsTab";
|
||||
this.teamStatsTab.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.teamStatsTab.Size = new System.Drawing.Size(877, 474);
|
||||
this.teamStatsTab.TabIndex = 1;
|
||||
this.teamStatsTab.Text = "Team Stats";
|
||||
this.teamStatsTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// globalStatsTab
|
||||
//
|
||||
this.globalStatsTab.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.globalStatsTab.Controls.Add(this.statsPanel);
|
||||
this.globalStatsTab.Location = new System.Drawing.Point(4, 24);
|
||||
this.globalStatsTab.Name = "globalStatsTab";
|
||||
this.globalStatsTab.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.globalStatsTab.Size = new System.Drawing.Size(877, 474);
|
||||
this.globalStatsTab.TabIndex = 2;
|
||||
this.globalStatsTab.Text = "Global Stats";
|
||||
this.globalStatsTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// teamStatsPanel
|
||||
//
|
||||
this.teamStatsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.teamStatsPanel.Location = new System.Drawing.Point(3, 3);
|
||||
this.teamStatsPanel.Name = "teamStatsPanel";
|
||||
this.teamStatsPanel.Size = new System.Drawing.Size(867, 464);
|
||||
this.teamStatsPanel.TabIndex = 0;
|
||||
//
|
||||
// statsPanel
|
||||
//
|
||||
this.statsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statsPanel.Location = new System.Drawing.Point(3, 3);
|
||||
this.statsPanel.Name = "statsPanel";
|
||||
this.statsPanel.Size = new System.Drawing.Size(867, 464);
|
||||
this.statsPanel.TabIndex = 0;
|
||||
//
|
||||
// StatsTab
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Controls.Add(this.statTypeTabControl);
|
||||
this.Name = "StatsTab";
|
||||
this.Size = new System.Drawing.Size(885, 502);
|
||||
this.statTypeTabControl.ResumeLayout(false);
|
||||
this.teamStatsTab.ResumeLayout(false);
|
||||
this.globalStatsTab.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private TabControl statTypeTabControl;
|
||||
private TabPage teamStatsTab;
|
||||
private TabPage globalStatsTab;
|
||||
private TeamStatisticsTab teamStatsPanel;
|
||||
private StatisticsTab statsPanel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
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.StatsTab
|
||||
{
|
||||
public partial class StatTypeSelectionTab : UserControl
|
||||
{
|
||||
public StatTypeSelectionTab()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,98 @@
|
|||
namespace W4Gui.Tabs.StatsTab
|
||||
{
|
||||
partial class StatisticsTab
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.statisticsSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.statisticsList = new W4Gui.Components.CollectiveListAddDelete();
|
||||
this.statisticsPanel = new W4Gui.Components.StatisticsPanel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.statisticsSplitContainer)).BeginInit();
|
||||
this.statisticsSplitContainer.Panel1.SuspendLayout();
|
||||
this.statisticsSplitContainer.Panel2.SuspendLayout();
|
||||
this.statisticsSplitContainer.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// statisticsSplitContainer
|
||||
//
|
||||
this.statisticsSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.statisticsSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statisticsSplitContainer.Location = new System.Drawing.Point(3, 3);
|
||||
this.statisticsSplitContainer.Name = "statisticsSplitContainer";
|
||||
//
|
||||
// statisticsSplitContainer.Panel1
|
||||
//
|
||||
this.statisticsSplitContainer.Panel1.Controls.Add(this.statisticsList);
|
||||
//
|
||||
// statisticsSplitContainer.Panel2
|
||||
//
|
||||
this.statisticsSplitContainer.Panel2.Controls.Add(this.statisticsPanel);
|
||||
this.statisticsSplitContainer.Size = new System.Drawing.Size(797, 464);
|
||||
this.statisticsSplitContainer.SplitterDistance = 265;
|
||||
this.statisticsSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// statisticsList
|
||||
//
|
||||
this.statisticsList.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statisticsList.Location = new System.Drawing.Point(0, 0);
|
||||
this.statisticsList.Name = "statisticsList";
|
||||
this.statisticsList.Size = new System.Drawing.Size(261, 460);
|
||||
this.statisticsList.TabIndex = 0;
|
||||
this.statisticsList.NewButton += new System.EventHandler<System.EventArgs>(this.statisticsList_NewButton);
|
||||
this.statisticsList.DeleteButton += new System.EventHandler<System.EventArgs>(this.statisticsList_DelButton);
|
||||
//
|
||||
// statisticsPanel
|
||||
//
|
||||
this.statisticsPanel.BackColor = System.Drawing.Color.LightGray;
|
||||
this.statisticsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statisticsPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.statisticsPanel.Name = "statisticsPanel";
|
||||
this.statisticsPanel.Size = new System.Drawing.Size(524, 460);
|
||||
this.statisticsPanel.TabIndex = 0;
|
||||
//
|
||||
// StatisticsTab
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.statisticsSplitContainer);
|
||||
this.Name = "StatisticsTab";
|
||||
this.Size = new System.Drawing.Size(797, 464);
|
||||
this.statisticsSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.statisticsSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.statisticsSplitContainer)).EndInit();
|
||||
this.statisticsSplitContainer.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private SplitContainer statisticsSplitContainer;
|
||||
private Components.CollectiveListAddDelete statisticsList;
|
||||
private Components.StatisticsPanel statisticsPanel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
using LibW4M.Data.Stats;
|
||||
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.StatsTab
|
||||
{
|
||||
public partial class StatisticsTab : TabEntry
|
||||
{
|
||||
public StatisticsTab()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.statisticsList.List.Selected += statisticsList_Selected;
|
||||
this.statisticsList.List.Unselected += statisticsList_Unselected;
|
||||
|
||||
}
|
||||
|
||||
public override void SaveFromControl()
|
||||
{
|
||||
if (this.statisticsList.List.IsItemSelected)
|
||||
statisticsList_Unselected(null, null);
|
||||
}
|
||||
|
||||
public override void LoadIntoControl()
|
||||
{
|
||||
this.statisticsList.List.LoadCollective(DataManager.SaveFile.StatsCollective);
|
||||
statisticsPanel.Enabled = false;
|
||||
}
|
||||
|
||||
private void statisticsList_Unselected(object? sender, EventArgs e)
|
||||
{
|
||||
StatsContainerData statsData = DataManager.SaveFile.StatsCollective[statisticsList.List.LastSelected] as StatsContainerData;
|
||||
statisticsPanel.SaveStatsData(ref statsData);
|
||||
statisticsList.List.UpdateName(statisticsList.List.LastSelected, statsData.FriendlyName);
|
||||
}
|
||||
|
||||
private void statisticsList_Selected(object? sender, EventArgs e)
|
||||
{
|
||||
StatsContainerData statsData = DataManager.SaveFile.StatsCollective[statisticsList.List.CurrentlySelected] as StatsContainerData;
|
||||
statisticsPanel.LoadStatsData(statsData);
|
||||
statisticsPanel.Enabled = true;
|
||||
}
|
||||
|
||||
private void statisticsList_NewButton(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException("Adding new statistics from here not implemented yet ;)");
|
||||
}
|
||||
|
||||
private void statisticsList_DelButton(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException("Removing statistics from here not implemented yet ;)");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,98 @@
|
|||
namespace W4Gui.Tabs.StatsTab
|
||||
{
|
||||
partial class TeamStatisticsTab
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.teamStatisticsSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.teamStatisticsList = new W4Gui.Components.CollectiveListAddDelete();
|
||||
this.teamStatisticsPanel = new W4Gui.Components.StatisticsPanel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.teamStatisticsSplitContainer)).BeginInit();
|
||||
this.teamStatisticsSplitContainer.Panel1.SuspendLayout();
|
||||
this.teamStatisticsSplitContainer.Panel2.SuspendLayout();
|
||||
this.teamStatisticsSplitContainer.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// teamStatisticsSplitContainer
|
||||
//
|
||||
this.teamStatisticsSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.teamStatisticsSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.teamStatisticsSplitContainer.Location = new System.Drawing.Point(3, 3);
|
||||
this.teamStatisticsSplitContainer.Name = "teamStatisticsSplitContainer";
|
||||
//
|
||||
// teamStatisticsSplitContainer.Panel1
|
||||
//
|
||||
this.teamStatisticsSplitContainer.Panel1.Controls.Add(this.teamStatisticsList);
|
||||
//
|
||||
// teamStatisticsSplitContainer.Panel2
|
||||
//
|
||||
this.teamStatisticsSplitContainer.Panel2.Controls.Add(this.teamStatisticsPanel);
|
||||
this.teamStatisticsSplitContainer.Size = new System.Drawing.Size(797, 464);
|
||||
this.teamStatisticsSplitContainer.SplitterDistance = 265;
|
||||
this.teamStatisticsSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// teamStatisticsList
|
||||
//
|
||||
this.teamStatisticsList.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.teamStatisticsList.Location = new System.Drawing.Point(0, 0);
|
||||
this.teamStatisticsList.Name = "teamStatisticsList";
|
||||
this.teamStatisticsList.Size = new System.Drawing.Size(261, 460);
|
||||
this.teamStatisticsList.TabIndex = 0;
|
||||
this.teamStatisticsList.NewButton += new System.EventHandler<System.EventArgs>(this.teamStatisticsList_NewButton);
|
||||
this.teamStatisticsList.DeleteButton += new System.EventHandler<System.EventArgs>(this.teamStatisticsList_DelButton);
|
||||
//
|
||||
// teamStatisticsPanel
|
||||
//
|
||||
this.teamStatisticsPanel.BackColor = System.Drawing.Color.LightGray;
|
||||
this.teamStatisticsPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.teamStatisticsPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.teamStatisticsPanel.Name = "teamStatisticsPanel";
|
||||
this.teamStatisticsPanel.Size = new System.Drawing.Size(524, 460);
|
||||
this.teamStatisticsPanel.TabIndex = 0;
|
||||
//
|
||||
// StatisticsTab
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.teamStatisticsSplitContainer);
|
||||
this.Name = "TeamStatisticsTab";
|
||||
this.Size = new System.Drawing.Size(797, 464);
|
||||
this.teamStatisticsSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.teamStatisticsSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.teamStatisticsSplitContainer)).EndInit();
|
||||
this.teamStatisticsSplitContainer.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private SplitContainer teamStatisticsSplitContainer;
|
||||
private Components.CollectiveListAddDelete teamStatisticsList;
|
||||
private Components.StatisticsPanel teamStatisticsPanel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
using LibW4M.Data.Stats;
|
||||
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.StatsTab
|
||||
{
|
||||
public partial class TeamStatisticsTab : TabEntry
|
||||
{
|
||||
public TeamStatisticsTab()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.teamStatisticsList.List.Selected += teamStatistics_Selected;
|
||||
this.teamStatisticsList.List.Unselected += teamStatistics_Unselected;
|
||||
|
||||
}
|
||||
|
||||
public override void SaveFromControl()
|
||||
{
|
||||
if (this.teamStatisticsList.List.IsItemSelected)
|
||||
teamStatistics_Unselected(null, null);
|
||||
}
|
||||
|
||||
public override void LoadIntoControl()
|
||||
{
|
||||
this.teamStatisticsList.List.LoadCollective(DataManager.SaveFile.TeamStatsCollective);
|
||||
teamStatisticsPanel.Enabled = false;
|
||||
}
|
||||
|
||||
private void teamStatistics_Unselected(object? sender, EventArgs e)
|
||||
{
|
||||
StatsContainerData statsData = DataManager.SaveFile.TeamStatsCollective[teamStatisticsList.List.LastSelected] as StatsContainerData;
|
||||
teamStatisticsPanel.SaveStatsData(ref statsData);
|
||||
teamStatisticsList.List.UpdateName(teamStatisticsList.List.LastSelected, statsData.FriendlyName);
|
||||
}
|
||||
|
||||
private void teamStatistics_Selected(object? sender, EventArgs e)
|
||||
{
|
||||
StatsContainerData statsData = DataManager.SaveFile.TeamStatsCollective[teamStatisticsList.List.CurrentlySelected] as StatsContainerData;
|
||||
teamStatisticsPanel.LoadStatsData(statsData);
|
||||
teamStatisticsPanel.Enabled = true;
|
||||
}
|
||||
|
||||
private void teamStatisticsList_NewButton(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException("Adding new team statistics from here not implemented yet ;)");
|
||||
}
|
||||
|
||||
private void teamStatisticsList_DelButton(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException("Removing team statistics from here not implemented yet ;)");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -4,16 +4,29 @@
|
|||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWindowsForms>True</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<AssemblyName>Worms 4 Mayhem! Save Editor</AssemblyName>
|
||||
<ApplicationIcon>EditorIcon.ico</ApplicationIcon>
|
||||
<Authors>Li</Authors>
|
||||
<Company>Non-Binary Inc</Company>
|
||||
<Description>Savegame Editor & Converter for "Worms 4: Mayhem!"</Description>
|
||||
<Copyright>Public Domain 2023</Copyright>
|
||||
<Title>$(AssemblyName)</Title>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="EditorIcon.ico" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Components\StatisticsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\InputMappingPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
@ -50,9 +63,9 @@
|
|||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\AwardTab.cs" />
|
||||
<Compile Update="Tabs\InputEventMappingsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\StatsTab\TeamStatisticsTab.cs" />
|
||||
<Compile Update="Tabs\StatsTab\StatisticsTab.cs" />
|
||||
<Compile Update="Tabs\InputEventMappingsTab.cs" />
|
||||
<Compile Update="Tabs\OtherTabs\InputMappingsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
@ -61,15 +74,12 @@
|
|||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\SchemeTab.cs" />
|
||||
<Compile Update="Tabs\VariablesTab\VectorVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\StringVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\FloatVariablesTab.cs">
|
||||
<Compile Update="Tabs\StatsTab\StatTypeSelectionTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\VectorVariablesTab.cs" />
|
||||
<Compile Update="Tabs\VariablesTab\StringVariablesTab.cs" />
|
||||
<Compile Update="Tabs\VariablesTab\FloatVariablesTab.cs" />
|
||||
<Compile Update="Tabs\VariablesTab\UIntVariablesTab.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -80,10 +90,6 @@
|
|||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Resources\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibW4M\LibW4M.csproj" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -4,48 +4,51 @@
|
|||
<_LastSelectedProfileId>C:\Users\Li\Documents\git\Worms4Editor\W4Gui\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Components\CollectiveListBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\CollectiveListAddDelete.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\CollectiveListBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\FloatUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\GenericUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\HexInputBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\HighscoresPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\IntUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\UIntUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\WeaponSettingsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\IntList.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\IntUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\StringList.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\GenericUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\TeamsPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\UIntUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\VariablePanel\IntVariablePanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Components\VectorSelect.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Dialogs\AboutW4Gui.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Dialogs\CollectiveSelectionDialog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -64,27 +67,45 @@
|
|||
<Compile Update="Tabs\HighscoresTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\TabEntry.cs">
|
||||
<Compile Update="Tabs\InputEventMappingsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\SchemeTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\StatsTab\StatisticsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\StatsTab\TeamStatisticsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\TabEntry.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\TeamsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\UnlockableItemsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\FloatVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\IntVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\StringVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\UIntVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\VariablesTabs.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\VariablesTab\VectorVariablesTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Tabs\WeaponsTab.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
|
Loading…
Reference in New Issue