mirror of
https://github.com/the-sane/lug-helper.git
synced 2025-04-24 17:49:11 +00:00
Remove other maintenance features now handled by the RSI launcher
This commit is contained in:
parent
5dd77b1643
commit
d75e610e99
210
lug-helper.sh
210
lug-helper.sh
@ -112,11 +112,6 @@ sc_base_dir="StarCitizen"
|
|||||||
# The default install location within a WINE prefix:
|
# The default install location within a WINE prefix:
|
||||||
default_install_path="drive_c/Program Files/Roberts Space Industries"
|
default_install_path="drive_c/Program Files/Roberts Space Industries"
|
||||||
|
|
||||||
# The names of the live/ptu/eptu directories
|
|
||||||
live_dir="LIVE"
|
|
||||||
ptu_dir="PTU"
|
|
||||||
eptu_dir="EPTU"
|
|
||||||
|
|
||||||
# Remaining directory paths are set at the end of the getdirs() function
|
# Remaining directory paths are set at the end of the getdirs() function
|
||||||
|
|
||||||
######## Bundled Files #####################################################
|
######## Bundled Files #####################################################
|
||||||
@ -716,25 +711,6 @@ getdirs() {
|
|||||||
echo "$game_path" > "$conf_dir/$conf_subdir/$game_conf"
|
echo "$game_path" > "$conf_dir/$conf_subdir/$game_conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
######## Set remaining directory paths #####################################
|
|
||||||
# $game_version is set in the version_menu() function
|
|
||||||
############################################################################
|
|
||||||
# The game's user directory
|
|
||||||
if [ -d "$game_path/$game_version/USER/Client" ]; then
|
|
||||||
# Backwards compatibility for older installs
|
|
||||||
user_dir="$game_path/$game_version/USER/Client/0"
|
|
||||||
else
|
|
||||||
user_dir="$game_path/$game_version/user/client/0"
|
|
||||||
fi
|
|
||||||
# The location within the USER directory to which the game exports keybinds
|
|
||||||
keybinds_dir="$user_dir/Controls/Mappings"
|
|
||||||
# Custom characters directory
|
|
||||||
custom_characters_dir="$user_dir/CustomCharacters"
|
|
||||||
# dxvk cache file
|
|
||||||
dxvk_cache="$game_path/$game_version/StarCitizen.dxvk-cache"
|
|
||||||
# Where to store backed up keybinds
|
|
||||||
backup_path="$conf_dir/$conf_subdir"
|
|
||||||
|
|
||||||
return "$retval"
|
return "$retval"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2284,27 +2260,24 @@ maintenance_menu() {
|
|||||||
# Configure the menu
|
# Configure the menu
|
||||||
menu_text_zenity="<b><big>Game Maintenance and Troubleshooting</big>\n\nLUG Wiki: $lug_wiki\n\nWine prefix:</b> $maint_prefix"
|
menu_text_zenity="<b><big>Game Maintenance and Troubleshooting</big>\n\nLUG Wiki: $lug_wiki\n\nWine prefix:</b> $maint_prefix"
|
||||||
menu_text_terminal="Game Maintenance and Troubleshooting\n\nLUG Wiki: $lug_wiki\n\nWine prefix: $maint_prefix"
|
menu_text_terminal="Game Maintenance and Troubleshooting\n\nLUG Wiki: $lug_wiki\n\nWine prefix: $maint_prefix"
|
||||||
menu_text_height="340"
|
menu_text_height="320"
|
||||||
menu_type="radiolist"
|
menu_type="radiolist"
|
||||||
|
|
||||||
# Configure the menu options
|
# Configure the menu options
|
||||||
version_msg="Switch the Helper between LIVE/PTU/EPTU (Currently: $game_version)"
|
|
||||||
prefix_msg="Target a different Star Citizen installation"
|
prefix_msg="Target a different Star Citizen installation"
|
||||||
launcher_msg="Update launch script (non-Lutris)"
|
launcher_msg="Update launch script (non-Lutris)"
|
||||||
launchscript_msg="Edit launch script"
|
launchscript_msg="Edit launch script"
|
||||||
config_msg="Open Wine prefix configuration"
|
config_msg="Open Wine prefix configuration"
|
||||||
controllers_msg="Open Wine controller configuration"
|
controllers_msg="Open Wine controller configuration"
|
||||||
powershell_msg="Install PowerShell into Wine prefix"
|
powershell_msg="Install PowerShell into Wine prefix"
|
||||||
userdir_msg="Delete my user folder and preserve keybinds/characters"
|
|
||||||
vidcache_msg="Delete my DXVK cache"
|
|
||||||
dirs_msg="Display Helper and Star Citizen directories"
|
dirs_msg="Display Helper and Star Citizen directories"
|
||||||
reset_msg="Reset Helper configs"
|
reset_msg="Reset Helper configs"
|
||||||
quit_msg="Return to the main menu"
|
quit_msg="Return to the main menu"
|
||||||
|
|
||||||
# Set the options to be displayed in the menu
|
# Set the options to be displayed in the menu
|
||||||
menu_options=("$version_msg" "$prefix_msg" "$launcher_msg" "$launchscript_msg" "$config_msg" "$controllers_msg" "$powershell_msg" "$userdir_msg" "$vidcache_msg" "$dirs_msg" "$reset_msg" "$quit_msg")
|
menu_options=("$prefix_msg" "$launcher_msg" "$launchscript_msg" "$config_msg" "$controllers_msg" "$powershell_msg" "$dirs_msg" "$reset_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=("version_menu" "switch_prefix" "update_launcher" "edit_wine_launch_script" "call_launch_script config" "call_launch_script controllers" "install_powershell" "rm_userdir" "rm_dxvkcache" "display_dirs" "reset_helper" "menu_loop_done")
|
menu_actions=("switch_prefix" "update_launcher" "edit_wine_launch_script" "call_launch_script config" "call_launch_script controllers" "install_powershell" "display_dirs" "reset_helper" "menu_loop_done")
|
||||||
|
|
||||||
# Calculate the total height the menu should be
|
# Calculate the total height the menu should be
|
||||||
# menu_option_height = pixels per menu option
|
# menu_option_height = pixels per menu option
|
||||||
@ -2321,46 +2294,6 @@ maintenance_menu() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Display a menu to select the game version (LIVE/PTU/EPTU) to target for all Helper functions
|
|
||||||
version_menu(){
|
|
||||||
# Configure the menu
|
|
||||||
menu_text_zenity="Select the game version the Helper will target:"
|
|
||||||
menu_text_terminal="Select the game version the Helper will target:"
|
|
||||||
menu_text_height="240"
|
|
||||||
menu_type="radiolist"
|
|
||||||
goback="Cancel"
|
|
||||||
|
|
||||||
# Set the options to be displayed in the menu
|
|
||||||
menu_options=("LIVE" "PTU" "EPTU" "$goback")
|
|
||||||
# Set the corresponding functions to be called for each of the options
|
|
||||||
menu_actions=("set_version $live_dir" "set_version $ptu_dir" "set_version $eptu_dir" ":")
|
|
||||||
|
|
||||||
# Calculate the total height the menu should be
|
|
||||||
# menu_option_height = pixels per menu option
|
|
||||||
# #menu_options[@] = number of menu options
|
|
||||||
# menu_text_height = height of the title/description text
|
|
||||||
# menu_text_height_zenity4 = added title/description height for libadwaita bigness
|
|
||||||
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height + $menu_text_height_zenity4))"
|
|
||||||
|
|
||||||
# Set the label for the cancel button
|
|
||||||
cancel_label="Cancel"
|
|
||||||
|
|
||||||
# Call the menu function. It will use the options as configured above
|
|
||||||
menu
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set the game version to target for all Helper functions
|
|
||||||
# Accepts a string as an argument
|
|
||||||
set_version() {
|
|
||||||
# This function expects a string to be passed in as an argument
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
debug_print exit "Script error: The set_version function expects an argument. Aborting."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set the game version from the passed argument
|
|
||||||
game_version="$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Target the Helper at a different Star Citizen prefix/installation
|
# Target the Helper at a different Star Citizen prefix/installation
|
||||||
switch_prefix() {
|
switch_prefix() {
|
||||||
# Check if the config file exists
|
# Check if the config file exists
|
||||||
@ -2487,106 +2420,6 @@ edit_wine_launch_script() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Save exported keybinds, wipe the USER directory, and restore keybinds
|
|
||||||
rm_userdir() {
|
|
||||||
# Prompt user to back up the current keybinds in the game
|
|
||||||
message info "Before proceeding, please be sure you have exported your Star Citizen keybinds and characters from within the game.\n\nTo export keybinds, launch the game and go to:\nOptions->Keybindings->Control Profiles->Save Control Settings\n\nTo export your character, go to the character creator from the main menu and save it with a name.\n\nGo on; I'll wait."
|
|
||||||
|
|
||||||
# Get/Set directory paths
|
|
||||||
getdirs
|
|
||||||
if [ "$?" -eq 1 ]; then
|
|
||||||
# User cancelled and wants to return to the main menu
|
|
||||||
# or there was an error
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Sanity check
|
|
||||||
if [ ! -d "$user_dir" ]; then
|
|
||||||
message warning "User directory not found. There is nothing to delete!\n\n$user_dir"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for exported keybind files
|
|
||||||
if [ ! -d "$keybinds_dir" ] || [ -z "$(ls -A "$keybinds_dir")" ]; then
|
|
||||||
if message question "Warning: No exported keybindings found.\nContinuing will erase your existing keybinds!\n\nDo you want to continue anyway?"; then
|
|
||||||
keybinds_exported=0
|
|
||||||
else
|
|
||||||
# User said no
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
keybinds_exported=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for saved custom character files
|
|
||||||
if [ ! -d "$custom_characters_dir" ] || [ -z "$(ls -A "$custom_characters_dir")" ]; then
|
|
||||||
if message question "Warning: No saved characters found.\nContinuing will erase your existing character!\n\nDo you want to continue anyway?"; then
|
|
||||||
characters_exported=0
|
|
||||||
else
|
|
||||||
# User said no
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
characters_exported=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if message question "The following directory will be deleted:\n\n$user_dir\n\nDo you want to proceed?"; then
|
|
||||||
# Back up keybinds
|
|
||||||
if [ "$keybinds_exported" -eq 1 ]; then
|
|
||||||
debug_print continue "Backing up keybinds to $backup_path/keybinds..."
|
|
||||||
mkdir -p "$backup_path/keybinds" && cp -r "$keybinds_dir/." "$backup_path/keybinds/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#Back up characters
|
|
||||||
if [ "$characters_exported" -eq 1 ]; then
|
|
||||||
debug_print continue "Backing up characters to $backup_path/CustomCharacters..."
|
|
||||||
mkdir -p "$backup_path/CustomCharacters" && cp -r "$custom_characters_dir/." "$backup_path/CustomCharacters/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Wipe the user directory
|
|
||||||
debug_print continue "Wiping $user_dir..."
|
|
||||||
rm -r --interactive=never "$user_dir"
|
|
||||||
|
|
||||||
# Restore custom keybinds
|
|
||||||
if [ "$keybinds_exported" -eq 1 ]; then
|
|
||||||
debug_print continue "Restoring keybinds..."
|
|
||||||
mkdir -p "$keybinds_dir" && cp -r "$backup_path/keybinds/." "$keybinds_dir/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Restore custom characters
|
|
||||||
if [ "$characters_exported" -eq 1 ]; then
|
|
||||||
debug_print continue "Restoring custom characters..."
|
|
||||||
mkdir -p "$custom_characters_dir" && cp -r "$backup_path/CustomCharacters/." "$custom_characters_dir/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
message info "Your Star Citizen USER directory has been cleaned up!\n\nExported keybinds can be re-imported in-game from:\nOptions->Keybindings->Control Profiles\n\nSaved characters can be selected in the character creator"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Delete DXVK cache
|
|
||||||
rm_dxvkcache() {
|
|
||||||
# Get/Set directory paths
|
|
||||||
getdirs
|
|
||||||
if [ "$?" -eq 1 ]; then
|
|
||||||
# User cancelled and wants to return to the main menu
|
|
||||||
# or there was an error
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Sanity check
|
|
||||||
if [ ! -f "$dxvk_cache" ]; then
|
|
||||||
message warning "Unable to find the DXVK cache file. There is nothing to delete!\n\n$dxvk_cache"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Delete the cache file
|
|
||||||
if message question "The following file will be deleted:\n\n$dxvk_cache\n\nDo you want to proceed?"; then
|
|
||||||
debug_print continue "Deleting $dxvk_cache..."
|
|
||||||
rm --interactive=never "$dxvk_cache"
|
|
||||||
message info "Your DXVK cache has been deleted!"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Display all directories currently used by this helper and Star Citizen
|
# Display all directories currently used by this helper and Star Citizen
|
||||||
display_dirs() {
|
display_dirs() {
|
||||||
dirs_list="\n"
|
dirs_list="\n"
|
||||||
@ -2594,7 +2427,7 @@ display_dirs() {
|
|||||||
|
|
||||||
# Helper configs and keybinds
|
# Helper configs and keybinds
|
||||||
if [ -d "$conf_dir/$conf_subdir" ]; then
|
if [ -d "$conf_dir/$conf_subdir" ]; then
|
||||||
dirs_list+="Helper configuration:\n$conf_dir/$conf_subdir\n\nKeybind backups:\n$conf_dir/$conf_subdir/keybinds\n\n"
|
dirs_list+="Helper configuration:\n$conf_dir/$conf_subdir\n\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Wine prefix
|
# Wine prefix
|
||||||
@ -3160,9 +2993,6 @@ if [ "$is_firstrun" != "false" ]; then
|
|||||||
is_firstrun="true"
|
is_firstrun="true"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set defaults
|
|
||||||
game_version="$live_dir"
|
|
||||||
|
|
||||||
# Format some URLs for Zenity if the Helper was not invoked with command-line arguments (handle those separately below)
|
# Format some URLs for Zenity if the Helper was not invoked with command-line arguments (handle those separately below)
|
||||||
if [ "$#" -eq 0 ]; then
|
if [ "$#" -eq 0 ]; then
|
||||||
format_urls
|
format_urls
|
||||||
@ -3194,11 +3024,8 @@ Usage: lug-helper <options>
|
|||||||
-o, --update-wine-dxvk Update DXVK for native Wine installs
|
-o, --update-wine-dxvk Update DXVK for native Wine installs
|
||||||
-k, --manage-lutris-dxvk Install or remove Lutris DXVK versions
|
-k, --manage-lutris-dxvk Install or remove Lutris DXVK versions
|
||||||
-e, --edit-launch-script Edit the native Wine install launch script
|
-e, --edit-launch-script Edit the native Wine install launch script
|
||||||
-a, --wine-config Launch winecfg for the game's prefix
|
-c, --wine-config Launch winecfg for the game's prefix
|
||||||
-b, --wine-controllers Launch Wine controllers configuration
|
-j, --wine-controllers Launch Wine controllers configuration
|
||||||
-u, --delete-user-folder Delete Star Citizen USER dir, preserve keybinds
|
|
||||||
-c, --delete-dxvk-cache Delete Star Citizen dxvk cache file
|
|
||||||
-t, --target [live|ptu|eptu] Target LIVE/PTU/EPTU (default: live)
|
|
||||||
-g, --no-gui Use terminal menus instead of a Zenity GUI
|
-g, --no-gui Use terminal menus instead of a Zenity GUI
|
||||||
-r, --get-referral Get a random LUG member's referral code
|
-r, --get-referral Get a random LUG member's referral code
|
||||||
-d, --show-directories Show all Star Citizen and Helper directories
|
-d, --show-directories Show all Star Citizen and Helper directories
|
||||||
@ -3239,33 +3066,12 @@ Usage: lug-helper <options>
|
|||||||
--edit-launch-script | -e )
|
--edit-launch-script | -e )
|
||||||
cargs+=("edit_wine_launch_script")
|
cargs+=("edit_wine_launch_script")
|
||||||
;;
|
;;
|
||||||
--wine-config | -a )
|
--wine-config | -c )
|
||||||
cargs+=("call_launch_script config")
|
cargs+=("call_launch_script config")
|
||||||
;;
|
;;
|
||||||
--wine-controllers | -b )
|
--wine-controllers | -j )
|
||||||
cargs+=("call_launch_script controllers")
|
cargs+=("call_launch_script controllers")
|
||||||
;;
|
;;
|
||||||
--delete-user-folder | -u )
|
|
||||||
cargs+=("rm_userdir")
|
|
||||||
;;
|
|
||||||
--delete-dxvk-cache | -c )
|
|
||||||
cargs+=("rm_dxvkcache")
|
|
||||||
;;
|
|
||||||
--target | -t )
|
|
||||||
game_version="$2"
|
|
||||||
if [ "$game_version" = "live" ] || [ "$game_version" = "LIVE" ]; then
|
|
||||||
game_version="$live_dir"
|
|
||||||
elif [ "$game_version" = "ptu" ] || [ "$game_version" = "PTU" ]; then
|
|
||||||
game_version="$ptu_dir"
|
|
||||||
elif [ "$game_version" = "eptu" ] || [ "$game_version" = "EPTU" ]; then
|
|
||||||
game_version="$eptu_dir"
|
|
||||||
else
|
|
||||||
printf "$0: Invalid argument '%s'\n" "$game_version"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
# Shift forward one argument
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--no-gui | -g )
|
--no-gui | -g )
|
||||||
# If zenity is unavailable, it has already been set to 0
|
# If zenity is unavailable, it has already been set to 0
|
||||||
# and this setting has no effect
|
# and this setting has no effect
|
||||||
|
Loading…
x
Reference in New Issue
Block a user