lgsm local mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

149 lines
4.9 KiB

#!/bin/bash
# LinuxGSM command_workshop_install.sh module
# Author: Daniel Gibbs
# Contributors: http://linuxgsm.com/contrib
# Website: https://linuxgsm.com
# Description: List and installs available mods along with mods_list.sh and mods_core.sh.
commandname="WORKSHOP-INSTALL"
commandaction="Installing Steam Workshop mods"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_firstcommand_set
check.sh
workshop_core.sh
fn_print_header
fn_workshop_get_list
for modid in "${workshoplist[@]}"; do
modname="$(fn_workshop_get_mod_name $modid)"
if fn_workshop_check_mod_update $modid; then
echo "Mod ${modname} is not up to date."
fn_workshop_download $modid
else
echo "Mod $modname is up to date."
fi
done
#fn_workshop_download "450814997"
# # Displays a list of installed mods.
# fn_mods_installed_list
# if [ "${installedmodscount}" -gt "0" ]; then
# echo -e "Installed addons/mods"
# echo -e "================================="
# # Go through all available commands, get details and display them to the user.
# for ((llindex = 0; llindex < ${#installedmodslist[@]}; llindex++)); do
# # Current mod is the "llindex" value of the array we're going through.
# currentmod="${installedmodslist[llindex]}"
# fn_mod_get_info
# # Display mod info to the user.
# echo -e " * ${green}${modcommand}${default}${default}"
# done
# echo -e ""
# fi
# echo -e "Available addons/mods"
# echo -e "================================="
# # Display available mods from mods_list.sh.
# # Set and reset vars
# compatiblemodslistindex=0
# # As long as we're within index values.
# while [ "${compatiblemodslistindex}" -lt "${#compatiblemodslist[@]}" ]; do
# # Set values for convenience.
# displayedmodname="${compatiblemodslist[compatiblemodslistindex]}"
# displayedmodcommand="${compatiblemodslist[compatiblemodslistindex + 1]}"
# displayedmodsite="${compatiblemodslist[compatiblemodslistindex + 2]}"
# displayedmoddescription="${compatiblemodslist[compatiblemodslistindex + 3]}"
# # Output mods to the user.
# echo -e "${displayedmodname} - ${displayedmoddescription} - ${displayedmodsite}"
# echo -e " * ${cyan}${displayedmodcommand}${default}"
# # Increment index from the amount of values we just displayed.
# let "compatiblemodslistindex+=4"
# ((totalmodsavailable++))
# done
# # If no mods are available for a specific game.
# if [ -z "${compatiblemodslist}" ]; then
# fn_print_fail_nl "No mods are currently available for ${gamename}."
# fn_script_log_info "No mods are currently available for ${gamename}."
# core_exit.sh
# fi
# fn_script_log_info "${totalmodsavailable} addons/mods are available for install"
# ## User selects a mod.
# echo -e ""
# while [[ ! " ${availablemodscommands[@]} " =~ " ${usermodselect} " ]]; do
# echo -en "Enter an ${cyan}addon/mod${default} to ${green}install${default} (or exit to abort): "
# read -r usermodselect
# # Exit if user says exit or abort.
# if [ "${usermodselect}" == "exit" ] || [ "${usermodselect}" == "abort" ]; then
# core_exit.sh
# # Supplementary output upon invalid user input.
# elif [[ ! " ${availablemodscommands[@]} " =~ " ${usermodselect} " ]]; then
# fn_print_error2_nl "${usermodselect} is not a valid addon/mod."
# fi
# done
# # Get mod info.
# currentmod="${usermodselect}"
# fn_mod_get_info
# echo -e ""
# echo -e "Installing ${modprettyname}"
# echo -e "================================="
# fn_script_log_info "${modprettyname} selected for install"
# # Check if the mod is already installed and warn the user.
# if [ -f "${modsinstalledlistfullpath}" ]; then
# if [ "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then
# fn_print_warning_nl "${modprettyname} is already installed"
# fn_script_log_warn "${modprettyname} is already installed"
# echo -e " * Any configs may be overwritten."
# if ! fn_prompt_yn "Continue?" Y; then
# core_exit.sh
# fi
# fn_script_log_info "User selected to continue"
# fi
# fi
# ## Installation.
# # If amxmodx check if metamod exists first
# if [ "${modcommand}" == "amxmodx" ]; then
# fn_mod_exist "metamod"
# fi
# if [ "${modcommand}" == "amxmodxcs" ] \
# || [ "${modcommand}" == "amxmodxdod" ] \
# || [ "${modcommand}" == "amxmodxtfc" ] \
# || [ "${modcommand}" == "amxmodxns" ] \
# || [ "${modcommand}" == "amxmodxts" ]; then
# fn_mod_exist "amxmodx"
# fi
# fn_create_mods_dir
# fn_mods_clear_tmp_dir
# fn_mods_create_tmp_dir
# fn_mod_install_files
# fn_mod_lowercase
# fn_mod_create_filelist
# fn_mod_copy_destination
# fn_mod_add_list
# fn_mod_tidy_files_list
# fn_mods_clear_tmp_dir
# # Create/modify existing liblist.gam file for Metamod
# if [ "${modcommand}" == "metamod" ]; then
# fn_mod_install_liblist_gam_file
# fi
# # Create/modify plugins.ini file for Metamod
# if [ "${modcommand}" == "amxmodx" ]; then
# fn_mod_install_amxmodx_file
# fi
# echo -e "${modprettyname} installed"
# fn_script_log_pass "${modprettyname} installed."
core_exit.sh