From 2653924bf23d1ddd7c4fab62adec08b14ce82878 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 30 Dec 2023 14:24:26 -0600 Subject: [PATCH 1/3] Don't install/update ViGEmBus if 1.17 or later is already installed --- src_assets/windows/misc/gamepad/install-gamepad.bat | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src_assets/windows/misc/gamepad/install-gamepad.bat b/src_assets/windows/misc/gamepad/install-gamepad.bat index b4b63ca5d42..66acadcc3b3 100644 --- a/src_assets/windows/misc/gamepad/install-gamepad.bat +++ b/src_assets/windows/misc/gamepad/install-gamepad.bat @@ -1,6 +1,13 @@ @echo off setlocal enabledelayedexpansion +rem Check if a compatible version of ViGEmBus is already installed (1.17 or later) +set Version= +for /f "usebackq delims=" %%a in (`"wmic product where name='ViGEm Bus Driver' get Version /format:Textvaluelist"`) do ( + for /f "delims=" %%# in ("%%a") do set "%%#" +) +if /i %Version:~2,4% geq 17 exit /b 0 + rem Get temp directory set temp_dir=%temp%/Sunshine From 766157352be9e906d322d93f1f2f6650b14552ff Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 30 Dec 2023 15:15:47 -0600 Subject: [PATCH 2/3] Update src_assets/windows/misc/gamepad/install-gamepad.bat Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> --- .../windows/misc/gamepad/install-gamepad.bat | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src_assets/windows/misc/gamepad/install-gamepad.bat b/src_assets/windows/misc/gamepad/install-gamepad.bat index 66acadcc3b3..6502d790e0e 100644 --- a/src_assets/windows/misc/gamepad/install-gamepad.bat +++ b/src_assets/windows/misc/gamepad/install-gamepad.bat @@ -6,8 +6,27 @@ set Version= for /f "usebackq delims=" %%a in (`"wmic product where name='ViGEm Bus Driver' get Version /format:Textvaluelist"`) do ( for /f "delims=" %%# in ("%%a") do set "%%#" ) -if /i %Version:~2,4% geq 17 exit /b 0 +rem Extract Major and Minor versions +for /f "tokens=1,2 delims=." %%a in ("%Version%") do ( + set "MajorVersion=%%a" + set "MinorVersion=%%b" +) + +rem Compare the version to 1.17 +if /i !MajorVersion! gtr 1 goto skip +if /i !MajorVersion! equ 1 ( + if /i !MinorVersion! geq 17 ( + goto skip + ) +) +goto continue + +:skip +echo "The installed version is %Version%, no update needed. Exiting." +exit /b 0 + +:continue rem Get temp directory set temp_dir=%temp%/Sunshine From 3da57a27851c81ad2d96625a77016da2fb1770d9 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 30 Dec 2023 15:17:14 -0600 Subject: [PATCH 3/3] Fix name of pre-1.18 installer --- src_assets/windows/misc/gamepad/install-gamepad.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_assets/windows/misc/gamepad/install-gamepad.bat b/src_assets/windows/misc/gamepad/install-gamepad.bat index 6502d790e0e..cf164cb5109 100644 --- a/src_assets/windows/misc/gamepad/install-gamepad.bat +++ b/src_assets/windows/misc/gamepad/install-gamepad.bat @@ -3,7 +3,7 @@ setlocal enabledelayedexpansion rem Check if a compatible version of ViGEmBus is already installed (1.17 or later) set Version= -for /f "usebackq delims=" %%a in (`"wmic product where name='ViGEm Bus Driver' get Version /format:Textvaluelist"`) do ( +for /f "usebackq delims=" %%a in (`wmic product where "name='ViGEm Bus Driver' or name='Nefarius Virtual Gamepad Emulation Bus Driver'" get Version /format:Textvaluelist`) do ( for /f "delims=" %%# in ("%%a") do set "%%#" )