mirror of
https://github.com/the-sane/lug-helper.git
synced 2024-12-28 16:24:21 +00:00
Add installer using a bundled lutris json
This commit is contained in:
parent
d24e8b590b
commit
dedefebd2d
@ -15,6 +15,8 @@
|
|||||||
# - Check your system for optimal settings and
|
# - Check your system for optimal settings and
|
||||||
# change them as needed to prevent crashes.
|
# change them as needed to prevent crashes.
|
||||||
#
|
#
|
||||||
|
# - Install Star Citizen using a bundled Lutris install script
|
||||||
|
#
|
||||||
# - Easily install and remove Lutris wine Runners and DXVK versions.
|
# - Easily install and remove Lutris wine Runners and DXVK versions.
|
||||||
#
|
#
|
||||||
# - Qickly wipe your Star Citizen USER folder as is recommended
|
# - Qickly wipe your Star Citizen USER folder as is recommended
|
||||||
@ -63,10 +65,10 @@ if [ ! -x "$(command -v curl)" ]; then
|
|||||||
notify-send "lug-helper" "The required package 'curl' was not found on this system.\n" --icon=dialog-warning
|
notify-send "lug-helper" "The required package 'curl' was not found on this system.\n" --icon=dialog-warning
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v basename)" ] || [ ! -x "$(command -v sort)" ]; then
|
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
|
# 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 packages are installed:\n- mktemp (part of gnu coreutils)\n- basename (part of gnu coreutils)\n- sort (part of gnu coreutils)\n" 1>&2
|
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
|
||||||
notify-send "lug-helper" "One or more required packages were not found on this system.\nPlease check that the following packages are installed:\n- mktemp (part of gnu coreutils)\n- basename (part of gnu coreutils)\n- sort (part of gnu coreutils)\n" --icon=dialog-warning
|
notify-send "lug-helper" "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" --icon=dialog-warning
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -80,6 +82,9 @@ data_dir="${XDG_DATA_HOME:-$HOME/.local/share}"
|
|||||||
# .config subdirectory
|
# .config subdirectory
|
||||||
conf_subdir="starcitizen-lug"
|
conf_subdir="starcitizen-lug"
|
||||||
|
|
||||||
|
# Helper directory
|
||||||
|
helper_dir="$(realpath "$0" | xargs dirname)"
|
||||||
|
|
||||||
# Temporary directory
|
# Temporary directory
|
||||||
tmp_dir="$(mktemp -d --suffix=".lughelper")"
|
tmp_dir="$(mktemp -d --suffix=".lughelper")"
|
||||||
trap 'rm -r "$tmp_dir"' EXIT
|
trap 'rm -r "$tmp_dir"' EXIT
|
||||||
@ -140,16 +145,19 @@ menu_option_height="25"
|
|||||||
# Otherwise, default to the logo in the same directory
|
# Otherwise, default to the logo in the same directory
|
||||||
if [ -f "/usr/share/pixmaps/lug-logo.png" ]; then
|
if [ -f "/usr/share/pixmaps/lug-logo.png" ]; then
|
||||||
lug_logo="/usr/share/pixmaps/lug-logo.png"
|
lug_logo="/usr/share/pixmaps/lug-logo.png"
|
||||||
elif [ -f "lug-logo.png" ]; then
|
elif [ -f "$helper_dir/lug-logo.png" ]; then
|
||||||
lug_logo="lug-logo.png"
|
lug_logo="$helper_dir/lug-logo.png"
|
||||||
else
|
else
|
||||||
lug_logo="info"
|
lug_logo="info"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Lutris install script
|
||||||
|
install_script="$helper_dir/starcitizen-lutris-install.json"
|
||||||
|
|
||||||
# Github repo and script version info
|
# Github repo and script version info
|
||||||
repo="starcitizen-lug/lug-helper"
|
repo="starcitizen-lug/lug-helper"
|
||||||
releases_url="https://github.com/$repo/releases"
|
releases_url="https://github.com/$repo/releases"
|
||||||
current_version="v1.13"
|
current_version="v1.14"
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
############################################################################
|
############################################################################
|
||||||
@ -748,6 +756,23 @@ avx_check() {
|
|||||||
|
|
||||||
#------------------------- end preflight check functions ---------------------#
|
#------------------------- end preflight check functions ---------------------#
|
||||||
|
|
||||||
|
# Install Star Citizen using Lutris
|
||||||
|
install_game() {
|
||||||
|
# Check if Lutris is installed
|
||||||
|
if [ ! -x "$(command -v lutris)" ]; then
|
||||||
|
message warning "Lutris is required but does not appear to be installed."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# Check if the install script exists
|
||||||
|
if [ ! -f "$install_script" ]; then
|
||||||
|
message warning "Lutris install script not found.\n\n$install_script\n\nIt is included in our official releases here:\n$releases_url"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
lutris --install "$install_script" &
|
||||||
|
message info "The installation will continue in Lutris"
|
||||||
|
}
|
||||||
|
|
||||||
# Delete the shaders directory
|
# Delete the shaders directory
|
||||||
rm_shaders() {
|
rm_shaders() {
|
||||||
# Get/Set directory paths
|
# Get/Set directory paths
|
||||||
@ -1613,6 +1638,7 @@ while true; do
|
|||||||
|
|
||||||
# Configure the menu options
|
# Configure the menu options
|
||||||
preflight_msg="Preflight Check (System Optimization)"
|
preflight_msg="Preflight Check (System Optimization)"
|
||||||
|
install_msg="Install Star Citizen"
|
||||||
runners_msg="Manage Lutris Runners"
|
runners_msg="Manage Lutris Runners"
|
||||||
dxvk_msg="Manage DXVK Versions"
|
dxvk_msg="Manage DXVK Versions"
|
||||||
maintenance_msg="Maintenance and Troubleshooting"
|
maintenance_msg="Maintenance and Troubleshooting"
|
||||||
@ -1620,9 +1646,9 @@ while true; do
|
|||||||
quit_msg="Quit"
|
quit_msg="Quit"
|
||||||
|
|
||||||
# Set the options to be displayed in the menu
|
# Set the options to be displayed in the menu
|
||||||
menu_options=("$preflight_msg" "$runners_msg" "$dxvk_msg" "$maintenance_msg" "$randomizer_msg" "$quit_msg")
|
menu_options=("$preflight_msg" "$install_msg" "$runners_msg" "$dxvk_msg" "$maintenance_msg" "$randomizer_msg" "$quit_msg")
|
||||||
# Set the corresponding functions to be called for each of the options
|
# Set the corresponding functions to be called for each of the options
|
||||||
menu_actions=("preflight_check" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit")
|
menu_actions=("preflight_check" "install_game" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit")
|
||||||
|
|
||||||
# Calculate the total height the menu should be
|
# Calculate the total height the menu should be
|
||||||
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height))"
|
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height))"
|
||||||
|
Loading…
Reference in New Issue
Block a user