diff --git a/PSLauncher/PSLauncher.csproj b/PSLauncher/PSLauncher.csproj
index 08fb935..51fa766 100644
--- a/PSLauncher/PSLauncher.csproj
+++ b/PSLauncher/PSLauncher.csproj
@@ -176,6 +176,12 @@
+
+ Form
+
+
+ ServerList.cs
+
Form
@@ -199,6 +205,9 @@
Resources.resx
True
+
+ ServerList.cs
+
SettingsForm.cs
@@ -245,4 +254,4 @@
-->
-
+
\ No newline at end of file
diff --git a/PSLauncher/Properties/Settings.Designer.cs b/PSLauncher/Properties/Settings.Designer.cs
index a1c2d32..1d2b79b 100644
--- a/PSLauncher/Properties/Settings.Designer.cs
+++ b/PSLauncher/Properties/Settings.Designer.cs
@@ -82,5 +82,31 @@ namespace PSLauncher.Properties {
this["ClearOutputOnLaunch"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool CoreCombat {
+ get {
+ return ((bool)(this["CoreCombat"]));
+ }
+ set {
+ this["CoreCombat"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("\r\n\r\n PSForever,play.psforever.net,51000\r\n")]
+ public global::System.Collections.Specialized.StringCollection ServerList {
+ get {
+ return ((global::System.Collections.Specialized.StringCollection)(this["ServerList"]));
+ }
+ set {
+ this["ServerList"] = value;
+ }
+ }
}
}
diff --git a/PSLauncher/Properties/Settings.settings b/PSLauncher/Properties/Settings.settings
index a246997..f0ada66 100644
--- a/PSLauncher/Properties/Settings.settings
+++ b/PSLauncher/Properties/Settings.settings
@@ -17,5 +17,14 @@
True
+
+ True
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <string>PSForever,play.psforever.net,51000</string>
+</ArrayOfString>
+
\ No newline at end of file
diff --git a/PSLauncher/ServerList.Designer.cs b/PSLauncher/ServerList.Designer.cs
new file mode 100644
index 0000000..bcbb92a
--- /dev/null
+++ b/PSLauncher/ServerList.Designer.cs
@@ -0,0 +1,237 @@
+namespace PSLauncher
+{
+ partial class ServerList
+ {
+ ///
+ /// 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 Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerList));
+ this.serverDisplay = new System.Windows.Forms.ListBox();
+ this.moveUp = new System.Windows.Forms.Button();
+ this.moveDown = new System.Windows.Forms.Button();
+ this.hostnameInput = new System.Windows.Forms.TextBox();
+ this.portInput = new System.Windows.Forms.TextBox();
+ this.deleteItem = new System.Windows.Forms.Button();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.addButton = new System.Windows.Forms.Button();
+ this.label3 = new System.Windows.Forms.Label();
+ this.okButton = new System.Windows.Forms.Button();
+ this.label4 = new System.Windows.Forms.Label();
+ this.serverNameInput = new System.Windows.Forms.TextBox();
+ this.cancelButton = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // serverDisplay
+ //
+ this.serverDisplay.FormattingEnabled = true;
+ this.serverDisplay.Location = new System.Drawing.Point(13, 13);
+ this.serverDisplay.Name = "serverDisplay";
+ this.serverDisplay.Size = new System.Drawing.Size(272, 108);
+ this.serverDisplay.TabIndex = 0;
+ this.serverDisplay.SelectedIndexChanged += new System.EventHandler(this.serverDisplay_SelectedIndexChanged);
+ //
+ // moveUp
+ //
+ this.moveUp.Anchor = System.Windows.Forms.AnchorStyles.Right;
+ this.moveUp.BackColor = System.Drawing.SystemColors.ButtonHighlight;
+ this.moveUp.Enabled = false;
+ this.moveUp.Image = ((System.Drawing.Image)(resources.GetObject("moveUp.Image")));
+ this.moveUp.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
+ this.moveUp.Location = new System.Drawing.Point(291, 13);
+ this.moveUp.Name = "moveUp";
+ this.moveUp.Size = new System.Drawing.Size(24, 26);
+ this.moveUp.TabIndex = 1;
+ this.moveUp.UseVisualStyleBackColor = false;
+ this.moveUp.Click += new System.EventHandler(this.moveUp_Click);
+ //
+ // moveDown
+ //
+ this.moveDown.Anchor = System.Windows.Forms.AnchorStyles.Right;
+ this.moveDown.BackColor = System.Drawing.SystemColors.ButtonHighlight;
+ this.moveDown.Enabled = false;
+ this.moveDown.Image = ((System.Drawing.Image)(resources.GetObject("moveDown.Image")));
+ this.moveDown.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+ this.moveDown.Location = new System.Drawing.Point(291, 44);
+ this.moveDown.Name = "moveDown";
+ this.moveDown.Size = new System.Drawing.Size(24, 26);
+ this.moveDown.TabIndex = 2;
+ this.moveDown.UseVisualStyleBackColor = false;
+ this.moveDown.Click += new System.EventHandler(this.moveDown_Click);
+ //
+ // hostnameInput
+ //
+ this.hostnameInput.Location = new System.Drawing.Point(11, 207);
+ this.hostnameInput.Name = "hostnameInput";
+ this.hostnameInput.Size = new System.Drawing.Size(144, 20);
+ this.hostnameInput.TabIndex = 3;
+ this.hostnameInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textInput_KeyPress);
+ //
+ // portInput
+ //
+ this.portInput.Location = new System.Drawing.Point(168, 207);
+ this.portInput.Name = "portInput";
+ this.portInput.Size = new System.Drawing.Size(50, 20);
+ this.portInput.TabIndex = 4;
+ this.portInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.portInput_KeyPress);
+ //
+ // deleteItem
+ //
+ this.deleteItem.Anchor = System.Windows.Forms.AnchorStyles.Right;
+ this.deleteItem.BackColor = System.Drawing.SystemColors.ButtonHighlight;
+ this.deleteItem.Enabled = false;
+ this.deleteItem.Image = ((System.Drawing.Image)(resources.GetObject("deleteItem.Image")));
+ this.deleteItem.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+ this.deleteItem.Location = new System.Drawing.Point(291, 95);
+ this.deleteItem.Name = "deleteItem";
+ this.deleteItem.Size = new System.Drawing.Size(24, 26);
+ this.deleteItem.TabIndex = 5;
+ this.deleteItem.UseVisualStyleBackColor = false;
+ this.deleteItem.Click += new System.EventHandler(this.deleteItem_Click);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(8, 185);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(70, 13);
+ this.label1.TabIndex = 6;
+ this.label1.Text = "Hostname/IP";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(165, 185);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(26, 13);
+ this.label2.TabIndex = 7;
+ this.label2.Text = "Port";
+ //
+ // addButton
+ //
+ this.addButton.Location = new System.Drawing.Point(230, 205);
+ this.addButton.Name = "addButton";
+ this.addButton.Size = new System.Drawing.Size(42, 23);
+ this.addButton.TabIndex = 8;
+ this.addButton.Text = "Add";
+ this.addButton.UseVisualStyleBackColor = true;
+ this.addButton.Click += new System.EventHandler(this.addButton_Click);
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(157, 210);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(10, 13);
+ this.label3.TabIndex = 9;
+ this.label3.Text = ":";
+ //
+ // okButton
+ //
+ this.okButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
+ this.okButton.Location = new System.Drawing.Point(93, 239);
+ this.okButton.Name = "okButton";
+ this.okButton.Size = new System.Drawing.Size(62, 23);
+ this.okButton.TabIndex = 28;
+ this.okButton.Text = "OK";
+ this.okButton.UseVisualStyleBackColor = true;
+ this.okButton.Click += new System.EventHandler(this.okButton_Click);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(9, 131);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(69, 13);
+ this.label4.TabIndex = 30;
+ this.label4.Text = "Server Name";
+ //
+ // serverNameInput
+ //
+ this.serverNameInput.Location = new System.Drawing.Point(12, 153);
+ this.serverNameInput.Name = "serverNameInput";
+ this.serverNameInput.Size = new System.Drawing.Size(206, 20);
+ this.serverNameInput.TabIndex = 29;
+ this.serverNameInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textInput_KeyPress);
+ //
+ // cancelButton
+ //
+ this.cancelButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
+ this.cancelButton.Location = new System.Drawing.Point(173, 239);
+ this.cancelButton.Name = "cancelButton";
+ this.cancelButton.Size = new System.Drawing.Size(62, 23);
+ this.cancelButton.TabIndex = 31;
+ this.cancelButton.Text = "Cancel";
+ this.cancelButton.UseVisualStyleBackColor = true;
+ this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
+ //
+ // ServerList
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(327, 274);
+ this.Controls.Add(this.cancelButton);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.serverNameInput);
+ this.Controls.Add(this.okButton);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.addButton);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.deleteItem);
+ this.Controls.Add(this.portInput);
+ this.Controls.Add(this.hostnameInput);
+ this.Controls.Add(this.moveDown);
+ this.Controls.Add(this.moveUp);
+ this.Controls.Add(this.serverDisplay);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "ServerList";
+ this.Text = "Server List";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ListBox serverDisplay;
+ private System.Windows.Forms.Button moveUp;
+ private System.Windows.Forms.Button moveDown;
+ private System.Windows.Forms.TextBox hostnameInput;
+ private System.Windows.Forms.TextBox portInput;
+ private System.Windows.Forms.Button deleteItem;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button addButton;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Button okButton;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox serverNameInput;
+ private System.Windows.Forms.Button cancelButton;
+ }
+}
\ No newline at end of file
diff --git a/PSLauncher/ServerList.cs b/PSLauncher/ServerList.cs
new file mode 100644
index 0000000..30628f9
--- /dev/null
+++ b/PSLauncher/ServerList.cs
@@ -0,0 +1,196 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+using PSLauncher.Properties;
+using System.Collections.Specialized;
+using System.Diagnostics;
+
+namespace PSLauncher
+{
+ public partial class ServerList : Form
+ {
+ struct ServerEntry
+ {
+ public string name;
+ public string hostname;
+ public int port;
+ }
+
+ List entries = new List();
+
+ public ServerList()
+ {
+ InitializeComponent();
+
+ this.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath);
+
+ StringCollection serverList = Settings.Default.ServerList;
+
+ foreach(String entry in serverList)
+ {
+ String [] tokens = entry.Split(',');
+
+ if(tokens.Length != 3)
+ {
+ Debug.WriteLine("Failed to load server entry " + entry);
+ continue;
+ }
+
+ ServerEntry newEntry = new ServerEntry();
+ newEntry.name = tokens[0];
+ newEntry.hostname = tokens[1];
+ newEntry.port = int.Parse(tokens[2]);
+
+ addEntry(newEntry);
+ }
+ }
+
+ private void textInput_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ TextBox control = sender as TextBox;
+
+ // disallow commas as they are used for tokenizing
+ if(e.KeyChar == ',')
+ {
+ e.Handled = true;
+ }
+ else
+ {
+ e.Handled = false;
+ }
+ }
+
+ private void portInput_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ Debug.WriteLine("Char: " + e.KeyChar.ToString());
+
+ if(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == '\b')
+ {
+ if(portInput.Text.Length >= 5 && e.KeyChar != '\b')
+ e.Handled = true;
+ else
+ e.Handled = false;
+ }
+ else
+ {
+ e.Handled = true;
+ }
+ }
+
+ private void addButton_Click(object sender, EventArgs e)
+ {
+ if (hostnameInput.Text.Length == 0 || serverNameInput.Text.Length == 0
+ || portInput.Text.Length == 0)
+ return;
+
+ // validate server entry fields
+ ServerEntry entry = new ServerEntry();
+ entry.name = serverNameInput.Text;
+ entry.hostname = hostnameInput.Text;
+ entry.port = Convert.ToInt32(portInput.Text);
+
+ // add the entry to the top of the list
+ addEntry(entry, 0);
+ }
+
+ private void addEntry(ServerEntry entry, int position=-1)
+ {
+ if (position == -1)
+ position = entries.Count;
+
+ entries.Insert(position, entry);
+ serverDisplay.Items.Insert(position, entry.name + " - " + entry.hostname + ":" + entry.port);
+ }
+
+ private void okButton_Click(object sender, EventArgs e)
+ {
+ StringCollection serverList = new StringCollection();
+
+ foreach (ServerEntry entry in entries)
+ {
+ string[] tokens = new string[3];
+ tokens[0] = entry.name;
+ tokens[1] = entry.hostname;
+ tokens[2] = Convert.ToString(entry.port);
+
+ serverList.Add(string.Join(",", tokens));
+ }
+
+ Settings.Default.ServerList = serverList;
+
+ this.DialogResult = DialogResult.OK;
+ }
+
+ private void cancelButton_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ }
+
+ private void moveUp_Click(object sender, EventArgs e)
+ {
+ int selected = serverDisplay.SelectedIndex;
+
+ Debug.WriteLine("Move " + selected + " ^");
+
+ if (selected == -1 || selected == 0)
+ return;
+
+ entries.Insert(selected - 1, entries[selected]);
+ serverDisplay.Items.Insert(selected - 1, serverDisplay.Items[selected]);
+
+ entries.RemoveAt(selected+1);
+ serverDisplay.Items.RemoveAt(selected+1);
+
+ serverDisplay.SelectedIndex = selected - 1;
+ }
+
+ private void moveDown_Click(object sender, EventArgs e)
+ {
+ int selected = serverDisplay.SelectedIndex;
+
+ Debug.WriteLine("Move " + selected + " v");
+
+ if (selected == -1 || (selected+1) == entries.Count)
+ return;
+
+ entries.Insert(selected + 2, entries[selected]);
+ serverDisplay.Items.Insert(selected + 2, serverDisplay.Items[selected]);
+
+ entries.RemoveAt(selected);
+ serverDisplay.Items.RemoveAt(selected);
+
+ serverDisplay.SelectedIndex = selected + 1;
+ }
+
+ private void deleteItem_Click(object sender, EventArgs e)
+ {
+ int selected = serverDisplay.SelectedIndex;
+
+ entries.RemoveAt(selected);
+ serverDisplay.Items.RemoveAt(selected);
+
+ if(entries.Count > 0)
+ {
+ if(selected >= entries.Count)
+ {
+ serverDisplay.SelectedIndex = selected-1;
+ }
+ else
+ {
+ serverDisplay.SelectedIndex = selected;
+ }
+ }
+ }
+
+ private void serverDisplay_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ moveDown.Enabled = moveUp.Enabled = deleteItem.Enabled = serverDisplay.SelectedIndex != -1;
+ }
+ }
+}
diff --git a/PSLauncher/ServerList.resx b/PSLauncher/ServerList.resx
new file mode 100644
index 0000000..4ff7011
--- /dev/null
+++ b/PSLauncher/ServerList.resx
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAJlJREFUOE+lktENgCAMRJmN4VjDLfmttmnJXalR4yWXUOQ9E6WJyK/ykDLnPLQ+
+ rhBDA8Rh8ZKEGBo8AY8xrFlCDA1XEO69W7OEGBwquJIgkwUlHA0JMpsAD1frV4J4E0IheRQEnAX4DJlN
+ 4LWPmQTrXiBTCexX6RoFvmcSZLJgXZZKoNEzyJAAcyfQEEMDRCGsb1uIweF7pZ0wbIqJ5IDpuQAAAABJ
+ RU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAKFJREFUOE+lkUEKwzAMBPM2P87f6C99dbPCKrOKS1K6IGI5O0NpjjnnX+MLMsaY
+ nHUdMcYWRFBrLeax4Cy+VuerQB0yVaBySHYCvdOZzE4QEj0pyDsNmYug955AFXzekbkIBGSRAt3lmcxW
+ kJLd+VbAcp38ZWSqIP6onSRhdciYgJ+KEsLqGGPLCiUVVoyxBUlJhRVjbClZEoMVY7j8PvN4A80ziomU
+ 990nAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAIZJREFUOE+1j10KwCAMgz2b755xl/IsvnaL2K20UfbDAmEako+ZROSTafjE12Go
+ tbbB43rK5xSAQq1VYFtmeQBoqZTSreVZvgTknM8yyyjA/qodsDF9gspD2Bj6B+DH+NqzhQQAG+POMnSX
+ AFuc5QFgn6ClHh5iOQVAKNixyucB8NY0vG9JOzzyhrdq5IRgAAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/PSLauncher/SettingsForm.Designer.cs b/PSLauncher/SettingsForm.Designer.cs
index bab9da5..65918dc 100644
--- a/PSLauncher/SettingsForm.Designer.cs
+++ b/PSLauncher/SettingsForm.Designer.cs
@@ -37,6 +37,8 @@
this.findPTRDirDialogue = new System.Windows.Forms.FolderBrowserDialog();
this.clearOnLaunch = new System.Windows.Forms.CheckBox();
this.button1 = new System.Windows.Forms.Button();
+ this.coreCombat = new System.Windows.Forms.CheckBox();
+ this.editServerList = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label2
@@ -58,10 +60,10 @@
this.selectDirectory.UseVisualStyleBackColor = true;
this.selectDirectory.Click += new System.EventHandler(this.button1_Click);
//
- // planetside2PathTextField
+ // planetsidePathTextField
//
this.planetsidePathTextField.Location = new System.Drawing.Point(12, 33);
- this.planetsidePathTextField.Name = "planetside2PathTextField";
+ this.planetsidePathTextField.Name = "planetsidePathTextField";
this.planetsidePathTextField.ReadOnly = true;
this.planetsidePathTextField.Size = new System.Drawing.Size(222, 20);
this.planetsidePathTextField.TabIndex = 8;
@@ -69,7 +71,7 @@
//
// launchArgs
//
- this.launchArgs.Location = new System.Drawing.Point(12, 117);
+ this.launchArgs.Location = new System.Drawing.Point(10, 182);
this.launchArgs.Name = "launchArgs";
this.launchArgs.Size = new System.Drawing.Size(222, 20);
this.launchArgs.TabIndex = 15;
@@ -78,7 +80,7 @@
// label10
//
this.label10.AutoSize = true;
- this.label10.Location = new System.Drawing.Point(9, 98);
+ this.label10.Location = new System.Drawing.Point(7, 163);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(158, 13);
this.label10.TabIndex = 16;
@@ -96,7 +98,7 @@
// clearOnLaunch
//
this.clearOnLaunch.AutoSize = true;
- this.clearOnLaunch.Location = new System.Drawing.Point(13, 157);
+ this.clearOnLaunch.Location = new System.Drawing.Point(12, 123);
this.clearOnLaunch.Name = "clearOnLaunch";
this.clearOnLaunch.Size = new System.Drawing.Size(133, 17);
this.clearOnLaunch.TabIndex = 26;
@@ -107,7 +109,7 @@
// button1
//
this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
- this.button1.Location = new System.Drawing.Point(91, 186);
+ this.button1.Location = new System.Drawing.Point(91, 226);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(62, 23);
this.button1.TabIndex = 27;
@@ -115,11 +117,34 @@
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
+ // coreCombat
+ //
+ this.coreCombat.AutoSize = true;
+ this.coreCombat.Location = new System.Drawing.Point(12, 98);
+ this.coreCombat.Name = "coreCombat";
+ this.coreCombat.Size = new System.Drawing.Size(87, 17);
+ this.coreCombat.TabIndex = 28;
+ this.coreCombat.Text = "Core Combat";
+ this.coreCombat.UseVisualStyleBackColor = true;
+ this.coreCombat.CheckedChanged += new System.EventHandler(this.coreCombat_CheckedChanged);
+ //
+ // editServerList
+ //
+ this.editServerList.Location = new System.Drawing.Point(134, 94);
+ this.editServerList.Name = "editServerList";
+ this.editServerList.Size = new System.Drawing.Size(100, 23);
+ this.editServerList.TabIndex = 29;
+ this.editServerList.Text = "Edit Server List...";
+ this.editServerList.UseVisualStyleBackColor = true;
+ this.editServerList.Click += new System.EventHandler(this.editServerList_Click);
+ //
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(244, 211);
+ this.ClientSize = new System.Drawing.Size(244, 251);
+ this.Controls.Add(this.editServerList);
+ this.Controls.Add(this.coreCombat);
this.Controls.Add(this.planetsideVersion);
this.Controls.Add(this.button1);
this.Controls.Add(this.clearOnLaunch);
@@ -130,9 +155,9 @@
this.Controls.Add(this.planetsidePathTextField);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
- this.MaximumSize = new System.Drawing.Size(260, 250);
+ this.MaximumSize = new System.Drawing.Size(260, 290);
this.MinimizeBox = false;
- this.MinimumSize = new System.Drawing.Size(260, 250);
+ this.MinimumSize = new System.Drawing.Size(260, 290);
this.Name = "SettingsForm";
this.Text = "Settings";
this.ResumeLayout(false);
@@ -151,5 +176,7 @@
private System.Windows.Forms.FolderBrowserDialog findPTRDirDialogue;
private System.Windows.Forms.CheckBox clearOnLaunch;
private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.CheckBox coreCombat;
+ private System.Windows.Forms.Button editServerList;
}
}
\ No newline at end of file
diff --git a/PSLauncher/SettingsForm.cs b/PSLauncher/SettingsForm.cs
index 27d09b6..553ea63 100644
--- a/PSLauncher/SettingsForm.cs
+++ b/PSLauncher/SettingsForm.cs
@@ -25,6 +25,7 @@ namespace PSLauncher
planetsidePathTextField.Text = Settings.Default.PSPath;
launchArgs.Text = Settings.Default.ExtraArgs;
clearOnLaunch.Checked = Settings.Default.ClearOutputOnLaunch;
+ coreCombat.Checked = Settings.Default.CoreCombat;
checkPath(Path.Combine(planetsidePathTextField.Text, PS_EXE_NAME), false);
}
@@ -105,5 +106,17 @@ namespace PSLauncher
{
this.DialogResult = DialogResult.OK;
}
+
+ private void coreCombat_CheckedChanged(object sender, EventArgs e)
+ {
+ Settings.Default.CoreCombat = this.coreCombat.Checked;
+ }
+
+ private void editServerList_Click(object sender, EventArgs e)
+ {
+ ServerList a = new ServerList();
+ a.StartPosition = FormStartPosition.CenterParent;
+ a.ShowDialog(this);
+ }
}
}
diff --git a/PSLauncher/app.config b/PSLauncher/app.config
index f921852..4217a5c 100644
--- a/PSLauncher/app.config
+++ b/PSLauncher/app.config
@@ -22,6 +22,17 @@
True
+
+ True
+
+
+
+
+ PSForever,play.psforever.net,51000
+
+
+
\ No newline at end of file