Commit 5945d271 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'Htylol-update-yad'

parents c6359f65 fea62bc7
...@@ -110,8 +110,8 @@ try_copy_file () { ...@@ -110,8 +110,8 @@ try_copy_file () {
export -f try_copy_file export -f try_copy_file
try_copy_dir () { try_copy_dir () {
if [ ! -d "$1" ] ; then print_info "directory $1 not found for copy" if [ ! -d "$1" ] ; then print_info "directory $1 not found for copy"
elif [ -z "$2" ] ; then print_error "no way to copy directory $1" elif [ -z "$2" ] ; then print_error "no way to copy directory $1"
else else
cp -fr "$1" "$2" cp -fr "$1" "$2"
[ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0 [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0
...@@ -145,7 +145,7 @@ create_new_dir () { ...@@ -145,7 +145,7 @@ create_new_dir () {
try_force_link_file () { try_force_link_file () {
if [ ! -f "$1" ] ; then : 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 else
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
...@@ -169,8 +169,8 @@ check_symlink () { ...@@ -169,8 +169,8 @@ check_symlink () {
export -f check_symlink export -f check_symlink
try_force_link_dir () { try_force_link_dir () {
if [ ! -d "$1" ] ; then print_info "directory $1 not found for link" if [ ! -d "$1" ] ; then print_info "directory $1 not found for link"
elif [ -z "$2" ] ; then print_error "no way to link directory $1" elif [ -z "$2" ] ; then print_error "no way to link directory $1"
else else
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0 [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
...@@ -1393,6 +1393,29 @@ update_winetricks () { ...@@ -1393,6 +1393,29 @@ update_winetricks () {
return 0 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 () { edit_db_from_gui () {
print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE" print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
for mod_db in $@ ; do for mod_db in $@ ; do
...@@ -1568,13 +1591,13 @@ pw_create_unique_exe () { ...@@ -1568,13 +1591,13 @@ pw_create_unique_exe () {
start_portwine () { start_portwine () {
if [[ "${PW_LOCALE_SELECT}" != "disabled" ]] && [[ ! -z "${PW_LOCALE_SELECT}" ]] ; then if [[ "${PW_LOCALE_SELECT}" != "disabled" ]] && [[ ! -z "${PW_LOCALE_SELECT}" ]] ; then
export LC_ALL="${PW_LOCALE_SELECT}" export LC_ALL="${PW_LOCALE_SELECT}"
if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then
export HOST_LC_ALL="${LC_ALL}" export HOST_LC_ALL="${LC_ALL}"
fi fi
else else
export PW_LOCALE_SELECT="disabled" export PW_LOCALE_SELECT="disabled"
fi fi
WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")" WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
export WINEPREFIX export WINEPREFIX
...@@ -2092,7 +2115,7 @@ start_portwine () { ...@@ -2092,7 +2115,7 @@ start_portwine () {
esac esac
# DGVOODOO2 enable: # DGVOODOO2 enable:
if [[ "${PW_USE_DGVOODOO2}" == "1" ]] ; then if [[ "${PW_DGVOODOO2}" == "1" ]] ; then
print_info "Try copy native DGVOODOO2 files..." print_info "Try copy native DGVOODOO2 files..."
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}" PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}"
CP_DGV2_FILES="ddraw d3dimm d3d8 d3d9 glide glide2x glide3x" CP_DGV2_FILES="ddraw d3dimm d3d8 d3d9 glide glide2x glide3x"
...@@ -2150,8 +2173,14 @@ start_portwine () { ...@@ -2150,8 +2173,14 @@ start_portwine () {
[[ "${PW_DGV2_FULLSCREEN}" == "1" ]] && sed -i "s/Resolution = unforced/Resolution = desktop/g" "$DGV2CONF" [[ "${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_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_VRAM_INCREASE}" == "1" ]] && sed -i "s/VRAM = 256/VRAM = 1024/" "$DGV2CONF"
[[ "${PW_DGV2_FILTERING}" == "1" ]] && sed -i "79s/Filtering = appdriven/Filtering = 16/" "$DGV2CONF" if [[ "${PW_DGV2_FILTERING}" != "disabled" ]] ; then
[[ "${PW_DGV2_ANTIALIASING}" == "1" ]] && sed -i "83s/Antialiasing = appdriven/Antialiasing = 8x/" "$DGV2CONF" 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 else
for rm_dgv2_dll in d3dimm glide glide2x glide3x ; do for rm_dgv2_dll in d3dimm glide glide2x glide3x ; do
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_dgv2_dll}.dll" try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_dgv2_dll}.dll"
...@@ -2533,6 +2562,30 @@ pw_run () { ...@@ -2533,6 +2562,30 @@ pw_run () {
} }
export -f 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 () { portwine_launch () {
start_portwine start_portwine
PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi) PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi)
...@@ -2709,7 +2762,7 @@ pw_update_pfx_cover_gui () { ...@@ -2709,7 +2762,7 @@ pw_update_pfx_cover_gui () {
pw_start_progress_bar_cs () { pw_start_progress_bar_cs () {
if ! check_start_from_steam ; then 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" \ " --pulsate --close-on-unfocus --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \ --no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \ --width="$PROGRESS_BAR_WIDTH_SIZE" \
...@@ -2722,7 +2775,7 @@ pw_start_progress_bar_cs () { ...@@ -2722,7 +2775,7 @@ pw_start_progress_bar_cs () {
pw_start_progress_bar_block () { pw_start_progress_bar_block () {
if ! check_start_from_steam ; then if ! check_start_from_steam ; then
"${pw_yad}" --progress --progress-text="$@ "${pw_yad_v13_0}" --progress --text="$@
" --pulsate --borders="$PROGRESS_BAR_BORDERS_SIZE" \ " --pulsate --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \ --no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \ --width="$PROGRESS_BAR_WIDTH_SIZE" \
...@@ -2735,7 +2788,7 @@ pw_start_progress_bar_block () { ...@@ -2735,7 +2788,7 @@ pw_start_progress_bar_block () {
pw_start_progress_bar_install_game () { pw_start_progress_bar_install_game () {
if ! check_start_from_steam ; then 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" \ " --pulsate --borders="$PROGRESS_BAR_BORDERS_SIZE" \
--no-buttons --undecorated --center --skip-taskbar \ --no-buttons --undecorated --center --skip-taskbar \
--width="$PROGRESS_BAR_WIDTH_SIZE" \ --width="$PROGRESS_BAR_WIDTH_SIZE" \
...@@ -2841,28 +2894,18 @@ pw_gui_for_edit_db () { ...@@ -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" GET_LOCALE_LIST="ru_RU.utf en_US.utf zh_CN.utf ja_JP.utf ko_KR.utf"
unset LOCALE_LIST unset LOCALE_LIST
for LOCALE in $GET_LOCALE_LIST ; do for LOCALE in $GET_LOCALE_LIST ; do
if locale -a | grep -i "$LOCALE" &>/dev/null ; then if locale -a | grep -i "$LOCALE" &>/dev/null ; then
if [[ ! -z "$LOCALE_LIST" ]] if [[ ! -z "$LOCALE_LIST" ]]
then LOCALE_LIST+="!$(locale -a | grep -i "$LOCALE")" then LOCALE_LIST+="!$(locale -a | grep -i "$LOCALE")"
else LOCALE_LIST="$(locale -a | grep -i "$LOCALE")" else LOCALE_LIST="$(locale -a | grep -i "$LOCALE")"
fi fi
fi fi
done done
unset ADD_CHK_BOX_EDIT_DB unset ADD_CHK_BOX_EDIT_DB
# DGVOODOO2 info: 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_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_DINPUT_PROTOCOL_INFO=$(eval_gettext 'Force use DirectInput protocol instead of XInput') 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_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.)') 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 () { ...@@ -2910,21 +2953,10 @@ pw_gui_for_edit_db () {
<b>Super + G :</b> Toggle keyboard grab <b>Super + G :</b> Toggle keyboard grab
<b>Super + C :</b> Update clipboard') <b>Super + C :</b> 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 $@ edit_db_field_add $@
old_IFS=$IFS old_IFS=$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 & 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
IFS=$old_IFS IFS=$old_IFS
...@@ -2940,13 +2972,13 @@ pw_gui_for_edit_db () { ...@@ -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) --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: A brief instruction:
* libraries are written <b>WITHOUT</b> the .dll file extension * libraries are written <b>WITHOUT</b> the .dll file extension
* libraries are separated by semicolons - <b>;</b> * libraries are separated by semicolons - <b>;</b>
* library=n - use the <b>WINDOWS</b> (third-party) library * library=n - use the <b>WINDOWS</b> (third-party) library
* library=b - use <b>WINE</b> (built-in) library * library=b - use <b>WINE</b> (built-in) library
* library=n,b - use <b>WINDOWS</b> library and then <b>WINE</b> * library=n,b - use <b>WINDOWS</b> library and then <b>WINE</b>
* library=b,n - use <b>WINE</b> library and then <b>WINDOWS</b> * library=b,n - use <b>WINE</b> library and then <b>WINDOWS</b>
* library= - disable the use of this library") :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \ * library= - disable the use of this library") :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
--field=":LBL" "" \ --field=":LBL" "" \
--field="$(eval_gettext "ADD ARGUMENTS FOR .EXE FILE")!$(eval_gettext "Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system") :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \ --field="$(eval_gettext "ADD ARGUMENTS FOR .EXE FILE")!$(eval_gettext "Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system") :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \ --field=":LBL" "" \
...@@ -2965,13 +2997,14 @@ A brief instruction: ...@@ -2965,13 +2997,14 @@ A brief instruction:
<b>-f:</b> create a full-screen window.") :CBE" "\\${GAMESCOPE_ARGS}!-r 60 -F fsr!" \ <b>-f:</b> 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 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 "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" \ --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 & 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" \ "${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") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" --separator=" " \ --text "$(eval_gettext "Change settings in database file for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" --separator=" " --expand --center \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --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 "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 "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 <b>.ppdb</b> settings file in a system text editor to view and change variables manually")":150 \ --button="$(eval_gettext "OPEN THE SETTINGS FILE")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Open the <b>.ppdb</b> settings file in a system text editor to view and change variables manually")":150 \
...@@ -2991,16 +3024,7 @@ A brief instruction: ...@@ -2991,16 +3024,7 @@ A brief instruction:
esac esac
output_yad_edit_db=($(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db")) output_yad_edit_db=($(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"))
bool_from_yad=0 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 $@ edit_db_field_read $@
PW_WINDOWS_VER="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $1}')" 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}')" PW_DLL_INSTALL="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}')"
...@@ -3126,8 +3150,8 @@ gui_proton_downloader () { ...@@ -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_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" [[ -z "$(cat "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git")" ]] && echo "nothing" >"${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git"
# Installed wine # Installed wine
ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed '/^$/d' 1> ${PORT_WINE_TMP_PATH}/tmp_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 if [[ "$1" != "silent" ]] ; then
# GUI # GUI
export KEY_WINE=$RANDOM export KEY_WINE=$RANDOM
...@@ -3147,7 +3171,7 @@ gui_proton_downloader () { ...@@ -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 & --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 \ "${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 & --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 \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$(eval_gettext "WINE MANAGER")" --separator="" --expand \
--tab-pos=top \ --tab-pos=top \
--tab="PROTON-LG"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="PROTON-LG"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
...@@ -3205,13 +3229,13 @@ gui_proton_downloader () { ...@@ -3205,13 +3229,13 @@ gui_proton_downloader () {
fi fi
done done
if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}" try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
unset VERSION_INSTALLED_WINE unset VERSION_INSTALLED_WINE
export SKIP_CHECK_UPDATES=1 export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
print_info "Download and install ${VERSION_WINE_GIT}..." 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}')" PW_WINE_ARCHIVE="$(echo "${URL_VERSION_PROTON_GIT}" | awk -F'/' '{print $NF}' | awk -F'.tar' '{print $1}')"
...@@ -3351,7 +3375,7 @@ gui_vkBasalt () { ...@@ -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}" \ --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 & 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" \ --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 "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 \ --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 () { ...@@ -3602,6 +3626,74 @@ gui_MangoHud () {
exit 0 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\n<b>NOTE:</b> 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 () { portwine_create_shortcut () {
pw_stop_progress_bar pw_stop_progress_bar
[[ ! -e ${portwine_exe} ]] && return 1 [[ ! -e ${portwine_exe} ]] && return 1
...@@ -3609,7 +3701,7 @@ portwine_create_shortcut () { ...@@ -3609,7 +3701,7 @@ portwine_create_shortcut () {
if [[ "$1" == "block_name" ]] ; then if [[ "$1" == "block_name" ]] ; then
export name_desktop="${PORTPROTON_NAME}" 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" \ --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \ --field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \
...@@ -3621,7 +3713,7 @@ portwine_create_shortcut () { ...@@ -3621,7 +3713,7 @@ portwine_create_shortcut () {
PW_YAD_OUT=$? PW_YAD_OUT=$?
else else
export name_desktop="${PORTPROTON_NAME}" 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" \ --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \ --field="$(eval_gettext "The shortcut will be created in the PortProton directory.")":LBL "" \
...@@ -3732,7 +3824,7 @@ portwine_delete_shortcut () { ...@@ -3732,7 +3824,7 @@ portwine_delete_shortcut () {
} }
portwine_missing_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" \ --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "$PW_GUI_ICON_PATH/error.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!")" \ --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 () { ...@@ -3859,7 +3951,7 @@ portwine_start_debug () {
kill_portwine kill_portwine
export PW_LOG=1 export PW_LOG=1
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then 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 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 "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" 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 ...@@ -4075,13 +4167,12 @@ EOF
} }
pw_edit_db () { 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_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_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_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_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_USE_RUNTIME PW_DINPUT_PROTOCOL
PW_DGV2_VRAM_INCREASE PW_DGV2_FULLSCREEN PW_DGV2_FILTERING PW_DGV2_ANTIALIASING
" "
...@@ -4128,6 +4219,15 @@ button_click () { ...@@ -4128,6 +4219,15 @@ button_click () {
} }
export -f 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 () { run_desktop_b_click () {
[[ ! -z "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" [[ ! -z "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v13_0) ]] ; then if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v13_0) ]] ; then
...@@ -4203,6 +4303,21 @@ change_mirror () { ...@@ -4203,6 +4303,21 @@ change_mirror () {
} }
export -f 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 () { gui_wine_uninstaller () {
start_portwine start_portwine
pw_run uninstaller pw_run uninstaller
......
...@@ -13,8 +13,8 @@ echo ' ...@@ -13,8 +13,8 @@ echo '
██╔═══╝░██║░░██║██╔══██╗░░░██║░░░██╔═══╝░██╔══██╗██║░░██║░░░██║░░░██║░░██║██║╚████║ ██╔═══╝░██║░░██║██╔══██╗░░░██║░░░██╔═══╝░██╔══██╗██║░░██║░░░██║░░░██║░░██║██║╚████║
██║░░░░░╚█████╔╝██║░░██║░░░██║░░░██║░░░░░██║░░██║╚█████╔╝░░░██║░░░╚█████╔╝██║░╚███║ ██║░░░░░╚█████╔╝██║░░██║░░░██║░░░██║░░░░░██║░░██║╚█████╔╝░░░██║░░░╚█████╔╝██║░╚███║
╚═╝░░░░░░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░░╚════╝░╚═╝░░╚══╝ ╚═╝░░░░░░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░░╚════╝░╚═╝░░╚══╝
' '
if [[ $(id -u) = 0 ]] ; then if [[ $(id -u) = 0 ]] ; then
echo "Do not run this script as root!" echo "Do not run this script as root!"
exit 1 exit 1
...@@ -70,11 +70,11 @@ fi ...@@ -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 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 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_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 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 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" export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}* rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
...@@ -184,6 +184,17 @@ if [[ "${INSTALLING_PORT}" == 1 ]] ; then ...@@ -184,6 +184,17 @@ if [[ "${INSTALLING_PORT}" == 1 ]] ; then
return 0 return 0
fi 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 # check skip update
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \
&& [[ ! -f "/tmp/portproton.lock" ]] && [[ ! -f "/tmp/portproton.lock" ]]
...@@ -236,8 +247,8 @@ fi ...@@ -236,8 +247,8 @@ fi
if grep "SteamOS" "/etc/os-release" &>/dev/null \ if grep "SteamOS" "/etc/os-release" &>/dev/null \
&& [[ ! -f "${HOME}/.local/share/applications/PortProton.desktop" ]] && [[ ! -f "${HOME}/.local/share/applications/PortProton.desktop" ]]
then then
cp -f "${PORT_WINE_PATH}/PortProton.desktop" "${HOME}/.local/share/applications/" cp -f "${PORT_WINE_PATH}/PortProton.desktop" "${HOME}/.local/share/applications/"
update-desktop-database -q "${HOME}/.local/share/applications" update-desktop-database -q "${HOME}/.local/share/applications"
fi fi
[[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut [[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
...@@ -337,12 +348,25 @@ popd 1>/dev/null || fatal ...@@ -337,12 +348,25 @@ popd 1>/dev/null || fatal
check_nvidia_rtx && check_variables PW_VULKAN_USE "2" check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
[[ "${PW_USE_DGVOODOO2}" == "1" ]] && DGV_TXT="$(eval_gettext 'and dgVoodoo2 ')" || unset DGV_TXT [[ "${PW_DGVOODOO2}" == "1" ]] && DGV2_TXT="$(eval_gettext '<b>dgVoodoo2 </b>')" || unset DGV2_TXT
SORT_OPENGL="$(eval_gettext 'WineD3D OpenGL ${DGV_TXT}(For video cards without Vulkan)')" [[ "${PW_VKBASALT}" == "1" ]] && VKBASALT_TXT="$(eval_gettext '<b>vkBasalt </b>')" || unset VKBASALT_TXT
SORT_VULKAN="$(eval_gettext 'WineD3D Vulkan ${DGV_TXT}(Damavand experimental)')" [[ "${PW_MANGOHUD}" == "1" ]] && MANGOHUD_TXT="$(eval_gettext '<b>MangoHud </b>')" || unset MANGOHUD_TXT
SORT_LEGACY="$(eval_gettext 'Legacy DXVK ${DGV_TXT}(Vulkan v1.1)')" if [[ "${PW_DGVOODOO2}" == "1" ]] \
SORT_STABLE="$(eval_gettext 'Stable DXVK, VKD3D ${DGV_TXT}(Vulkan v1.2)')" || [[ "${PW_VKBASALT}" == "1" ]] \
SORT_NEWEST="$(eval_gettext 'Newest DXVK, VKD3D, D8VK ${DGV_TXT}(Vulkan v1.3+)')" || [[ "${PW_MANGOHUD}" == "1" ]]
then
NLINE_TXT='\n'
ENABLE_TXT="$(eval_gettext '<b>enable</b>.')"
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_NINE="$(eval_gettext 'Gallium Nine (DirectX 9 for MESA)')"
SORT_G_ZINK="$(eval_gettext 'Gallium Zink (OpenGL to Vulkan)')" SORT_G_ZINK="$(eval_gettext 'Gallium Zink (OpenGL to Vulkan)')"
...@@ -389,6 +413,7 @@ else ...@@ -389,6 +413,7 @@ else
fi fi
unset PW_GUI_DISABLED_CS unset PW_GUI_DISABLED_CS
fi fi
if [[ -f "${portwine_exe}" ]] ; then if [[ -f "${portwine_exe}" ]] ; then
if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then
pw_create_gui_png pw_create_gui_png
...@@ -398,31 +423,69 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -398,31 +423,69 @@ if [[ -f "${portwine_exe}" ]] ; then
else else
PW_SHORTCUT="$(eval_gettext "DELETE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(eval_gettext "Delete shortcut for select file..."):98" PW_SHORTCUT="$(eval_gettext "DELETE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(eval_gettext "Delete shortcut for select file..."):98"
fi fi
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --form \ try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
--title "PortProton-${install_ver} (${scripts_install_ver})" \ export KEY_START="$RANDOM"
--image "${PW_ICON_FOR_YAD}" --separator=";" \ if [[ "${PW_GUI_START}" = NOTEBOOK ]] ; then
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=1 --form --separator=";" \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --image="${PW_ICON_FOR_YAD}" --text-align="center" --text "$PW_COMMENT_DB""$PW_SETTINGS_INDICATION" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field=":LBL" "" \ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--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 \ --field=":LBL" "" \
--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 \ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
--button="$(eval_gettext "EDIT DB")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Edit database file for") ${PORTWINE_DB}":118 \ "${pw_yad_v13_0}" --plug=$KEY_START --tabnum=2 --form --columns=2 --scroll --align-buttons \
--button="${PW_SHORTCUT}" \ --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"' \
--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 \ --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"' \
--button="$(eval_gettext "LAUNCH")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Run file ...")":106 2>/dev/null) --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"' \
PW_YAD_SET="$?" 2>/dev/null &
if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_tab" ]] ; then
VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}') export TAB_START=2
PW_WINE_VER=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}') try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_tab"
PW_PREFIX_NAME=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g) else
if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then export TAB_START=1
PW_PREFIX_NAME="DEFAULT" fi
else "${pw_yad_v13_0}" --key=$KEY_START --notebook --expand --center --active-tab=$TAB_START \
PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" --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 fi
export PW_PREFIX_NAME PW_WINE_VER VULKAN_MOD
elif [[ -f "${PORTWINE_DB_FILE}" ]] ; then elif [[ -f "${PORTWINE_DB_FILE}" ]] ; then
portwine_launch portwine_launch
fi fi
...@@ -434,6 +497,11 @@ else ...@@ -434,6 +497,11 @@ else
else NEW_MIRROR="CDN" else NEW_MIRROR="CDN"
fi fi
if [[ "$PW_GUI_START" == "NOTEBOOK" ]]
then NEW_PW_GUI_START="PANED"
else NEW_PW_GUI_START="NOTEBOOK"
fi
orig_IFS="$IFS" && IFS=$'\n' orig_IFS="$IFS" && IFS=$'\n'
PW_ALL_DF="$(ls "${PORT_WINE_PATH}"/ | grep .desktop | grep -vE '(PortProton|readme)')" PW_ALL_DF="$(ls "${PORT_WINE_PATH}"/ | grep .desktop | grep -vE '(PortProton|readme)')"
if [[ -z "${PW_ALL_DF}" ]] if [[ -z "${PW_ALL_DF}" ]]
...@@ -459,7 +527,7 @@ else ...@@ -459,7 +527,7 @@ else
--align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null & --align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS" 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 "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 "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"' \ --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 ...@@ -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=" 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 "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 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 & 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=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
...@@ -484,7 +553,7 @@ else ...@@ -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 "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 "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 "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 \ "${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"' \ --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 ...@@ -575,11 +644,7 @@ else
fi fi
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
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
if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ]] ; then 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}')" 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" )" 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 ...@@ -636,8 +701,10 @@ fi
open_changelog) open_changelog ;; open_changelog) open_changelog ;;
change_loc) change_loc ;; change_loc) change_loc ;;
change_mirror) change_mirror ;; change_mirror) change_mirror ;;
change_gui_start) change_gui_start ;;
120) gui_vkBasalt ;; 120) gui_vkBasalt ;;
122) gui_MangoHud ;; 122) gui_MangoHud ;;
124) gui_dgVoodoo2 ;;
pw_create_prefix_backup) pw_create_prefix_backup ;; pw_create_prefix_backup) pw_create_prefix_backup ;;
gui_credits) gui_credits ;; gui_credits) gui_credits ;;
pw_start_cont_xterm) pw_start_cont_xterm ;; pw_start_cont_xterm) pw_start_cont_xterm ;;
......
...@@ -55,13 +55,16 @@ export WINE_FULLSCREEN_FSR_MODE="ultra" ...@@ -55,13 +55,16 @@ export WINE_FULLSCREEN_FSR_MODE="ultra"
export PW_VULKAN_USE="2" export PW_VULKAN_USE="2"
export VKD3D_LIMIT_TESS_FACTORS="64" export VKD3D_LIMIT_TESS_FACTORS="64"
export D8VK_VER="1.7.1-2367" export D8VK_VER="1.7.1-2367"
export DGV2_VER="2.81.3"
export DXVK_LEGACY_VER="1.6.1" export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28" export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.3.1-37" export DXVK_GIT_VER="2.3.1-37"
export VKD3D_STABLE_VER="1.1-2602" export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_DGV2_VER="1.1-3622"
export VKD3D_GIT_VER="1.1-4022" 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### ###PREFIX_VERSION###
export DOTPFX_VER="48v7" export DOTPFX_VER="48v7"
export DEFPFX_VER="v1" export DEFPFX_VER="v1"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment