Merge pull request #388 from klightspeed/1.5-dev#revert-rm-acf

Fix mod updating re-downloading mod
This commit is contained in:
Fez Vrasta 2016-02-09 14:17:28 +01:00
commit d2a8582860

View File

@ -158,6 +158,7 @@ else
install_datadir="${install_datadir:-${install_bindir%/*}/share/arkmanager}"
fi
#---------------------
# functions
#---------------------
@ -365,14 +366,24 @@ function runSteamCMDspinner(){
runSteamCMD "$@"
return $?
else
if [ -z "$progressDisplayType" ]; then
if stty <&1 >/dev/null 2>&1; then
progressDisplayType=spinner
else
progressDisplayType=dots
fi
fi
runSteamCMD "$@" >/dev/null 2>&1 &
local scpid=$!
local pos=0
local spinner=( '-' '/' '|' '\' )
local spinner=( '\b-' '\b/' '\b|' '\b\\' )
if [ "$progressDisplayType" == "dots" ]; then
spinner=( '.' )
fi
echo -n ' ... '
while kill -0 $scpid 2>/dev/null; do
printf "\b%c" "${spinner[$pos]}"
(( pos = (pos + 1) % 4 ))
echo -ne "${spinner[$pos]}"
(( pos = (pos + 1) % ${#spinner[*]} ))
sleep 0.5
done
echo -ne '\b \b'
@ -1153,10 +1164,9 @@ getModIds(){
doDownloadMod(){
local modid=$1
local modsrcdir="$steamcmdroot/steamapps/workshop/content/$mod_appid/$modid"
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid/$modid"
local dlsize=0
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid"
cd "$steamcmdroot"
rm "$steamcmdroot/steamapps/workshop/appworkshop_${mod_appid}.acf" 2>/dev/null
retries=10
while true; do
echo -n "Downloading mod $modid"
@ -1166,14 +1176,14 @@ doDownloadMod(){
break
else
echo
echo "Checking mod $modid"
if [ ! -d "$moddldir" ]; then break; fi
local newsize="`du -s "$moddldir/.." | cut -f1`"
if [ $newsize -eq $dlsize ]; then
echo "Mod $modid update not progressing - aborting"
return 1
if [ ! -d "$moddldir" ]; then
echo "Mod $modid download failed"
break
fi
(( retries = retries - 1 ))
if (( retries <= 0 )); then
echo "Retries exhausted"
fi
dlsize=$newsize
echo "Mod $modid not fully downloaded - retrying"
fi
done
@ -1705,6 +1715,12 @@ while true; do
--verbose)
verbose=1
;;
--dots)
progressDisplayType=dots
;;
--spinner)
progressDisplayType=spinner
;;
--*)
options+=( "$1" )
;;