From 46b435af6d5c762a4f0b8ad2c5fc2fe5ba25c49c Mon Sep 17 00:00:00 2001
From: Htylol <dixperm909@yandex.ru>
Date: Sun, 28 Apr 2024 20:54:25 +0500
Subject: [PATCH] Drop lonely legacy dvxk 3d api and minor fixes

---
 data_from_portwine/scripts/functions_helper | 42 ++++++++++-----------
 data_from_portwine/scripts/start.sh         | 19 ++++------
 2 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index a6b029bb..685380ec 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -171,7 +171,6 @@ check_process () {
 }
 export -f check_process
 
-
 try_download () {
     local filename="$(basename "$1")"
     local dest="$2"
@@ -1509,7 +1508,6 @@ pw_create_unique_exe () {
     fi
 }
 
-
 start_portwine () {
     WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
     export WINEPREFIX
@@ -1917,23 +1915,13 @@ start_portwine () {
 
     unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_WINE_FILES PATH_TO_VKD3D_FILES PATH_TO_DXVK_FILES
     case "${PW_VULKAN_USE}" in
-        0)  # OPENGL
-            print_info "Use OpenGL"
+        0)  # WINED3D OPENGL
+            print_info "Use WINED3D OpenGL"
             export GL_YIELD="NOTHING"
             export mesa_glthread=true
             export WINE_D3D_CONFIG='renderer=gl'
             CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
             ;;
-        6)  # WINED3D VULKAN (DAMAVAND)
-            print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
-            CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
-            export WINE_D3D_CONFIG='renderer=vulkan'
-            ;;
-        7)  # LEGACY DXVK
-            print_info "DXVK v.${DXVK_LEGACY_VER} in use"
-            PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
-            CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
-            ;;
         1)  # STABLE DXVK AND VKD3D
             print_info "DXVK v.${DXVK_STABLE_VER} in use"
             print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
@@ -1944,8 +1932,7 @@ start_portwine () {
             CP_D8VK_FILES="d3d8"
             CP_WINE_FILES="d3d10_1 d3d10"
             ;;
-        2)
-            # NEWEST DXVK AND VKD3D
+        2)  # NEWEST DXVK AND VKD3D
             print_info "DXVK v.${DXVK_GIT_VER} in use"
             print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
@@ -2005,9 +1992,9 @@ start_portwine () {
                 export LIBGL_KOPPER_DRI2="1"
             fi
             ;;
-        5)  # DGVOODOO2 + LEGACY DXVK
+        5)  # LEGACY DXVK AND DGVOODOO2
             print_info "DXVK v.${DXVK_LEGACY_VER} in use"
-            print_info "DGVOODOO2 ${DGV2_VER} in use"
+            print_info "DGVOODOO2 v.${DGV2_VER} in use"
             CP_WINE_FILES="d3d8 d3d12 d3d12core"
             CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
@@ -2021,11 +2008,20 @@ start_portwine () {
 OutputAPI                            = d3d11_fl11_0
 [Glide]
 3DfxWatermark                       = false
-3DfxSplashScreen                    = false
 [DirectX]
 dgVoodooWatermark                   = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
             fi
-            var_winedlloverride_update ddraw=n
+            var_winedlloverride_update ddraw="n,b"
+            ;;
+        6)  # WINED3D VULKAN (DAMAVAND)
+            print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
+            CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
+            export WINE_D3D_CONFIG='renderer=vulkan'
+            ;;
+        7)  # LEGACY DXVK
+            print_info "DXVK v.${DXVK_LEGACY_VER} in use"
+            PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
+            CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
             ;;
     esac
 
@@ -3622,17 +3618,17 @@ portwine_start_debug () {
     echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/PortProton.log"
     echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
     if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
-        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OPENGL" >> "${PORT_WINE_PATH}/PortProton.log"
+        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then
         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then
         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then
-        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log"
+        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then
         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - OpenGL on MESA vulkan drivers" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "5" ]] ; then
-        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DGVOODOO2 (Glide 3dfx, DirectX 1-7 wrapper)" >> "${PORT_WINE_PATH}/PortProton.log"
+        echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER} and DGVOODOO2 v.${DGV2_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "6" ]] ; then
         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/PortProton.log"
     elif [[ "${PW_VULKAN_USE}" = "7" ]] ; then
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 892c3b2f..74c56b41 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -348,21 +348,19 @@ popd 1>/dev/null || fatal
 check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
 
 SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")"
-SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER} (Vulkan v1.1)"
+SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER}, DGVOODOO2 ${DGV2_VER} (Vulkan v1.1)"
 SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER} (Vulkan v1.2)"
 SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER} (Vulkan v1.3)"
 SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")"
 SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")"
-SORT_DGV2="$(eval_gettext "DGVOODOO2 (Glide 3dfx, DirectX 1-7 wrapper)")"
 
 case "${PW_VULKAN_USE}" in
-    0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
-    1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
-    3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_ZINK!$SORT_DGV2" ;;
-    4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_DGV2" ;;
-    5) PW_DEFAULT_VULKAN_USE="$SORT_DGV2!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
-    7) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_DGV2!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
-    *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
+    0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE" ;;
+    1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;;
+    5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;;
+    4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_NINE!$SORT_OPENGL" ;;
+    3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL" ;;
+    *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;;
 esac
 
 if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then
@@ -601,12 +599,11 @@ fi
 
 case "${VULKAN_MOD}" in
     "$SORT_OPENGL" )     export PW_VULKAN_USE="0" ;;
-    "$SORT_LEGACY" )     export PW_VULKAN_USE="7" ;;
     "$SORT_STABLE" )     export PW_VULKAN_USE="1" ;;
     "$SORT_NEWEST" )     export PW_VULKAN_USE="2" ;;
     "$SORT_G_NINE" )     export PW_VULKAN_USE="3" ;;
     "$SORT_G_ZINK" )     export PW_VULKAN_USE="4" ;;
-      "$SORT_DGV2" )     export PW_VULKAN_USE="5" ;;
+    "$SORT_LEGACY" )     export PW_VULKAN_USE="5" ;;
 esac
 
 init_wine_ver