diff options
author | vg <vgm+dev@devys.org> | 2024-03-04 22:11:23 +0100 |
---|---|---|
committer | vg <vgm+dev@devys.org> | 2024-03-04 22:11:23 +0100 |
commit | a5ea73aa61b23b7ee2befcd8811c64b9e39354bf (patch) | |
tree | 562f30f1f4f15469a73d707e270e05cb836f1f56 /gamechesttui | |
parent | 52f68b2c7aa02846cbcfc73b441ebf51770c9b74 (diff) | |
parent | bb10c721fd35d6e8db661ed2508292a71add9abb (diff) | |
download | gamechest-a5ea73aa61b23b7ee2befcd8811c64b9e39354bf.tar.gz gamechest-a5ea73aa61b23b7ee2befcd8811c64b9e39354bf.tar.bz2 gamechest-a5ea73aa61b23b7ee2befcd8811c64b9e39354bf.zip |
Merge remote-tracking branch 'refs/remotes/origin/wip' into wip
Diffstat (limited to 'gamechesttui')
-rwxr-xr-x | gamechesttui | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/gamechesttui b/gamechesttui new file mode 100755 index 0000000..9689f46 --- /dev/null +++ b/gamechesttui @@ -0,0 +1,93 @@ +#!/bin/bash + +set -e + +declare -a games + +GAME_INSTALLED=$(gamechest list | grep -i true | cut -d ":" -f 1 | cut -d " " -f 1) + +populate_games() +{ + for game in "${GAME_INSTALLED}"; do + games+=($game) + done +} + +choose_game() +{ + local choice_array=() + local shortcut_count=0 + for game in "${games[@]}"; do + shortcut_count=$(( $shortcut_count + 1 )) + choice_array+=( "$game" "[$shortcut_count] $game" ) + done + + local dialog_args=( + --stdout + --clear + --backtitle "Games selection" + --title "List of installed games" + #--default-item "${games[-1]}" + --menu "Choose one of the following game:" 0 0 0 + "${choice_array[@]}" + ) + + dialog "${dialog_args[@]}" +} + +populate_profiles() +{ + for profile in "dragoncat blackmoor calendros guest malice loudivine airi adetess"; do + profiles+=($profile) + done +} + +choose_profile() +{ + local choice_array=() + local shortcut_count=0 + for profile in "${profiles[@]}"; do + shortcut_count=$(( $shortcut_count + 1 )) + choice_array+=( "$profile" "[$shortcut_count] $profile" ) + done + + local dialog_args=( + --stdout + --clear + --backtitle "Profiles selection" + --title "List of avalaible profiles" + #--default-item "${profiles[-1]}" + --menu "Choose one of the following profile:" 0 0 0 + "${choice_array[@]}" + ) + + dialog "${dialog_args[@]}" +} + + +main() +{ + # Game + + populate_games + if [ ${#games[*]} -eq 0 ]; then echo "No game installed, bye."; exit 0; fi + if [ ${#games[*]} -eq 1 ]; then + game=${games[0]} + else + game=$(choose_game) + fi + + # Profile + populate_profiles + if [ ${#profiles[*]} -eq 0 ]; then echo "No profile available, bye."; exit 0; fi + if [ ${#profiles[*]} -eq 1 ]; then + profile=${profiles[0]} + else + profile=$(choose_profile) + fi + + echo "Running $game with $profile profile" + exec gamechest run --profile_id=$profile $game +} + +main |