Commit e36eae06 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2166

parent c26941cd
......@@ -2,6 +2,10 @@ You can help us in the development of the project on the website: boosty.to/linu
-----------------------------------------
Changelog:
###Scripts version 2166###
* added a shortcut creation assistant after installing the game/program using setup.exe
* the "INSTALLED" tab has been added to the main interface of PortProton, in which you can search for all exe files in all PortProton prefixes
###Scripts version 2165###
* HOTFIX - runing Atomic Heart from VK Play
......
......@@ -2,6 +2,10 @@
-----------------------------------------
История изменений:
###Scripts version 2166###
* добавлен помощник создания ярлыка после установки игры/программы с помощью setup.exe
* в основном интерфейсе PortProton добавлена вкладка "УСТАНОВЛЕННЫЕ" в которой можно произвести поиск всех exe файлов во всех префиксах PortProton
###Scripts version 2165###
* HOTFIX для запуска Atomic Heart из VK Play (после обновления ОБЯЗАТЕЛЬНО кликаем заново автоустановку VK Play из PortProton)
......
......@@ -598,7 +598,7 @@ stop_portwine () {
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
fi
add_in_stop_portwine &>/dev/null
add_in_stop_portwine #&>/dev/null
kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1
killall yad_new &>/dev/null
exit 0
......@@ -762,7 +762,7 @@ pw_init_db () {
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
. "${PORTWINE_DB_FILE}"
if [[ -z "`ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/"`" ]] ; then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
......@@ -785,10 +785,10 @@ pw_init_db () {
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \
--field="DB FILE: :CB" "${ADD_CB_DBFILE}"`
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
PORTWINE_DB_FILE="${PW_FIND_DB_FILE}"
sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
fi
IFS="$orig_IFS"
if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then
......@@ -899,10 +899,7 @@ update_winetricks () {
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
#HOTFIX SHA256SUM FOR VC_RUN2019
sed -i 's/vc_redist.x86.exe 1acd8d5ea1cdc3eb2eb4c87be3ab28722d0825c15449e5c9ceef95d897de52fa/vc_redist.x86.exe 80c7969f4e05002a0cd820b746e0acb7406d4b85e52ef096707315b390927824/g' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/vc_redist.x64.exe 003063723b2131da23f40e2063fb79867bae275f7b5c099dbd1792e25845872b/vc_redist.x64.exe 9b9dd72c27ab1db081de56bb7b73bee9a00f60d14ed8e6fde45dab3e619b5f04/g' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2019 dlls \\/w_metadata !dont_use_2019! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
fi
return 0
}
......@@ -962,11 +959,29 @@ pw_create_gui_png () {
pw_find_exe () {
unset PW_FIND_TIME
case "$1" in
"last_day") PW_FIND_TIME="-mtime -1" ;;
"news") PW_FIND_TIME="-cmin -180" ;;
esac
PW_EXCUDE_EXE_FIND='(windows|explorer|anticheat|programdata|redist|setup|.ppdb|unin|error|crash|handler|install|/jre/|steam|uploader)'
PW_PATH_FOR_FIND="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/"
PW_EXCLUDE_EXE_FIND='(windows|explorer|anticheat|programdata|redist|setup|.ppdb|unin|error|crash|handler|install|/jre/|steam|uploader|eac|netframe)'
PW_PATH_FOR_FIND="${PORT_WINE_PATH}/data/prefixes/"
find -P "${PW_PATH_FOR_FIND}" -type f -name "*.exe" ${PW_FIND_TIME} | grep -viE ${PW_EXCLUDE_EXE_FIND} | awk -F"/prefixes/" '{print $2}' > "${PORT_WINE_TMP_PATH}/tmp_yad_find_exe"
unset FIND_TO_GUI
while read line; do
FIND_TO_GUI+="false%${line}%"
done < "${PORT_WINE_TMP_PATH}/tmp_yad_find_exe"
find -P "${PW_PATH_FOR_FIND}" -type f -name "*.exe" ${PW_FIND_TIME} | grep -viE ${PW_EXCUDE_EXE_FIND}
OrigIFS="$IFS" && IFS=%
PW_SET_FIND_EXE="$("${pw_yad_new}" --height="300" --width="1000" --center --list --radiolist \
--text-align=center --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Create shortcut for..." \
--text="\n${loc_gui_create_shortcut_for_exe}" --column="set:" --column="path to .exe file:" ${FIND_TO_GUI})"
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
IFS=$OrigIFS
if [[ -n "${PW_SET_FIND_EXE}" ]] ; then
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $2}')"
portwine_create_shortcut
fi
}
......@@ -26,6 +26,7 @@ then
export loc_mg_emulators="ЭМУЛЯТОРЫ"
export loc_mg_wine_settings="НАСТРОЙКИ WINE"
export loc_mg_portproton_settings="НАСТРОЙКИ PORTPROTON"
export loc_mg_installed="УСТАНОВЛЕННЫЕ"
export PW_CHANGELOG_FILE="changelog_rus"
export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n"
......@@ -71,6 +72,7 @@ then
export port_debug="Не торопитесь! После окончания работы ${portname}, нажмите STOP."
export loc_create_shortcut_from_gui="Создать ярлык..."
export loc_create_shortcut="Создать ярлык для запускаемого файла."
export loc_delete_shortcut="Удалить ярлык для запускаемого файла."
export loc_debug="Запуск c созданием .log файла в корне ${portname}"
......@@ -141,6 +143,8 @@ then
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
export loc_gui_create_shortcut_for_exe="Выберите .exe файл для которого необходимо создать ярлык и нажмите ОК.\n"
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
......@@ -250,6 +254,8 @@ then
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="PortProton database file was found for"
export loc_create_shortcut_from_gui="Create shortcut..."
export loc_gui_rm_pp="REMOVE PORTPROTON"
export loc_gui_upd_pp="UPDATE PORTPROTON"
export loc_gui_changelog="CHANGELOG"
......@@ -268,6 +274,7 @@ then
export loc_mg_emulators="EMULATORS"
export loc_mg_wine_settings="WINE SETTINGS"
export loc_mg_portproton_settings="PORTPROTON SETTINGS"
export loc_mg_installed="INSTALLED"
export PW_CHANGELOG_FILE="changelog_eng"
export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n"
......@@ -310,6 +317,8 @@ then
export port_start7="Run winetricks"
export port_start8="DXVK"
export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"
export port_debug="Please wait! After finishing the ${portname}, click STOP."
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!"
......
......@@ -19,5 +19,5 @@ export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_
export PW_DLL_INSTALL=""
add_in_stop_portwine () {
echo TEST
pw_find_exe news
}
......@@ -597,7 +597,7 @@ else
fi
PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET}"* | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
echo ${PW_EXEC_FROM_DESKTOP[*]}
export portwine_exe="$(echo $PW_EXEC_FROM_DESKTOP | awk -F"start.sh" '{print $1}')"
echo "Restarting PP after choose desktop file..."
# stop_portwine
......@@ -668,8 +668,24 @@ else
export -f gui_open_scripts_from_backup
export KEY=$RANDOM
"${pw_yad_new}" --plug=${KEY} --tabnum=4 --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
export KEY="$RANDOM"
orig_IFS="$IFS" && IFS=$'\n'
PW_ALL_DF="$(ls ${PORT_WINE_PATH}/ | grep .desktop | grep -vE '(PortProton|readme)')"
IFS="$orig_IFS"
PW_GENERATE_BUTTONS="--field= $loc_create_shortcut_from_gui!$PW_GUI_ICON_PATH/separator.png!:FBTN%@bash -c \"button_click pw_find_exe\"%"
for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do
PW_NAME_D_NAME="$(cat "${PORT_WINE_PATH}/$PW_DESKTOP_FILES" | grep Name | awk -F= '{print $2}')"
# PW_NAME_D_ICON="$(cat "${PORT_WINE_PATH}/$PW_DESKTOP_FILES" | grep Icon | awk -F= '{print $2}')"
PW_NAME_D_ICON="$PW_GUI_ICON_PATH/separator.png"
# PW_GENERATE_BUTTONS+="--field= ${PW_NAME_D_NAME}!${PW_NAME_D_ICON}!:FBTN%@bash -c \"run_desktop_b_click ${PW_DESKTOP_FILES}\"%"
done
old_IFS=$IFS && IFS="%"
"${pw_yad_new}" --plug=$KEY --tabnum=5 --form --columns=2 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} &
IFS="$orig_IFS"
"${pw_yad_new}" --plug=${KEY} --tabnum=4 --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
--field=" $loc_gui_pw_reinstall_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \
--field=" $loc_gui_rm_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \
--field=" $loc_gui_upd_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \
......@@ -740,36 +756,19 @@ else
# --field=" Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"'
# --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
orig_IFS="$IFS" && IFS=$'\n'
PW_ALL_DF="$(ls ${PORT_WINE_PATH}/ | grep .desktop | grep -v "PortProton" | grep -v "readme")"
IFS="$orig_IFS"
for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do
PW_NAME_D_NAME="$(cat "${PORT_WINE_PATH}/$PW_DESKTOP_FILES" | grep Name | awk -F= '{print $2}')"
PW_NAME_D_ICON="$(cat "${PORT_WINE_PATH}/$PW_DESKTOP_FILES" | grep Icon | awk -F= '{print $2}')"
PW_GENERATE_BUTTONS+="--field= ${PW_NAME_D_NAME}!${PW_NAME_D_ICON}!:FBTN%@bash -c \"run_desktop_b_click ${PW_DESKTOP_FILES}\"%"
done
old_IFS=$IFS && IFS="%"
"${pw_yad_new}" --plug=$KEY --tabnum=5 --form --columns=2 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} &
IFS="$orig_IFS"
"${pw_yad_new}" --key=$KEY --notebook --borders=5 --width=1000 --height=235 --no-buttons --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom --keep-icon-size \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_wine_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!""
--tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!""
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ]]; then
export PW_YAD_SET=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}')
echo "from tmp_yad_form $PW_YAD_SET, and cat tmp_yad_form"
cat "${PORT_WINE_TMP_PATH}/tmp_yad_form"
fi
if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ]] ; then
export VULKAN_MOD=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $1}')
......@@ -835,7 +834,9 @@ case "$PW_YAD_SET" in
pw_create_prefix_backup) pw_create_prefix_backup ;;
gui_credits) gui_credits ;;
pw_start_cont_xterm) pw_start_cont_xterm ;;
pw_find_exe) pw_find_exe ;;
PW_*) pw_autoinstall_from_db ;;
# *) run_desktop_b_click
esac
stop_portwine
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2165
#SCRIPTS_NEXT_VERSION=2166
########################################################################
export PW_MANGOHUD=0
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
......
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