mirror of
https://github.com/aclist/dztui.git
synced 2024-12-28 13:22:35 +01:00
fix: abort path discovery
This commit is contained in:
parent
34b3d3bc8c
commit
6e3746e9b4
3 changed files with 18 additions and 5 deletions
|
@ -3,6 +3,11 @@
|
||||||
## [5.6.0-beta.18] 2024-12-14
|
## [5.6.0-beta.18] 2024-12-14
|
||||||
### Added
|
### Added
|
||||||
- Open Steam workshop subscriptions
|
- Open Steam workshop subscriptions
|
||||||
|
### Fixed
|
||||||
|
- Empty dialog popups if user manually deletes local mods while application is running
|
||||||
|
- Abort DayZ path discovery if VDF if Steam files are not synched
|
||||||
|
### Changed
|
||||||
|
- Admonish user to restart Steam in error dialog if DayZ path could not be found
|
||||||
|
|
||||||
## [5.6.0-beta.17] 2024-12-14
|
## [5.6.0-beta.17] 2024-12-14
|
||||||
### Added
|
### Added
|
||||||
|
|
6
dzgui.sh
6
dzgui.sh
|
@ -581,7 +581,7 @@ fetch_helpers_by_sum(){
|
||||||
["ui.py"]="0e3845ef150ee9863f9160c62dbb24f9"
|
["ui.py"]="0e3845ef150ee9863f9160c62dbb24f9"
|
||||||
["query_v2.py"]="55d339ba02512ac69de288eb3be41067"
|
["query_v2.py"]="55d339ba02512ac69de288eb3be41067"
|
||||||
["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397"
|
["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397"
|
||||||
["funcs"]="4c1480fcfae15c4bc1c02a337d1de488"
|
["funcs"]="a9745fa5cc2f007bddf0d30032845fbd"
|
||||||
["lan"]="c62e84ddd1457b71a85ad21da662b9af"
|
["lan"]="c62e84ddd1457b71a85ad21da662b9af"
|
||||||
)
|
)
|
||||||
local author="aclist"
|
local author="aclist"
|
||||||
|
@ -747,7 +747,7 @@ find_library_folder(){
|
||||||
local search_path="$1"
|
local search_path="$1"
|
||||||
steam_path="$(python3 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \
|
steam_path="$(python3 "$helpers_path/vdf2json.py" -i "$1/steamapps/libraryfolders.vdf" \
|
||||||
| jq -r '.libraryfolders[]|select(.apps|has("221100")).path')"
|
| jq -r '.libraryfolders[]|select(.apps|has("221100")).path')"
|
||||||
if [[ ! $? -eq 0 ]]; then
|
if [[ ! $? -eq 0 ]] || [[ -z $steam_path ]]; then
|
||||||
logger WARN "Failed to parse Steam path using '$search_path'"
|
logger WARN "Failed to parse Steam path using '$search_path'"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
@ -800,7 +800,7 @@ create_config(){
|
||||||
find_library_folder "$default_steam_path"
|
find_library_folder "$default_steam_path"
|
||||||
if [[ -z $steam_path ]]; then
|
if [[ -z $steam_path ]]; then
|
||||||
logger raise_error "Steam path was empty"
|
logger raise_error "Steam path was empty"
|
||||||
zenity --question --text="DayZ not found or not installed at the Steam library given." --ok-label="Choose path manually" --cancel-label="Exit"
|
zenity --question --text="DayZ not found or not installed at the Steam library given. NOTE: if you recently installed DayZ or moved its location, you MUST restart Steam first for these changes to synch." --ok-label="Choose path manually" --cancel-label="Exit"
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
logger INFO "User selected file picker"
|
logger INFO "User selected file picker"
|
||||||
file_picker
|
file_picker
|
||||||
|
|
|
@ -353,12 +353,13 @@ list_mods(){
|
||||||
local name
|
local name
|
||||||
local base_dir
|
local base_dir
|
||||||
local size
|
local size
|
||||||
|
local mods
|
||||||
if [[ -z $(installed_mods) ]] || [[ -z $(find $workshop_dir -maxdepth 2 -name "*.cpp" | grep .cpp) ]]; then
|
if [[ -z $(installed_mods) ]] || [[ -z $(find $workshop_dir -maxdepth 2 -name "*.cpp" | grep .cpp) ]]; then
|
||||||
printf "No mods currently installed or incorrect path set."
|
printf "No mods currently installed or incorrect path set."
|
||||||
logger WARN "Found no locally installed mods"
|
logger WARN "Found no locally installed mods"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
for dir in $(find $game_dir/* -maxdepth 1 -type l); do
|
mods=$(for dir in $(find $game_dir/* -maxdepth 1 -type l); do
|
||||||
symlink=$(basename $dir)
|
symlink=$(basename $dir)
|
||||||
sep="␞"
|
sep="␞"
|
||||||
name=$(awk -F\" '/name/ {print $2}' "${dir}/meta.cpp")
|
name=$(awk -F\" '/name/ {print $2}' "${dir}/meta.cpp")
|
||||||
|
@ -366,7 +367,14 @@ list_mods(){
|
||||||
size=$(du -s "$(readlink -f "$game_dir/$symlink")" | awk '{print $1}')
|
size=$(du -s "$(readlink -f "$game_dir/$symlink")" | awk '{print $1}')
|
||||||
size=$(python3 -c "n=($size/1024) +.005; print(round(n,4))")
|
size=$(python3 -c "n=($size/1024) +.005; print(round(n,4))")
|
||||||
LC_NUMERIC=C printf "%s$sep%s$sep%s$sep%3.3f\n" "$name" "$symlink" "$base_dir" "$size"
|
LC_NUMERIC=C printf "%s$sep%s$sep%s$sep%3.3f\n" "$name" "$symlink" "$base_dir" "$size"
|
||||||
done | sort -k1
|
done | sort -k1)
|
||||||
|
# user may have manually pruned mods out-of-band
|
||||||
|
# handle directory detritus but no actual mods
|
||||||
|
if [[ -z $mods ]]; then
|
||||||
|
printf "No mods currently installed or incorrect path set."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "$mods"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
installed_mods(){
|
installed_mods(){
|
||||||
|
|
Loading…
Reference in a new issue