#!/bin/bash
# Author: PortWINE-Linux.ru
########################################################################
sszen() {
zenity --progress --title="Settings..." --text="Updating start parameters" --pulsate --auto-close --auto-kill --width=450
} 
########################################################################
. "$(dirname $(readlink -f "$0"))/runlib"
wget -T 2 --output-document="${link}/dxvk.tar.gz" $(curl —silent "https://api.github.com/repos/doitsujin/dxvk/releases/latest" | grep -Po '"browser_download_url": "\K.*?(?=")') | sszen 
if [ $? -eq 1 ]; then 
	zenity --error --title "Ошибка!" --text "Не удалось скачать скрипт установки DXVK, проверьте соединение с интернетом и повторите настройку запустив ярлык start_settings из каталога: \n\n"${PORT_WINE_PATH}/settings/"" --no-wrap
	exit 1; 
fi 
rm -f "${link}"/setup_dxvk.sh
tar -xzvf "${link}"/dxvk.tar.gz -C "${link}"
rm -f "${link}"/dxvk.tar.gz
mv "${link}"/dxvk-*/setup_dxvk.sh "${link}"/setup_dxvk.sh
rm -fr "${link}"/dxvk-*
start_settings=`zenity --title  "${ss_title}" --text "${ss_text}" --list --radiolist \
--column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}"  --width=600 --height=300 \
TRUE "${ss_default_1}" "${ss_default_2}" \
FALSE "OpenGL" "${ss_ogl_2}" \
FALSE "DXVK_latest" "AMD/Intel: latest: Nvidia: latest" \
FALSE "DXVK_1.2.3" "AMD/Intel: Mesa 19.1-git+: Nvidia: 418.52.05+" \
FALSE "DXVK_1.0.3" "AMD: Mesa 18.1.2+; Nvidia:396.24.02+" `

if [ $? -eq 1 ];then exit 1; fi
case $start_settings in
	"${ss_default_1}") 

bash "${link}/setup_dxvk.sh" "uninstall" | sszen 
if [ -e "${config_path}/dxvk" ]
then
	rm -f "${config_path}/dxvk"
else
	echo "DXVK is disabled"
fi

cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
xsd=\`zenity --title  "\${port_start1}" --text "\${port_start2}" --list --radiolist --height=260 \\
--column="\${inst_set}" --column "\${port_start3}" \\
TRUE "\${port_start4}" \\
FALSE "\${port_start8}"  \`

if [ \$? -eq 1 ];then exit 1; fi
case \$xsd in
	"\${port_start4}")
		START_PORTWINE
		WINE_DX_TO_OPENGL
		OPENGL_SET
		"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}" ;;

	"\${port_start8}")
		START_PORTWINE
		WINE_DX_TO_VULKAN 
		VULKAN_SET
		"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}" ;;

esac 

STOP_PORTWINE
EOF
;;
	"OpenGL") 

bash "${link}/setup_dxvk.sh" "uninstall" | sszen 
if [ -e "${config_path}/dxvk" ]
then
	rm -f "${config_path}/dxvk"
fi

cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_OPENGL
"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"
STOP_PORTWINE
EOF
;;
	"DXVK_1.0.3") 

bash "${link}/setup_dxvk.sh" "uninstall" | sszen 
sh "${link}/winetricks" -q --force dxvk103 | sszen 
echo "DXVK is enabled" > "${config_path}/dxvk"

cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN 
"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}" 
STOP_PORTWINE
EOF
;;
	"DXVK_1.2.3") 

bash "${link}/setup_dxvk.sh" "uninstall" | sszen 
sh "${link}/winetricks" -q --force dxvk123 | sszen 
echo "DXVK is enabled" > "${config_path}/dxvk"

cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN 
"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}" 
STOP_PORTWINE
EOF
;;
	"DXVK_latest") 

bash "${link}/setup_dxvk.sh" "uninstall" | sszen
sh "${link}/winetricks" -q --force dxvk | sszen
echo "DXVK is enabled" > "${config_path}/dxvk"

cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN 
"\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}" 
STOP_PORTWINE
EOF
;;

esac 
########################################################################