From 7e8d3efc925e3d201d999de33f61d5c55b27c8a3 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Mon, 4 Jun 2018 14:21:10 -0500 Subject: [PATCH 01/13] Minor note about alt builds in README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 989a9c3..d01c428 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,15 @@ DS4Windows is an extract anywhere program that allows you to get the best DualSh You can find the latest and older versions [here](https://github.com/Ryochan7/DS4Windows/releases). +UdpServer builds for using Gyro motion controls in Cemu. + +http://ryochan7.xyz/ds4windows/test/DS4Windows_1.4.120_UdpServer_x64.zip +http://ryochan7.xyz/ds4windows/test/DS4Windows_1.4.120_ViGEm_UdpServer_x64.zip + +ViGEm build. + +http://ryochan7.xyz/ds4windows/test/DS4Windows_1.4.120_ViGEm_x64.zip + This project is a fork of the work of Jays2Kings. You can find the old project website at [ds4windows.com](http://ds4windows.com). From a855e67b1ad6e5c9fb745fbc145c1a9d0309d098 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Jun 2018 15:46:33 -0500 Subject: [PATCH 02/13] Use rs angle used for RY --- DS4Windows/DS4Library/DS4State.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DS4Windows/DS4Library/DS4State.cs b/DS4Windows/DS4Library/DS4State.cs index 66982eb..26d7cbe 100644 --- a/DS4Windows/DS4Library/DS4State.cs +++ b/DS4Windows/DS4Library/DS4State.cs @@ -166,7 +166,7 @@ namespace DS4Windows rsangle = (rsangle >= 0 ? rsangle : (2 * Math.PI + rsangle)) * 180 / Math.PI; RSAngle = rsangle; RXUnit = Math.Abs(Math.Cos(RSAngleRad)); - RYUnit = Math.Abs(Math.Sin(LSAngleRad)); + RYUnit = Math.Abs(Math.Sin(RSAngleRad)); } public void rotateLSCoordinates(double rotation) From 25b2adc8e5a02941a29565f3e836be6b17cd23e4 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Jun 2018 16:12:11 -0500 Subject: [PATCH 03/13] Corrected stick angles and stick dir unit values --- DS4Windows/DS4Control/Mapping.cs | 32 +++++++++++++++---------------- DS4Windows/DS4Library/DS4State.cs | 4 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index 133c607..2159bb1 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -3125,49 +3125,49 @@ namespace DS4Windows case DS4Controls.LXNeg: { double angle = cState.LSAngle; - result = cState.LX < 127 && (angle >= 210 && angle <= 330); + result = cState.LX < 127 && (angle >= 112.5 && angle <= 247.5); break; } case DS4Controls.LYNeg: { double angle = cState.LSAngle; - result = cState.LY < 127 && (angle >= 300 || angle <= 60); + result = cState.LY < 127 && (angle >= 22.5 && angle <= 157.5); break; } case DS4Controls.RXNeg: { double angle = cState.RSAngle; - result = cState.RX < 127 && (angle >= 210 && angle <= 330); + result = cState.RX < 127 && (angle >= 112.5 && angle <= 247.5); break; } case DS4Controls.RYNeg: { double angle = cState.RSAngle; - result = cState.RY < 127 && (angle >= 300 || angle <= 60); + result = cState.RY < 127 && (angle >= 22.5 && angle <= 157.5); break; } case DS4Controls.LXPos: { double angle = cState.LSAngle; - result = cState.LX > 127 && (angle >= 30 && angle <= 150); + result = cState.LX > 127 && (angle <= 67.5 || angle >= 292.5); break; } case DS4Controls.LYPos: { double angle = cState.LSAngle; - result = cState.LY > 127 && (angle >= 120 && angle <= 240); + result = cState.LY > 127 && (angle >= 202.5 && angle <= 337.5); break; } case DS4Controls.RXPos: { double angle = cState.RSAngle; - result = cState.RX > 127 && (angle >= 30 && angle <= 150); + result = cState.RX > 127 && (angle <= 67.5 || angle >= 292.5); break; } case DS4Controls.RYPos: { double angle = cState.RSAngle; - result = cState.RY > 127 && (angle >= 120 && angle <= 240); + result = cState.RY > 127 && (angle >= 202.5 && angle <= 337.5); break; } default: break; @@ -3255,7 +3255,7 @@ namespace DS4Windows if (!analog) { double angle = cState.LSAngle; - result = cState.LX < 127 && (angle >= 210 && angle <= 330); + result = cState.LX < 127 && (angle >= 112.5 && angle <= 247.5); } else { @@ -3269,7 +3269,7 @@ namespace DS4Windows if (!analog) { double angle = cState.LSAngle; - result = cState.LY < 127 && (angle >= 300 || angle <= 60); + result = cState.LY < 127 && (angle >= 22.5 && angle <= 157.5); } else { @@ -3283,7 +3283,7 @@ namespace DS4Windows if (!analog) { double angle = cState.RSAngle; - result = cState.RX < 127 && (angle >= 210 && angle <= 330); + result = cState.RX < 127 && (angle >= 112.5 && angle <= 247.5); } else { @@ -3297,7 +3297,7 @@ namespace DS4Windows if (!analog) { double angle = cState.RSAngle; - result = cState.RY < 127 && (angle >= 300 || angle <= 60); + result = cState.RY < 127 && (angle >= 22.5 && angle <= 157.5); } else { @@ -3311,7 +3311,7 @@ namespace DS4Windows if (!analog) { double angle = cState.LSAngle; - result = cState.LX > 127 && (angle >= 30 && angle <= 150); + result = cState.LX > 127 && (angle <= 67.5 || angle >= 292.5); } else { @@ -3325,7 +3325,7 @@ namespace DS4Windows if (!analog) { double angle = cState.LSAngle; - result = cState.LY > 127 && (angle >= 120 && angle <= 240); + result = cState.LY > 127 && (angle >= 202.5 && angle <= 337.5); } else { @@ -3339,7 +3339,7 @@ namespace DS4Windows if (!analog) { double angle = cState.RSAngle; - result = cState.RX > 127 && (angle >= 30 && angle <= 150); + result = cState.RX > 127 && (angle <= 67.5 || angle >= 292.5); } else { @@ -3353,7 +3353,7 @@ namespace DS4Windows if (!analog) { double angle = cState.RSAngle; - result = cState.RY > 127 && (angle >= 120 && angle <= 240); + result = cState.RY > 127 && (angle >= 202.5 && angle <= 337.5); } else { diff --git a/DS4Windows/DS4Library/DS4State.cs b/DS4Windows/DS4Library/DS4State.cs index 26d7cbe..c909780 100644 --- a/DS4Windows/DS4Library/DS4State.cs +++ b/DS4Windows/DS4Library/DS4State.cs @@ -154,14 +154,14 @@ namespace DS4Windows public void calculateStickAngles() { - double lsangle = Math.Atan2((LX - 127), -(LY - 127)); + double lsangle = Math.Atan2(-(LY - 127), (LX - 127)); LSAngleRad = lsangle; lsangle = (lsangle >= 0 ? lsangle : (2 * Math.PI + lsangle)) * 180 / Math.PI; LSAngle = lsangle; LXUnit = Math.Abs(Math.Cos(LSAngleRad)); LYUnit = Math.Abs(Math.Sin(LSAngleRad)); - double rsangle = Math.Atan2((RX - 127), -(RY - 127)); + double rsangle = Math.Atan2(-(RY - 127), (RX - 127)); RSAngleRad = rsangle; rsangle = (rsangle >= 0 ? rsangle : (2 * Math.PI + rsangle)) * 180 / Math.PI; RSAngle = rsangle; From b364330f50604e1adbec0907e671a9fb06102058 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Jun 2018 16:16:38 -0500 Subject: [PATCH 04/13] Fixed enhanced precision stick curves --- DS4Windows/DS4Control/Mapping.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index 2159bb1..192aab4 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -783,7 +783,7 @@ namespace DS4Windows } else if (absX <= 0.75) { - outputX = absX - 0.24; + outputX = absX - 0.2344; } else if (absX > 0.75) { @@ -796,7 +796,7 @@ namespace DS4Windows } else if (absY <= 0.75) { - outputY = absY - 0.24; + outputY = absY - 0.2344; } else if (absY > 0.75) { From 475723653dfa7ea0fdc24b3dadb7779766fc1349 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Thu, 7 Jun 2018 15:33:02 -0500 Subject: [PATCH 05/13] Changed logic for implicit stick mouse dead zone Only force the implicit dead zone if the setting is set to 0. Lower settings than the implicit dead zone are now possible for looser aiming --- DS4Windows/DS4Control/Mapping.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index 192aab4..bb452cc 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -2475,12 +2475,12 @@ namespace DS4Windows { int controlnum = DS4ControltoInt(control); - int deadzoneL = 3; - int deadzoneR = 3; - if (getLSDeadzone(device) >= 3) - deadzoneL = 0; - if (getRSDeadzone(device) >= 3) - deadzoneR = 0; + int deadzoneL = 0; + int deadzoneR = 0; + if (getLSDeadzone(device) == 0) + deadzoneL = 3; + if (getRSDeadzone(device) == 0) + deadzoneR = 3; double value = 0.0; int speed = ButtonMouseSensitivity[device]; From 8989333cdc9bc173380ea95586099106299b62ff Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 10 Jun 2018 17:25:53 -0500 Subject: [PATCH 06/13] Add device info for a generic DS4 gamepad Related to issue #312 --- DS4Windows/DS4Library/DS4Devices.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DS4Windows/DS4Library/DS4Devices.cs b/DS4Windows/DS4Library/DS4Devices.cs index 4ff8d6e..d0e7199 100644 --- a/DS4Windows/DS4Library/DS4Devices.cs +++ b/DS4Windows/DS4Library/DS4Devices.cs @@ -40,7 +40,8 @@ namespace DS4Windows new VidPidInfo(SONY_VID, 0x09CC), new VidPidInfo(RAZER_VID, 0x1000), new VidPidInfo(NACON_VID, 0x0D01), - new VidPidInfo(HORI_VID, 0x00EE) // Hori PS4 Mini Wired Gamepad + new VidPidInfo(HORI_VID, 0x00EE), // Hori PS4 Mini Wired Gamepad + new VidPidInfo(0x7545, 0x0104) }; private static string devicePathToInstanceId(string devicePath) From 600818a3c0b6bb5c1b0b2ea26ce2d2957c0597f1 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 17 Jun 2018 19:52:36 -0500 Subject: [PATCH 07/13] Changed enhanced precision curves --- DS4Windows/DS4Control/Mapping.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index bb452cc..2c6c94d 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -779,28 +779,28 @@ namespace DS4Windows if (absX <= 0.4) { - outputX = 0.414 * absX; + outputX = 0.43 * absX; } else if (absX <= 0.75) { - outputX = absX - 0.2344; + outputX = absX - 0.228; } else if (absX > 0.75) { - outputX = (absX * 1.9376) - 0.9376; + outputX = (absX * 1.912) - 0.912; } if (absY <= 0.4) { - outputY = 0.414 * absY; + outputY = 0.43 * absY; } else if (absY <= 0.75) { - outputY = absY - 0.2344; + outputY = absY - 0.228; } else if (absY > 0.75) { - outputY = (absY * 1.9376) - 0.9376; + outputY = (absY * 1.912) - 0.912; } dState.LX = (byte)(outputX * signX * 127.5 + 127.5); From e0d7f1ed1497aeedb860ee39f14f3d7bc0000ca2 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 19 Jun 2018 00:04:30 -0500 Subject: [PATCH 08/13] Make sure controller reading can be started when switching auto profiles Related to issue #325. --- DS4Windows/DS4Forms/DS4Form.cs | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index 4ecede8..b578212 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -449,7 +449,8 @@ namespace DS4Windows { if (Index < ControlService.DS4_CONTROLLER_COUNT) { - statPB[Index].Visible = false; toolTip1.SetToolTip(statPB[Index], ""); + statPB[Index].Visible = false; + toolTip1.SetToolTip(statPB[Index], ""); Batteries[Index].Text = Properties.Resources.NA; Pads[Index].Text = Properties.Resources.Disconnected; Enable_Controls(Index, false); @@ -594,10 +595,24 @@ namespace DS4Windows turnOffTemp = true; if (btnStartStop.Text == Properties.Resources.StopText) { - BtnStartStop_Clicked(); - hotkeysTimer.Start(); - autoProfilesTimer.Start(); - btnStartStop.Text = Properties.Resources.StartText; + autoProfilesTimer.Stop(); + hotkeysTimer.Stop(); + + this.Invoke((System.Action)(() => { + this.changingService = true; + BtnStartStop_Clicked(); + })); + + while (this.changingService) + { + Thread.SpinWait(500); + } + + this.Invoke((System.Action)(() => + { + hotkeysTimer.Start(); + autoProfilesTimer.Start(); + })); } } @@ -620,8 +635,10 @@ namespace DS4Windows turnOffTemp = false; if (btnStartStop.Text == Properties.Resources.StartText) { - BtnStartStop_Clicked(); - btnStartStop.Text = Properties.Resources.StopText; + this.BeginInvoke((System.Action)(() => + { + BtnStartStop_Clicked(); + })); } } } From 99bede4448510af6d3934972b9490398d8434d8f Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 19 Jun 2018 01:09:52 -0500 Subject: [PATCH 09/13] Make comboboxes not accept keyboard input for profile switching Related to issue #281 --- DS4Windows/DS4Forms/DS4Form.cs | 10 +++++ DS4Windows/DS4Forms/DS4Form.resx | 70 ++++++++++++++++---------------- 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index b578212..3d5d824 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -402,6 +402,11 @@ namespace DS4Windows populateHoverTextDict(); + cBController1.KeyPress += CBController_KeyPress; + cBController2.KeyPress += CBController_KeyPress; + cBController3.KeyPress += CBController_KeyPress; + cBController4.KeyPress += CBController_KeyPress; + foreach (Control control in fLPSettings.Controls) { if (control.HasChildren) @@ -2534,6 +2539,11 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question Save(); } + private void CBController_KeyPress(object sender, KeyPressEventArgs e) + { + e.Handled = true; + } + private void cBFlashWhenLate_CheckedChanged(object sender, EventArgs e) { FlashWhenLate = cBFlashWhenLate.Checked; diff --git a/DS4Windows/DS4Forms/DS4Form.resx b/DS4Windows/DS4Forms/DS4Form.resx index b462c53..a428568 100644 --- a/DS4Windows/DS4Forms/DS4Form.resx +++ b/DS4Windows/DS4Forms/DS4Form.resx @@ -445,10 +445,10 @@ NoControl - 780, 89 + 775, 89 - 113, 22 + 118, 22 50 @@ -472,7 +472,7 @@ NoControl - 371, 34 + 368, 34 39, 20 @@ -574,7 +574,7 @@ NoControl - 740, 89 + 735, 89 34, 22 @@ -604,7 +604,7 @@ NoControl - 740, 117 + 735, 117 34, 22 @@ -703,7 +703,7 @@ None - 623, 33 + 618, 33 111, 21 @@ -730,7 +730,7 @@ NoControl - 740, 61 + 735, 61 34, 22 @@ -757,7 +757,7 @@ None - 623, 61 + 618, 61 111, 21 @@ -781,7 +781,7 @@ None - 623, 89 + 618, 89 111, 21 @@ -808,7 +808,7 @@ NoControl - 740, 33 + 735, 33 34, 22 @@ -835,7 +835,7 @@ None - 623, 117 + 618, 117 111, 21 @@ -868,7 +868,7 @@ NoControl - 624, 7 + 619, 7 109, 15 @@ -940,7 +940,7 @@ NoControl - 367, 7 + 364, 7 47, 15 @@ -976,7 +976,7 @@ NoControl - 467, 7 + 462, 7 51, 15 @@ -1012,7 +1012,7 @@ NoControl - 473, 36 + 468, 36 39, 15 @@ -1048,7 +1048,7 @@ NoControl - 473, 64 + 468, 64 39, 15 @@ -1084,7 +1084,7 @@ NoControl - 473, 92 + 468, 92 39, 15 @@ -1120,7 +1120,7 @@ NoControl - 473, 120 + 468, 120 39, 15 @@ -1150,7 +1150,7 @@ NoControl - 371, 62 + 368, 62 39, 20 @@ -1180,7 +1180,7 @@ NoControl - 371, 90 + 368, 90 39, 20 @@ -1210,7 +1210,7 @@ NoControl - 371, 118 + 368, 118 39, 20 @@ -1243,10 +1243,10 @@ NoControl - 780, 33 + 775, 33 - 113, 22 + 118, 22 50 @@ -1273,10 +1273,10 @@ NoControl - 780, 61 + 775, 61 - 113, 22 + 118, 22 51 @@ -1303,10 +1303,10 @@ NoControl - 780, 117 + 775, 117 - 113, 22 + 118, 22 52 @@ -1336,7 +1336,7 @@ NoControl - 546, 0 + 541, 0 67, 30 @@ -1375,7 +1375,7 @@ NoControl - 572, 37 + 567, 37 15, 14 @@ -1408,7 +1408,7 @@ NoControl - 572, 65 + 567, 65 15, 14 @@ -1441,7 +1441,7 @@ NoControl - 572, 93 + 567, 93 15, 14 @@ -1474,7 +1474,7 @@ NoControl - 572, 121 + 567, 121 15, 14 @@ -1522,7 +1522,7 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="bnLight3" Row="3" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="pBStatus1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbPad1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="bnEditC3" Row="3" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="bnEditC4" Row="4" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lbPad3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad4" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cBController1" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC2" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController2" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cBController3" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC1" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController4" Row="4" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbSelectedProfile" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbID" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbStatus" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbBattery" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt1" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt2" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt3" Row="3" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pBStatus2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus3" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus4" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="bnLight1" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight2" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight4" Row="4" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="lbLinkProfile" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB1" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB2" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB3" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB4" Row="4" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,62.29144,Percent,20.02225,Percent,17.68632,Absolute,80,AutoSize,0,AutoSize,0,Absolute,117" /><Rows Styles="AutoSize,0,Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="bnLight3" Row="3" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="pBStatus1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbPad1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="bnEditC3" Row="3" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="bnEditC4" Row="4" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lbPad3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad4" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cBController1" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC2" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController2" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cBController3" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC1" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController4" Row="4" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbSelectedProfile" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbID" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbStatus" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbBattery" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt1" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt2" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt3" Row="3" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pBStatus2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus3" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus4" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="bnLight1" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight2" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight4" Row="4" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="lbLinkProfile" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB1" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB2" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB3" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB4" Row="4" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,62.29144,Percent,20.02225,Percent,17.68632,Absolute,80,AutoSize,0,AutoSize,0,Absolute,122" /><Rows Styles="AutoSize,0,Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings> Fill @@ -2833,7 +2833,7 @@ languagePackComboBox1 - DS4Windows.DS4Forms.LanguagePackComboBox, DS4Windows, Version=1.4.119.0, Culture=neutral, PublicKeyToken=null + DS4Windows.DS4Forms.LanguagePackComboBox, DS4Windows, Version=1.4.120.0, Culture=neutral, PublicKeyToken=null fLPSettings @@ -3673,7 +3673,7 @@ advColorDialog - DS4Windows.AdvancedColorDialog, DS4Windows, Version=1.4.119.0, Culture=neutral, PublicKeyToken=null + DS4Windows.AdvancedColorDialog, DS4Windows, Version=1.4.120.0, Culture=neutral, PublicKeyToken=null DS4Form From 36aa91dca5876779a7d2c81256c9f9de465d0c9b Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 19 Jun 2018 02:33:11 -0500 Subject: [PATCH 10/13] Removed unused AlreadyRunning form Been wanting to remove this for a while. No performance degradation now --- .../DS4Forms/Alreadyrunning.Designer.cs | 48 ------- DS4Windows/DS4Forms/Alreadyrunning.cs | 36 ------ DS4Windows/DS4Forms/Alreadyrunning.resx | 120 ------------------ DS4Windows/DS4Windows.csproj | 9 -- 4 files changed, 213 deletions(-) delete mode 100644 DS4Windows/DS4Forms/Alreadyrunning.Designer.cs delete mode 100644 DS4Windows/DS4Forms/Alreadyrunning.cs delete mode 100644 DS4Windows/DS4Forms/Alreadyrunning.resx diff --git a/DS4Windows/DS4Forms/Alreadyrunning.Designer.cs b/DS4Windows/DS4Forms/Alreadyrunning.Designer.cs deleted file mode 100644 index 28ebf6e..0000000 --- a/DS4Windows/DS4Forms/Alreadyrunning.Designer.cs +++ /dev/null @@ -1,48 +0,0 @@ -namespace DS4Windows -{ - partial class Alreadyrunning - { - /// - /// 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() - { - this.SuspendLayout(); - // - // Alreadyrunning - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(226, 43); - this.Name = "Alreadyrunning"; - this.ShowInTaskbar = false; - this.Text = "Alreadyrunning"; - this.ResumeLayout(false); - - } - - #endregion - - } -} \ No newline at end of file diff --git a/DS4Windows/DS4Forms/Alreadyrunning.cs b/DS4Windows/DS4Forms/Alreadyrunning.cs deleted file mode 100644 index 195af0a..0000000 --- a/DS4Windows/DS4Forms/Alreadyrunning.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Diagnostics; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace DS4Windows -{ - public partial class Alreadyrunning : Form - { - Stopwatch sw; - - public Alreadyrunning() - { - InitializeComponent(); - this.WindowState = FormWindowState.Minimized; - Hide(); - Timer t = new Timer(); - t.Start(); - t.Tick += t_Tick; - sw = new Stopwatch(); - sw.Start(); - } - - void t_Tick(object sender, EventArgs e) - { - if (sw.ElapsedMilliseconds >= 10) - this.Close(); - } - } -} diff --git a/DS4Windows/DS4Forms/Alreadyrunning.resx b/DS4Windows/DS4Forms/Alreadyrunning.resx deleted file mode 100644 index 1af7de1..0000000 --- a/DS4Windows/DS4Forms/Alreadyrunning.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/DS4Windows/DS4Windows.csproj b/DS4Windows/DS4Windows.csproj index ba5bb6b..7e06a21 100644 --- a/DS4Windows/DS4Windows.csproj +++ b/DS4Windows/DS4Windows.csproj @@ -180,12 +180,6 @@ - - Form - - - Alreadyrunning.cs - Form @@ -261,9 +255,6 @@ - - Alreadyrunning.cs - DS4Form.cs Designer From 284011c913f61b95bcfdf822cc86b1dc851db4d0 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 23 Jun 2018 02:21:48 -0500 Subject: [PATCH 11/13] Do not remove auto profiles entries for currently uninstalled apps Related to issue #317. 5 hours for such a small change just because performance went south. .NET stinks. --- DS4Windows/DS4Forms/WinProgs.cs | 58 +++++++++++++++++---------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/DS4Windows/DS4Forms/WinProgs.cs b/DS4Windows/DS4Forms/WinProgs.cs index c4bccac..13f4084 100644 --- a/DS4Windows/DS4Forms/WinProgs.cs +++ b/DS4Windows/DS4Forms/WinProgs.cs @@ -25,6 +25,10 @@ namespace DS4Windows List programpaths = new List(); List lodsf = new List(); bool appsloaded = false; + const string steamCommx86Loc = @"C:\Program Files (x86)\Steam\steamapps\common"; + const string steamCommLoc = @"C:\Program Files\Steam\steamapps\common"; + const string originx86Loc = @"C:\Program Files (x86)\Origin Games"; + const string originLoc = @"C:\Program Files\Origin Games"; public WinProgs(string[] oc, DS4Form main) { @@ -44,17 +48,17 @@ namespace DS4Windows LoadP(); - if (Directory.Exists(@"C:\Program Files (x86)\Steam\steamapps\common")) - steamgamesdir = @"C:\Program Files (x86)\Steam\steamapps\common"; - else if (Directory.Exists(@"C:\Program Files\Steam\steamapps\common")) - steamgamesdir = @"C:\Program Files\Steam\steamapps\common"; + if (Directory.Exists(steamCommx86Loc)) + steamgamesdir = steamCommx86Loc; + else if (Directory.Exists(steamCommLoc)) + steamgamesdir = steamCommLoc; else cMSPrograms.Items.Remove(addSteamGamesToolStripMenuItem); - if (Directory.Exists(@"C:\Program Files (x86)\Origin Games")) - origingamesdir = @"C:\Program Files (x86)\Origin Games"; - else if (Directory.Exists(@"C:\Program Files\Origin Games")) - origingamesdir = @"C:\Program Files\Origin Games"; + if (Directory.Exists(originx86Loc)) + origingamesdir = originx86Loc; + else if (Directory.Exists(originLoc)) + origingamesdir = originLoc; else cMSPrograms.Items.Remove(addOriginGamesToolStripMenuItem); } @@ -105,26 +109,26 @@ namespace DS4Windows programpaths.Add(x.Attributes["path"].Value); lVPrograms.BeginUpdate(); + int index = 0; foreach (string st in programpaths) { - if (File.Exists(st)) + if (!string.IsNullOrEmpty(st)) { - int index = programpaths.IndexOf(st); - if (string.Empty != st) + if (File.Exists(st)) { iLIcons.Images.Add(Icon.ExtractAssociatedIcon(st)); - ListViewItem lvi = new ListViewItem(Path.GetFileNameWithoutExtension(st), index); - lvi.SubItems.Add(st); - lvi.Checked = true; - lvi.ToolTipText = st; - lVPrograms.Items.Add(lvi); } + + ListViewItem lvi = new ListViewItem(Path.GetFileNameWithoutExtension(st), index); + lvi.Checked = true; + lvi.ToolTipText = st; + lvi.SubItems.Add(st); + lVPrograms.Items.Add(lvi); } - else - { - RemoveP(st, false, false); - } + + index++; } + lVPrograms.EndUpdate(); } @@ -172,7 +176,7 @@ namespace DS4Windows appsloaded = true; } - void addLoadedApps() + void AddLoadedApps() { if (appsloaded) { @@ -298,7 +302,7 @@ namespace DS4Windows } } - public void RemoveP(string name, bool uncheck, bool reload = true) + public void RemoveP(string name, bool uncheck) { XmlDocument doc = new XmlDocument(); doc.Load(m_Profile); @@ -316,8 +320,6 @@ namespace DS4Windows cbs[i].SelectedIndex = cbs[i].Items.Count - 1; bnSave.Enabled = false; - if (reload) - form.LoadP(); } private void CBProfile_IndexChanged(object sender, EventArgs e) @@ -388,7 +390,7 @@ namespace DS4Windows bnAddPrograms.Enabled = false; cMSPrograms.Items.Remove(addSteamGamesToolStripMenuItem); await Task.Run(() => GetApps(steamgamesdir)); - addLoadedApps(); + AddLoadedApps(); } private async void addDirectoryToolStripMenuItem_Click(object sender, EventArgs e) @@ -399,7 +401,7 @@ namespace DS4Windows bnAddPrograms.Text = Properties.Resources.Loading; bnAddPrograms.Enabled = false; await Task.Run(() => GetApps(fbd.SelectedPath)); - addLoadedApps(); + AddLoadedApps(); } } @@ -427,7 +429,7 @@ namespace DS4Windows bnAddPrograms.Enabled = false; cMSPrograms.Items.Remove(addOriginGamesToolStripMenuItem); await Task.Run(() => GetApps(origingamesdir)); - addLoadedApps(); + AddLoadedApps(); } private async void addProgramsFromStartMenuToolStripMenuItem_Click(object sender, EventArgs e) @@ -436,7 +438,7 @@ namespace DS4Windows bnAddPrograms.Enabled = false; cMSPrograms.Items.Remove(addProgramsFromStartMenuToolStripMenuItem); await Task.Run(() => GetShortcuts(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) + "\\Programs")); - addLoadedApps(); + AddLoadedApps(); } public static string GetTargetPath(string filePath) From a74f58f7be7e4c827164034b3542eff60e53f693 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 23 Jun 2018 16:08:57 -0500 Subject: [PATCH 12/13] Remove drag drop importing of profiles. Good app speed boost. If drag drop import gets added again, put that functionality on the profile listview instead of the main app window --- DS4Windows/DS4Forms/DS4Form.Designer.cs | 2 - DS4Windows/DS4Forms/DS4Form.cs | 25 ---------- DS4Windows/DS4Forms/DS4Form.resx | 66 ++++++++++++------------- 3 files changed, 33 insertions(+), 60 deletions(-) diff --git a/DS4Windows/DS4Forms/DS4Form.Designer.cs b/DS4Windows/DS4Forms/DS4Form.Designer.cs index 7696707..7ca6929 100644 --- a/DS4Windows/DS4Forms/DS4Form.Designer.cs +++ b/DS4Windows/DS4Forms/DS4Form.Designer.cs @@ -1363,8 +1363,6 @@ this.Controls.Add(this.pnlButton); this.Name = "DS4Form"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ScpForm_Closing); - this.DragDrop += new System.Windows.Forms.DragEventHandler(this.ScpForm_DragDrop); - this.DragEnter += new System.Windows.Forms.DragEventHandler(this.ScpForm_DragEnter); this.Resize += new System.EventHandler(this.Form_Resize); this.pnlButton.ResumeLayout(false); this.pnlButton.PerformLayout(); diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index 3d5d824..25359e5 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -1858,31 +1858,6 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question } } - private void ScpForm_DragDrop(object sender, DragEventArgs e) - { - bool therewasanxml = false; - string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false); - for (int i = 0; i < files.Length; i++) - { - if (files[i].EndsWith(".xml")) - { - File.Copy(files[i], appdatapath + "\\Profiles\\" + Path.GetFileName(files[i]), true); - therewasanxml = true; - } - } - - if (therewasanxml) - RefreshProfiles(); - } - - private void ScpForm_DragEnter(object sender, DragEventArgs e) - { - if (e.Data.GetDataPresent(DataFormats.FileDrop)) - e.Effect = DragDropEffects.Copy; // Okay - else - e.Effect = DragDropEffects.None; // Unknown data, ignore it - } - private void tBProfile_TextChanged(object sender, EventArgs e) { if (tSTBProfile.Text != null && tSTBProfile.Text != "" && diff --git a/DS4Windows/DS4Forms/DS4Form.resx b/DS4Windows/DS4Forms/DS4Form.resx index a428568..6576b6f 100644 --- a/DS4Windows/DS4Forms/DS4Form.resx +++ b/DS4Windows/DS4Forms/DS4Form.resx @@ -445,10 +445,10 @@ NoControl - 775, 89 + 774, 89 - 118, 22 + 119, 22 50 @@ -472,7 +472,7 @@ NoControl - 368, 34 + 367, 34 39, 20 @@ -574,7 +574,7 @@ NoControl - 735, 89 + 734, 89 34, 22 @@ -604,7 +604,7 @@ NoControl - 735, 117 + 734, 117 34, 22 @@ -703,7 +703,7 @@ None - 618, 33 + 617, 33 111, 21 @@ -730,7 +730,7 @@ NoControl - 735, 61 + 734, 61 34, 22 @@ -757,7 +757,7 @@ None - 618, 61 + 617, 61 111, 21 @@ -781,7 +781,7 @@ None - 618, 89 + 617, 89 111, 21 @@ -808,7 +808,7 @@ NoControl - 735, 33 + 734, 33 34, 22 @@ -835,7 +835,7 @@ None - 618, 117 + 617, 117 111, 21 @@ -868,7 +868,7 @@ NoControl - 619, 7 + 618, 7 109, 15 @@ -940,7 +940,7 @@ NoControl - 364, 7 + 363, 7 47, 15 @@ -976,7 +976,7 @@ NoControl - 462, 7 + 461, 7 51, 15 @@ -1012,7 +1012,7 @@ NoControl - 468, 36 + 467, 36 39, 15 @@ -1048,7 +1048,7 @@ NoControl - 468, 64 + 467, 64 39, 15 @@ -1084,7 +1084,7 @@ NoControl - 468, 92 + 467, 92 39, 15 @@ -1120,7 +1120,7 @@ NoControl - 468, 120 + 467, 120 39, 15 @@ -1150,7 +1150,7 @@ NoControl - 368, 62 + 367, 62 39, 20 @@ -1180,7 +1180,7 @@ NoControl - 368, 90 + 367, 90 39, 20 @@ -1210,7 +1210,7 @@ NoControl - 368, 118 + 367, 118 39, 20 @@ -1243,10 +1243,10 @@ NoControl - 775, 33 + 774, 33 - 118, 22 + 119, 22 50 @@ -1273,10 +1273,10 @@ NoControl - 775, 61 + 774, 61 - 118, 22 + 119, 22 51 @@ -1303,10 +1303,10 @@ NoControl - 775, 117 + 774, 117 - 118, 22 + 119, 22 52 @@ -1336,7 +1336,7 @@ NoControl - 541, 0 + 540, 0 67, 30 @@ -1375,7 +1375,7 @@ NoControl - 567, 37 + 566, 37 15, 14 @@ -1408,7 +1408,7 @@ NoControl - 567, 65 + 566, 65 15, 14 @@ -1441,7 +1441,7 @@ NoControl - 567, 93 + 566, 93 15, 14 @@ -1474,7 +1474,7 @@ NoControl - 567, 121 + 566, 121 15, 14 @@ -1522,7 +1522,7 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="bnLight3" Row="3" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="pBStatus1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbPad1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="bnEditC3" Row="3" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="bnEditC4" Row="4" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lbPad3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad4" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cBController1" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC2" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController2" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cBController3" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC1" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController4" Row="4" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbSelectedProfile" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbID" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbStatus" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbBattery" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt1" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt2" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt3" Row="3" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pBStatus2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus3" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus4" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="bnLight1" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight2" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight4" Row="4" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="lbLinkProfile" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB1" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB2" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB3" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB4" Row="4" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,62.29144,Percent,20.02225,Percent,17.68632,Absolute,80,AutoSize,0,AutoSize,0,Absolute,122" /><Rows Styles="AutoSize,0,Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="bnLight3" Row="3" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="pBStatus1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbPad1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="bnEditC3" Row="3" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="bnEditC4" Row="4" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lbPad3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbPad4" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cBController1" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC2" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController2" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cBController3" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="bnEditC1" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="cBController4" Row="4" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbSelectedProfile" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lbID" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lbStatus" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lbBattery" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt1" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt2" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt3" Row="3" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lbBatt4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="pBStatus2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus3" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pBStatus4" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="bnLight1" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight2" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="bnLight4" Row="4" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="lbLinkProfile" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB1" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB2" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB3" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="linkCB4" Row="4" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,62.29144,Percent,20.02225,Percent,17.68632,Absolute,80,AutoSize,0,AutoSize,0,Absolute,124" /><Rows Styles="AutoSize,0,Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings> Fill From cc44352bd591d9945e3241841b2f58abdab822ce Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 24 Jun 2018 03:14:16 -0500 Subject: [PATCH 13/13] Version 1.4.121 --- DS4Windows/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/Properties/AssemblyInfo.cs b/DS4Windows/Properties/AssemblyInfo.cs index 149f758..b27f271 100644 --- a/DS4Windows/Properties/AssemblyInfo.cs +++ b/DS4Windows/Properties/AssemblyInfo.cs @@ -33,7 +33,7 @@ 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.120")] -[assembly: AssemblyFileVersion("1.4.120")] +[assembly: AssemblyVersion("1.4.121")] +[assembly: AssemblyFileVersion("1.4.121")] [assembly: NeutralResourcesLanguage("en")]