diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index adbb726..9743018 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -110,8 +110,8 @@ try_copy_file () {
export -f try_copy_file
try_copy_dir () {
- if [ ! -d "$1" ] ; then print_info "directory $1 not found for copy"
- elif [ -z "$2" ] ; then print_error "no way to copy directory $1"
+ if [ ! -d "$1" ] ; then print_info "directory $1 not found for copy"
+ elif [ -z "$2" ] ; then print_error "no way to copy directory $1"
else
cp -fr "$1" "$2"
[ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0
@@ -145,7 +145,7 @@ create_new_dir () {
try_force_link_file () {
if [ ! -f "$1" ] ; then :
- elif [ -z "$2" ] ; then print_error "no way to link file $1"
+ elif [ -z "$2" ] ; then print_error "no way to link file $1"
else
ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
@@ -169,8 +169,8 @@ check_symlink () {
export -f check_symlink
try_force_link_dir () {
- if [ ! -d "$1" ] ; then print_info "directory $1 not found for link"
- elif [ -z "$2" ] ; then print_error "no way to link directory $1"
+ if [ ! -d "$1" ] ; then print_info "directory $1 not found for link"
+ elif [ -z "$2" ] ; then print_error "no way to link directory $1"
else
ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
@@ -1393,6 +1393,29 @@ update_winetricks () {
return 0
}
+edit_db_field_add () {
+ for int_to_boole in $@ ; do
+ if [ "${!int_to_boole}" == "1" ]
+ then export ${int_to_boole}="TRUE"
+ else export ${int_to_boole}="FALSE"
+ fi
+ TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
+ int_to_boole_non_pw="$(echo ${int_to_boole} | sed 's/^PW_//' | sed 's/_/ /g' )"
+ ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
+ done
+}
+
+edit_db_field_read () {
+ for boole_to_int in $@ ; do
+ export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]}
+ if [ "${!boole_to_int}" == "TRUE" ]
+ then export ${boole_to_int}="1"
+ else export ${boole_to_int}="0"
+ fi
+ export bool_from_yad=$(( ${bool_from_yad} + 1 ))
+ done
+}
+
edit_db_from_gui () {
print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
for mod_db in $@ ; do
@@ -1568,13 +1591,13 @@ pw_create_unique_exe () {
start_portwine () {
if [[ "${PW_LOCALE_SELECT}" != "disabled" ]] && [[ ! -z "${PW_LOCALE_SELECT}" ]] ; then
- export LC_ALL="${PW_LOCALE_SELECT}"
- if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then
- export HOST_LC_ALL="${LC_ALL}"
- fi
- else
- export PW_LOCALE_SELECT="disabled"
- fi
+ export LC_ALL="${PW_LOCALE_SELECT}"
+ if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then
+ export HOST_LC_ALL="${LC_ALL}"
+ fi
+ else
+ export PW_LOCALE_SELECT="disabled"
+ fi
WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
export WINEPREFIX
@@ -2092,7 +2115,7 @@ start_portwine () {
esac
# DGVOODOO2 enable:
- if [[ "${PW_USE_DGVOODOO2}" == "1" ]] ; then
+ if [[ "${PW_DGVOODOO2}" == "1" ]] ; then
print_info "Try copy native DGVOODOO2 files..."
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}"
CP_DGV2_FILES="ddraw d3dimm d3d8 d3d9 glide glide2x glide3x"
@@ -2150,8 +2173,14 @@ start_portwine () {
[[ "${PW_DGV2_FULLSCREEN}" == "1" ]] && sed -i "s/Resolution = unforced/Resolution = desktop/g" "$DGV2CONF"
[[ "${PW_DGV2_FASTMEMORY}" == "1" ]] && sed -i "s/FastVideoMemoryAccess = false/FastVideoMemoryAccess = true/" "$DGV2CONF"
[[ "${PW_DGV2_VRAM_INCREASE}" == "1" ]] && sed -i "s/VRAM = 256/VRAM = 1024/" "$DGV2CONF"
- [[ "${PW_DGV2_FILTERING}" == "1" ]] && sed -i "79s/Filtering = appdriven/Filtering = 16/" "$DGV2CONF"
- [[ "${PW_DGV2_ANTIALIASING}" == "1" ]] && sed -i "83s/Antialiasing = appdriven/Antialiasing = 8x/" "$DGV2CONF"
+ if [[ "${PW_DGV2_FILTERING}" != "disabled" ]] ; then
+ export PW_DGV2_FILTERING="${PW_DGV2_FILTERING}"
+ sed -i "s/Filtering = appdriven/Filtering = ${PW_DGV2_FILTERING}/" "$DGV2CONF"
+ fi
+ if [[ "${PW_DGV2_ANTIALIASING}" != "disabled" ]] ; then
+ export PW_DGV2_ANTIALIASING="${PW_DGV2_ANTIALIASING}"
+ sed -i "s/Antialiasing = appdriven/Antialiasing = ${PW_DGV2_ANTIALIASING}x/g" "$DGV2CONF"
+ fi
else
for rm_dgv2_dll in d3dimm glide glide2x glide3x ; do
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_dgv2_dll}.dll"
@@ -2533,6 +2562,30 @@ pw_run () {
}
export -f pw_run
+pw_yad_set_form () {
+ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ]]; then
+ PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}')
+ export PW_YAD_SET
+ fi
+}
+
+pw_yad_form_vulkan () {
+ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ]] ; then
+ VULKAN_MOD="$(grep \;\; "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | awk -F";" '{print $1}')"
+ PW_WINE_VER="$(grep \;\; "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | awk -F";" '{print $2}')"
+ PW_PREFIX_NAME="$(grep \;\; "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | awk -F";" '{print $3}' | sed -e "s/[[:blank:]]/_/g" )"
+ if [[ -z "${PW_PREFIX_NAME}" ]] \
+ || echo "${PW_PREFIX_NAME}" | grep -E '^_.*'
+ then
+ PW_PREFIX_NAME="DEFAULT"
+ else
+ PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
+ fi
+ export PW_PREFIX_NAME PW_WINE_VER VULKAN_MOD
+ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
+ fi
+}
+
portwine_launch () {
start_portwine
PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi)
@@ -2709,7 +2762,7 @@ pw_update_pfx_cover_gui () {
pw_start_progress_bar_cs () {
if ! check_start_from_steam ; then
- "${pw_yad}" --progress --progress-text="$@
+ "${pw_yad_v13_0}" --progress --text="$@
" --pulsate --close-on-unfocus --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \
@@ -2722,7 +2775,7 @@ pw_start_progress_bar_cs () {
pw_start_progress_bar_block () {
if ! check_start_from_steam ; then
- "${pw_yad}" --progress --progress-text="$@
+ "${pw_yad_v13_0}" --progress --text="$@
" --pulsate --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \
@@ -2735,7 +2788,7 @@ pw_start_progress_bar_block () {
pw_start_progress_bar_install_game () {
if ! check_start_from_steam ; then
- "${pw_yad}" --progress --progress-text="$(eval_gettext "Please wait. Installing the") $@
+ "${pw_yad_v13_0}" --progress --text="$(eval_gettext "Please wait. Installing the") $@
" --pulsate --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \
@@ -2841,28 +2894,18 @@ pw_gui_for_edit_db () {
GET_LOCALE_LIST="ru_RU.utf en_US.utf zh_CN.utf ja_JP.utf ko_KR.utf"
unset LOCALE_LIST
- for LOCALE in $GET_LOCALE_LIST ; do
- if locale -a | grep -i "$LOCALE" &>/dev/null ; then
+ for LOCALE in $GET_LOCALE_LIST ; do
+ if locale -a | grep -i "$LOCALE" &>/dev/null ; then
if [[ ! -z "$LOCALE_LIST" ]]
then LOCALE_LIST+="!$(locale -a | grep -i "$LOCALE")"
else LOCALE_LIST="$(locale -a | grep -i "$LOCALE")"
fi
- fi
- done
+ fi
+ done
unset ADD_CHK_BOX_EDIT_DB
- # DGVOODOO2 info:
- PW_USE_DGVOODOO2_INFO=$(eval_gettext 'Enable dgVoodoo2. Forced use all dgVoodoo2 libs (Glide 2.11-3.1, DirectDraw 1-7, Direct3D 2-9) on all 3D API. For WineD3D OpenGL need use WineLG (For Gallium Nine and Zink use too)')
- PW_DGV2_DISABLE_D3D_INFO=$(eval_gettext 'Do not use d3d8 and d3d9 dgVoodoo2 libraries. For some old games, using the example of Space Rangers, a bug with a black screen is corrected.')
- PW_DGV2_16BIT_MODE_INFO=$(eval_gettext 'Forced use of 16bit screen mode. Solves the problem of launching old games, such as Moto Racer.')
- PW_DGV2_USE_DX12_INFO=$(eval_gettext 'Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on stable and newest 3D api)')
- PW_DGV2_FASTMEMORY_INFO=$(eval_gettext 'Enable fast memory access. (Enable if games have poor performance, using Unreal 2 as an example)')
- PW_DGV2_VRAM_INCREASE_INFO=$(eval_gettext 'Increase the amount of vram for dgVoodoo2 (Increases from 256 to 1024)')
- PW_DGV2_FULLSCREEN_INFO=$(eval_gettext 'Render image based on monitor resolution. Can use if the game has a small interface size. Widescreen effect for 16:9')
- PW_DGV2_FILTERING_INFO=$(eval_gettext 'Forced anisotropic filtering 16x in Direct3D games')
- PW_DGV2_ANTIALIASING_INFO=$(eval_gettext 'Forced antialiasing 8x in Direct3D games')
-
+ PW_DGVOODOO2_INFO=$(eval_gettext 'Enable dgVoodoo2. Forced use all dgVoodoo2 libs (Glide 2.11-3.1, DirectDraw 1-7, Direct3D 2-9) on all 3D API. For WineD3D OpenGL need use WineLG (For Gallium Nine and Zink use too)')
PW_DINPUT_PROTOCOL_INFO=$(eval_gettext 'Force use DirectInput protocol instead of XInput')
PW_VKBASALT_INFO=$(eval_gettext 'Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)')
PW_NO_ESYNC_INFO=$(eval_gettext 'Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)')
@@ -2910,21 +2953,10 @@ pw_gui_for_edit_db () {
Super + G : Toggle keyboard grab
Super + C : Update clipboard')
- edit_db_field_add () {
- for int_to_boole in $@ ; do
- if [ "${!int_to_boole}" == "1" ]
- then export ${int_to_boole}="TRUE"
- else export ${int_to_boole}="FALSE"
- fi
- TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
- int_to_boole_non_pw="$(echo ${int_to_boole} | sed 's/^PW_//' | sed 's/_/ /g' )"
- ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
- done
- }
edit_db_field_add $@
old_IFS=$IFS
IFS="%"
- "${pw_yad_v13_0}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \
+ "${pw_yad_v13_0}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=3 ${ADD_CHK_BOX_EDIT_DB} \
1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
IFS=$old_IFS
@@ -2940,13 +2972,13 @@ pw_gui_for_edit_db () {
--field="$(eval_gettext "Forced to use/disable libraries")!$(eval_gettext "Forced to use/disable the library only for the given application. (There are examples in the drop-down list)
A brief instruction:
- * libraries are written WITHOUT the .dll file extension
- * libraries are separated by semicolons - ;
- * library=n - use the WINDOWS (third-party) library
- * library=b - use WINE (built-in) library
- * library=n,b - use WINDOWS library and then WINE
- * library=b,n - use WINE library and then WINDOWS
- * library= - disable the use of this library") :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
+ * libraries are written WITHOUT the .dll file extension
+ * libraries are separated by semicolons - ;
+ * library=n - use the WINDOWS (third-party) library
+ * library=b - use WINE (built-in) library
+ * library=n,b - use WINDOWS library and then WINE
+ * library=b,n - use WINE library and then WINDOWS
+ * library= - disable the use of this library") :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
--field=":LBL" "" \
--field="$(eval_gettext "ADD ARGUMENTS FOR .EXE FILE")!$(eval_gettext "Adding an argument after the .exe file, just like you would add an argument in a shortcut on a WINDOWS system") :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
@@ -2965,13 +2997,14 @@ A brief instruction:
-f: create a full-screen window.") :CBE" "\\${GAMESCOPE_ARGS}!-r 60 -F fsr!" \
--field="$(eval_gettext "Forcibly select the OpenGL version for the game")!$(eval_gettext "You can select the required OpenGL version, some games require a forced Compatibility Profile (COMPAT). (Examples are in the drop-down list)") :CB" "${PW_MESA_GL_VERSION_OVERRIDE}!disabled!4.6COMPAT!4.6!4.5COMPAT!4.5!3.3COMPAT!3.3" \
--field="$(eval_gettext "Forcibly select the VKD3D feature level")!$(eval_gettext "You can set a forced feature level VKD3D for games on DirectX12") :CB" "${PW_VKD3D_FEATURE_LEVEL}!disabled!12_2!12_1!12_0!11_1!11_0" \
- --field="$(eval_gettext "Force certain locale for an app")!$(eval_gettext "Fixes encoding issues in legacy software") :CB" "${PW_LOCALE_SELECT}!disabled!$LOCALE_LIST" \
- 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
+ --field="$(eval_gettext "Force certain locale for an app")!$(eval_gettext "Fixes encoding issues in legacy software") :CB" "${PW_LOCALE_SELECT}!disabled!$LOCALE_LIST" \
+ 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
-
- "${pw_yad_v13_0}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="700" \
- --text "$(eval_gettext "Change settings in database file for") ${PORTWINE_DB}\n $(eval_gettext "NOTE: To display help for each item, simply hover your mouse over the text")" --separator=" " \
+ "${pw_yad_v13_0}" --notebook --key="$KEY_EDIT_DB_GUI" --title "$(eval_gettext "EDIT DB")" --text-align=center --height="700" \
+ --text "$(eval_gettext "Change settings in database file for") ${PORTWINE_DB}\n $(eval_gettext "NOTE: To display help for each item, simply hover your mouse over the text")" --separator=" " --expand --center \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
+ --tab="$(eval_gettext "Main")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
+ --tab="$(eval_gettext "Advanced")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
--button="$(eval_gettext "RESET SETTINGS")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Restore default settings")":2 \
--button="$(eval_gettext "OPEN THE SETTINGS FILE")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Open the .ppdb settings file in a system text editor to view and change variables manually")":150 \
@@ -2991,16 +3024,7 @@ A brief instruction:
esac
output_yad_edit_db=($(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"))
bool_from_yad=0
- edit_db_field_read () {
- for boole_to_int in $@ ; do
- export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]}
- if [ "${!boole_to_int}" == "TRUE" ]
- then export ${boole_to_int}="1"
- else export ${boole_to_int}="0"
- fi
- export bool_from_yad=$(( ${bool_from_yad} + 1 ))
- done
- }
+
edit_db_field_read $@
PW_WINDOWS_VER="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $1}')"
PW_DLL_INSTALL="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}')"
@@ -3126,8 +3150,8 @@ gui_proton_downloader () {
[[ -z "$(cat "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git")" ]] && echo "nothing" >"${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git"
[[ -z "$(cat "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git")" ]] && echo "nothing" >"${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git"
- # Installed wine
- ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed '/^$/d' 1> ${PORT_WINE_TMP_PATH}/tmp_installed_wine
+ # Installed wine
+ ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed '/^$/d' 1> ${PORT_WINE_TMP_PATH}/tmp_installed_wine
if [[ "$1" != "silent" ]] ; then
# GUI
export KEY_WINE=$RANDOM
@@ -3147,7 +3171,7 @@ gui_proton_downloader () {
--column "$(eval_gettext "Select WINE for download:")" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" 2>/dev/null &
"${pw_yad_v13_0}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \
--column "$(eval_gettext "Select installed WINE for delete:")" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" 2>/dev/null &
- "${pw_yad_v13_0}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --no-button \
+ "${pw_yad_v13_0}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext "WINE MANAGER")" --separator="" --expand \
--tab-pos=top \
--tab="PROTON-LG"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
@@ -3205,13 +3229,13 @@ gui_proton_downloader () {
fi
done
- if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
- try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
- unset VERSION_INSTALLED_WINE
+ if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
+ try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
+ unset VERSION_INSTALLED_WINE
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
- fi
+ fi
print_info "Download and install ${VERSION_WINE_GIT}..."
PW_WINE_ARCHIVE="$(echo "${URL_VERSION_PROTON_GIT}" | awk -F'/' '{print $NF}' | awk -F'.tar' '{print $1}')"
@@ -3351,7 +3375,7 @@ gui_vkBasalt () {
--field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$(eval_gettext "AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)")":SCL "${VKBASALT_FFX_CAS_GUI}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null &
- "${pw_yad_v13_0}" --paned --key="$KEY_FX_GUI" --height="625" --title="vkBasalt" --center \
+ "${pw_yad_v13_0}" --paned --key="$KEY_FX_GUI" --height="650" --title="vkBasalt" --center \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
--button="$(eval_gettext "DISABLE VKBASALT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable vkBasalt and go to the previous menu")":180 \
@@ -3602,6 +3626,74 @@ gui_MangoHud () {
exit 0
}
+gui_dgVoodoo2 () {
+ KEY_DGV2_GUI=$RANDOM
+ PW_LIST_DGV2="PW_DGV2_DISABLE_D3D PW_DGV2_16BIT_MODE PW_DGV2_USE_DX12 PW_DGV2_FASTMEMORY PW_DGV2_VRAM_INCREASE
+ PW_DGV2_FULLSCREEN
+ "
+ # DGVOODOO2 info:
+ PW_DGV2_DISABLE_D3D_INFO=$(eval_gettext 'Do not use d3d8 and d3d9 dgVoodoo2 libraries. For some old games, using the example of Space Rangers, a bug with a black screen is corrected.')
+ PW_DGV2_16BIT_MODE_INFO=$(eval_gettext 'Forced use of 16bit screen mode. Solves the problem of launching old games, such as Moto Racer.')
+ PW_DGV2_USE_DX12_INFO=$(eval_gettext 'DirectXD 11 is used by default (and recommended). Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on stable dxvk and vkd3d)')
+ PW_DGV2_FASTMEMORY_INFO=$(eval_gettext 'Enable fast memory access. (Enable if games have poor performance, using Unreal 2 as an example)')
+ PW_DGV2_VRAM_INCREASE_INFO=$(eval_gettext 'Increase the amount of vram for dgVoodoo2 (Increases from 256 to 1024)')
+ PW_DGV2_FULLSCREEN_INFO=$(eval_gettext 'Render image based on monitor resolution. Can use if the game has a small interface size. Widescreen effect for 16:9')
+
+ unset ADD_CHK_BOX_EDIT_DB output_yad_edit_db
+ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set"
+ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb"
+
+ edit_db_field_add $PW_LIST_DGV2
+
+ old_IFS=$IFS
+ IFS="%"
+ "${pw_yad_v13_0}" --plug=$KEY_DGV2_GUI --tabnum="1" --form --columns=3 ${ADD_CHK_BOX_EDIT_DB} \
+ --text="$(eval_gettext "dgVoodoo2 settings\nNOTE: To display help for each item, simply hover over the text\n")" \
+ --text-align=center --separator=" " \
+ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set" 2>/dev/null &
+ IFS=$old_IFS
+ "${pw_yad_v13_0}" --plug=$KEY_DGV2_GUI --tabnum="2" --form --columns=2 --separator="%" \
+ --field="${CHKBOX_SPACE}$(eval_gettext "DGV2 FILTERING")!$(eval_gettext "Forced anisotropic filtering in Direct3D games") :CB" "${PW_DGV2_FILTERING}!disabled!2!4!8!16" \
+ --field="${CHKBOX_SPACE}$(eval_gettext "DGV2 ANTIALIASING")!$(eval_gettext "Forced antialiasing in Direct3D and Glide games") :CB" "${PW_DGV2_ANTIALIASING}!disabled!2!4!8" \
+ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" 2>/dev/null &
+ "${pw_yad_v13_0}" --paned --key=$KEY_DGV2_GUI --height="650" --title="dgVoodoo2" --center \
+ --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
+ --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \
+ --button="$(eval_gettext "DISABLE DGVOODOO2")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable dgVoodoo2 and go to the previous menu")":162 \
+ --button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":166 \
+ 2>/dev/null
+ YAD_DGV2_STATUS="$?"
+ case "${YAD_DGV2_STATUS}" in
+ 1|252)
+ export SKIP_CHECK_UPDATES=1
+ /usr/bin/env bash -c ${pw_full_command_line[*]} &
+ exit 0
+ ;;
+ 162)
+ export PW_DGVOODOO2=0
+ edit_db_from_gui PW_DGVOODOO2
+ export SKIP_CHECK_UPDATES=1
+ /usr/bin/env bash -c ${pw_full_command_line[*]} &
+ exit 0
+ ;;
+ 166)
+ export PW_DGVOODOO2=1
+ ;;
+ esac
+
+ output_yad_edit_db=($(cat "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set"))
+ bool_from_yad=0
+
+ edit_db_field_read $PW_LIST_DGV2 $@
+ PW_DGV2_FILTERING="$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" | awk -F"%" '{print $1}')"
+ PW_DGV2_ANTIALIASING="$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" | awk -F"%" '{print $2}')"
+ edit_db_from_gui $PW_LIST_DGV2 PW_DGVOODOO2 PW_DGV2_FILTERING PW_DGV2_ANTIALIASING
+
+ export SKIP_CHECK_UPDATES=1
+ /usr/bin/env bash -c ${pw_full_command_line[*]} &
+ exit 0
+}
+
portwine_create_shortcut () {
pw_stop_progress_bar
[[ ! -e ${portwine_exe} ]] && return 1
@@ -3609,7 +3701,7 @@ portwine_create_shortcut () {
if [[ "$1" == "block_name" ]] ; then
export name_desktop="${PORTPROTON_NAME}"
- OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form \
+ OUTPUT=$("${pw_yad_v13_0}" --title="$(eval_gettext "Choices")" --form \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \
@@ -3621,7 +3713,7 @@ portwine_create_shortcut () {
PW_YAD_OUT=$?
else
export name_desktop="${PORTPROTON_NAME}"
- OUTPUT=$("${pw_yad}" --title="$(eval_gettext "Choices")" --form \
+ OUTPUT=$("${pw_yad_v13_0}" --title="$(eval_gettext "Choices")" --form \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \
@@ -3732,7 +3824,7 @@ portwine_delete_shortcut () {
}
portwine_missing_shortcut () {
- "${pw_yad}" --title="$(eval_gettext "Error")" --form \
+ "${pw_yad_v13_0}" --title="$(eval_gettext "Error")" --form \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "$PW_GUI_ICON_PATH/error.svg" \
--text "\n$(eval_gettext "Could not find the file:")\n${portwine_exe}\n\n$(eval_gettext "ATTENTION:\nIf you forgot to mount the disk with the running application, click CANCEL!")" \
@@ -3859,7 +3951,7 @@ portwine_start_debug () {
kill_portwine
export PW_LOG=1
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
- yad_info "$(eval_gettext "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!")"
+ yad_info "$(eval_gettext "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!")"
fi
echo "$(eval_gettext "PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port")" > "${PORT_WINE_PATH}/PortProton.log"
echo "$(eval_gettext "To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE")" >> "${PORT_WINE_PATH}/PortProton.log"
@@ -4075,13 +4167,12 @@ EOF
}
pw_edit_db () {
- PW_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC
+ PW_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2 PW_NO_ESYNC PW_NO_FSYNC
PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU
PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING
- PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_DGVOODOO2 PW_DGV2_DISABLE_D3D PW_DGV2_16BIT_MODE PW_DGV2_USE_DX12 PW_DGV2_FASTMEMORY
- PW_DGV2_VRAM_INCREASE PW_DGV2_FULLSCREEN PW_DGV2_FILTERING PW_DGV2_ANTIALIASING
+ PW_USE_RUNTIME PW_DINPUT_PROTOCOL
"
@@ -4128,6 +4219,15 @@ button_click () {
}
export -f button_click
+button_click_start () {
+ [[ ! -z "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
+ if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v13_0) ]] ; then
+ kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY_START} \--notebook" | awk '{print $1}') > /dev/null 2>&1 \
+ || kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY_START} \--paned" | awk '{print $1}') > /dev/null 2>&1
+ fi
+}
+export -f button_click_start
+
run_desktop_b_click () {
[[ ! -z "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v13_0) ]] ; then
@@ -4203,6 +4303,21 @@ change_mirror () {
}
export -f change_mirror
+change_gui_start () {
+ if [[ "$PW_GUI_START" == "NOTEBOOK" ]] ; then
+ sed -i 's/="NOTEBOOK"/="PANED"/g' "$USER_CONF"
+ yad_info "$(eval_gettext "Gui start changed to:") PANED"
+ else
+ sed -i 's/="PANED"/="NOTEBOOK"/g' "$USER_CONF"
+ yad_info "$(eval_gettext "Gui start changed to:") NOTEBOOK"
+ fi
+ print_info "Restarting PP for change gui start..."
+ export SKIP_CHECK_UPDATES=1
+ /usr/bin/env bash -c ${pw_full_command_line[*]} &
+ exit 0
+}
+export -f change_gui_start
+
gui_wine_uninstaller () {
start_portwine
pw_run uninstaller
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index faff816..df2442d 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -13,8 +13,8 @@ echo '
██╔═══╝░██║░░██║██╔══██╗░░░██║░░░██╔═══╝░██╔══██╗██║░░██║░░░██║░░░██║░░██║██║╚████║
██║░░░░░╚█████╔╝██║░░██║░░░██║░░░██║░░░░░██║░░██║╚█████╔╝░░░██║░░░╚█████╔╝██║░╚███║
╚═╝░░░░░░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░░╚════╝░╚═╝░░╚══╝
-
'
+
if [[ $(id -u) = 0 ]] ; then
echo "Do not run this script as root!"
exit 1
@@ -70,11 +70,11 @@ fi
unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB RADV_PERFTEST
-unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME FLATPAK_IN_USE
+unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME FLATPAK_IN_USE
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
-unset PW_LOCALE_SELECT
+unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
@@ -184,6 +184,17 @@ if [[ "${INSTALLING_PORT}" == 1 ]] ; then
return 0
fi
+# choose gui start
+if [[ -z "$PW_GUI_START" ]]
+then
+ echo 'export PW_GUI_START="NOTEBOOK"' >> "$USER_CONF"
+ export PW_GUI_START="NOTEBOOK"
+elif [[ -z "$PW_GUI_START" ]] ; then
+ echo 'export PW_GUI_START="PANED"' >> "$USER_CONF"
+ export PW_GUI_START="PANED"
+fi
+print_info "The first gui start in used: $PW_GUI_START\n"
+
# check skip update
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \
&& [[ ! -f "/tmp/portproton.lock" ]]
@@ -236,8 +247,8 @@ fi
if grep "SteamOS" "/etc/os-release" &>/dev/null \
&& [[ ! -f "${HOME}/.local/share/applications/PortProton.desktop" ]]
then
- cp -f "${PORT_WINE_PATH}/PortProton.desktop" "${HOME}/.local/share/applications/"
- update-desktop-database -q "${HOME}/.local/share/applications"
+ cp -f "${PORT_WINE_PATH}/PortProton.desktop" "${HOME}/.local/share/applications/"
+ update-desktop-database -q "${HOME}/.local/share/applications"
fi
[[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
@@ -337,12 +348,25 @@ popd 1>/dev/null || fatal
check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
-[[ "${PW_USE_DGVOODOO2}" == "1" ]] && DGV_TXT="$(eval_gettext 'and dgVoodoo2 ')" || unset DGV_TXT
-SORT_OPENGL="$(eval_gettext 'WineD3D OpenGL ${DGV_TXT}(For video cards without Vulkan)')"
-SORT_VULKAN="$(eval_gettext 'WineD3D Vulkan ${DGV_TXT}(Damavand experimental)')"
-SORT_LEGACY="$(eval_gettext 'Legacy DXVK ${DGV_TXT}(Vulkan v1.1)')"
-SORT_STABLE="$(eval_gettext 'Stable DXVK, VKD3D ${DGV_TXT}(Vulkan v1.2)')"
-SORT_NEWEST="$(eval_gettext 'Newest DXVK, VKD3D, D8VK ${DGV_TXT}(Vulkan v1.3+)')"
+[[ "${PW_DGVOODOO2}" == "1" ]] && DGV2_TXT="$(eval_gettext 'dgVoodoo2 ')" || unset DGV2_TXT
+[[ "${PW_VKBASALT}" == "1" ]] && VKBASALT_TXT="$(eval_gettext 'vkBasalt ')" || unset VKBASALT_TXT
+[[ "${PW_MANGOHUD}" == "1" ]] && MANGOHUD_TXT="$(eval_gettext 'MangoHud ')" || unset MANGOHUD_TXT
+if [[ "${PW_DGVOODOO2}" == "1" ]] \
+|| [[ "${PW_VKBASALT}" == "1" ]] \
+|| [[ "${PW_MANGOHUD}" == "1" ]]
+then
+NLINE_TXT='\n'
+ENABLE_TXT="$(eval_gettext 'enable.')"
+else
+unset NLINE_TXT ENABLE_TXT
+fi
+PW_SETTINGS_INDICATION="${NLINE_TXT}${VKBASALT_TXT}${MANGOHUD_TXT}${DGV2_TXT}${ENABLE_TXT}"
+
+SORT_OPENGL="$(eval_gettext 'WineD3D OpenGL (For video cards without Vulkan)')"
+SORT_VULKAN="$(eval_gettext 'WineD3D Vulkan (Damavand experimental)')"
+SORT_LEGACY="$(eval_gettext 'Legacy DXVK (Vulkan v1.1)')"
+SORT_STABLE="$(eval_gettext 'Stable DXVK, VKD3D (Vulkan v1.2)')"
+SORT_NEWEST="$(eval_gettext 'Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)')"
SORT_G_NINE="$(eval_gettext 'Gallium Nine (DirectX 9 for MESA)')"
SORT_G_ZINK="$(eval_gettext 'Gallium Zink (OpenGL to Vulkan)')"
@@ -389,6 +413,7 @@ else
fi
unset PW_GUI_DISABLED_CS
fi
+
if [[ -f "${portwine_exe}" ]] ; then
if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then
pw_create_gui_png
@@ -398,31 +423,69 @@ if [[ -f "${portwine_exe}" ]] ; then
else
PW_SHORTCUT="$(eval_gettext "DELETE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(eval_gettext "Delete shortcut for select file..."):98"
fi
- OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --form \
- --title "PortProton-${install_ver} (${scripts_install_ver})" \
- --image "${PW_ICON_FOR_YAD}" --separator=";" \
- --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
- --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
- --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
- --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
- --field=":LBL" "" \
- --button="$(eval_gettext "VKBASALT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":120 \
- --button="$(eval_gettext "MANGOHUD")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)")":122 \
- --button="$(eval_gettext "EDIT DB")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":118 \
- --button="${PW_SHORTCUT}" \
- --button="$(eval_gettext "DEBUG")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Launch with the creation of a .log file at the root PortProton")":102 \
- --button="$(eval_gettext "LAUNCH")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Run file ...")":106 2>/dev/null)
- PW_YAD_SET="$?"
- if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
- VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}')
- PW_WINE_VER=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}')
- PW_PREFIX_NAME=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g)
- if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then
- PW_PREFIX_NAME="DEFAULT"
- else
- PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
+ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
+ export KEY_START="$RANDOM"
+ if [[ "${PW_GUI_START}" = NOTEBOOK ]] ; then
+ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=1 --form --separator=";" \
+ --image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB""$PW_SETTINGS_INDICATION" \
+ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
+ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
+ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
+ --field=":LBL" "" \
+ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
+ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=2 --form --columns=2 --scroll --align-buttons \
+ --field="$(eval_gettext "MangoHud")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)")":"FBTN" '@bash -c "button_click_start 122"' \
+ --field="$(eval_gettext "vkBasalt")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \
+ --field="$(eval_gettext "dgVoodoo2")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)")":"FBTN" '@bash -c "button_click_start 124"' \
+ 2>/dev/null &
+ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_tab" ]] ; then
+ export TAB_START=2
+ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_tab"
+ else
+ export TAB_START=1
+ fi
+ "${pw_yad_v13_0}" --key=$KEY_START --notebook --expand --center --active-tab=$TAB_START \
+ --title "PortProton-${install_ver} (${scripts_install_ver})" \
+ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
+ --tab="$(eval_gettext "3D API")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
+ --tab="$(eval_gettext "ADDITIONAL SETTINGS")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
+ --button="$(eval_gettext "EDIT DB")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":118 \
+ --button="${PW_SHORTCUT}" \
+ --button="$(eval_gettext "DEBUG")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Launch with the creation of a .log file at the root PortProton")":102 \
+ --button="$(eval_gettext "LAUNCH")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Run file ...")":106 2>/dev/null
+ PW_YAD_SET="$?"
+ if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
+ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ]]; then
+ PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}')
+ export PW_YAD_SET
+ touch "${PORT_WINE_TMP_PATH}/tmp_yad_form_tab"
+ fi
+ pw_yad_form_vulkan
+ elif [[ "${PW_GUI_START}" = PANED ]] ; then
+ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=1 --form --separator=";" \
+ --image="${PW_ICON_FOR_YAD}" --text-align="center" --image-on-top --text "$PW_COMMENT_DB""$PW_SETTINGS_INDICATION" \
+ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
+ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
+ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
+ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
+ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=2 --form --columns=2 --scroll --align-buttons \
+ --field="$(eval_gettext "EDIT DB")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":"FBTN" '@bash -c "button_click_start 118"' \
+ --field="$(eval_gettext "MangoHud")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)")":"FBTN" '@bash -c "button_click_start 122"' \
+ --field="$(eval_gettext "vkBasalt")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)")":"FBTN" '@bash -c "button_click_start 120"' \
+ --field="$(eval_gettext "dgVoodoo2")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)")":"FBTN" '@bash -c "button_click_start 124"' \
+ 2>/dev/null &
+ "${pw_yad_v13_0}" --key=$KEY_START --paned --center --height="450" \
+ --title "PortProton-${install_ver} (${scripts_install_ver})" \
+ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
+ --button="${PW_SHORTCUT}" \
+ --button="$(eval_gettext "DEBUG")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Launch with the creation of a .log file at the root PortProton")":102 \
+ --button="$(eval_gettext "LAUNCH")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Run file ...")":106 2>/dev/null
+ PW_YAD_SET="$?"
+ if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
+ pw_yad_set_form
+ sed -i 's/$/\;/' "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan"
+ pw_yad_form_vulkan
fi
- export PW_PREFIX_NAME PW_WINE_VER VULKAN_MOD
elif [[ -f "${PORTWINE_DB_FILE}" ]] ; then
portwine_launch
fi
@@ -434,6 +497,11 @@ else
else NEW_MIRROR="CDN"
fi
+ if [[ "$PW_GUI_START" == "NOTEBOOK" ]]
+ then NEW_PW_GUI_START="PANED"
+ else NEW_PW_GUI_START="NOTEBOOK"
+ fi
+
orig_IFS="$IFS" && IFS=$'\n'
PW_ALL_DF="$(ls "${PORT_WINE_PATH}"/ | grep .desktop | grep -vE '(PortProton|readme)')"
if [[ -z "${PW_ALL_DF}" ]]
@@ -459,7 +527,7 @@ else
--align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS"
- "${pw_yad_v13_0}" --plug=${KEY} --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" \
+ "${pw_yad_v13_0}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" \
--field=" $(eval_gettext "Reinstall PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \
--field=" $(eval_gettext "Remove PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \
--field=" $(eval_gettext "Update PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \
@@ -470,9 +538,10 @@ else
--field=" Xterm"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click pw_start_cont_xterm"' \
--field=" $(eval_gettext "Credits")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click gui_credits"' \
--field=" $(eval_gettext "Change mirror to") $NEW_MIRROR"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click change_mirror"' \
+ --field=" $(eval_gettext "Change game start gui to") $NEW_PW_GUI_START"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click change_gui_start"' \
2>/dev/null &
- "${pw_yad_v13_0}" --plug=${KEY} --tabnum="${PW_GUI_SORT_TABS[2]}" --form --columns=3 --align-buttons --separator=";" \
+ "${pw_yad_v13_0}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[2]}" --form --columns=3 --align-buttons --separator=";" \
--field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
@@ -484,7 +553,7 @@ else
--field=" $(eval_gettext "Prefix Manager") "!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run winecfg to edit the settings of the selected prefix")":"FBTN" '@bash -c "button_click WINECFG"' \
--field=" $(eval_gettext "File Manager")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine file manager")":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=" $(eval_gettext "Command line")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine cmd")":"FBTN" '@bash -c "button_click WINECMD"' \
- --field=" $(eval_gettext "Regedit")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine regedit")":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
+ --field=" $(eval_gettext "Regedit")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(eval_gettext "Run wine regedit")":"FBTN" '@bash -c "button_click WINEREG"' 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
"${pw_yad_v13_0}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[1]}" --form --columns="$MAIN_GUI_COLUMNS" --align-buttons --scroll \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"$(eval_gettext "Emulator for Nintendo game consoles with high compatibility")":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
@@ -575,11 +644,7 @@ else
fi
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
-
- if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ]]; then
- PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}')
- export PW_YAD_SET
- fi
+ pw_yad_set_form
if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ]] ; then
VULKAN_MOD="$(grep \;\; "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | awk -F";" '{print $1}')"
PW_PREFIX_NAME="$(grep \;\; "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | awk -F";" '{print $2}' | sed -e "s/[[:blank:]]/_/g" )"
@@ -636,8 +701,10 @@ fi
open_changelog) open_changelog ;;
change_loc) change_loc ;;
change_mirror) change_mirror ;;
+ change_gui_start) change_gui_start ;;
120) gui_vkBasalt ;;
122) gui_MangoHud ;;
+ 124) gui_dgVoodoo2 ;;
pw_create_prefix_backup) pw_create_prefix_backup ;;
gui_credits) gui_credits ;;
pw_start_cont_xterm) pw_start_cont_xterm ;;
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index 99b24d0..343fed3 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -55,13 +55,16 @@ export WINE_FULLSCREEN_FSR_MODE="ultra"
export PW_VULKAN_USE="2"
export VKD3D_LIMIT_TESS_FACTORS="64"
export D8VK_VER="1.7.1-2367"
-export DGV2_VER="2.81.3"
export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.3.1-37"
export VKD3D_STABLE_VER="1.1-2602"
-export VKD3D_DGV2_VER="1.1-3622"
export VKD3D_GIT_VER="1.1-4022"
+###DGVOODOO2###
+export DGV2_VER="2.81.3"
+export VKD3D_DGV2_VER="1.1-3622"
+export PW_DGV2_ANTIALIASING="disabled"
+export PW_DGV2_FILTERING="disabled"
###PREFIX_VERSION###
export DOTPFX_VER="48v7"
export DEFPFX_VER="v1"