PortWINE/data_from_portwine/scripts/create_shortcut

69 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
########################################################################
PORTPROTON_NAME=$(zenity --entry --text "${sc_name}")
if [ $? -eq 1 ];then exit 1; fi
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
PORTPROTON_PATH="$(dirname "$(readlink -f "${PORTPROTON_EXE}")")"
if [ -x "`which wrestool 2>/dev/null`" ]; then
wrestool -x --output="${PORT_WINE_PATH}/data/img/" -t14 "${PORTPROTON_EXE}"
fi
PORTPROTON_IMG=$(zenity --file-selection --file-filter=""*.png" "*.ico"" \
--title="${sc_img}" --filename="${PORT_WINE_PATH}/data/img/")
if [ $? -eq 1 ];then exit 1; fi
PORTPROTON_CMD=""
#PORTPROTON_CMD=$(zenity --entry --text "${sc_cmd}")
#if [ $? -eq 1 ];then exit 1; fi
start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \
--column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=500 --height=220 \
TRUE "DXVK" "${ss_ogl_3}" \
FALSE "VKD3D and OpenGL" "${ss_ogl_2}" `
if [ $? -eq 1 ];then exit 1; fi
case $start_settings in
"VKD3D and OpenGL")
dxvk_ogl_var="off" ;;
"DXVK")
hud_settings=`zenity --list --title "HUD" --text "${hud_text}" --list --checklist \
--column="${inst_set}" --column="HUD info:" --column="${hud_info}" --width=800 --height=550 \
FALSE "fps" "${hud_fps}" \
FALSE "devinfo" "${hud_devinfo}" \
FALSE "frametimes" "${hud_frametimes}" \
FALSE "submissions" "${hud_submissions}" \
FALSE "drawcalls" "${hud_drawcalls}" \
FALSE "pipelines" "${hud_pipelines}" \
FALSE "memory" "${hud_memory}" \
FALSE "gpuload" "${hud_gpuload}" \
FALSE "version" "${hud_version}" \
FALSE "api" "${hud_api}" \
FALSE "compiler" "${hud_compiler}" \
FALSE "samplers" "${hud_samplers}" `
if [ ! -z $hud_settings ]; then
for hud_set in $hud_settings
do
export dxvk_ogl_var="${hud_set}"
done
export dxvk_ogl_var=${dxvk_ogl_var} | sed -i "s/|/,/g"
else
dxvk_ogl_var="0"
fi ;;
esac
########################################################################
cp -f "${PORTPROTON_IMG}" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
name_desktop="${PORTPROTON_NAME}"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Exec="env dxvk_ogl_var=$dxvk_ogl_var PATH_TO_GAME=\""$PORTPROTON_PATH"\" sh \"${PORT_SCRIPTS_PATH}/start\" \"${PORTPROTON_EXE}\" ${PORTPROTON_CMD}"" \
>> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORTPROTON_IMG}"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod +x "${PORT_WINE_PATH}/${name_desktop}.desktop"
########################################################################
`zenity --info --title "Успешно." --text "Ярлык создан в корневом каталоге порта." --no-wrap ` > /dev/null 2>&1