From 45a0c3a4ac103b8f0e32166c18d15df125d19db3 Mon Sep 17 00:00:00 2001
From: castro-fidel <tergoevm@gmail.com>
Date: Wed, 13 Oct 2021 16:41:20 +0300
Subject: [PATCH] ###Scripts version 2018###

---
 data_from_portwine/changelog                  |  4 ++
 data_from_portwine/scripts/functions_helper   |  2 +
 .../scripts/portwine_db/AnomalyLauncher       | 35 ++++++++++++++++++
 data_from_portwine/scripts/portwine_db/NFS    |  4 +-
 data_from_portwine/scripts/portwine_db/Origin |  2 +-
 .../scripts/portwine_db/UNDERTALE             | 37 +++++++++++++++++++
 .../scripts/portwine_db/fc3_blooddragon_d3d11 | 35 ++++++++++++++++++
 data_from_portwine/scripts/portwine_db/ghost  | 35 ++++++++++++++++++
 data_from_portwine/scripts/portwine_db/hulk   |  9 +++++
 .../scripts/portwine_db/sprally2              | 37 +++++++++++++++++++
 data_from_portwine/scripts/runlib             | 13 +++++--
 data_from_portwine/scripts/var                |  6 ++-
 12 files changed, 210 insertions(+), 9 deletions(-)
 create mode 100644 data_from_portwine/scripts/portwine_db/AnomalyLauncher
 mode change 100755 => 100644 data_from_portwine/scripts/portwine_db/NFS
 create mode 100644 data_from_portwine/scripts/portwine_db/UNDERTALE
 create mode 100644 data_from_portwine/scripts/portwine_db/fc3_blooddragon_d3d11
 create mode 100644 data_from_portwine/scripts/portwine_db/ghost
 create mode 100644 data_from_portwine/scripts/portwine_db/hulk
 create mode 100644 data_from_portwine/scripts/portwine_db/sprally2

diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog
index ca3210e5..de61b225 100755
--- a/data_from_portwine/changelog
+++ b/data_from_portwine/changelog
@@ -6,6 +6,10 @@
 * добавить комментарии описывающие функционал скриптов и db файлов
 * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
 -----------------------------------------
+###Scripts version 2018###
+* обновлен PROTON_GE до версии 6.19-2 включая DXVK и VKD3D
+* добавлено разделение версий MONO и GECKO для разных версий PROTON
+
 ###Scripts version 2017###
 * обновлены версия контейнера до libs_v18 
 * HOTFIX - восстановлена правильная работа gstreamer с играми VKD3D + PROTON_STEAM 
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 89c462f8..c12f1694 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -343,6 +343,7 @@ pw_download_libs () {
 }
 
 pw_download_mono () {
+    [ ${PW_WINE_USE} = "PROTON_GE" ] && export PW_MONO_VER="${PW_MONO_GE_VER}"
     if [ ! -d "${PORT_WINE_TMP_PATH}/mono/wine-mono-${PW_MONO_VER}" ] ; then
         export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${PW_MONO_VER}/wine-mono-${PW_MONO_VER}-x86.tar.xz"
         echo "######################################################"
@@ -362,6 +363,7 @@ pw_download_mono () {
 }
 
 pw_download_gecko () {
+    [ ${PW_WINE_USE} = "PROTON_GE" ] && export PW_GECKO_VER="${PW_GECKO_GE_VER}"
     if [ ! -d "${PORT_WINE_TMP_PATH}/gecko/wine-gecko-${PW_GECKO_VER}-x86" ] ; then
         export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${PW_GECKO_VER}/wine-gecko-${PW_GECKO_VER}-x86.tar.xz"
         echo "######################################################"
diff --git a/data_from_portwine/scripts/portwine_db/AnomalyLauncher b/data_from_portwine/scripts/portwine_db/AnomalyLauncher
new file mode 100644
index 00000000..123ed85b
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/AnomalyLauncher
@@ -0,0 +1,35 @@
+#!/bin/bash
+#Author: stalker
+#AnomalyLauncher.exe
+#Rating=1-5
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+export PW_DLL_INSTALL="d3dx10 d3dx11_42 d3dx11_43"               # Install DDL in port prefix (used winetricks) 
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+export PW_WINE_USE=proton_ge
+export PW_VULKAN_USE=dxvk
+export PW_DXR_ON=0
+export PW_VULKAN_NO_ASYNC=0
+export PW_USE_NVAPI=0
+export PW_OLD_GL_STRING=0
+export PW_HIDE_NVIDIA_GPU=0
+export PW_FORCE_USE_VSYNC=0
+export PW_VIRTUAL_DESKTOP=0
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+export ENABLE_VKBASALT=1
+##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
+##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
+export PW_NO_FSYNC=0
+export PW_NO_ESYNC=0
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+export PW_NO_WRITE_WATCH=0
+export PW_HEAP_DELAY_FREE=0
+export PW_WINE_ALLOW_XIM=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+export PW_WINEDBG_DISABLE=1
+export PW_USE_TERMINAL=0
+export PW_GUI_DISABLED_CS=0
+##add_in_start_portwine () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/NFS b/data_from_portwine/scripts/portwine_db/NFS
old mode 100755
new mode 100644
index 52bb5d06..f459727e
--- a/data_from_portwine/scripts/portwine_db/NFS
+++ b/data_from_portwine/scripts/portwine_db/NFS
@@ -1,8 +1,8 @@
 #!/bin/bash
-#Author: 
+#Author: kbp95
 #speed.exe 
 #Rating=5
 ################################################
 export PW_VULKAN_USE=0
 export LAUNCH_PARAMETERS=""
-
+export WINEDLLOVERRIDES="dinput8"
diff --git a/data_from_portwine/scripts/portwine_db/Origin b/data_from_portwine/scripts/portwine_db/Origin
index 742849b0..0266ee0b 100755
--- a/data_from_portwine/scripts/portwine_db/Origin
+++ b/data_from_portwine/scripts/portwine_db/Origin
@@ -6,7 +6,7 @@
 ##export PW_COMMENT_DB="blablabla"
 
 ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
-export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2017 d3dcompiler_43 d3dcompiler_47 d3dx9"               # Install DDL in port prefix (used winetricks) 
+export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2017 d3dcompiler_43 d3dcompiler_47 d3dx9 xact"               # Install DDL in port prefix (used winetricks) 
 ##export WINEDLLOVERRIDES="blabla=n,b"
 ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 
diff --git a/data_from_portwine/scripts/portwine_db/UNDERTALE b/data_from_portwine/scripts/portwine_db/UNDERTALE
new file mode 100644
index 00000000..edccefc1
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/UNDERTALE
@@ -0,0 +1,37 @@
+#!/bin/bash
+#Author: MrModer
+#UNDERTALE.exe
+#Rating=1-5
+########################################################
+export PW_WINE_USE=proton_steam
+export PW_VULKAN_USE=dxvk
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_WINE_USE=proton_ge                    # proton_steam or proton_ge
+##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL
+##export PW_DXR_ON=1
+##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
+##export PW_USE_NVAPI=0
+##export PW_OLD_GL_STRING=1
+##export PW_HIDE_NVIDIA_GPU=1
+##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_VIRTUAL_DESKTOP=1
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+export ENABLE_VKBASALT=0
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HEAP_DELAY_FREE=1
+##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_USE_TERMINAL=1                        # Force run in terminal
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
+##ADD_IN_START_PORTWINE () { commands ; }
+MANGOHUD_CONFIG=fps_limit=30
diff --git a/data_from_portwine/scripts/portwine_db/fc3_blooddragon_d3d11 b/data_from_portwine/scripts/portwine_db/fc3_blooddragon_d3d11
new file mode 100644
index 00000000..1c44a5eb
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/fc3_blooddragon_d3d11
@@ -0,0 +1,35 @@
+#!/bin/bash
+#Author: anonymous
+#fc3_blooddragon_d3d11.exe
+#Rating=1-5
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+export PW_DLL_INSTALL="corefonts"               # Install DDL in port prefix (used winetricks) 
+export WINEDLLOVERRIDES=xaudio2_7=n,b
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+export PW_WINE_USE=PROTON_GE
+export PW_VULKAN_USE=dxvk
+export PW_DXR_ON=0
+export PW_VULKAN_NO_ASYNC=0
+export PW_USE_NVAPI=0
+export PW_OLD_GL_STRING=0
+export PW_HIDE_NVIDIA_GPU=0
+export PW_FORCE_USE_VSYNC=0
+export PW_VIRTUAL_DESKTOP=0
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+export ENABLE_VKBASALT=0
+##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
+##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
+export PW_NO_FSYNC=0
+export PW_NO_ESYNC=1
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+export PW_NO_WRITE_WATCH=0
+export PW_HEAP_DELAY_FREE=0
+export PW_WINE_ALLOW_XIM=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+export PW_WINEDBG_DISABLE=1
+export PW_USE_TERMINAL=0
+export PW_GUI_DISABLED_CS=0
+##add_in_start_portwine () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/ghost b/data_from_portwine/scripts/portwine_db/ghost
new file mode 100644
index 00000000..16748f9c
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/ghost
@@ -0,0 +1,35 @@
+#!/bin/bash
+#Author: spider
+#ghost.exe
+#Rating=1-5
+########################################################
+export PW_VULKAN_USE=dxvk
+export PW_WINE_USE=proton_ge
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export PW_DXR_ON=1
+##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
+##export PW_USE_NVAPI=0
+##export PW_OLD_GL_STRING=1
+##export PW_HIDE_NVIDIA_GPU=1
+##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_VIRTUAL_DESKTOP=1
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+##export ENABLE_VKBASALT=1
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HEAP_DELAY_FREE=1
+##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_USE_TERMINAL=1                        # Force run in terminal
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/hulk b/data_from_portwine/scripts/portwine_db/hulk
new file mode 100644
index 00000000..7a990763
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/hulk
@@ -0,0 +1,9 @@
+#!/bin/bash
+#Author: Сергей 33(46)
+#hulk.exe 
+#Rating=1-5
+################################################
+export PW_VULKAN_USE=0
+export PW_WINDOWS_VER="XP"
+export LAUNCH_PARAMETERS="-d3d9"
+export PW_WINE_USE=proton_steam
diff --git a/data_from_portwine/scripts/portwine_db/sprally2 b/data_from_portwine/scripts/portwine_db/sprally2
new file mode 100644
index 00000000..5d0d4619
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/sprally2
@@ -0,0 +1,37 @@
+#!/bin/bash
+#Author: spider
+#sprally2.exe
+#Rating=1-5
+########################################################
+export PW_WINE_USE=proton_steam
+export PW_VULKAN_USE=0
+export PW_OLD_GL_STRING=1
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_WINE_USE=proton_ge                    # proton_steam or proton_ge
+##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL
+##export PW_DXR_ON=1
+##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
+##export PW_USE_NVAPI=0
+##export PW_OLD_GL_STRING=1
+##export PW_HIDE_NVIDIA_GPU=1
+##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_VIRTUAL_DESKTOP=1
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+##export ENABLE_VKBASALT=1
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HEAP_DELAY_FREE=1
+##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_USE_TERMINAL=1                        # Force run in terminal
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index a050a44a..ef12043f 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -20,6 +20,8 @@ fi
 start_portwine () {
     pw_check_and_download_wine "${PW_WINE_USE}" 
     init_wine_ver
+    pw_download_mono
+    pw_download_gecko
     pw_tray_icon &
     if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
 #    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ???
@@ -141,7 +143,7 @@ start_portwine () {
         else
             try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/system32/"
         fi
-        var_winedlloverride_update "nvapi,nvapi64=n"
+        var_winedlloverride_update "nvapi,nvapi64=n;nvcuda=b"
     else
         var_winedlloverride_update "nvapi,nvapi64="
     fi
@@ -311,7 +313,12 @@ start_portwine () {
             export __GL_SHADER_DISK_CACHE_SIZE=1000000000
         done
         var_winedlloverride_update "dxgi=b"
-        export VKD3D_FEATURE_LEVEL="12_0"
+        if [ "${WINEARCH}" != "win32" ] ; then
+            try_copy_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+            try_copy_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        else
+            try_copy_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        fi        
         echo "Use VKD3D-PROTON only (DX12 to vulkan)"
     else
         export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi"
@@ -478,8 +485,6 @@ if [ -z "${INSTALLING_PORT}" ] ; then
     . "${USER_CONF}"
     pw_port_update
     pw_download_libs
-    pw_download_mono
-    pw_download_gecko
     pw_init_db
     . "${USER_CONF}"
 fi
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index e72a4d62..f8ba92e9 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -1,6 +1,6 @@
 #!/bin/bash
 #Author: Castro-Fidel (PortWINE-Linux.ru)
-#SCRIPTS_NEXT_VERSION=2017
+#SCRIPTS_NEXT_VERSION=2018
 #PORT_NEXT_VERSION=97
 ########################################################################
 export PW_MANGOHUD=1
@@ -30,9 +30,11 @@ export PORTWINE_URL="http://portwine-linux.ru/"
 export GDK_BACKEND="x11"
 export PW_USE_GSTREAMER="1"
 export PW_PROTON_STEAM_VER="PROTON_STEAM_6.3-7"
-export PW_PROTON_GE_VER="PROTON_GE_6.16-1"
 export PW_MONO_VER="6.3.0"
 export PW_GECKO_VER="2.47.2"
+export PW_PROTON_GE_VER="PROTON_GE_6.19-2"
+export PW_MONO_GE_VER="6.4.0"
+export PW_GECKO_GE_VER="2.47.2"
 export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
 export WINE_WIN_START="start.exe /i /unix"
 export WINE_FULLSCREEN_FSR="1"