forked from CastroFidel/PortWINE
		
	
		
			
				
	
	
		
			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}" >> "${PORT_WINE_TMP_PATH}/dxvk_on_shortcut"
 | |
|                 done  
 | |
|                 sed -i "s/|/,/g" "${PORT_WINE_TMP_PATH}/dxvk_on_shortcut"
 | |
|                 read "hud_set" < "${PORT_WINE_TMP_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
 |