diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index fcf0471107ee0e3518120c5d53493ea4dd8e88d4..bd7308a19d6df05d60b0ea72a5fd44afabd095c7 100644 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://boosty ----------------------------------------- Changelog: +###Scripts version 2083### +* added displaying the icon of the file being launched in the PortProton GUI +* fixed creation of multiple .png files in .exe directory during shortcut creation +* in the PortProton interface, the "CREATE_SHORTCUT" button expands to "DELETE_SHORTCUT" when the shortcut is enabled in the menu -> games + ###Scripts version 2082### * HOTFIX - AUTOINSTALL for EGS diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 20c257f8c8b2e19b11938bcce79285c5f7c6766d..b35528cf8c06c75b7f3bad48c9907ab6c4f8e223 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,11 @@ ----------------------------------------- Рстория изменений: +###Scripts version 2083### +* добавлено отображение РёРєРѕРЅРєРё запускаемого файла РІ графическом интерфейсе PortProton +* исправлено создание множества файлов .png РІ каталоге СЃ .exe РІРѕ время создания ярлыка +* РІ интерфейсе PortProton РєРЅРѕРїРєР° "CREATE_SHORTCUT" раскрывается РЅР° "DELETE_SHORTCUT" РїСЂРё включении ярылыка РІ меню -> РёРіСЂС‹ + ###Scripts version 2082### * HOTFIX - AUTOINSTALL для EGS diff --git a/data_from_portwine/img/gui/port_proton.png b/data_from_portwine/img/gui/port_proton.png index 29c4cf0abb961d91ef2415c1ccfbde9da17b7c73..5467bc93d12011452dba68874041482165466692 100644 Binary files a/data_from_portwine/img/gui/port_proton.png and b/data_from_portwine/img/gui/port_proton.png differ diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 826d257186ba23a7773988f6c7fb10b4fdd99256..b2df435b226da0880fea78e0b68ba8ed4ca2cdc7 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -346,6 +346,14 @@ init_wine_ver () { return 0 } +check_vk_icd_file () { + if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then + export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" + elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then + export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json" + fi +} + regdlloverrides () { PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'` PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'` @@ -691,3 +699,30 @@ edit_db_from_gui () { done return 0 } + +pw_create_gui_png () { + if [ ! -z "${PORTWINE_CREATE_SHORTCUT_NAME}" ] ; then + export PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}" + else + export PORTPROTON_NAME="$(basename "${portwine_exe}" | sed s/".exe"/""/gi )" + fi + PW_RESIZE_TO=96 + if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then + try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img" + create_new_dir "${PORT_WINE_TMP_PATH}/tmp_img" + wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "${portwine_exe}" + cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" + icotool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" + cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" + cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" + fi + if [[ -x "`which "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] && \ + [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then + convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" + fi + if [[ ! -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then + export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" + else + export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png" + fi +} diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index e3b389d7fa5c11adadb9a4bbc4a6255da0b9e8db..3c92de4c8fa9289260074ed560eb514f55b9d10d 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -48,7 +48,8 @@ then export port_debug="РќРµ торопитесь! После окончания работы ${portname}, нажмите STOP." - export loc_creat_shortcut="Создать ярлык для запускаемого файла." + export loc_create_shortcut="Создать ярлык для запускаемого файла." + export loc_delete_shortcut="Удалить ярлык для запускаемого файла." export loc_debug="Запуск c созданием .log файла РІ РєРѕСЂРЅРµ ${portname}" export loc_launch="Запустить файл..." export loc_winecfg="Запустить winecfg для редактирования настроек префикса ${portname}" @@ -153,7 +154,8 @@ then export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!" #Helped in translation: ConTI1NuEsZZZ - export loc_creat_shortcut="Create shortcut for select file..." + export loc_create_shortcut="Create shortcut for select file..." + export loc_delete_shortcut="Delete shortcut for select file..." export loc_debug="Launch with the creation of a .log file at the root ${portname}" export loc_launch="Run file ..." export loc_winecfg="Run winecfg to edit prefix settings ${portname}" diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 1b715dea100e6f295d81b40deab651fefe743854..0de808e4000d4bbba37e3c50e8d7c201e875d2a5 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -194,6 +194,7 @@ start_portwine () { fi if [[ ! -z "${PW_PRIME_RENDER_OFFLOAD}" && "${PW_PRIME_RENDER_OFFLOAD}" != 0 ]] ; then export __NV_PRIME_RENDER_OFFLOAD=1 + check_vk_icd_file fi if [[ ! -z "${PW_HEAP_DELAY_FREE}" && "${PW_HEAP_DELAY_FREE}" != 0 ]] then export WINE_HEAP_DELAY_FREE="1" @@ -216,13 +217,6 @@ start_portwine () { if [ -x "`which optimus-manager 2>/dev/null`" ]; then export check_optimus_manager=`optimus-manager --status | grep Current | cut -f 2 -d':' | sed -e 's/^[[:space:]]*//'` fi - check_vk_icd_file () { - if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then - export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" - elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then - export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json" - fi - } if [[ ! -z "${PW_NVIDIA}" && "${check_optimus_manager}" != "intel" ]] ; then if [ "${check_optimus_manager}" = "nvidia" ]; then check_vk_icd_file @@ -544,9 +538,9 @@ if [[ ! -z "${PW_SILENT_RESTART}" && "${PW_SILENT_RESTART}" = 1 ]] ; then else unset PW_GUI_DISABLED_CS fi -unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET +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 -unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG +unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME export portname=PortProton cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index d1090813897dc37751b415822176d1f96c5f9ee1..99c39d90cc357ed48b48c5731314a57a55ebc856 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -34,33 +34,14 @@ portwine_launch () { } portwine_create_shortcut () { - if [ ! -z "${portwine_exe}" ]; then - PORTPROTON_EXE="${portwine_exe}" - else - PORTPROTON_EXE=$(zenity --file-selection --file-filter=""*.exe" "*.bat"" \ - --title="${sc_path}" --filename="${PORT_WINE_PATH}/data/pfx/drive_c/") - if [ $? -eq 1 ];then exit 1; fi - fi - if [ ! -z "${PORTWINE_CREATE_SHORTCUT_NAME}" ] ; then - export PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}" - else - PORTPROTON_NAME="$(basename "${PORTPROTON_EXE}" | sed s/".exe"/""/gi )" - fi - PORTPROTON_PATH="$( cd "$( dirname "${PORTPROTON_EXE}" )" >/dev/null 2>&1 && pwd )" - if [ -x "`which wrestool 2>/dev/null`" ]; then - wrestool -x --output="${PORTPROTON_PATH}/" -t14 "${PORTPROTON_EXE}" - cp "$(ls -S -1 "${PORTPROTON_EXE}"*".ico" | head -n 1)" "${PORTPROTON_EXE}.ico" - icotool -x --output="${PORTPROTON_PATH}/" "${PORTPROTON_EXE}.ico" - cp "$(ls -S -1 "${PORTPROTON_EXE}"*".png" | head -n 1)" "${PORTPROTON_EXE}.png" - cp -f "${PORTPROTON_EXE}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" - fi + pw_create_gui_png name_desktop="${PORTPROTON_NAME}" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" if [ -z "${PW_CHECK_AUTOINSTAL}" ] - then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ + then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ >> "${PORT_WINE_PATH}/${name_desktop}.desktop" - else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ + else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ >> "${PORT_WINE_PATH}/${name_desktop}.desktop" fi echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -76,6 +57,12 @@ portwine_create_shortcut () { xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & } +portwine_delete_shortcut () { + rm -f "`grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop`" + rm -f "`grep -il "${portwine_exe}" "${PORT_WINE_PATH}"/*.desktop`" +} + + portwine_start_debug () { kill_portwine export PW_LOG=1 @@ -206,7 +193,7 @@ portwine_start_debug () { sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log" deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" - "$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \ + "$pw_yad" --title="${portname}.log" --borders=7 --no-buttons --text-align=center \ --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ --filename="${PORT_WINE_PATH}/${portname}.log" stop_portwine @@ -342,16 +329,23 @@ else unset PW_GUI_DISABLED_CS fi if [ ! -z "${portwine_exe}" ]; then - if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then - OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \ - --title "${portname}-${install_ver} (${scripts_install_ver})" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ + if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then + pw_create_gui_png + grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/* + if [[ "$?" == 1 ]] ; then + PW_SHORTCUT="CREATE SHORTCUT!!${loc_create_shortcut}:100" + else + PW_SHORTCUT="DELETE SHORTCUT!!${loc_delete_shortcut}:98" + fi + OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=7 --form --center \ + --title "${portname}-${install_ver} (${scripts_install_ver})" --image "${PW_ICON_FOR_YAD}" --separator=";" \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --field="Run with :CB" "${PW_DEFAULT_VULKAN_USE}" \ - --field="Run with :CB" "${PW_DEFAULT_WINE_USE}" \ + --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ + --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=":LBL" "" \ --button='VKBASALT'!!"${ENABLE_VKBASALT_INFO}":120 \ --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ - --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ + --button="${PW_SHORTCUT}" \ --button='DEBUG'!!"${loc_debug}":102 \ --button='LAUNCH'!!"${loc_launch}":106 ) export PW_YAD_SET="$?" @@ -466,7 +460,7 @@ else --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \ --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & - "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \ + "${pw_yad}" --key=$KEY --notebook --borders=3 --width=1000 --height=168 --no-buttons --text-align=center \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" --separator=";" \ --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab=" EMULATORS" --tab=" SETTINGS" --center YAD_STATUS="$?" @@ -511,6 +505,7 @@ fi echo "PW_YAD_SET=$PW_YAD_SET" case "$PW_YAD_SET" in 1|252) exit 0 ;; + 98) portwine_delete_shortcut ;; 100) portwine_create_shortcut ;; DEBUG|102) portwine_start_debug ;; 106) portwine_launch ;; diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 6f1260cfff135efe646c66e71772df1a4058582d..082c6412fc91dbc795a070c902cc97e438d6754d 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/bin/env bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2082 +#SCRIPTS_NEXT_VERSION=2083 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=1