From 1faee5706c111db993503f8ed9fb4c8120c08631 Mon Sep 17 00:00:00 2001 From: Geroyuni Date: Wed, 25 Jul 2018 10:23:50 -0300 Subject: [PATCH 1/7] Update README.md Some suggestions to improve readme. Implement whatever you feel is good --- README.md | 54 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 2e4f4f8..03c53e4 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,35 @@ Like those other ds4tools, but sexier. -DS4Windows is an extract anywhere program that allows you to get the best DualShock 4 experience on your PC. By emulating a Xbox 360 controller, many more games are accessible. - -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.5.0_UdpServer_x64.zip -http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_UdpServer_x64.zip - -ViGEm build. - -http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_x64.zip +DS4Windows is an extract anywhere program that allows you to get the best +DualShock 4 experience on your PC. By emulating a Xbox 360 controller, many +more games are accessible. This project is a fork of the work of Jays2Kings. You can find the old project website at [ds4windows.com](http://ds4windows.com). +## Downloads + +- **[Main builds of DS4Windows](https://github.com/Ryochan7/DS4Windows/releases)** +- 1.5.0 alternative builds: + - [UdpServer build (for Gyro motion controls in Cemu Emulator)](http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_UdpServer_x64.zip) + - [UdpServer ViGEm build](http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_UdpServer_x64.zip) + - [ViGEm build](http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_x64.zip) + ## Requirements - Windows 7 SP1 or newer -- [Microsoft .NET 4.6.1 or higher (needed to unzip the driver and for macros to work properly)](https://www.microsoft.com/en-us/download/details.aspx?id=49982) -- SCP Virtual Bus Driver (Downloaded & Installed with DS4Windows) -- Microsoft 360 Driver (link inside DS4Windows, already installed on Windows 7 SP1 and higher or if you've used a 360 controller before) -- Sony DualShock 4 (This should be obvious) -- Micro USB cable -- (Optional)Bluetooth 2.1+, via adapter or built in pc [(My recommendation)](https://www.newegg.com/Product/Product.aspx?Item=N82E16833166126) (Toshiba's bluetooth adapters currently do not work) +- [Microsoft .NET 4.6.1 or higher (needed to unzip the driver and for macros to +work properly)](https://www.microsoft.com/en-us/download/details.aspx?id=49982) +- SCP Virtual Bus Driver (DS4Windows will install it for you) +- Microsoft 360 Driver (link inside DS4Windows, already installed by Windows if +you've used a 360 controller before) +- Sony DualShock 4 🤔 +- Connection method: + - Micro USB cable + - Bluetooth 2.1+ (via an + [adapter like this](https://www.newegg.com/Product/Product.aspx?Item=N82E16833166126) + or built in pc). Toshiba's adapters currently do not work. ## Device Detection Issue @@ -38,12 +42,11 @@ works then. Although this problem mainly affected versions of DS4Windows prior to 1.4.109 when using some applications, other mapping programs can cause the same problem to occur. - If you suspect that your DS4 has been disabled, open the Device Manager (Control Panel\Hardware and Sound\Device Manager) and look for devices listed under the path "Human Interface Devices\HID-compliant game controller". -![Disabled Device Example](https://raw.githubusercontent.com/Ryochan7/DS4Windows/jay/disabled_device_example_small.png) +![Disabled Device Example](https://i.imgur.com/KI3QX2i.png) If the icon shown for a device has a down arrow icon then you should check the device's device instance path and see if the device is a @@ -65,9 +68,8 @@ rejected if no reasonable solution can be found to incorporate code changes. If you would like to send some coin my way, here are some means by which to do so. -Bitcoin: 1DnMJwjdd7JRfHJap2mmTmADYm38SzR2z9 -Dogecoin: D9fhbXp9bCHEhuS8vX1BmVu6t7Y2nVNUCK -Litecoin: La5mniW7SFMH2RhqDgUty3RwkBSYbjbnJ6 -Monero: 49RvRMiMewaeez1Y2auxHmfMaAUYfhUpBem4ohzRJd9b5acPcxzh1icjnhZfjnYd1S7NQ57reQ7cP1swGre3rpfzUgJhEB7 -PayPal: https://paypal.me/ryochan7 - +**Bitcoin:** 1DnMJwjdd7JRfHJap2mmTmADYm38SzR2z9 +**Dogecoin:** D9fhbXp9bCHEhuS8vX1BmVu6t7Y2nVNUCK +**Litecoin:** La5mniW7SFMH2RhqDgUty3RwkBSYbjbnJ6 +**Monero:** 49RvRMiMewaeez1Y2auxHmfMaAUYfhUpBem4ohzRJd9b5acPcxzh1icjnhZfjnYd1S7NQ57reQ7cP1swGre3rpfzUgJhEB7 +**PayPal:** https://paypal.me/ryochan7 From 106afc91760f7f022dbbc848102172dc4cde7c1f Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 11 Aug 2018 02:53:29 -0500 Subject: [PATCH 2/7] Update url of alt build in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a24c7b..0464c48 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ You can find the latest and older versions [here](https://github.com/Ryochan7/DS ViGEm build with UdpServer included for using Gyro motion controls in Cemu. -http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.3_ViGEm_UdpServer_x64.zip +http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.4_ViGEm_UdpServer_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 3353b803c34a7e3bc301bfe6b264de4c77c64895 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 12 Aug 2018 01:06:02 -0500 Subject: [PATCH 3/7] Quick fix for UDP server memory leak Related to issue #388. --- DS4Windows/DS4Control/UdpServer.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DS4Windows/DS4Control/UdpServer.cs b/DS4Windows/DS4Control/UdpServer.cs index 93076f5..7e87fd8 100644 --- a/DS4Windows/DS4Control/UdpServer.cs +++ b/DS4Windows/DS4Control/UdpServer.cs @@ -177,6 +177,7 @@ namespace DS4Windows SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.RemoteEndPoint = clientEP; args.SetBuffer(packetData, 0, packetData.Length); + args.Completed += ClearSentData; try { udpSock.SendToAsync(args); } catch (Exception e) { } } @@ -634,6 +635,7 @@ namespace DS4Windows SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.RemoteEndPoint = cl; args.SetBuffer(outputData, 0, outputData.Length); + args.Completed += ClearSentData; try { udpSock.SendToAsync(args); } catch (SocketException ex) { } } @@ -642,5 +644,11 @@ namespace DS4Windows clientsList.Clear(); clientsList = null; } + + private void ClearSentData(object sender, SocketAsyncEventArgs args) + { + args.Dispose(); + args = null; + } } } From 30a7e3b2c0df958555ed76005b0d0e690326a9a5 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 12 Aug 2018 21:55:09 -0500 Subject: [PATCH 4/7] Minor tweak --- DS4Windows/DS4Forms/Options.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DS4Windows/DS4Forms/Options.cs b/DS4Windows/DS4Forms/Options.cs index d5d5f89..6fe5f3d 100644 --- a/DS4Windows/DS4Forms/Options.cs +++ b/DS4Windows/DS4Forms/Options.cs @@ -1671,9 +1671,8 @@ namespace DS4Windows inputtimer.Stop(); sixaxisTimer.Stop(); root.OptionsClosed(); - lVActions.ItemCheck -= this.lVActions_ItemCheck; Visible = false; - e.Cancel = true; + e.Cancel = false; } private void cBSlide_CheckedChanged(object sender, EventArgs e) From b2637753952cf121e51f4401f740f1fe234f1757 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Mon, 13 Aug 2018 01:09:11 -0500 Subject: [PATCH 5/7] Tweak --- DS4Windows/DS4Forms/DS4Form.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index 4a7dd6c..538674d 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -1536,17 +1536,12 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question toolStrip1.Visible = true; toolStrip1.Enabled = true; lbLastMessage.ForeColor = SystemColors.GrayText; - int lvDebugItemCount = lvDebug.Items.Count; - if (lvDebugItemCount > 0) - { - lbLastMessage.Text = lvDebug.Items[lvDebugItemCount - 1].SubItems[1].Text; - } opt.inputtimer.Stop(); opt.sixaxisTimer.Stop(); opt.Dock = DockStyle.None; tabProfiles.Controls.Remove(opt); - optPop = false; + optPop = false; opt = null; lBProfiles.Visible = true; } From 1ecd25c92605d5d8f669fd77f23fd79870786a7a Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Mon, 13 Aug 2018 01:58:00 -0500 Subject: [PATCH 6/7] Only stop timers once --- DS4Windows/DS4Forms/DS4Form.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index 538674d..2363e52 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -1537,8 +1537,6 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question toolStrip1.Enabled = true; lbLastMessage.ForeColor = SystemColors.GrayText; - opt.inputtimer.Stop(); - opt.sixaxisTimer.Stop(); opt.Dock = DockStyle.None; tabProfiles.Controls.Remove(opt); optPop = false; opt = null; From 96907c5a6a67c2fba29d5baaa14f7ef838b03e2c Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Mon, 13 Aug 2018 02:12:48 -0500 Subject: [PATCH 7/7] Version 1.5.5 --- 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 8b9d70f..6460f97 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.5.4")] -[assembly: AssemblyFileVersion("1.5.4")] +[assembly: AssemblyVersion("1.5.5")] +[assembly: AssemblyFileVersion("1.5.5")] [assembly: NeutralResourcesLanguage("en")]