From d4e48346a77712f82870c18360413f5c841ddbad Mon Sep 17 00:00:00 2001
From: Boria138 <boriabloger@protonmail.com>
Date: Thu, 11 Apr 2024 12:02:17 +0500
Subject: [PATCH] Fixed galium nine in flatpak

---
 data_from_portwine/scripts/functions_helper | 34 ++++++++++++++-------
 data_from_portwine/scripts/lang             |  4 +--
 2 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 56cb23b3..0147e37f 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -1910,21 +1910,33 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
         var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan="
         unset FIND_D3D_MODULE D3D_MODULE_PATH
         FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`
-        if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
-            old_IFS=$IFS
-            IFS=$'\n'
-            for D3D_MP in $FIND_D3D_MODULE ; do
+        FLATPAK_D3D_MODULES_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d
+                                  /usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
+        if ! check_flatpak ; then
+            if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
+                old_IFS=$IFS
+                IFS=$'\n'
+                for D3D_MP in $FIND_D3D_MODULE ; do
+                    if [[ ! -z "$D3D_MODULE_PATH" ]]
+                    then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
+                    else export D3D_MODULE_PATH="/run/host${D3D_MP}"
+                    fi
+                done
+                IFS=$old_IFS
+                print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
+            else
+                pw_stop_progress_bar
+                yad_error "d3dadapter9.so.1.0.0 - ${loc_find_d3dadapter9_error}"
+                stop_portwine
+            fi
+        else
+            for D3D_MP in $FLATPAK_D3D_MODULES_PATH ; do
                 if [[ ! -z "$D3D_MODULE_PATH" ]]
-                then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
-                else export D3D_MODULE_PATH="/run/host${D3D_MP}"
+                then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/parent${D3D_MP}"
+                else export D3D_MODULE_PATH="/run/parent${D3D_MP}"
                 fi
             done
-            IFS=$old_IFS
             print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
-        else
-            pw_stop_progress_bar
-            yad_error "d3dadapter9.so.1.0.0 - ${loc_find_d3dadapter9_error}"
-            stop_portwine
         fi
         export mesa_glthread=true
         export ENABLE_VKBASALT=0
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index 3e5a0b1f..867e878a 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -285,7 +285,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
 	export PW_PFX_BACKUP_SUCCESS="Успешно создана резервная копия префикса:"
 	export PW_PFX_BACKUP_ERROR="Произошла ошибка во время создания резервной копии префикса:"
 
-	export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
+	export loc_find_d3dadapter9_error="Не найден в системе.\nУстановите недостающий пакет: d3dadapter9"
 
 	export loc_gui_create_shortcut_for_exe="Выберите .exe файл для которого необходимо создать ярлык и нажмите ОК.\n"
 
@@ -700,7 +700,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
 	export PW_PFX_BACKUP_SUCCESS="Backup has been successfully created for prefix:"
 	export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix:"
 
-	export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>"
+	export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: d3dadapter9"
 
 	export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"