diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 824c618..14bc14c 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -803,7 +803,8 @@ kill_game() { # Create the menu of installed games declare -a menuList for i in "${lines[@]}" ; do - menuList+=("${i%|*}" "${i##*|}") + IFS='|' read -ra gameInfo <<< "$i" + menuList+=("${gameInfo[0]}|${gameInfo[1]}" "${gameInfo[2]}") done menuList+=("Donate" "Donate") menuList+=("Become a Patron" "Become a Patron") @@ -943,6 +944,16 @@ custom_launch_parameters() { fi } +# Process game launcher flags +process_launcher-flags() { + flags=("${game[@]:3}") + for i in "${flags[@]}" ; do + if [[ "${i}" =~ ^export\ [a-zA-Z_][a-zA-Z0-9_]*=\'?.*\'?$ ]]; then + eval "${i}" + fi + done +} + create_game_array() { # Game array 0 bottle, 1 path, 2 title, 3+ flags for i in "${lines[@]}" ; do @@ -1024,6 +1035,7 @@ game_launcher() { fi fi fi + process_launcher-flags custom_launch_parameters ${wine:-wine} start /d "${game[1]%\\*}" "${game[1]##*\\}" /realtime fi