71 lines
3.7 KiB
Bash
Executable File
71 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Author: PortWINE-Linux.ru
|
|
. "$(dirname $(readlink -f "$0"))/runlib"
|
|
########################################################################
|
|
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_NAME="$(basename "${PORTPROTON_EXE}" | sed s/".exe"/""/g )"
|
|
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"
|
|
cp -f "${PORTPROTON_EXE}.ico" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.ico"
|
|
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
|
|
echo "${hud_set}" >> "${config_path}/dxvk_on_shortcut"
|
|
done
|
|
sed -i "s/|/,/g" "${config_path}/dxvk_on_shortcut"
|
|
read "hud_set" < "${config_path}/dxvk_on_shortcut"
|
|
export dxvk_ogl_var="$hud_set"
|
|
else
|
|
dxvk_ogl_var="0"
|
|
fi ;;
|
|
esac
|
|
########################################################################
|
|
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 launch_parameters="${PORTPROTON_CMD}" PATH_TO_GAME=\""$PORTPROTON_PATH"\" sh \"${PORT_SCRIPTS_PATH}/start\" \"${PORTPROTON_EXE}\" "" \
|
|
>> "${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="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.ico"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
|
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
|
########################################################################
|
|
`zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` > /dev/null 2>&1
|
|
if [ $? -eq "0" ]; then
|
|
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/
|
|
fi
|