Merge branch 'testing' in preparation for binary release.
This commit is contained in:
commit
e133f7d318
@ -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' \
|
||||
@ -335,6 +338,7 @@ get_bottle() {
|
||||
}
|
||||
|
||||
get_installer() {
|
||||
trap "exit 0" SIGINT
|
||||
# If the file is in cache nothing else needs to be done.
|
||||
if [[ -f "${cache}/$1" ]]; then
|
||||
return
|
||||
@ -439,10 +443,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")"
|
||||
@ -454,9 +456,41 @@ 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
|
||||
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 15
|
||||
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.
|
||||
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
|
||||
wine msiexec /i z:"$geckoPath" /quiet
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@ -836,6 +870,7 @@ gameList=(
|
||||
#"Silver Dollar"
|
||||
"Slender Lost Vision"
|
||||
"Sonic Zoom"
|
||||
#"Space Defender"
|
||||
"Super Egg Hunt"
|
||||
"Super Liam"
|
||||
#"Super Mario Bros"
|
||||
@ -846,6 +881,7 @@ gameList=(
|
||||
#"The Gate"
|
||||
"The Great Toy Robbery"
|
||||
"Thief"
|
||||
"Traders of Known Space"
|
||||
#"Three D velocity"
|
||||
"Top Speed 2"
|
||||
"Top Speed 3"
|
||||
@ -1880,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
|
||||
@ -1905,13 +1950,13 @@ 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")
|
||||
export winVer="win7"
|
||||
export winetricksSettings="vd=1024x768"
|
||||
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
|
||||
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"
|
||||
@ -1961,14 +2006,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"
|
||||
@ -1981,6 +2018,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
|
||||
|
@ -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
|
||||
}
|
||||
@ -136,14 +136,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\\\\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
|
||||
}
|
||||
|
||||
@ -157,11 +158,12 @@ 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\\\\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 +189,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 +199,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[@]}")"
|
||||
|
Loading…
Reference in New Issue
Block a user