From c7f54148fcd4a52a360479033bb721075b5121f2 Mon Sep 17 00:00:00 2001 From: Michael Taboada Date: Sun, 6 Jun 2021 09:03:53 -0700 Subject: [PATCH 01/17] Add game lunimals --- audiogame-manager.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index b0a6fda..d6d1015 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -661,6 +661,7 @@ gameList=( "Light Cars" "Lockpick" "Lone Wolf" + "Lunimals" "Manamon" "Manamon 2" #"MudSplat French" @@ -1139,6 +1140,17 @@ EOF wineserver -w add_launcher "c:\Program Files\Lone Wolf\lw.exe" ;; + "Lunimals") + export winVer="win7" + export winetricksSettings="vd=1024x768" + install_wine_bottle vb6run dx8vb quartz speechsdk corefonts + download "https://kaldobsky.com/audiogames/lunimals.zip" + unzip -d "$WINEPREFIX/drive_c/Program Files/lunimals" "${cache}/lunimals.zip" + cp "$WINEPREFIX/drive_c/Program Files/lunimals/dx7vb.dll" "$WINEPREFIX/drive_c/windows/system32" + wine cmd.exe /c 'cd /d c:\windows\system32 && regsvr32 dx7vb.dll' + add_launcher "c:\Program Files\lunimals\Lunimals.exe" + echo "Note: Lunimals installed. Once you start the game, you must press tab until you hear sapi on to get speech." >&2 + ;; "Manamon") export winVer="win7" install_wine_bottle speechsdk From 89e0ca5ab455bd89a618df2b3dbcd57d87ac6b9b Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 11 Jun 2021 19:51:48 -0400 Subject: [PATCH 02/17] Commented 2 games that do not work so they will not show up in the installer. --- audiogame-manager.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index d6d1015..bd53a7a 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -628,12 +628,12 @@ gameList=( "Beatstar Pro" "Bloodshed" "Bombercats" - "Breed Memorial" + #"Breed Memorial" "Castaways" "Castaways 2" #"Chopper Challenge" "Christmas WhoopAss" - "Constant Battle" + #"Constant Battle" "Copter Mission" "Crazy Party" "Crazy Tennis" From f854ffba45ac4f2ecff85551f08fbd27ee9dffd7 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 14 Jun 2021 06:54:18 -0400 Subject: [PATCH 03/17] make it easier to add games where the installer has to be manually downloaded. --- audiogame-manager.sh | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index bd53a7a..9d0a9dd 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -282,6 +282,23 @@ download() { done } +get_installer() { + # If the file is in cache nothing else needs to be done. + if [[ -f "${cache}/$1" ]]; then + return + fi + read -p "Make sure $1 is available in either your Downloads or Desktop directory and press enter to continue." continue + # Search the Desktop and Downloads directories for the installation file + for i in ~/Downloads ~/Desktop ; do + find $i -type f -name "$1" -exec cp -v {} "${cache}/" \; + done + # If the file is still not available abort. + if [[ ! -f "${cache}/$1" ]]; then + echo "couldn't find $1. Please download the file and try again." + exit 1 + fi +} + help() { echo "${0##*/}" echo "Released under the terms of the Common Public Attribution License Version 1.0" @@ -1300,14 +1317,7 @@ EOF add_launcher "c:\Program Files\scrolling battles\SBYW.exe" ;; "Sequence Storm") - read -p "Make sure sequence-storm-win64.zip is available in either your Downloads or Desktop directory and press enter to continue." continue - for i in ~/Downloads ~/Desktop ; do - find $i -type f -name 'sequence-storm-win64.zip' -exec cp -v {} "${cache}/" \; - done - if [[ ! -f "${cache}/sequence-storm-win64.zip" ]]; then - echo "couldn't find sequence-storm-win64.zip. Please download the file and try again." - exit 1 - fi + get_installer "sequence-storm-win64.zip" export WINEARCH=win64 export winVer="win10" install_wine_bottle From c39c9e40912f8045cb600c55320c405430ebb790 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 14 Jun 2021 07:51:30 -0400 Subject: [PATCH 04/17] Added game BG Hearts. --- audiogame-manager.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 9d0a9dd..c8f87f9 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -333,6 +333,9 @@ echo "Loading documentation, please wait..." gameDoc="$(find "$gamePath" -type f -iname "$i" -or -iname 'manual.htm' | head -1)" done fi + if [[ -z "$gameDoc" ]]; then + gameDoc="$(find "$gamePath" -type f -iname 'BG*Help.htm' -or -iname 'BG*Help.html' | head -1)" + fi if [[ -z "$gameDoc" ]]; then gameDoc="$(find "$gamePath" -type f -iname 'manual.html' -or -iname 'manual.htm' | head -1)" fi @@ -643,6 +646,7 @@ gameList=( "Battle of the Hunter" "Battle Zone" "Beatstar Pro" + "BG Hearts" "Bloodshed" "Bombercats" #"Breed Memorial" @@ -835,6 +839,12 @@ case "${game}" in unzip -d "$WINEPREFIX/drive_c/Program Files/Beatstar Pro" "${cache}/beat_windows.zip" add_launcher "c:\Program Files\Beatstar Pro/beatstar.exe" ;; + "BG Hearts") + get_installer "BGH32Setup10b.exe" + install_wine_bottle speechsdk + wine "${cache}/BGH32Setup10b.exe" /silent + add_launcher "c:\Program Files\Games\HeartsB\HeartsB.exe" + ;; "Bloodshed") export winVer="win7" install_wine_bottle speechsdk From ff5ad4f7c9013e75278593e20e25a5c4ab10a6ca Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 14 Jun 2021 17:13:25 -0400 Subject: [PATCH 05/17] Lots of changes that enable some games to use the same wine bottle. This needs some testing love because there may be breakage. Also added game BG Mine Sweeper. Updated documentation searching. --- audiogame-manager.sh | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index c8f87f9..4a33e75 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -282,6 +282,14 @@ download() { done } +get_bottle() { + # Handles games that use the same wine bottle + case "${game}" in + "bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";; + *) export WINEPREFIX="${HOME}/.local/wine/${game%|*}";; + esac +} + get_installer() { # If the file is in cache nothing else needs to be done. if [[ -f "${cache}/$1" ]]; then @@ -321,7 +329,7 @@ documentation() { if ! command -v w3m &> /dev/null ; then echo "This feature of audiogame-manager requires w3m. Please install it before continuing." fi - export WINEPREFIX="$1" + get_bottle "$1" echo "Loading documentation, please wait..." # Try to find documentation based on common naming conventions. local gamePath="$(winepath -u "$2" 2> /dev/null)" @@ -368,11 +376,13 @@ echo "Loading documentation, please wait..." install_wine_bottle() { # 32 bit installations work best and are the default here, if you need to override it, do it in the game specific installation steps. export WINEARCH="${WINEARCH:-win32}" - local bottle="${game,,}" - bottle="${bottle//[[:space:]]/-}" - if [[ -d "$HOME/.local/wine/${bottle}" ]]; then - echo "$HOME/.local/wine/${bottle} exists. Please remove it before running this installer." - exit 1 + if [[ -z "$bottle" ]]; then + local bottle="${game,,}" + bottle="${bottle//[[:space:]]/-}" + if [[ -d "$HOME/.local/wine/${bottle}" ]]; then + echo "$HOME/.local/wine/${bottle} exists. Please remove it before running this installer." + exit 1 + fi fi mkdir -p "$HOME/.local/wine/${bottle}" export WINEPREFIX="$HOME/.local/wine/${bottle}" @@ -530,7 +540,7 @@ game_launcher() { if [[ $menuCode -eq 1 ]]; then exit 0 elif [[ $menuCode -eq 3 ]]; then - documentation "${HOME}/.local/wine/${game%|*}" "$(echo "$game" | cut -d '|' -f2)" + documentation "$game" "$(echo "$game" | cut -d '|' -f2)" fi else local game="$(grep "^${1}|" "${configFile}" 2> /dev/null)" @@ -566,7 +576,7 @@ game_launcher() { qjoypad -T "${game%|*}" 2> /dev/null & fi fi - export WINEPREFIX="${HOME}/.local/wine/${game%|*}" + get_bottle "$game" # for games that require custom scripts before launch or custom launch parameters if [[ "$game" =~ sequence-storm ]]; then [[ -x ~/.SequenceStormReader ]] && ~/.SequenceStormReader & @@ -647,6 +657,7 @@ gameList=( "Battle Zone" "Beatstar Pro" "BG Hearts" + "BG Mine Sweeper" "Bloodshed" "Bombercats" #"Breed Memorial" @@ -840,11 +851,19 @@ case "${game}" in add_launcher "c:\Program Files\Beatstar Pro/beatstar.exe" ;; "BG Hearts") + export bottle="bg" get_installer "BGH32Setup10b.exe" install_wine_bottle speechsdk wine "${cache}/BGH32Setup10b.exe" /silent add_launcher "c:\Program Files\Games\HeartsB\HeartsB.exe" ;; + "BG Mine Sweeper") + export bottle="bg" + get_installer "MSB32Setup10.exe" + install_wine_bottle speechsdk + wine "${cache}/MSB32Setup10.exe" /silent + add_launcher "c:\Program Files\Games\MinesweeperB\MinesweeperB.exe" + ;; "Bloodshed") export winVer="win7" install_wine_bottle speechsdk From 731f1a6ad5738e76058d27681ed5007c4e0f54d5 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 14 Jun 2021 17:56:47 -0400 Subject: [PATCH 06/17] Improved documentation function. --- audiogame-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 4a33e75..f610a16 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -342,7 +342,7 @@ echo "Loading documentation, please wait..." done fi if [[ -z "$gameDoc" ]]; then - gameDoc="$(find "$gamePath" -type f -iname 'BG*Help.htm' -or -iname 'BG*Help.html' | head -1)" + gameDoc="$(find "$gamePath" -type f -iname '[A-Z]*Help.htm' -or -iname '[A-Z]*Help.html' | head -1)" fi if [[ -z "$gameDoc" ]]; then gameDoc="$(find "$gamePath" -type f -iname 'manual.html' -or -iname 'manual.htm' | head -1)" From 316fc6a588898e86a1167370c159a7324d144b1a Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 15 Jun 2021 19:07:07 -0400 Subject: [PATCH 07/17] Added confirmation showing what will be removed for -r. --- audiogame-manager.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index f610a16..eeaf795 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -465,6 +465,8 @@ game_removal() { local wineExec="${game#*|}" wineExec="${wineExec%|*}" wineExec="${wineExec##*\\}" + # Confirm removal + read -rp "To remove the wine bottle ${game%|*} and all of its contents press enter. To cancel press control+c. " continue # kill any previous existing wineservers for this prefix in case they didn't shut down properly. WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k # remove the game From e6e69970028dfd4fca02677e7c0cd5e3d6d91b99 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 15:32:09 -0400 Subject: [PATCH 08/17] updated the kill flag to work with the new get_bottle function. --- audiogame-manager.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index eeaf795..3912ada 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -466,14 +466,15 @@ game_removal() { wineExec="${wineExec%|*}" wineExec="${wineExec##*\\}" # Confirm removal - read -rp "To remove the wine bottle ${game%|*} and all of its contents press enter. To cancel press control+c. " continue + get_bottle "${game%|*}" + read -rp "To remove the wine bottle $bottle and all of its contents press enter. To cancel press control+c. " continue # kill any previous existing wineservers for this prefix in case they didn't shut down properly. - WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k + WINEPREFIX="${HOME}/.local/wine/${bottle}" wineserver -k # remove the game - rm -rf "${HOME}/.local/wine/${game%|*}" + rm -rf "${HOME}/.local/wine/${bottle}" # remove the launcher - gawk -i inplace -vLine="${game//\\/\\\\}" '!index($0,Line)' "$configFile" - echo "The selected game has been deleted." + gawk -i inplace -vLine="${bottle//\\/\\\\}" '!index($0,Line)' "$configFile" + echo "The selected wine bottle has been deleted." fi exit 0 } @@ -511,7 +512,8 @@ kill_game() { wineExec="${wineExec%|*}" wineExec="${wineExec##*\\}" # kill the wine server. - WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k + get_bottle "${game%|*}" + wineserver -k echo "The selected game has been stopped." fi exit 0 From 523ee4c563bc5dd7e0c26b05e44fda0253fc5b81 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 16:39:06 -0400 Subject: [PATCH 09/17] Added BG Cribbage and Uno. --- audiogame-manager.sh | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 3912ada..cfdb3db 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -660,8 +660,10 @@ gameList=( "Battle of the Hunter" "Battle Zone" "Beatstar Pro" + "BG Cribbage" "BG Hearts" "BG Mine Sweeper" + "BG Uno" "Bloodshed" "Bombercats" #"Breed Memorial" @@ -854,20 +856,38 @@ case "${game}" in unzip -d "$WINEPREFIX/drive_c/Program Files/Beatstar Pro" "${cache}/beat_windows.zip" add_launcher "c:\Program Files\Beatstar Pro/beatstar.exe" ;; - "BG Hearts") + "BG Cribbage") + bgInstaller="BGC32Setup12e.exe" export bottle="bg" - get_installer "BGH32Setup10b.exe" + get_installer "$bgInstaller" install_wine_bottle speechsdk - wine "${cache}/BGH32Setup10b.exe" /silent + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\CribbageB\CribbageB.exe" + ;; + "BG Hearts") + bgInstaller="BGH32Setup10b.exe" + export bottle="bg" + get_installer "${bgInstaller}" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\HeartsB\HeartsB.exe" ;; "BG Mine Sweeper") + bgInstaller="MSB32Setup10.exe" export bottle="bg" - get_installer "MSB32Setup10.exe" + get_installer "${bgInstaller}" install_wine_bottle speechsdk - wine "${cache}/MSB32Setup10.exe" /silent + wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\MinesweeperB\MinesweeperB.exe" ;; + "BG Uno") + bgInstaller="BGU32Setup11a.exe" + export bottle="bg" + get_installer "${bgInstaller}" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\UnoB\UnoB.exe" + ;; "Bloodshed") export winVer="win7" install_wine_bottle speechsdk From d4a41df35b20d85ea8fd3a0bcb42d9a2d23a6945 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 16:44:46 -0400 Subject: [PATCH 10/17] Fixed a bug in the -r (remove) functionality. --- audiogame-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index cfdb3db..543ef74 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -467,7 +467,7 @@ game_removal() { wineExec="${wineExec##*\\}" # Confirm removal get_bottle "${game%|*}" - read -rp "To remove the wine bottle $bottle and all of its contents press enter. To cancel press control+c. " continue + read -rp "To remove the wine bottle \"${WINEPREFIX##*/}\" and all of its contents press enter. To cancel press control+c. " continue # kill any previous existing wineservers for this prefix in case they didn't shut down properly. WINEPREFIX="${HOME}/.local/wine/${bottle}" wineserver -k # remove the game From 6fd4fe3bcf4be2c6e6b066124396ae1e8693b768 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 21:20:06 -0400 Subject: [PATCH 11/17] Added Free Cell --- audiogame-manager.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 543ef74..ac34995 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -661,6 +661,7 @@ gameList=( "Battle Zone" "Beatstar Pro" "BG Cribbage" + "BG Free Cell Solitaire" "BG Hearts" "BG Mine Sweeper" "BG Uno" @@ -864,6 +865,14 @@ case "${game}" in wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\CribbageB\CribbageB.exe" ;; + "BG Free Cell Solitaire") + bgInstaller="BGF32Setup20.exe" + export bottle="bg" + get_installer "$bgInstaller" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\FreecellB\FreecellB.exe" + ;; "BG Hearts") bgInstaller="BGH32Setup10b.exe" export bottle="bg" From 00e74455ffeda30b8cd08ec04967906a7541bc91 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 21:27:27 -0400 Subject: [PATCH 12/17] added BG Free Cell Solitaire. --- audiogame-manager.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index ac34995..7925fb7 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -663,6 +663,7 @@ gameList=( "BG Cribbage" "BG Free Cell Solitaire" "BG Hearts" + "BG Klondike Solitaire" "BG Mine Sweeper" "BG Uno" "Bloodshed" @@ -873,6 +874,14 @@ case "${game}" in wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\FreecellB\FreecellB.exe" ;; + "BG Klondike Solitaire") + bgInstaller="BGK32Setup10b.exe" + export bottle="bg" + get_installer "$bgInstaller" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\KlondikeB\KlondikeB.exe" + ;; "BG Hearts") bgInstaller="BGH32Setup10b.exe" export bottle="bg" From b1c30855bc81c1353b5f36c1a5605ce146a53742 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Jun 2021 21:57:50 -0400 Subject: [PATCH 13/17] Added more BG BG Solitaire games. --- audiogame-manager.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 7925fb7..017e2fa 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -665,6 +665,8 @@ gameList=( "BG Hearts" "BG Klondike Solitaire" "BG Mine Sweeper" + "BG Penguin Solitaire" + "BG Scorpion Solitaire" "BG Uno" "Bloodshed" "Bombercats" @@ -898,6 +900,22 @@ case "${game}" in wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\MinesweeperB\MinesweeperB.exe" ;; + "BG Penguin Solitaire") + bgInstaller="BPS32Setup10c.exe" + export bottle="bg" + get_installer "$bgInstaller" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\PenguinB\PenguinB.exe" + ;; + "BG Scorpion Solitaire") + bgInstaller="BSS32Setup10.exe" + export bottle="bg" + get_installer "$bgInstaller" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\ScorpionB\ScorpionB.exe" + ;; "BG Uno") bgInstaller="BGU32Setup11a.exe" export bottle="bg" From c59918f6f4cebd65bf29fb7f6f4c83fed28c07a4 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 18 Jun 2021 15:26:41 -0400 Subject: [PATCH 14/17] added BG LAP. Hopefully fixed a critical bug that would erase the whole menu. --- audiogame-manager.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 017e2fa..c94533c 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -469,11 +469,11 @@ game_removal() { get_bottle "${game%|*}" read -rp "To remove the wine bottle \"${WINEPREFIX##*/}\" and all of its contents press enter. To cancel press control+c. " continue # kill any previous existing wineservers for this prefix in case they didn't shut down properly. - WINEPREFIX="${HOME}/.local/wine/${bottle}" wineserver -k + wineserver -k # remove the game - rm -rf "${HOME}/.local/wine/${bottle}" + rm -rf "${WINEPREFIX}" # remove the launcher - gawk -i inplace -vLine="${bottle//\\/\\\\}" '!index($0,Line)' "$configFile" + gawk -i inplace -vLine="${WINEPREFIX//\\/\\\\}" '!index($0,Line)' "$configFile" echo "The selected wine bottle has been deleted." fi exit 0 @@ -664,6 +664,7 @@ gameList=( "BG Free Cell Solitaire" "BG Hearts" "BG Klondike Solitaire" + "BG LAP" "BG Mine Sweeper" "BG Penguin Solitaire" "BG Scorpion Solitaire" @@ -892,6 +893,14 @@ case "${game}" in wine "${cache}/${bgInstaller}" /silent add_launcher "c:\Program Files\Games\HeartsB\HeartsB.exe" ;; + "BG LAP") + bgInstaller="LAP32Setup10.exe" + export bottle="bg" + get_installer "${bgInstaller}" + install_wine_bottle speechsdk + wine "${cache}/${bgInstaller}" /silent + add_launcher "c:\Program Files\Games\LAP\LAP.exe" + ;; "BG Mine Sweeper") bgInstaller="MSB32Setup10.exe" export bottle="bg" From 06138485ac1de62d8563db72e32c98bd339f2c79 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 23 Jun 2021 14:04:35 -0400 Subject: [PATCH 15/17] Make -r work normally for single game installations, but provide a notice about manual intervention for multigame bottles. --- audiogame-manager.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index c94533c..ef11b06 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -467,14 +467,19 @@ game_removal() { wineExec="${wineExec##*\\}" # Confirm removal get_bottle "${game%|*}" - read -rp "To remove the wine bottle \"${WINEPREFIX##*/}\" and all of its contents press enter. To cancel press control+c. " continue - # kill any previous existing wineservers for this prefix in case they didn't shut down properly. - wineserver -k - # remove the game - rm -rf "${WINEPREFIX}" + # Make sure the game can be handled by remove + if [[ "${HOME}/.local/wine/${game%|*}" == "${WINEPREFIX}" ]]; then + read -rp "To remove the wine bottle \"${WINEPREFIX##*/}\" and all of its contents press enter. To cancel press control+c. " continue + # kill any previous existing wineservers for this prefix in case they didn't shut down properly. + wineserver -k + # remove the game + rm -rf "${WINEPREFIX}" + else + read -rp "This bottle \"${WINEPREFIX##*/}\" contains multiple entries and must be handled manually. To remove only the launcher from the menu, press enter. To cancel press control+c. " continue + fi # remove the launcher - gawk -i inplace -vLine="${WINEPREFIX//\\/\\\\}" '!index($0,Line)' "$configFile" - echo "The selected wine bottle has been deleted." + gawk -i inplace -vLine="${game//\\/\\\\}" '!index($0,Line)' "$configFile" + echo "The selected item has been deleted." fi exit 0 } From 8d02d26375e99074eb72538836310baa4a291647 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 24 Jun 2021 20:40:40 -0400 Subject: [PATCH 16/17] All oriol gamez games now in a single wine bottle. --- audiogame-manager.sh | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index ef11b06..bd9970c 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -286,6 +286,19 @@ get_bottle() { # Handles games that use the same wine bottle case "${game}" in "bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";; + # Oriol Gomez games group + "beatstar-pro"*) ;& + "bombercats"*) ;& + "copter-mission"*) ;& + "danger-on-the-wheel"*) ;& + "death-on-the-road"*) ;& + "fuck-that-bird"*) ;& + "hammer-of-glory"*) ;& + "insect-therapy"*) ;& + "rhythm-rage"*) ;& + "run-for-your-life"*) ;& + "thief"*) ;& + "villains-from-beyond"*) export WINEPREFIX="${HOME}/.local/wine/oriol-gomez";; *) export WINEPREFIX="${HOME}/.local/wine/${game%|*}";; esac } @@ -568,13 +581,15 @@ game_launcher() { open_url "https://patreon.com/stormux" exit 0 fi + get_bottle "$game" local winePath="${game#*|}" winePath="${winePath%\\*.exe}" local wineExec="${game#*|}" wineExec="${wineExec%|*}" wineExec="${wineExec##*\\}" # kill any previous existing wineservers for this prefix in case they didn't shut down properly. - WINEPREFIX="${HOME}/.local/wine/${game%|*}" wineserver -k + wineserver -k + # launch the game # launch the game if command -v qjoypad &> /dev/null ; then mkdir -p ~/.qjoypad3 @@ -585,7 +600,6 @@ game_launcher() { qjoypad -T "${game%|*}" 2> /dev/null & fi fi - get_bottle "$game" # for games that require custom scripts before launch or custom launch parameters if [[ "$game" =~ sequence-storm ]]; then [[ -x ~/.SequenceStormReader ]] && ~/.SequenceStormReader & @@ -860,6 +874,7 @@ case "${game}" in add_launcher "c:\Program Files\Battle Zone\ss.exe" ;; "Beatstar Pro") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle speechsdk mf download "https://oriolgomez.com/games/beat_windows.zip" @@ -946,6 +961,7 @@ case "${game}" in add_launcher "c:\Program Files\bloodshed.exe" ;; "Bombercats") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/bombercats_en.zip" @@ -1001,6 +1017,7 @@ case "${game}" in add_launcher "c:\Program Files\Draconis Entertainment\Christmas Whoop Ass\wa.exe" ;; "Copter Mission") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/copter_en.zip" @@ -1022,6 +1039,7 @@ case "${game}" in add_launcher "c:\Program Files\Crazytennis\crazytennis.exe" ;; "Danger on the Wheel") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle speechsdk download "http://oriolgomez.com/games/wheel_en.zip" @@ -1030,6 +1048,7 @@ case "${game}" in add_launcher "c:\Program Files\danger on the wheel\game.exe" ;; "Death on the Road") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/road_en.zip" @@ -1099,6 +1118,7 @@ case "${game}" in add_launcher "c:\Program Files\Finger Panic 1.0\FingerPanic.exe" ;; "Fuck That Bird") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/bird_en.zip" @@ -1136,6 +1156,7 @@ case "${game}" in add_launcher "c:\Program Files\GMA Tank Commander\gtc.exe" ;; "Hammer of Glory") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle speechsdk download "http://oriolgomez.com/games/hammer_en.zip" @@ -1186,6 +1207,7 @@ case "${game}" in add_launcher "c:\Program Files\Hunter\HunterRun.exe" ;; "Insect Therapy") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/insect_en.zip" @@ -1372,6 +1394,7 @@ EOF add_launcher "c:\Program Files\revenge of the undead\rotu.exe" ;; "Rhythm Rage") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle speechsdk download "http://oriolgomez.com/games/rr_en.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" @@ -1397,6 +1420,7 @@ EOF add_launcher "c:\Program Files\RS Games Client\rsg.exe" ;; "Run For Your Life") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/rfyl_en.zip" @@ -1536,6 +1560,7 @@ EOF add_launcher "c:\Program Files\Lworks\The Great Toy Robbery\tgtr.exe" ;; "Thief") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle download "http://oriolgomez.com/games/thief_en.zip" @@ -1631,6 +1656,7 @@ EOF add_launcher "c:\Program Files\undead_assault\Undead Assault.exe" ;; "Villains From Beyond") + export bottle="oriol-gomez" export winVer="win7" install_wine_bottle speechsdk download "http://oriolgomez.com/games/villains_en.zip" From 6efcc010106d4bc3aed49bfa2374c787e3ca2f48 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 26 Jun 2021 01:37:04 -0400 Subject: [PATCH 17/17] New minigame "Windows Attack" added. --- audiogame-manager.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index bd9970c..7656390 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -769,6 +769,7 @@ gameList=( "Undead Assault" "Villains From Beyond" "VIP Mud" + "Windows Attack" #"World of War" ) @@ -1677,6 +1678,13 @@ EOF echo "To be sure that each new dialog has had time to complete, wait a second between each press of enter." echo "In each subsequent launch, you will need to hit enter a couple times before it starts speaking." ;; + "Windows Attack") + get_installer "WA.exe" + export winVer="win7" + install_wine_bottle speechsdk + cp "${cache}/WA.exe" "$WINEPREFIX/drive_c/Program Files/" + add_launcher "c:\Program Files\WA.exe" + ;; "World of War") export winVer="win7" install_wine_bottle speechsdk