|
|
@@ -16,27 +16,25 @@ mods_core.sh
|
|
|
# For that matter, remove cfg files after extraction before copying them to destination
|
|
|
fn_remove_cfg_files(){
|
|
|
if [ "${modkeepfiles}" != "OVERWRITE" ]&&[ "${modkeepfiles}" != "NOUPDATE" ]; then
|
|
|
- fn_print_dots "Preventing overwriting of ${modprettyname} config files"
|
|
|
- fn_script_log "Preventing overwriting of ${modprettyname} config files"
|
|
|
+ echo -e "the following files/directories will be preserved:"
|
|
|
sleep 0.5
|
|
|
# Count how many files there are to remove
|
|
|
- removefilesamount="$(echo "${modkeepfiles}" | awk -F ';' '{ print NF }')"
|
|
|
+ filestopreserve="$(echo "${modkeepfiles}" | awk -F ';' '{ print NF }')"
|
|
|
# Test all subvalues of "modkeepfiles" using the ";" separator
|
|
|
- for ((removefilesindex=1; removefilesindex < ${removefilesamount}; removefilesindex++)); do
|
|
|
+ for ((preservefilesindex=1; preservefilesindex < ${filestopreserve}; preservefilesindex++)); do
|
|
|
# Put the current file we are looking for into a variable
|
|
|
- filetoremove="$( echo "${modkeepfiles}" | awk -F ';' -v x=${removefilesindex} '{ print $x }' )"
|
|
|
+ filetopreserve="$(echo "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }' )"
|
|
|
+ echo -e " * serverfiles/${filetopreserve}"
|
|
|
# If it matches an existing file that have been extracted delete the file
|
|
|
- if [ -f "${extractdir}/${filetoremove}" ]||[ -d "${extractdir}/${filetoremove}" ]; then
|
|
|
- rm -r "${extractdir}/${filetoremove}"
|
|
|
+ if [ -f "${extractdir}/${filetopreserve}" ]||[ -d "${extractdir}/${filetopreserve}" ]; then
|
|
|
+ rm -r "${extractdir}/${filetopreserve}"
|
|
|
# Write the file path in a tmp file, to rebuild a full file list as it is rebuilt upon update
|
|
|
if [ ! -f "${modsdir}/.removedfiles.tmp" ]; then
|
|
|
touch "${modsdir}/.removedfiles.tmp"
|
|
|
fi
|
|
|
- echo "${filetoremove}" >> "${modsdir}/.removedfiles.tmp"
|
|
|
+ echo "${filetopreserve}" >> "${modsdir}/.removedfiles.tmp"
|
|
|
fi
|
|
|
done
|
|
|
- fn_print_ok "Preventing overwriting of ${modprettyname} config files"
|
|
|
- sleep 0.5
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
@@ -60,12 +58,12 @@ for ((ulindex=0; ulindex < ${#installedmodslist[@]}; ulindex++)); do
|
|
|
core_exit.sh
|
|
|
# If the mod won't get updated
|
|
|
elif [ "${modkeepfiles}" == "NOUPDATE" ]; then
|
|
|
- echo -e " * \e[31m${modprettyname}${default} (won't be updated)"
|
|
|
+ echo -e " * ${red}{modprettyname}${default} (won't be updated)"
|
|
|
# If the mode is just overwritten
|
|
|
elif [ "${modkeepfiles}" == "OVERWRITE" ]; then
|
|
|
- echo -e " * \e[1m${modprettyname}${default} (overwrite)"
|
|
|
+ echo -e " * ${modprettyname} (overwrite)"
|
|
|
else
|
|
|
- echo -e " * ${yellow}${modprettyname}${default} (common custom files remain untouched)"
|
|
|
+ echo -e " * ${yellow}${modprettyname}${default} (retain common custom files)"
|
|
|
fi
|
|
|
done
|
|
|
sleep 1
|