diff options
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  | 
