Merge branch 'testing'
This commit is contained in:
commit
620b8af135
@ -434,6 +434,7 @@ help() {
|
|||||||
echo "noCache=\"true\" # Do not keep downloaded items in the cache."
|
echo "noCache=\"true\" # Do not keep downloaded items in the cache."
|
||||||
echo "norh=\"true\" # Do not install RHVoice."
|
echo "norh=\"true\" # Do not install RHVoice."
|
||||||
echo "redownload=\"true\" # Redownload sources, do not use the version stored in cache."
|
echo "redownload=\"true\" # Redownload sources, do not use the version stored in cache."
|
||||||
|
echo "rhvoice=\"voicename\" # Select the voice to be installed (default Bdl)."
|
||||||
echo "winedebug=\"flag(s)\" # Set wine debug flags, useful for development."
|
echo "winedebug=\"flag(s)\" # Set wine debug flags, useful for development."
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
@ -502,8 +503,6 @@ winetricks() {
|
|||||||
echo "1" > "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage"
|
echo "1" > "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage"
|
||||||
fi
|
fi
|
||||||
# Download or update agm's copy of winetricks
|
# Download or update agm's copy of winetricks
|
||||||
winetricksPath="${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager"
|
|
||||||
mkdir -p "${winetricksPath}"
|
|
||||||
if [[ ! -e "${winetricksPath}/winetricks" ]]; then
|
if [[ ! -e "${winetricksPath}/winetricks" ]]; then
|
||||||
checkWinetricksUpdate="true"
|
checkWinetricksUpdate="true"
|
||||||
download "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
download "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
||||||
@ -526,10 +525,23 @@ install_rhvoice() {
|
|||||||
if [[ "$norh" == "true" ]]; then
|
if [[ "$norh" == "true" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
download "https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.2007.13-setup.exe"
|
declare -A RHVoice=(
|
||||||
|
[alan]="https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Alan-v4.0.2008.15-setup.exe"
|
||||||
|
[bdl]="https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Bdl-v4.1.2008.15-setup.exe"
|
||||||
|
[clb]="https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Clb-v4.0.2008.15-setup.exe"
|
||||||
|
[slt]="https://rhvoice.eu-central-1.linodeobjects.com/RHVoice-voice-English-Slt-v4.0.2008.15-setup.exe"
|
||||||
|
)
|
||||||
|
voiceName="${voiceName:-bdl}"
|
||||||
|
voiceName="${voiceName,,}"
|
||||||
|
if [[ "${RHVoice[${voiceName}]}" == "" ]]; then
|
||||||
|
echo "Invalid RHVoice name specified, defaulting to Bdl."
|
||||||
|
voiceName="bdl"
|
||||||
|
fi
|
||||||
|
local voiceFile="${RHVoice[${voiceName}]##*/}"
|
||||||
|
download "${RHVoice[${voiceName}]}"
|
||||||
winetricks -q win8
|
winetricks -q win8
|
||||||
echo "Installing RHVoice..."
|
echo "Installing RHVoice ${voiceName^}..."
|
||||||
wine "${cache}/RHVoice-voice-English-Bdl-v4.1.2007.13-setup.exe" &
|
wine "${cache}/${voiceFile}" &
|
||||||
sleep 20
|
sleep 20
|
||||||
wineserver -k
|
wineserver -k
|
||||||
}
|
}
|
||||||
@ -562,9 +574,16 @@ install_wine_bottle() {
|
|||||||
{ DISPLAY="" wineboot -u
|
{ DISPLAY="" wineboot -u
|
||||||
wine msiexec /i z:"$monoPath" /quiet
|
wine msiexec /i z:"$monoPath" /quiet
|
||||||
wine msiexec /i z:"$geckoPath" /quiet
|
wine msiexec /i z:"$geckoPath" /quiet
|
||||||
if [[ "${*}" =~ speechsdk ]] || [[ "${WINEARCH}" == "win64" ]]; then
|
if [[ "${*}" =~ speechsdk ]]; then
|
||||||
install_rhvoice
|
install_rhvoice
|
||||||
fi
|
fi
|
||||||
|
if [[ "${WINEARCH}" == "win64" ]]; then
|
||||||
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd"
|
||||||
|
fi
|
||||||
|
if [[ "${WINEARCH}" == "win64" ]] && [[ ! -f "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" ]]; then
|
||||||
|
cp "${cache}/nvda2speechd" "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd"
|
||||||
|
chmod +x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd"
|
||||||
|
fi
|
||||||
winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
|
winetricks -q $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -753,6 +772,9 @@ game_launcher() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# for games that require custom scripts before launch or custom launch parameters
|
# for games that require custom scripts before launch or custom launch parameters
|
||||||
|
if [[ "$game" =~ laser-breakout ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
if [[ "$game" =~ sequence-storm ]]; then
|
if [[ "$game" =~ sequence-storm ]]; then
|
||||||
[[ -x ~/.SequenceStormReader ]] && ~/.SequenceStormReader &
|
[[ -x ~/.SequenceStormReader ]] && ~/.SequenceStormReader &
|
||||||
fi
|
fi
|
||||||
@ -764,6 +786,9 @@ game_launcher() {
|
|||||||
wine "$winePath\\$wineExec"
|
wine "$winePath\\$wineExec"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
if [[ "$game" =~ rs-games ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
|
fi
|
||||||
if [[ "$game" =~ screaming-strike-2 ]]; then
|
if [[ "$game" =~ screaming-strike-2 ]]; then
|
||||||
pushd "$(winepath "$winePath")"
|
pushd "$(winepath "$winePath")"
|
||||||
wine "$wineExec"
|
wine "$wineExec"
|
||||||
@ -783,6 +808,7 @@ game_launcher() {
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then
|
if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then
|
||||||
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
||||||
wine64 start /realtime /d "${winePath}" "$wineExec"
|
wine64 start /realtime /d "${winePath}" "$wineExec"
|
||||||
else
|
else
|
||||||
wine start /d "${winePath}" "$wineExec" /realtime
|
wine start /d "${winePath}" "$wineExec" /realtime
|
||||||
@ -828,6 +854,10 @@ cache="${XDG_CACHE_HOME:-$HOME/.cache}/audiogame-manager"
|
|||||||
configFile="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/games.conf"
|
configFile="${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/games.conf"
|
||||||
mkdir -p "${cache}"
|
mkdir -p "${cache}"
|
||||||
mkdir -p "${configFile%/*}"
|
mkdir -p "${configFile%/*}"
|
||||||
|
# Create the path for AGM's helper programs.
|
||||||
|
# Originally this was only winetricks, thus the name, and I'm too lazy to change it now.
|
||||||
|
winetricksPath="${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager"
|
||||||
|
mkdir -p "${winetricksPath}"
|
||||||
# Load any arguments from settings.conf file
|
# Load any arguments from settings.conf file
|
||||||
if [[ -r "${configFile%/*}/settings.conf" ]]; then
|
if [[ -r "${configFile%/*}/settings.conf" ]]; then
|
||||||
source "${configFile%/*}/settings.conf"
|
source "${configFile%/*}/settings.conf"
|
||||||
@ -912,7 +942,7 @@ gameList=(
|
|||||||
"BG Word Target"
|
"BG Word Target"
|
||||||
"BG Word Yahtzee"
|
"BG Word Yahtzee"
|
||||||
"BG Yahtzee"
|
"BG Yahtzee"
|
||||||
#"Blind Drive"
|
"Blind Drive"
|
||||||
"Bloodshed"
|
"Bloodshed"
|
||||||
"Bombercats"
|
"Bombercats"
|
||||||
#"Breed Memorial"
|
#"Breed Memorial"
|
||||||
@ -933,9 +963,11 @@ gameList=(
|
|||||||
"Death on the Road"
|
"Death on the Road"
|
||||||
"Deathmatch"
|
"Deathmatch"
|
||||||
"Dog Who Hates Toast"
|
"Dog Who Hates Toast"
|
||||||
|
#"Dragon Pong"
|
||||||
"Duck Hunt"
|
"Duck Hunt"
|
||||||
"DynaMan"
|
"DynaMan"
|
||||||
"Easter Quest"
|
"Easter Quest"
|
||||||
|
#"Endless Runner"
|
||||||
"Entombed"
|
"Entombed"
|
||||||
"ESP Pinball Classic"
|
"ESP Pinball Classic"
|
||||||
"ESP Pinball Extreme"
|
"ESP Pinball Extreme"
|
||||||
@ -945,7 +977,6 @@ gameList=(
|
|||||||
#"Fartman"
|
#"Fartman"
|
||||||
"Finger Panic"
|
"Finger Panic"
|
||||||
"Fuck That Bird"
|
"Fuck That Bird"
|
||||||
"Future Life"
|
|
||||||
"GMA Tank Commander"
|
"GMA Tank Commander"
|
||||||
"Grizzly Gulch"
|
"Grizzly Gulch"
|
||||||
"Hammer of Glory"
|
"Hammer of Glory"
|
||||||
@ -995,9 +1026,9 @@ gameList=(
|
|||||||
"Sequence Storm"
|
"Sequence Storm"
|
||||||
#"Shades of Doom 1.2"
|
#"Shades of Doom 1.2"
|
||||||
"Shades of Doom"
|
"Shades of Doom"
|
||||||
|
"Shooter"
|
||||||
"Silver Dollar"
|
"Silver Dollar"
|
||||||
"Slender Lost Vision"
|
"Slender Lost Vision"
|
||||||
#"Shooter"
|
|
||||||
"Sonic the Hedgehog"
|
"Sonic the Hedgehog"
|
||||||
"Sonic Zoom"
|
"Sonic Zoom"
|
||||||
#"Space Defender"
|
#"Space Defender"
|
||||||
@ -1026,7 +1057,7 @@ gameList=(
|
|||||||
"Villains From Beyond"
|
"Villains From Beyond"
|
||||||
"VIP Mud"
|
"VIP Mud"
|
||||||
"Warsim"
|
"Warsim"
|
||||||
"Windows Attack"
|
#"Wolf Games Launcher"
|
||||||
#"World of War"
|
#"World of War"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1062,6 +1093,7 @@ declare -A command=(
|
|||||||
[R]="Redownload. Removes old versions of packages from cache before installing."
|
[R]="Redownload. Removes old versions of packages from cache before installing."
|
||||||
[r]="Remove a game. This will delete all game data."
|
[r]="Remove a game. This will delete all game data."
|
||||||
[t]="Total games. Show how many games are currently available."
|
[t]="Total games. Show how many games are currently available."
|
||||||
|
[v:]="Select the voice to be installed, default is Bdl."
|
||||||
)
|
)
|
||||||
|
|
||||||
# Convert the keys of the associative array to a format usable by getopts
|
# Convert the keys of the associative array to a format usable by getopts
|
||||||
@ -1094,6 +1126,7 @@ while getopts "${args}" i ; do
|
|||||||
--infobox "There are currently ${#gameList[@]} games available." -1 -1
|
--infobox "There are currently ${#gameList[@]} games available." -1 -1
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
v) voiceName="${OPTARG}";;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -1169,9 +1202,10 @@ case "${game}" in
|
|||||||
add_launcher "c:\Program Files\Battle Zone\ss.exe"
|
add_launcher "c:\Program Files\Battle Zone\ss.exe"
|
||||||
;;
|
;;
|
||||||
"Beatstar Pro")
|
"Beatstar Pro")
|
||||||
|
# Sapi is broken on win64 for now, and this game doesn't support nvda it seems.
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle sapi mf
|
install_wine_bottle mf
|
||||||
download "https://oriolgomez.com/games/beat_windows.zip"
|
download "https://oriolgomez.com/games/beat_windows.zip"
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/Beatstar Pro" "${cache}/beat_windows.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/Beatstar Pro" "${cache}/beat_windows.zip"
|
||||||
add_launcher "c:\Program Files\Beatstar Pro\beatstar.exe"
|
add_launcher "c:\Program Files\Beatstar Pro\beatstar.exe"
|
||||||
@ -1538,13 +1572,15 @@ case "${game}" in
|
|||||||
;;
|
;;
|
||||||
"Blind Drive")
|
"Blind Drive")
|
||||||
get_installer "Blind Drive 1.1.112.00i-win64.zip" "https://lofipeople.itch.io/blind-drive"
|
get_installer "Blind Drive 1.1.112.00i-win64.zip" "https://lofipeople.itch.io/blind-drive"
|
||||||
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win8"
|
export winVer="win8"
|
||||||
install_wine_bottle sapi
|
install_wine_bottle
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/blind-drive" "${cache}/Blind Drive 1.1.112.00i-win64.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/blind-drive" "${cache}/Blind Drive 1.1.112.00i-win64.zip"
|
||||||
# Weird work around to get keyboard working.
|
# Weird work around to get keyboard working.
|
||||||
winetricks -q usetakefocus=y
|
winetricks -q usetakefocus=y
|
||||||
winetricks -q usetakefocus=n
|
winetricks -q usetakefocus=n
|
||||||
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
add_launcher "c:\Program Files\blind-drive\Blind Drive.exe"
|
add_launcher "c:\Program Files\blind-drive\Blind Drive.exe"
|
||||||
;;
|
;;
|
||||||
"Bloodshed")
|
"Bloodshed")
|
||||||
@ -1629,6 +1665,7 @@ case "${game}" in
|
|||||||
;;
|
;;
|
||||||
"Code Dungeon")
|
"Code Dungeon")
|
||||||
get_installer "codedungeon-win-64.zip" "https://stealcase.itch.io/codedungeon"
|
get_installer "codedungeon-win-64.zip" "https://stealcase.itch.io/codedungeon"
|
||||||
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win8"
|
export winVer="win8"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
@ -1636,6 +1673,7 @@ case "${game}" in
|
|||||||
# Weird work around to get keyboard working.
|
# Weird work around to get keyboard working.
|
||||||
winetricks -q usetakefocus=y
|
winetricks -q usetakefocus=y
|
||||||
winetricks -q usetakefocus=n
|
winetricks -q usetakefocus=n
|
||||||
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
add_launcher "c:\Program Files\code-dungeon\Code Dungeon.exe"
|
add_launcher "c:\Program Files\code-dungeon\Code Dungeon.exe"
|
||||||
;;
|
;;
|
||||||
"Copter Mission")
|
"Copter Mission")
|
||||||
@ -1663,10 +1701,10 @@ case "${game}" in
|
|||||||
"Crime Hunter")
|
"Crime Hunter")
|
||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle sapi
|
install_wine_bottle
|
||||||
download "http://masonasons.me/softs/CH2.0Win.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient64.dll"
|
download "http://masonasons.me/softs/CH2.0Win.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/crime-hunter" "${cache}/CH2.0Win.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/crime-hunter" "${cache}/CH2.0Win.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvdaControllerClient64.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
add_launcher "c:\Program Files\crime-hunter\ch.exe"
|
add_launcher "c:\Program Files\crime-hunter\ch.exe"
|
||||||
;;
|
;;
|
||||||
"Danger on the Wheel")
|
"Danger on the Wheel")
|
||||||
@ -1715,6 +1753,12 @@ case "${game}" in
|
|||||||
add_launcher "c:\Program Files\dogwhohatestoast\DogwhoHatesToast.exe"
|
add_launcher "c:\Program Files\dogwhohatestoast\DogwhoHatesToast.exe"
|
||||||
echo "Note: Dog who Hates Toast installed. Once you start the game, you must press tab until you hear sapi on to get speech." >&2
|
echo "Note: Dog who Hates Toast installed. Once you start the game, you must press tab until you hear sapi on to get speech." >&2
|
||||||
;;
|
;;
|
||||||
|
"Dragon Pong")
|
||||||
|
install_wine_bottle vb6run dx8vb speechsdk
|
||||||
|
download "https://www.iamtalon.me/games/dragonpong.zip"
|
||||||
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/dragonpong.zip"
|
||||||
|
add_launcher "c:\Program Files\dragonpong\DragonPong.exe"
|
||||||
|
;;
|
||||||
"Duck Hunt")
|
"Duck Hunt")
|
||||||
export bottle="l-works"
|
export bottle="l-works"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk
|
install_wine_bottle vb6run dx8vb speechsdk
|
||||||
@ -1739,6 +1783,13 @@ case "${game}" in
|
|||||||
wine "${cache}/easter quest setup.exe" /silent
|
wine "${cache}/easter quest setup.exe" /silent
|
||||||
add_launcher "c:\Program Files\MTGames\Easter Quest\easter.exe"
|
add_launcher "c:\Program Files\MTGames\Easter Quest\easter.exe"
|
||||||
;;
|
;;
|
||||||
|
"Endless Runner")
|
||||||
|
install_wine_bottle speechsdk
|
||||||
|
download "http://www.masonasons.me/softs/EndlessRunner.7z"
|
||||||
|
7z e -y -o"$WINEPREFIX/drive_c/Program Files/Endless Runner" "${cache}/EndlessRunner.7z" -prunner
|
||||||
|
find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
|
||||||
|
add_launcher "c:\Program Files\Endless Runner\runner.exe"
|
||||||
|
;;
|
||||||
"Entombed")
|
"Entombed")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf
|
install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf
|
||||||
@ -1839,15 +1890,6 @@ case "${game}" in
|
|||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/fuck that bird" "${cache}/bird_en.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/fuck that bird" "${cache}/bird_en.zip"
|
||||||
add_launcher "c:\Program Files\fuck that bird\game.exe"
|
add_launcher "c:\Program Files\fuck that bird\game.exe"
|
||||||
;;
|
;;
|
||||||
"Future Life")
|
|
||||||
export winVer="win7"
|
|
||||||
install_wine_bottle speechsdk
|
|
||||||
get_installer "Future Life.zip" "https://www.mediafire.com/file/phkzxtqjaw6nao9/Future"
|
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/Future Life.zip"
|
|
||||||
chmod +w "$WINEPREFIX/drive_c/Program Files/Future Life"
|
|
||||||
find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
|
|
||||||
add_launcher "c:\Program Files\Future Life\future_life.exe"
|
|
||||||
;;
|
|
||||||
"GMA Tank Commander")
|
"GMA Tank Commander")
|
||||||
install_wine_bottle vb6run dx8vb speechsdk
|
install_wine_bottle vb6run dx8vb speechsdk
|
||||||
download "http://www.gmagames.com/gtc120.exe"
|
download "http://www.gmagames.com/gtc120.exe"
|
||||||
@ -1982,12 +2024,12 @@ EOF
|
|||||||
"Laser Breakout")
|
"Laser Breakout")
|
||||||
export bottle="nyanchan"
|
export bottle="nyanchan"
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle
|
||||||
download "http://www.nyanchangames.com/softs/lsSetup.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://www.nyanchangames.com/softs/lsSetup.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
|
||||||
wine "${cache}/lsSetup.exe" &
|
wine "${cache}/lsSetup.exe" &
|
||||||
xdotool sleep 10 key Return
|
xdotool sleep 10 key Return
|
||||||
wineserver -w
|
wineserver -w
|
||||||
find "${WINEPREFIX}" -type f -name "nvdaControllerClient.dll" -exec rm -fv "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient.dll' -exec cp -v "${cache}/nvda2speechd32.dll" "{}" \;
|
||||||
add_launcher "c:\nyanchangame\laser breakout\play.exe"
|
add_launcher "c:\nyanchangame\laser breakout\play.exe"
|
||||||
;;
|
;;
|
||||||
"Light Battles")
|
"Light Battles")
|
||||||
@ -2230,6 +2272,7 @@ EOF
|
|||||||
download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe"
|
download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe"
|
||||||
wine "$cache/River Raiders 1.3.5.exe" &
|
wine "$cache/River Raiders 1.3.5.exe" &
|
||||||
xdotool sleep 5 type y 2> /dev/null
|
xdotool sleep 5 type y 2> /dev/null
|
||||||
|
xdotool sleep 1 type y 2> /dev/null
|
||||||
xdotool sleep 1 key --clearmodifiers alt+n sleep 2 key alt+n sleep 2 key alt+n sleep 2 key alt+i sleep 5 key alt+f 2> /dev/null
|
xdotool sleep 1 key --clearmodifiers alt+n sleep 2 key alt+n sleep 2 key alt+n sleep 2 key alt+i sleep 5 key alt+f 2> /dev/null
|
||||||
wineserver -w
|
wineserver -w
|
||||||
add_launcher "c:\Program Files\River Raiders\raid.exe"
|
add_launcher "c:\Program Files\River Raiders\raid.exe"
|
||||||
@ -2237,9 +2280,9 @@ EOF
|
|||||||
"RS Games")
|
"RS Games")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle speechsdk
|
||||||
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
|
||||||
wine "${cache}/rsgames-client-setup-2.01.exe" /silent
|
wine "${cache}/rsgames-client-setup-2.01.exe" /silent
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvda2speechd32.dll" "{}" \;
|
||||||
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
|
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
|
||||||
;;
|
;;
|
||||||
"Run For Your Life")
|
"Run For Your Life")
|
||||||
@ -2331,10 +2374,9 @@ EOF
|
|||||||
export WINEARCH=win64
|
export WINEARCH=win64
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle
|
install_wine_bottle
|
||||||
download "http://masonasons.me/softs/Shooter.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient64.dll"
|
download "http://masonasons.me/softs/Shooter.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/shooter" "${cache}/Shooter.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/shooter" "${cache}/Shooter.zip"
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvdaControllerClient64.dll" "{}" \;
|
|
||||||
add_launcher "c:\Program Files\shooter\shooter.exe"
|
add_launcher "c:\Program Files\shooter\shooter.exe"
|
||||||
;;
|
;;
|
||||||
"Sonic the Hedgehog")
|
"Sonic the Hedgehog")
|
||||||
@ -2599,7 +2641,7 @@ EOF
|
|||||||
;;
|
;;
|
||||||
"VIP Mud")
|
"VIP Mud")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle vb6run dx8vb speechsdk
|
install_wine_bottle vb6run dx8vb speechsdk ole32
|
||||||
download "http://gmagames.com/vipmud20016.exe"
|
download "http://gmagames.com/vipmud20016.exe"
|
||||||
wine "${cache}/vipmud20016.exe" /silent
|
wine "${cache}/vipmud20016.exe" /silent
|
||||||
mkdir -p "${HOME}/.local/wine/vip-mud/drive_c/users/${USER}/Documents/VIP Mud"
|
mkdir -p "${HOME}/.local/wine/vip-mud/drive_c/users/${USER}/Documents/VIP Mud"
|
||||||
@ -2617,12 +2659,14 @@ EOF
|
|||||||
unzip -d "$WINEPREFIX/drive_c/Program Files/Warsim/" "${cache}/Warsim Full Game.zip"
|
unzip -d "$WINEPREFIX/drive_c/Program Files/Warsim/" "${cache}/Warsim Full Game.zip"
|
||||||
add_launcher "c:\Program Files\Warsim\Warsim.exe"
|
add_launcher "c:\Program Files\Warsim\Warsim.exe"
|
||||||
;;
|
;;
|
||||||
"Windows Attack")
|
"Wolf Games Launcher")
|
||||||
get_installer "WA.exe" "https://drive.google.com/file/d/1BwKGLP37m-Z6nyKdo8LwmU9J1CEqfMb_/view?usp=drivesdk"
|
download "https://sightlesswolf.com/wg-release.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
|
||||||
|
export WINEARCH=win64
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
install_wine_bottle speechsdk
|
install_wine_bottle
|
||||||
cp "${cache}/WA.exe" "$WINEPREFIX/drive_c/Program Files/"
|
unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/wg-release.zip"
|
||||||
add_launcher "c:\Program Files\WA.exe"
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient64.dll' -exec cp -v "${cache}/nvda2speechd64.dll" "{}" \;
|
||||||
|
add_launcher "c:\Program Files\wg-release\WolfGames.exe"
|
||||||
;;
|
;;
|
||||||
"World of War")
|
"World of War")
|
||||||
export winVer="win7"
|
export winVer="win7"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Set Voice
|
# Set Voice
|
||||||
# Set the default wine voice based on installed options.
|
# Set the default wine voice ba$sed on installed options.
|
||||||
# Rate can be specified as a numeric argument to this script, 1 through 9.
|
# Rate can be specified as a numeric argument to this script, 1 through 9.
|
||||||
# The default rate is 7
|
# The default rate is 7
|
||||||
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
# ■The contents of this file are subject to the Common Public Attribution
|
# ■The contents of this file are subject to the Common Public Attribution
|
||||||
# License Version 1.0 (the ■License■); you may not use this file except in
|
# License Version 1.0 (the ■License■); you may not use this file except in
|
||||||
# compliance with the License. You may obtain a copy of the License at
|
# compliance with the License. You may obtain a copy of the License at
|
||||||
# https://opensource.org/licenses/CPAL-1.0. The License is based on the Mozilla Public License Version
|
# https://opensource.org/licenses/CPAL-1.0. The License is ba$sed on the Mozilla Public License Version
|
||||||
# 1.1 but Sections 14 and 15 have been added to cover use of software over a
|
# 1.1 but Sections 14 and 15 have been added to cover use of software over a
|
||||||
# computer network and provide for limited attribution for the Original
|
# computer network and provide for limited attribution for the Original
|
||||||
# Developer. In addition, Exhibit A has been modified to be consistent with
|
# Developer. In addition, Exhibit A has been modified to be consistent with
|
||||||
@ -44,6 +44,15 @@
|
|||||||
|
|
||||||
#--code--
|
#--code--
|
||||||
|
|
||||||
|
# Set a variable to make mac compatibility easier...
|
||||||
|
sed="sed"
|
||||||
|
grep="grep"
|
||||||
|
if [[ "$(uname)" == "Darwin" ]]; then
|
||||||
|
sed="gsed"
|
||||||
|
grep="ggrep"
|
||||||
|
fi
|
||||||
|
export grep
|
||||||
|
export sed
|
||||||
# Settings to improve accessibility of dialog.
|
# Settings to improve accessibility of dialog.
|
||||||
export DIALOGOPTS='--insecure --no-lines --visit-items'
|
export DIALOGOPTS='--insecure --no-lines --visit-items'
|
||||||
# Turn off debug messages
|
# Turn off debug messages
|
||||||
@ -116,11 +125,7 @@ menulist() {
|
|||||||
restore_voice() {
|
restore_voice() {
|
||||||
if [[ $doRestore -eq 0 ]]; then
|
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
|
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
|
$sed -i -E -e 's/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\(SOFTWARE|Software)\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^"]+"/"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\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="'"${oldVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,17 +138,14 @@ set_voice() {
|
|||||||
[ "$x" = "$tmp" ] && break
|
[ "$x" = "$tmp" ] && break
|
||||||
counter=$(( $counter + 1 ))
|
counter=$(( $counter + 1 ))
|
||||||
done
|
done
|
||||||
|
local RHVoiceName="$(find "${WINEPREFIX}/drive_c/ProgramData/Olga Yakovleva/RHVoice/data/voices/" -maxdepth 1 -type d)"
|
||||||
|
RHVoiceName="${RHVoiceName##*/}"
|
||||||
fullVoice="${voiceListFullName[$counter]}"
|
fullVoice="${voiceListFullName[$counter]}"
|
||||||
fullVoice="${fullVoice/RHVoice/RHVoice\\\\bdl}"
|
fullVoice="${fullVoice/RHVoice/RHVoice\\\\${RHVoiceName}}"
|
||||||
wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely
|
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
|
# Remove any existing rate change for voices
|
||||||
if [[ "$(uname)" == "Darwin" ]]; then
|
$sed -i '/"DefaultTTSRate"=dword:/d' "${WINEPREFIX}/user.reg"
|
||||||
gsed -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"
|
||||||
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:-7}'/g' "${WINEPREFIX}/user.reg"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
test_voice() {
|
test_voice() {
|
||||||
@ -155,14 +157,12 @@ test_voice() {
|
|||||||
[ "$x" = "$tmp" ] && break
|
[ "$x" = "$tmp" ] && break
|
||||||
counter=$(( $counter + 1 ))
|
counter=$(( $counter + 1 ))
|
||||||
done
|
done
|
||||||
|
local RHVoiceName="$(find "${WINEPREFIX}/drive_c/ProgramData/Olga Yakovleva/RHVoice/data/voices/" -maxdepth 1 -type d)"
|
||||||
|
RHVoiceName="${RHVoiceName##*/}"
|
||||||
fullVoice="${voiceListFullName[$counter]}"
|
fullVoice="${voiceListFullName[$counter]}"
|
||||||
fullVoice="${fullVoice/RHVoice/RHVoice\\\\bdl}"
|
fullVoice="${fullVoice/RHVoice/RHVoice\\\\${RHVoiceName}}"
|
||||||
wineserver -k # If we don't do this it's likely wine will overwrite our reverted change or even clobber the registry key entirely
|
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
|
$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"
|
||||||
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\\\\Token(Enum|)s\\\\[^"]+"/"DefaultTokenId"="HKEY_LOCAL_MACHINE\\\\'"${fullVoice//\\/\\\\}"'"/g' "${WINEPREFIX}/user.reg"
|
|
||||||
fi
|
|
||||||
cat << "EOF" > /tmp/speak.vbs
|
cat << "EOF" > /tmp/speak.vbs
|
||||||
dim speechobject
|
dim speechobject
|
||||||
set speechobject=createobject("sapi.spvoice")
|
set speechobject=createobject("sapi.spvoice")
|
||||||
@ -186,22 +186,18 @@ wine cscript "z:\tmp\speak.vbs"
|
|||||||
# Create an array of available voices.
|
# Create an array of available voices.
|
||||||
ifs="$IFS"
|
ifs="$IFS"
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
if [[ "$(uname)" == "Darwin" ]]; then
|
voiceListFullName=($($grep -P '\[Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\[^\\]+\].*' "${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\\\\Token(Enum|)s\\\\[^\\]+\].*' "${WINEPREFIX}/system.reg" | sed -E -e 's/\[([^]]+)\].*/\1/g'))
|
|
||||||
fi
|
|
||||||
IFS="$ifs"
|
IFS="$ifs"
|
||||||
voiceList=()
|
voiceList=()
|
||||||
for x in "${voiceListFullName[@]}" ; do
|
for x in "${voiceListFullName[@]}" ; do
|
||||||
voiceList+=("$(echo "$x" | rev | cut -d\\ -f1 | rev)")
|
voiceList+=("$(echo "$x" | $sed -E -e 's/Software\\\\(Wow6432Node\\\\|)Microsoft\\\\Speech\\\\Voices\\\\Token(Enum|)s\\\\(.+)/\3/g')")
|
||||||
done
|
done
|
||||||
if [[ "$(uname)" == "Darwin" ]]; then
|
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')"
|
||||||
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\\\\Token(Enum|)s\\\\[^"]+"' "${WINEPREFIX}/user.reg" | sed -E -e 's/"DefaultTokenId"="([^"]+)"/\1/g')"
|
|
||||||
fi
|
|
||||||
exit=1
|
exit=1
|
||||||
|
if [[ "${voiceList[@]}" -eq 0 ]]; then
|
||||||
|
dialog --msgbox "No voices found." -1 -1
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
while [[ $exit -ne 0 ]] ; do
|
while [[ $exit -ne 0 ]] ; do
|
||||||
voice="$(menulist "${voiceList[@]}")"
|
voice="$(menulist "${voiceList[@]}")"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user