From 685002a7f9aab516387e971b4cf52d25fff57c9e Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 3 Jul 2021 21:09:50 -0400 Subject: [PATCH 01/12] make control+c work for ending in the get_installer dialog. --- audiogame-manager.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index bc0982d..288a3bb 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -335,6 +335,7 @@ get_bottle() { } get_installer() { + trap exit 0 INT # If the file is in cache nothing else needs to be done. if [[ -f "${cache}/$1" ]]; then return From 00cc15f5d021f938e1fee627ff5db85dc86e6ba7 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 3 Jul 2021 21:21:18 -0400 Subject: [PATCH 02/12] Second attempt at making control+c work for ending in the get_installer dialog. --- audiogame-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 288a3bb..6470b59 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -335,7 +335,7 @@ get_bottle() { } get_installer() { - trap exit 0 INT + trap "exit 0" SIGINT # If the file is in cache nothing else needs to be done. if [[ -f "${cache}/$1" ]]; then return From 544aec32a4dd6779c4291e7bbb670f5fa5d0ffcb Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sun, 4 Jul 2021 03:50:01 -0400 Subject: [PATCH 03/12] Improved 64 bit wine support. Thanks Daniel Nash for the working 64 bit prefix. This prefix contains RHVoice with the BDL voice. So far, only new installs of Bloodshed use the 64 bit prefix. I will switch more over when there has been more testing. --- audiogame-manager.sh | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 6470b59..d051a81 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -440,10 +440,8 @@ install_wine_bottle() { exit 1 fi fi - mkdir -p "$HOME/.local/wine/${bottle}" export WINEPREFIX="$HOME/.local/wine/${bottle}" # Arguments to the function are dependancies to be installed. - (DISPLAY="" wineboot -u # Get location of mono and gecko. monoPath="$(find /usr/share/wine/mono -name "wine-mono*x86.msi")" geckoPath="$(find /usr/share/wine/gecko -name "wine-gecko*x86.msi")" @@ -455,9 +453,23 @@ install_wine_bottle() { download 'http://dl.winehq.org/wine/wine-gecko/2.40/wine_gecko-2.40-x86.msi' geckoPath="${cache}/wine_gecko-2.40-x86.msi" fi - wine msiexec /i z:"$monoPath" /quiet - wine msiexec /i z:"$geckoPath" /quiet - winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}) | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 + if [[ "${WINEARCH}" == "win32" ]]; then + # This is in a brace list to pipe through dialog. + { DISPLAY="" wineboot -u + wine msiexec /i z:"$monoPath" /quiet + wine msiexec /i z:"$geckoPath" /quiet + winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 + else + # This is in a brace list to pipe through dialog. + download https://nashcentral.duckdns.org/projects/wine.tar.gz + { tar xf "${cache}/wine.tar.gz" -C "${HOME}/.local/wine/" + mv "${HOME}/.local/wine/.wine/drive_c/users/user" "${HOME}/.local/wine/.wine/drive_c/users/${USER}" + mv "${HOME}/.local/wine/.wine/" "${WINEPREFIX}/" + wine64 cmd /c exit + wine msiexec /i z:"$monoPath" /quiet + wine msiexec /i z:"$geckoPath" /quiet + winetricks -q $@ ${winVer:-win7} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 + fi } @@ -1339,8 +1351,9 @@ case "${game}" in add_launcher "c:\Program Files\Games\yahtzeeB\BGYahtzee.exe" ;; "Bloodshed") + export WINEARCH="win64" export winVer="win7" - install_wine_bottle speechsdk + install_wine_bottle download "http://www.samtupy.com/games/bloodshed.exe" cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/" add_launcher "c:\Program Files\bloodshed.exe" From f5e48e50db8786aca6dd4fcd6b4836ea27a45f96 Mon Sep 17 00:00:00 2001 From: Michael Taboada Date: Sun, 4 Jul 2021 14:46:05 -0700 Subject: [PATCH 04/12] Fix small issue with some voices in set-voice.sh: --- speech/set-voice.sh | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/speech/set-voice.sh b/speech/set-voice.sh index eefc37d..e905526 100755 --- a/speech/set-voice.sh +++ b/speech/set-voice.sh @@ -119,9 +119,9 @@ restore_voice() { if [[ $doRestore -eq 0 ]]; then wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely if [[ "$(uname)" == "Darwin" ]]; then - gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="'"${oldVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" + gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="'"${oldVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" else - sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="'"${oldVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" + sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="'"${oldVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" fi fi } @@ -140,10 +140,10 @@ set_voice() { # Remove any existing rate change for voices if [[ "$(uname)" == "Darwin" ]]; then gsed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" + gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" else sed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" + sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" fi } @@ -159,9 +159,9 @@ test_voice() { fullVoice="${voiceListFullName[$counter]}" wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely if [[ "$(uname)" == "Darwin" ]]; then - gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" + gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" else - sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" + sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" fi cat << "EOF" > /tmp/speak.vbs dim speechobject @@ -187,9 +187,9 @@ wine cscript "z:\tmp\speak.vbs" ifs="$IFS" IFS=$'\n' if [[ "$(uname)" == "Darwin" ]]; then - voiceListFullName=($(ggrep -P '\[Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^\\]+\].*' "${WINEPREFIX}/system.reg" | sed -E -e 's/\[([^]]+)\].*/\1/g')) + voiceListFullName=($(ggrep -P '\[Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^\\]+\].*' "${WINEPREFIX}/system.reg" | sed -E -e 's/\[([^]]+)\].*/\1/g')) else - voiceListFullName=($(grep -P '\[Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^\\]+\].*' "${WINEPREFIX}/system.reg" | sed -E -e 's/\[([^]]+)\].*/\1/g')) + voiceListFullName=($(grep -P '\[Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^\\]+\].*' "${WINEPREFIX}/system.reg" | sed -E -e 's/\[([^]]+)\].*/\1/g')) fi IFS="$ifs" voiceList=() @@ -197,11 +197,10 @@ for x in "${voiceListFullName[@]}" ; do voiceList+=("$(echo "$x" | rev | cut -d\\ -f1 | rev)") done if [[ "$(uname)" == "Darwin" ]]; then - oldVoice="$(ggrep -P '"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"' "${WINEPREFIX}/user.reg" | sed -E -e 's/"DefaultTokenId"="([^"]+)"/\1/g')" + oldVoice="$(ggrep -P '"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"' "${WINEPREFIX}/user.reg" | sed -E -e 's/"DefaultTokenId"="([^"]+)"/\1/g')" else - oldVoice="$(grep -P '"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Tokens\\\\[^"]+"' "${WINEPREFIX}/user.reg" | sed -E -e 's/"DefaultTokenId"="([^"]+)"/\1/g')" + oldVoice="$(grep -P '"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"' "${WINEPREFIX}/user.reg" | sed -E -e 's/"DefaultTokenId"="([^"]+)"/\1/g')" fi -#exit 1 exit=1 while [[ $exit -ne 0 ]] ; do voice="$(menulist "${voiceList[@]}")" From 6d7370640c834248cc34219ddbc6b8a5513e0282 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sun, 4 Jul 2021 19:30:57 -0400 Subject: [PATCH 05/12] Set voice now properly handles RHVoice. install MS Mike and Mary for winxp 64 bit bottles. --- audiogame-manager.sh | 18 +++++++++++++----- speech/set-voice.sh | 9 ++++++--- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index d051a81..a6f2b65 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -54,6 +54,9 @@ check_news() { local newsFile="https://stormgames.wolfe.casa/media/agm.ogg" local newsPath="${configFile%/*.conf}/.news" local newsTag="$(curl --connect-timeout 5 -sI "$newsFile" | grep -i '^etag: "' | cut -d '"' -f2)" + if [[ -z "${newsTag}" ]]; then + return + fi local newsOldTag="$(cat "$newsPath" 2> /dev/null)" if [[ "$newsTag" != "$newsOldTag" ]]; then dialog --yes-label 'Play' \ @@ -461,14 +464,19 @@ install_wine_bottle() { winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 else # This is in a brace list to pipe through dialog. - download https://nashcentral.duckdns.org/projects/wine.tar.gz + download "https://nashcentral.duckdns.org/projects/wine.tar.gz" { tar xf "${cache}/wine.tar.gz" -C "${HOME}/.local/wine/" mv "${HOME}/.local/wine/.wine/drive_c/users/user" "${HOME}/.local/wine/.wine/drive_c/users/${USER}" mv "${HOME}/.local/wine/.wine/" "${WINEPREFIX}/" wine64 cmd /c exit wine msiexec /i z:"$monoPath" /quiet wine msiexec /i z:"$geckoPath" /quiet - winetricks -q $@ ${winVer:-win7} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 + if [[ -z "$winVer" ]]; then + download "http://kitchen.kaldobsky.com/ttsgames/SpeechXP.exe" + winetricks -q winxp + wine "${cache}/SpeechXP.exe" /silent + fi + winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 fi } @@ -1352,7 +1360,6 @@ case "${game}" in ;; "Bloodshed") export WINEARCH="win64" - export winVer="win7" install_wine_bottle download "http://www.samtupy.com/games/bloodshed.exe" cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/" @@ -1923,9 +1930,10 @@ EOF add_launcher "c:\Program Files\Survive the Wild\stw.exe" ;; "Swamp") + export WINEARCH="win64" export winVer="win7" export winetricksSettings="vd=1024x768" - install_wine_bottle vb6run dx8vb quartz speechsdk corefonts + install_wine_bottle dx8vb quartz corefonts vb6run download "https://kaldobsky.com/audiogames/SwampPart1.zip" "https://kaldobsky.com/audiogames/SwampPart2.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart1.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart2.zip" @@ -1933,7 +1941,7 @@ EOF if wget -O "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip" fi - wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat' + wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows64bit.bat' add_launcher "c:\Program Files\swamp\Swamp.exe" ;; "Technoshock") diff --git a/speech/set-voice.sh b/speech/set-voice.sh index e905526..8a857b6 100755 --- a/speech/set-voice.sh +++ b/speech/set-voice.sh @@ -2,7 +2,8 @@ # Set Voice # Set the default wine voice based on installed options. # Rate can be specified as a numeric argument to this script, 1 through 9. -# The default rate is 7 +# The default rate is 5 +# Note that RHVoice will start chopping ends of words above rate 5 # # ■The contents of this file are subject to the Common Public Attribution @@ -136,14 +137,15 @@ set_voice() { counter=$(( $counter + 1 )) done fullVoice="${voiceListFullName[$counter]}" + fullVoice="${fullVoice/RHVoice/RHVoice\\\\bdl}" wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely # Remove any existing rate change for voices if [[ "$(uname)" == "Darwin" ]]; then gsed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" + gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-5}'/g' "${WINEPREFIX}/user.reg" else sed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" + sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-5}'/g' "${WINEPREFIX}/user.reg" fi } @@ -157,6 +159,7 @@ test_voice() { counter=$(( $counter + 1 )) done fullVoice="${voiceListFullName[$counter]}" + fullVoice="${fullVoice/RHVoice/RHVoice\\\\bdl}" wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely if [[ "$(uname)" == "Darwin" ]]; then gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg" From 9f5f0d53ff66c64d6aaf8cd198b09adac95dcc48 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sun, 4 Jul 2021 20:22:38 -0400 Subject: [PATCH 06/12] Default speech rate for wine 64 bit installations set to 5. --- audiogame-manager.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index a6f2b65..bf63d61 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -467,6 +467,11 @@ install_wine_bottle() { download "https://nashcentral.duckdns.org/projects/wine.tar.gz" { tar xf "${cache}/wine.tar.gz" -C "${HOME}/.local/wine/" mv "${HOME}/.local/wine/.wine/drive_c/users/user" "${HOME}/.local/wine/.wine/drive_c/users/${USER}" + if [[ "$(uname)" == "Darwin" ]]; then + gsed -i 's/"DefaultTTSRate"=dword:00000000/"DefaultTTSRate"=dword:00000005/' "${HOME}/.local/wine/.wine/user.reg" + else + sed -i 's/"DefaultTTSRate"=dword:00000000/"DefaultTTSRate"=dword:00000005/' "${HOME}/.local/wine/.wine/user.reg" + fi mv "${HOME}/.local/wine/.wine/" "${WINEPREFIX}/" wine64 cmd /c exit wine msiexec /i z:"$monoPath" /quiet From ee9c7502a5935b9c64f29973b982bc8f271da846 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 6 Jul 2021 04:42:31 -0400 Subject: [PATCH 07/12] Add working RHVoice to 32 bit installations by default. This needs more work, but I'm tired, so saving progress for now. --- audiogame-manager.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index bf63d61..22ef940 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -457,10 +457,15 @@ install_wine_bottle() { geckoPath="${cache}/wine_gecko-2.40-x86.msi" fi if [[ "${WINEARCH}" == "win32" ]]; then + download "https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" # This is in a brace list to pipe through dialog. { DISPLAY="" wineboot -u wine msiexec /i z:"$monoPath" /quiet wine msiexec /i z:"$geckoPath" /quiet + winetricks -q win8 + wine "${cache}/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" & + sleep 20 + wineserver -k winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 else # This is in a brace list to pipe through dialog. @@ -1364,8 +1369,8 @@ case "${game}" in add_launcher "c:\Program Files\Games\yahtzeeB\BGYahtzee.exe" ;; "Bloodshed") - export WINEARCH="win64" - install_wine_bottle + export winVer="win7" + install_wine_bottle speechsdk download "http://www.samtupy.com/games/bloodshed.exe" cp "${cache}/bloodshed.exe" "$WINEPREFIX/drive_c/Program Files/" add_launcher "c:\Program Files\bloodshed.exe" @@ -1935,10 +1940,9 @@ EOF add_launcher "c:\Program Files\Survive the Wild\stw.exe" ;; "Swamp") - export WINEARCH="win64" export winVer="win7" export winetricksSettings="vd=1024x768" - install_wine_bottle dx8vb quartz corefonts vb6run + install_wine_bottle dx8vb quartz corefonts vb6run speechsdk download "https://kaldobsky.com/audiogames/SwampPart1.zip" "https://kaldobsky.com/audiogames/SwampPart2.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart1.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPart2.zip" @@ -1946,7 +1950,7 @@ EOF if wget -O "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip" fi - wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows64bit.bat' + wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat' add_launcher "c:\Program Files\swamp\Swamp.exe" ;; "Technoshock") From 47b8bda044c851da777e448c36950da279837e12 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 6 Jul 2021 13:53:41 -0400 Subject: [PATCH 08/12] Updated the installation for rhvoice to only occur if speechsdk is installed. --- audiogame-manager.sh | 12 +++++++----- speech/set-voice.sh | 7 +++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 22ef940..73732cd 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -457,15 +457,17 @@ install_wine_bottle() { geckoPath="${cache}/wine_gecko-2.40-x86.msi" fi if [[ "${WINEARCH}" == "win32" ]]; then - download "https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" # This is in a brace list to pipe through dialog. { DISPLAY="" wineboot -u wine msiexec /i z:"$monoPath" /quiet wine msiexec /i z:"$geckoPath" /quiet - winetricks -q win8 - wine "${cache}/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" & - sleep 20 - wineserver -k + if [[ "${*}" =~ speechsdk ]]; then + download "https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" + winetricks -q win8 + wine "${cache}/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" & + sleep 20 + wineserver -k + fi winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 else # This is in a brace list to pipe through dialog. diff --git a/speech/set-voice.sh b/speech/set-voice.sh index 8a857b6..ab9872c 100755 --- a/speech/set-voice.sh +++ b/speech/set-voice.sh @@ -2,8 +2,7 @@ # Set Voice # Set the default wine voice based on installed options. # Rate can be specified as a numeric argument to this script, 1 through 9. -# The default rate is 5 -# Note that RHVoice will start chopping ends of words above rate 5 +# The default rate is 7 # # ■The contents of this file are subject to the Common Public Attribution @@ -142,10 +141,10 @@ set_voice() { # Remove any existing rate change for voices if [[ "$(uname)" == "Darwin" ]]; then gsed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-5}'/g' "${WINEPREFIX}/user.reg" + gsed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" else sed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg" - sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-5}'/g' "${WINEPREFIX}/user.reg" + sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"\n"DefaultTTSRate"=dword:0000000'${2:-7}'/g' "${WINEPREFIX}/user.reg" fi } From dba5ecf3cdb5428f17fb289543887c20acba135c Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 7 Jul 2021 23:15:02 -0400 Subject: [PATCH 09/12] Provide update for installing rhvoice so that the small delay will be explained. --- audiogame-manager.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 73732cd..2e22ec1 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -464,8 +464,9 @@ install_wine_bottle() { if [[ "${*}" =~ speechsdk ]]; then download "https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" winetricks -q win8 + echo "Installing RHVoice..." wine "${cache}/RHVoice-voice-English-Bdl-v4.1.9-setup.exe" & - sleep 20 + sleep 15 wineserver -k fi winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1 From 597fd71b17a5395d50a79f0c2426483e0a28962d Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 8 Jul 2021 11:53:24 -0400 Subject: [PATCH 10/12] Added game Traders of Known Space. --- audiogame-manager.sh | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 2e22ec1..64c0f2f 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -880,6 +880,7 @@ gameList=( #"The Gate" "The Great Toy Robbery" "Thief" + "Traders of Known Space" #"Three D velocity" "Top Speed 2" "Top Speed 3" @@ -1995,14 +1996,6 @@ EOF unzip -d "$WINEPREFIX/drive_c/Program Files/thief" "${cache}/thief_en.zip" add_launcher "c:\Program Files\thief\game.exe" ;; - "Three D velocity") - export winVer="win10" - install_wine_bottle speechsdk - download "https://github.com/munawarb/Three-D-Velocity-Binaries/archive/master.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" - unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/master.zip" - find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \; - add_launcher "c:\Program Files\Three-D-Velocity-Binaries-master\tdv.exe" - ;; "Top Speed 2") install_wine_bottle download "http://users.pandora.be/playinginthedark/downloads/Tspeed_2.00.exe" @@ -2015,6 +2008,20 @@ EOF wine "${cache}/Tspeed_3.0.3.exe" /silent add_launcher "c:\Program Files\Playing in the dark\Top Speed 3\TopSpeed.exe" ;; + "Traders of Known Space") + install_wine_bottle + download "http://www.valiantgalaxy.com/tks/tradersOfKnownSpace0.0.0.5Installer.exe" + wine "${cache}/tradersOfKnownSpace0.0.0.5Installer.exe" /silent + add_launcher "c:\Program Files\VGA\TKS\tradersOfKnownSpace.exe" + ;; + "Three D velocity") + export winVer="win10" + install_wine_bottle speechsdk + download "https://github.com/munawarb/Three-D-Velocity-Binaries/archive/master.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" + unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/master.zip" + find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \; + add_launcher "c:\Program Files\Three-D-Velocity-Binaries-master\tdv.exe" + ;; "Triple Triad") export winVer="win7" install_wine_bottle vb6run dx8vb speechsdk From 59638134e8a515bf708e25076cf8b54201bf3ecb Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 9 Jul 2021 11:27:57 -0400 Subject: [PATCH 11/12] Fixed speech for Survive the Wild. --- audiogame-manager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 64c0f2f..4155288 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -1940,7 +1940,7 @@ EOF install_wine_bottle speechsdk download "http://www.samtupy.com/games/stw.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/Survive the Wild" "${cache}/stw.zip" - rm -fv "${HOME}/.local/wine/survive-the-wild/drive_c/Program Files/Survive the Wild/nvdaControllerClient32.dll" + find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \; add_launcher "c:\Program Files\Survive the Wild\stw.exe" ;; "Swamp") From 2c108f202cbc5da7a75275e3a819590f8b65cd36 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 10 Jul 2021 13:32:53 -0400 Subject: [PATCH 12/12] Game Space Defender partially done. I gotta work around 64 bit problems with nvda dll. --- audiogame-manager.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 4155288..a0af5e0 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -870,6 +870,7 @@ gameList=( #"Silver Dollar" "Slender Lost Vision" "Sonic Zoom" + #"Space Defender" "Super Egg Hunt" "Super Liam" #"Super Mario Bros" @@ -1915,6 +1916,15 @@ EOF download "http://wwwx.cs.unc.edu/Research/assist/et/projects/SonicZoom/soniczoom11.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/soniczoom11.zip" add_launcher "c:\Program Files\Sonic Zoom\SonicZoom.exe" + ;; + "Space Defender") + export WINEARCH="win64" + export winVer="win7" + install_wine_bottle speechsdk + download "http://tunmi13.ddns.net/projects/space_defender.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" + unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.zip" + find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \; + add_launcher "c:\Program Files\space_defender\sdefender.exe" ;; "Super Egg Hunt") install_wine_bottle