mirror of
https://github.com/the-sane/lug-helper.git
synced 2025-04-24 14:09:12 +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:
|
||||
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
|
||||
|
||||
######## Bundled Files #####################################################
|
||||
@ -716,25 +711,6 @@ getdirs() {
|
||||
echo "$game_path" > "$conf_dir/$conf_subdir/$game_conf"
|
||||
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"
|
||||
}
|
||||
|
||||
@ -2284,27 +2260,24 @@ maintenance_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_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"
|
||||
|
||||
# Configure the menu options
|
||||
version_msg="Switch the Helper between LIVE/PTU/EPTU (Currently: $game_version)"
|
||||
prefix_msg="Target a different Star Citizen installation"
|
||||
launcher_msg="Update launch script (non-Lutris)"
|
||||
launchscript_msg="Edit launch script"
|
||||
config_msg="Open Wine prefix configuration"
|
||||
controllers_msg="Open Wine controller configuration"
|
||||
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"
|
||||
reset_msg="Reset Helper configs"
|
||||
quit_msg="Return to the main 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
|
||||
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
|
||||
# menu_option_height = pixels per menu option
|
||||
@ -2321,46 +2294,6 @@ maintenance_menu() {
|
||||
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
|
||||
switch_prefix() {
|
||||
# Check if the config file exists
|
||||
@ -2487,106 +2420,6 @@ edit_wine_launch_script() {
|
||||
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_dirs() {
|
||||
dirs_list="\n"
|
||||
@ -2594,7 +2427,7 @@ display_dirs() {
|
||||
|
||||
# Helper configs and keybinds
|
||||
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
|
||||
|
||||
# Wine prefix
|
||||
@ -3160,9 +2993,6 @@ if [ "$is_firstrun" != "false" ]; then
|
||||
is_firstrun="true"
|
||||
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)
|
||||
if [ "$#" -eq 0 ]; then
|
||||
format_urls
|
||||
@ -3194,11 +3024,8 @@ Usage: lug-helper <options>
|
||||
-o, --update-wine-dxvk Update DXVK for native Wine installs
|
||||
-k, --manage-lutris-dxvk Install or remove Lutris DXVK versions
|
||||
-e, --edit-launch-script Edit the native Wine install launch script
|
||||
-a, --wine-config Launch winecfg for the game's prefix
|
||||
-b, --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)
|
||||
-c, --wine-config Launch winecfg for the game's prefix
|
||||
-j, --wine-controllers Launch Wine controllers configuration
|
||||
-g, --no-gui Use terminal menus instead of a Zenity GUI
|
||||
-r, --get-referral Get a random LUG member's referral code
|
||||
-d, --show-directories Show all Star Citizen and Helper directories
|
||||
@ -3239,33 +3066,12 @@ Usage: lug-helper <options>
|
||||
--edit-launch-script | -e )
|
||||
cargs+=("edit_wine_launch_script")
|
||||
;;
|
||||
--wine-config | -a )
|
||||
--wine-config | -c )
|
||||
cargs+=("call_launch_script config")
|
||||
;;
|
||||
--wine-controllers | -b )
|
||||
--wine-controllers | -j )
|
||||
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 )
|
||||
# If zenity is unavailable, it has already been set to 0
|
||||
# and this setting has no effect
|
||||
|
Loading…
x
Reference in New Issue
Block a user