diff --git a/DS4Control/Control.cs b/DS4Control/Control.cs index f2a28eb..8216037 100644 --- a/DS4Control/Control.cs +++ b/DS4Control/Control.cs @@ -45,7 +45,7 @@ namespace DS4Control { if (DS4Devices.isExclusiveMode && !device.IsExclusive) { - String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + Properties.Resources.QuitOtherPrograms; + String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + " " + Properties.Resources.QuitOtherPrograms; LogDebug(message); Log.LogToTray(message); } diff --git a/DS4Control/Properties/Resources.Designer.cs b/DS4Control/Properties/Resources.Designer.cs index 138b2a8..b6a411b 100644 --- a/DS4Control/Properties/Resources.Designer.cs +++ b/DS4Control/Properties/Resources.Designer.cs @@ -151,7 +151,7 @@ namespace DS4Control.Properties { } /// - /// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option.". + /// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option.. /// internal static string QuitOtherPrograms { get { diff --git a/DS4Control/Properties/Resources.resx b/DS4Control/Properties/Resources.resx index 2b74f4c..37b5ab3 100644 --- a/DS4Control/Properties/Resources.resx +++ b/DS4Control/Properties/Resources.resx @@ -148,7 +148,7 @@ none - You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option." + You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option. Searching for controllers… diff --git a/DS4Control/ScpUtil.cs b/DS4Control/ScpUtil.cs index 8131afe..fec9fef 100644 --- a/DS4Control/ScpUtil.cs +++ b/DS4Control/ScpUtil.cs @@ -330,7 +330,15 @@ namespace DS4Control public static bool getQuickCharge() { return m_Config.quickCharge; - } + } + public static void setFirstXinputPort(int data) + { + m_Config.firstXinputPort = data; + } + public static int getFirstXinputPort() + { + return m_Config.firstXinputPort; + } public static void saveLowColor(int device, byte red, byte green, byte blue) { m_Config.m_LowLeds[device][0] = red; @@ -833,6 +841,7 @@ namespace DS4Control public bool swipeProfiles = true; public bool ds4Mapping = true; public bool quickCharge = false; + public int firstXinputPort = 1; public Dictionary[] customMapKeyTypes = { null, null, null, null, null }; public Dictionary[] customMapKeys = { null, null, null, null, null }; public Dictionary[] customMapMacros = { null, null, null, null, null }; @@ -1837,6 +1846,8 @@ namespace DS4Control catch { missingSetting = true; } try { Item = m_Xdoc.SelectSingleNode("/Profile/QuickCharge"); Boolean.TryParse(Item.InnerText, out quickCharge); } catch { missingSetting = true; } + try { Item = m_Xdoc.SelectSingleNode("/Profile/FirstXinputPort"); Int32.TryParse(Item.InnerText, out firstXinputPort); } + catch { missingSetting = true; } } } catch { } @@ -1881,6 +1892,7 @@ namespace DS4Control XmlNode xmlSwipeProfiles = m_Xdoc.CreateNode(XmlNodeType.Element, "SwipeProfiles", null); xmlSwipeProfiles.InnerText = swipeProfiles.ToString(); Node.AppendChild(xmlSwipeProfiles); XmlNode xmlDS4Mapping = m_Xdoc.CreateNode(XmlNodeType.Element, "UseDS4ForMapping", null); xmlDS4Mapping.InnerText = ds4Mapping.ToString(); Node.AppendChild(xmlDS4Mapping); XmlNode xmlQuickCharge = m_Xdoc.CreateNode(XmlNodeType.Element, "QuickCharge", null); xmlQuickCharge.InnerText = quickCharge.ToString(); Node.AppendChild(xmlQuickCharge); + XmlNode xmlFirstXinputPort = m_Xdoc.CreateNode(XmlNodeType.Element, "FirstXinputPort", null); xmlFirstXinputPort.InnerText = firstXinputPort.ToString(); Node.AppendChild(xmlFirstXinputPort); m_Xdoc.AppendChild(Node); try { m_Xdoc.Save(m_Profile); } diff --git a/DS4Control/X360Device.cs b/DS4Control/X360Device.cs index 8409f27..7ea29ba 100644 --- a/DS4Control/X360Device.cs +++ b/DS4Control/X360Device.cs @@ -11,9 +11,9 @@ namespace DS4Control public partial class X360Device : ScpDevice { private const String DS3_BUS_CLASS_GUID = "{F679F562-3164-42CE-A4DB-E7DDBE723909}"; - private const int CONTROLLER_OFFSET = 1 + 10; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself) + private const int CONTROLLER_OFFSET = 1; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself) - private int firstController = 1 + 10; + private int firstController = 1; // Device 0 is the virtual USB hub itself, and we can leave more available for other software (like the Scarlet.Crush DualShock driver) public int FirstController { diff --git a/DS4Tool/DS4Form.Designer.cs b/DS4Tool/DS4Form.Designer.cs index 652aeb3..8e7a571 100644 --- a/DS4Tool/DS4Form.Designer.cs +++ b/DS4Tool/DS4Form.Designer.cs @@ -108,7 +108,7 @@ this.tSBExportProfile = new System.Windows.Forms.ToolStripButton(); this.tabAutoProfiles = new System.Windows.Forms.TabPage(); this.tabSettings = new System.Windows.Forms.TabPage(); - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.fLPSettings = new System.Windows.Forms.FlowLayoutPanel(); this.hideDS4CheckBox = new System.Windows.Forms.CheckBox(); this.cBSwipeProfiles = new System.Windows.Forms.CheckBox(); this.StartWindowsCheckBox = new System.Windows.Forms.CheckBox(); @@ -121,6 +121,10 @@ this.cBNotifications = new System.Windows.Forms.CheckBox(); this.cBDisconnectBT = new System.Windows.Forms.CheckBox(); this.cBQuickCharge = new System.Windows.Forms.CheckBox(); + this.pnlXIPorts = new System.Windows.Forms.Panel(); + this.lbUseXIPorts = new System.Windows.Forms.Label(); + this.nUDXIPorts = new System.Windows.Forms.NumericUpDown(); + this.lbLastXIPort = new System.Windows.Forms.Label(); this.linkProfiles = new System.Windows.Forms.LinkLabel(); this.lLBUpdate = new System.Windows.Forms.LinkLabel(); this.linkSetup = new System.Windows.Forms.LinkLabel(); @@ -142,9 +146,11 @@ this.tSOptions.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.tabSettings.SuspendLayout(); - this.flowLayoutPanel1.SuspendLayout(); + this.fLPSettings.SuspendLayout(); this.pNUpdate.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).BeginInit(); + this.pnlXIPorts.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).BeginInit(); this.tabLog.SuspendLayout(); this.SuspendLayout(); // @@ -728,29 +734,30 @@ // // tabSettings // - this.tabSettings.Controls.Add(this.flowLayoutPanel1); + this.tabSettings.Controls.Add(this.fLPSettings); resources.ApplyResources(this.tabSettings, "tabSettings"); this.tabSettings.Name = "tabSettings"; this.tabSettings.UseVisualStyleBackColor = true; // - // flowLayoutPanel1 + // fLPSettings // - resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1"); - this.flowLayoutPanel1.Controls.Add(this.hideDS4CheckBox); - this.flowLayoutPanel1.Controls.Add(this.cBSwipeProfiles); - this.flowLayoutPanel1.Controls.Add(this.StartWindowsCheckBox); - this.flowLayoutPanel1.Controls.Add(this.startMinimizedCheckBox); - this.flowLayoutPanel1.Controls.Add(this.cBUpdate); - this.flowLayoutPanel1.Controls.Add(this.pNUpdate); - this.flowLayoutPanel1.Controls.Add(this.cBNotifications); - this.flowLayoutPanel1.Controls.Add(this.cBDisconnectBT); - this.flowLayoutPanel1.Controls.Add(this.cBQuickCharge); - this.flowLayoutPanel1.Controls.Add(this.linkProfiles); - this.flowLayoutPanel1.Controls.Add(this.lLBUpdate); - this.flowLayoutPanel1.Controls.Add(this.linkSetup); - this.flowLayoutPanel1.Controls.Add(this.linkUninstall); - this.flowLayoutPanel1.Controls.Add(this.lnkControllers); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + resources.ApplyResources(this.fLPSettings, "fLPSettings"); + this.fLPSettings.Controls.Add(this.hideDS4CheckBox); + this.fLPSettings.Controls.Add(this.cBSwipeProfiles); + this.fLPSettings.Controls.Add(this.StartWindowsCheckBox); + this.fLPSettings.Controls.Add(this.startMinimizedCheckBox); + this.fLPSettings.Controls.Add(this.cBUpdate); + this.fLPSettings.Controls.Add(this.pNUpdate); + this.fLPSettings.Controls.Add(this.cBNotifications); + this.fLPSettings.Controls.Add(this.cBDisconnectBT); + this.fLPSettings.Controls.Add(this.cBQuickCharge); + this.fLPSettings.Controls.Add(this.pnlXIPorts); + this.fLPSettings.Controls.Add(this.linkProfiles); + this.fLPSettings.Controls.Add(this.lLBUpdate); + this.fLPSettings.Controls.Add(this.linkSetup); + this.fLPSettings.Controls.Add(this.linkUninstall); + this.fLPSettings.Controls.Add(this.lnkControllers); + this.fLPSettings.Name = "fLPSettings"; // // hideDS4CheckBox // @@ -845,6 +852,49 @@ this.cBQuickCharge.UseVisualStyleBackColor = true; this.cBQuickCharge.CheckedChanged += new System.EventHandler(this.cBQuickCharge_CheckedChanged); // + // pnlXIPorts + // + this.pnlXIPorts.Controls.Add(this.lbUseXIPorts); + this.pnlXIPorts.Controls.Add(this.nUDXIPorts); + this.pnlXIPorts.Controls.Add(this.lbLastXIPort); + resources.ApplyResources(this.pnlXIPorts, "pnlXIPorts"); + this.pnlXIPorts.Name = "pnlXIPorts"; + this.pnlXIPorts.MouseEnter += new System.EventHandler(this.pnlXIPorts_MouseEnter); + this.pnlXIPorts.MouseLeave += new System.EventHandler(this.pnlXIPorts_MouseLeave); + // + // lbUseXIPorts + // + resources.ApplyResources(this.lbUseXIPorts, "lbUseXIPorts"); + this.lbUseXIPorts.Name = "lbUseXIPorts"; + // + // nUDXIPorts + // + resources.ApplyResources(this.nUDXIPorts, "nUDXIPorts"); + this.nUDXIPorts.Maximum = new decimal(new int[] { + 11, + 0, + 0, + 0}); + this.nUDXIPorts.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.nUDXIPorts.Name = "nUDXIPorts"; + this.nUDXIPorts.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.nUDXIPorts.ValueChanged += new System.EventHandler(this.nUDXIPorts_ValueChanged); + this.nUDXIPorts.Enter += new System.EventHandler(this.nUDXIPorts_Enter); + this.nUDXIPorts.Leave += new System.EventHandler(this.nUDXIPorts_Leave); + // + // lbLastXIPort + // + resources.ApplyResources(this.lbLastXIPort, "lbLastXIPort"); + this.lbLastXIPort.Name = "lbLastXIPort"; + // // linkProfiles // resources.ApplyResources(this.linkProfiles, "linkProfiles"); @@ -924,11 +974,14 @@ this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.tabSettings.ResumeLayout(false); - this.flowLayoutPanel1.ResumeLayout(false); - this.flowLayoutPanel1.PerformLayout(); + this.fLPSettings.ResumeLayout(false); + this.fLPSettings.PerformLayout(); this.pNUpdate.ResumeLayout(false); this.pNUpdate.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).EndInit(); + this.pnlXIPorts.ResumeLayout(false); + this.pnlXIPorts.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).EndInit(); this.tabLog.ResumeLayout(false); this.ResumeLayout(false); @@ -1014,7 +1067,7 @@ private System.Windows.Forms.TabPage tabSettings; private System.Windows.Forms.ToolStripButton tSBKeepSize; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.FlowLayoutPanel fLPSettings; private System.Windows.Forms.LinkLabel lLBUpdate; private System.Windows.Forms.LinkLabel linkSetup; private System.Windows.Forms.CheckBox hideDS4CheckBox; @@ -1034,6 +1087,10 @@ private System.Windows.Forms.ToolStripMenuItem startToolStripMenuItem; public System.Windows.Forms.Label lbLastMessage; private System.Windows.Forms.CheckBox cBQuickCharge; + private System.Windows.Forms.Panel pnlXIPorts; + private System.Windows.Forms.Label lbUseXIPorts; + private System.Windows.Forms.NumericUpDown nUDXIPorts; + private System.Windows.Forms.Label lbLastXIPort; //private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; } } diff --git a/DS4Tool/DS4Form.cs b/DS4Tool/DS4Form.cs index 9c951c3..1b84f41 100644 --- a/DS4Tool/DS4Form.cs +++ b/DS4Tool/DS4Form.cs @@ -87,13 +87,9 @@ namespace DS4Windows (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] }; SystemEvents.PowerModeChanged += OnPowerChange; tSOptions.Visible = false; - if (File.Exists(appdatapath + "\\Auto Profiles.xml")) - tt.SetToolTip(linkUninstall, Properties.Resources.IfRemovingDS4Windows); - tt.SetToolTip(cBSwipeProfiles, Properties.Resources.TwoFingerSwipe); - tt.SetToolTip(cBQuickCharge, Properties.Resources.QuickCharge); bool firstrun = false; if (File.Exists(exepath + "\\Auto Profiles.xml") - && File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Auto Profiles.xml")) + && File.Exists(appdatapath + "\\Auto Profiles.xml")) { firstrun = true; new SaveWhere(true).ShowDialog(); @@ -106,12 +102,15 @@ namespace DS4Windows { try { + if (Directory.Exists(appdatapath)) + Directory.Move(appdatapath, Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows Old"); Directory.Move(oldappdatapath, appdatapath); Global.SaveWhere(appdatapath); } catch { - MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows"); + MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows"); + Process.Start("explorer.exe", @"/select, " + appdatapath); Close(); return; } @@ -191,6 +190,8 @@ namespace DS4Windows hideDS4CheckBox.CheckedChanged += hideDS4CheckBox_CheckedChanged; cBDisconnectBT.Checked = Global.getDCBTatStop(); cBQuickCharge.Checked = Global.getQuickCharge(); + nUDXIPorts.Value = Global.getFirstXinputPort(); + rootHub.x360Bus.FirstController = Global.getFirstXinputPort(); // New settings this.Width = Global.getFormWidth(); this.Height = Global.getFormHeight(); @@ -211,6 +212,10 @@ namespace DS4Windows } LoadP(); Global.ControllerStatusChange += ControllerStatusChange; + Enable_Controls(0, false); + Enable_Controls(1, false); + Enable_Controls(2, false); + Enable_Controls(3, false); bool start = true; foreach (string s in arguements) if (s == "stop") @@ -1093,9 +1098,22 @@ namespace DS4Windows private void tabMain_SelectedIndexChanged(object sender, EventArgs e) { - lbLastMessage.Visible = tabMain.SelectedIndex != 4; - if (tabMain.SelectedIndex == 4) + lbLastMessage.Visible = tabMain.SelectedTab != tabLog; + if (tabMain.SelectedTab == tabLog) chData.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize); + if (tabMain.SelectedTab == tabSettings) + { + lbLastMessage.Text = "Hover over items to see description or more about"; + foreach (System.Windows.Forms.Control control in fLPSettings.Controls) + { + if (control.HasChildren) + foreach (System.Windows.Forms.Control ctrl in control.Controls) + ctrl.MouseHover += Items_MouseHover; + control.MouseHover += Items_MouseHover; + } + } + else + lbLastMessage.Text = lbLastMessage.Text = lvDebug.Items[lvDebug.Items.Count - 1].SubItems[1].Text; if (opt != null) if (tabMain.SelectedIndex != 1) opt.inputtimer.Stop(); @@ -1103,6 +1121,24 @@ namespace DS4Windows opt.inputtimer.Start(); } + private void Items_MouseHover(object sender, EventArgs e) + { + switch (((System.Windows.Forms.Control)sender).Name) + { + + //if (File.Exists(appdatapath + "\\Auto Profiles.xml")) + case "linkUninstall": lbLastMessage.Text = Properties.Resources.IfRemovingDS4Windows; break; + case "cBSwipeProfiles": lbLastMessage.Text = Properties.Resources.TwoFingerSwipe; break; + case "cBQuickCharge": lbLastMessage.Text = Properties.Resources.QuickCharge; break; + case "pnlXIPorts": lbLastMessage.Text = Properties.Resources.XinputPorts; break; + default: lbLastMessage.Text = "Hover over items to see description or more about"; break; + } + if (lbLastMessage.Text != "Hover over items to see description or more about") + lbLastMessage.ForeColor = Color.Black; + else + lbLastMessage.ForeColor = SystemColors.GrayText; + } + private void lBProfiles_MouseDown(object sender, MouseEventArgs e) { lBProfiles.SelectedIndex = lBProfiles.IndexFromPoint(e.X, e.Y); @@ -1405,6 +1441,38 @@ namespace DS4Windows { tt.Hide(lbLastMessage); } + + private void pnlXIPorts_MouseEnter(object sender, EventArgs e) + { + //oldxiport = (int)Math.Round(nUDXIPorts.Value,0); + } + int oldxiport; + private void pnlXIPorts_MouseLeave(object sender, EventArgs e) + { + + } + + private void nUDXIPorts_ValueChanged(object sender, EventArgs e) + { + lbLastXIPort.Text = "- " + ((int)Math.Round(nUDXIPorts.Value, 0) + 3); + } + + private void nUDXIPorts_Leave(object sender, EventArgs e) + { + if (oldxiport != (int)Math.Round(nUDXIPorts.Value,0)) + { + oldxiport = (int)Math.Round(nUDXIPorts.Value, 0); + Global.setFirstXinputPort(oldxiport); + rootHub.x360Bus.FirstController = oldxiport; + btnStartStop_Click(sender, e); + btnStartStop_Click(sender, e); + } + } + + private void nUDXIPorts_Enter(object sender, EventArgs e) + { + oldxiport = (int)Math.Round(nUDXIPorts.Value, 0); + } } public class ThemeUtil diff --git a/DS4Tool/DS4Form.resx b/DS4Tool/DS4Form.resx index c293078..00de078 100644 --- a/DS4Tool/DS4Form.resx +++ b/DS4Tool/DS4Form.resx @@ -7639,7 +7639,7 @@ Export - 189, 224 + 189, 246 cMProfile @@ -7931,7 +7931,7 @@ 2 - + True @@ -7959,7 +7959,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 0 @@ -7989,7 +7989,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 1 @@ -8019,7 +8019,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 2 @@ -8049,7 +8049,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 3 @@ -8079,7 +8079,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 4 @@ -8187,7 +8187,7 @@ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 5 @@ -8217,7 +8217,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 6 @@ -8247,7 +8247,7 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 7 @@ -8274,16 +8274,127 @@ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings 8 + + Left + + + True + + + NoControl + + + 3, 3 + + + 86, 13 + + + 0 + + + Use Xinput Ports + + + lbUseXIPorts + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlXIPorts + + + 0 + + + Left + + + 93, 1 + + + 44, 20 + + + 42 + + + nUDXIPorts + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlXIPorts + + + 1 + + + Left + + + True + + + NoControl + + + 143, 3 + + + 19, 13 + + + 0 + + + - 4 + + + lbLastXIPort + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlXIPorts + + + 2 + + + 10, 222 + + + 186, 22 + + + 44 + + + pnlXIPorts + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPSettings + + + 9 + NoControl - 10, 219 + 10, 247 65, 13 @@ -8301,16 +8412,16 @@ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings - 9 + 10 NoControl - 10, 232 + 10, 260 116, 13 @@ -8331,16 +8442,16 @@ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings - 10 + 11 NoControl - 10, 245 + 10, 273 115, 13 @@ -8358,16 +8469,16 @@ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings - 11 + 12 NoControl - 10, 258 + 10, 286 106, 13 @@ -8388,16 +8499,16 @@ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings - 12 + 13 NoControl - 10, 271 + 10, 299 70, 13 @@ -8415,39 +8526,39 @@ System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - flowLayoutPanel1 + fLPSettings - 13 + 14 - + Fill - + TopDown - + 3, 3 - + 7, 7, 0, 9 - + 890, 353 - + 0 - - flowLayoutPanel1 + + fLPSettings - + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tabSettings - + 0 diff --git a/DS4Tool/Options.cs b/DS4Tool/Options.cs index 3b6d6e9..83ed598 100644 --- a/DS4Tool/Options.cs +++ b/DS4Tool/Options.cs @@ -82,19 +82,22 @@ namespace DS4Windows root.lbLastMessage.ForeColor = Color.Black; root.lbLastMessage.Text = "Hover over items to see description or more about"; foreach (System.Windows.Forms.Control control in Controls) + { if (control.HasChildren) foreach (System.Windows.Forms.Control ctrl in control.Controls) + { if (ctrl.HasChildren) foreach (System.Windows.Forms.Control ctrl2 in ctrl.Controls) + { if (ctrl2.HasChildren) foreach (System.Windows.Forms.Control ctrl3 in ctrl2.Controls) ctrl3.MouseHover += Items_MouseHover; - else - ctrl2.MouseHover += Items_MouseHover; - else - ctrl.MouseHover += Items_MouseHover; - else - control.MouseHover += Items_MouseHover; + ctrl2.MouseHover += Items_MouseHover; + } + ctrl.MouseHover += Items_MouseHover; + } + control.MouseHover += Items_MouseHover; + } if (device < 4) nUDSixaxis.Value = deviceNum + 1; diff --git a/DS4Tool/Properties/AssemblyInfo.cs b/DS4Tool/Properties/AssemblyInfo.cs index 21149e8..bb7a751 100644 --- a/DS4Tool/Properties/AssemblyInfo.cs +++ b/DS4Tool/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.4.16")] -[assembly: AssemblyFileVersion("1.4.16")] +[assembly: AssemblyVersion("1.4.161")] +[assembly: AssemblyFileVersion("1.4.161")] diff --git a/DS4Tool/Properties/Resources.resx b/DS4Tool/Properties/Resources.resx index 87a0954..d84fe5e 100644 --- a/DS4Tool/Properties/Resources.resx +++ b/DS4Tool/Properties/Resources.resx @@ -584,6 +584,9 @@ Test - Cannot move files, to new location, Please close out of any profiles in external programs + Cannot move files to new location, Please rename the DS4Tool folder to "DS4Windows" + + + Use higher ports if you get conflicts in other emulating X360 programs, such as SCP's tool \ No newline at end of file diff --git a/DS4Tool/Properties/Resources1.Designer.cs b/DS4Tool/Properties/Resources1.Designer.cs index fc3114b..39d1ed4 100644 --- a/DS4Tool/Properties/Resources1.Designer.cs +++ b/DS4Tool/Properties/Resources1.Designer.cs @@ -184,7 +184,7 @@ namespace DS4Windows.Properties { } /// - /// Looks up a localized string similar to Cannot move files, to new location, Please close out of any profiles in external programs. + /// Looks up a localized string similar to Cannot move files to new location, Please rename the DS4Tool folder to "DS4Windows". /// internal static string CannotMoveFiles { get { @@ -1504,6 +1504,15 @@ namespace DS4Windows.Properties { } } + /// + /// Looks up a localized string similar to Use higher ports if you get conflicts in other emulating X360 programs, such as SCP's tool. + /// + internal static string XinputPorts { + get { + return ResourceManager.GetString("XinputPorts", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/DS4Tool/SaveWhere.cs b/DS4Tool/SaveWhere.cs index afb0c0e..4adb9ba 100644 --- a/DS4Tool/SaveWhere.cs +++ b/DS4Tool/SaveWhere.cs @@ -36,7 +36,7 @@ namespace DS4Windows Global.SaveWhere(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName); if (multisaves && !cBDeleteOther.Checked) { - try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool", true); } + try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows", true); } catch { } } else if (!multisaves) @@ -56,8 +56,8 @@ namespace DS4Windows } catch (UnauthorizedAccessException) { MessageBox.Show("Cannot Delete old settings, please manaully delete", "DS4Windows"); } else if (!multisaves) - Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Profiles.xml"); - Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool"); + Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows\\Profiles.xml"); + Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows"); Close(); }