12 Commits

2 changed files with 25 additions and 13 deletions

View File

@ -67,6 +67,9 @@ From Source:
2. Extract it!
3. Run it!
Dependencies: bash, coreurtils, curl, polkit (those should be installed by default on most distributions)
Optional Dependencies: zenity (for GUI), zstd (to extract some runners)
Arch Linux: https://aur.archlinux.org/packages/lug-helper/
## Contributors:

View File

@ -65,6 +65,12 @@ if [ ! -x "$(command -v curl)" ]; then
notify-send "lug-helper" "The required package 'curl' was not found on this system.\n" --icon=dialog-warning
exit 1
fi
if [ ! -x "$(command -v zstd)" ]; then
# Print to stderr and also try warning the user through notify-send
printf "lug-helper.sh: The package 'zstd' was not found on this system. You won't be able to install Runners from TKG.\n" 1>&2
notify-send "lug-helper" "The package 'zstd' was not found on this system. You won't be able to install Runners from TKG.\n" --icon=dialog-warning
exit 1
fi
if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v sort)" ] || [ ! -x "$(command -v basename)" ] || [ ! -x "$(command -v realpath)" ] || [ ! -x "$(command -v dirname)" ]; then
# Print to stderr and also try warning the user through notify-send
printf "lug-helper.sh: One or more required packages were not found on this system.\nPlease check that the following coreutils packages are installed:\n- mktemp\n- sort\n- basename\n- realpath\n- dirname\n" 1>&2
@ -117,9 +123,9 @@ runners_dir="$data_dir/lutris/runners/wine"
# ie. "RawFox" "https://api.github.com/repos/rawfoxDE/raw-wine/releases"
runner_sources=(
"RawFox" "https://api.github.com/repos/starcitizen-lug/raw-wine/releases"
"Molotov/Snatella" "https://api.github.com/repos/snatella/wine-runner-sc/releases"
"/dev/null" "https://api.github.com/repos/gort818/wine-sc-lug/releases"
"GloriousEggroll" "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases"
"TKG" "https://api.github.com/repos/Frogging-Family/wine-tkg-git/releases"
)
######## DXVK ##############################################################
@ -172,7 +178,7 @@ lug_wiki="https://github.com/starcitizen-lug/information-howtos/wiki"
# Github repo and script version info
repo="starcitizen-lug/lug-helper"
releases_url="https://github.com/$repo/releases"
current_version="v1.20"
current_version="v1.21"
############################################################################
############################################################################
@ -1187,7 +1193,7 @@ download_select_install() {
esac
# For runners, check GlibC version against runner requirements
if [ "$download_type" = "runner" ] && [ "$contributor_name" = "/dev/null" ]; then
if [ "$download_type" = "runner" ] && ( [ "$contributor_name" = "/dev/null" ] || [ "$contributor_name" = "TKG" ] ); then
required_glibc="2.33"
system_glibc="$(ldd --version | awk '/ldd/{print $NF}')"
@ -1242,19 +1248,22 @@ download_select_install() {
download_name="$(basename "${download_versions[i]}" .tar.zst)"
;;
*)
debug_print exit "Unknown archive filetype in download_select_install function. Aborting."
download_name="skip"
debug_print continue "Unknown archive filetype in download_select_install function. Offending String: ${download_versions[i]}"
;;
esac
# Add the file names to the menu
if [ -d "$download_dir/$download_name" ]; then
if [[ "$download_name" = "skip" ]] || [[ "${download_versions[i]}" = "proton"* ]] ; then # filter out other file types or proton-downloads (needed for TKG)
continue
elif [ -d "$download_dir/$download_name" ]; then
menu_options+=("$download_name [installed]")
else
menu_options+=("$download_name")
fi
menu_actions+=("download_install $i")
done
# Complete the menu by adding the option to go back to the previous menu
menu_options+=("$goback")
menu_actions+=(":") # no-op
@ -1439,7 +1448,11 @@ eac_workaround() {
# Check if EAC workaround is already applied
if grep "$eac_hosts" /etc/hosts; then
message info "The Easy Anti-Cheat workaround has already been applied.\nYou're all set!"
if grep "^$eac_hosts" /etc/hosts; then
message info "The Easy Anti-Cheat workaround has already been applied.\nYou're all set!"
else
message info "The Easy Anti-Cheat workaround has already been applied, but is commented out.\nNo changes have been made, please edit /etc/hosts manually!"
fi
return 1
fi
@ -1516,15 +1529,11 @@ rm_shaders() {
# Delete shaders directory in every directory beginning with "sc-alpha"
for (( i=0; i<"${#appdata_items[@]}"; i++ )); do
if [ "${appdata_items[i]}" = "$wine_prefix/$appdata_path"/sc-alpha* ]; then # check if the item in the array begins with sc-alpha
if [ -d "${appdata_items[i]}/shaders" ]; then # check if there is a shaders subfolder
if message question "The following directory will be deleted:\n\n${appdata_items[i]}/shaders\n\nDo you want to proceed?"; then
if [[ "${appdata_items[i]}" = "$wine_prefix/$appdata_path"/sc-alpha* ]] && [[ -d "${appdata_items[i]}"/shaders ]]; then # check if the item in the array begins with sc-alpha
if message question "The following directory will be deleted:\n\n${appdata_items[i]}/shaders\n\nDo you want to proceed?"; then
debug_print continue "Deleting ${appdata_items[i]}/shaders..."
rm -r "${appdata_items[i]}/shaders"
message info "Your shaders have been deleted!"
fi
elif [ $i = $(( "${#appdata_items[@]}" - 1 )) ]; then # display message when end of array is reached and no shaders directories were found
message info "No more shader directories found"
fi
elif [ $i = $(( "${#appdata_items[@]}" - 1 )) ]; then # display message when end of array is reached and no shaders or sc-alpha directories were found
message info "No more shader directories found"