|
|
@ -45,13 +45,6 @@ EOF
|
|
|
|
export DIALOGOPTS='--no-lines --visit-items'
|
|
|
|
export DIALOGOPTS='--no-lines --visit-items'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Alerts, for when user needs to read something.
|
|
|
|
|
|
|
|
alert() {
|
|
|
|
|
|
|
|
play -qnV0 synth 3 pluck D3 pluck A3 pluck D4 pluck F4 pluck A4 delay 0 .1 .2 .3 .4 remix - chorus 0.9 0.9 38 0.75 0.3 0.5 -t
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
|
|
|
read -rp "Press enter to continue." continue
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Check for latest news
|
|
|
|
# Check for latest news
|
|
|
|
check_news() {
|
|
|
|
check_news() {
|
|
|
|
trap return INT
|
|
|
|
trap return INT
|
|
|
@ -291,7 +284,7 @@ download() {
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
# Skip if the item is in cache.
|
|
|
|
# Skip if the item is in cache.
|
|
|
|
test -e "${cache}/${dest}" && continue
|
|
|
|
test -e "${cache}/${dest}" && continue
|
|
|
|
if ! curl -L4 -C - --retry 10 --output "${cache}/${dest}" "${i}" ; then
|
|
|
|
if ! curl -L4 --output "${cache}/${dest}" "${i}" ; then
|
|
|
|
echo "Could not download \"$i\"..."
|
|
|
|
echo "Could not download \"$i\"..."
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -312,9 +305,7 @@ get_bottle() {
|
|
|
|
"puzzle-divided"*) ;&
|
|
|
|
"puzzle-divided"*) ;&
|
|
|
|
"revelation"*) ;&
|
|
|
|
"revelation"*) ;&
|
|
|
|
"swamp"*) ;&
|
|
|
|
"swamp"*) ;&
|
|
|
|
"triple -triad"*)
|
|
|
|
"triple -triad"*) export WINEPREFIX="${HOME}/.local/wine/aprone" ;;
|
|
|
|
install_wine "7.7" "32"
|
|
|
|
|
|
|
|
export WINEPREFIX="${HOME}/.local/wine/aprone" ;;
|
|
|
|
|
|
|
|
"bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";;
|
|
|
|
"bg-"*) export WINEPREFIX="${HOME}/.local/wine/bg";;
|
|
|
|
# ESP Pinball games
|
|
|
|
# ESP Pinball games
|
|
|
|
"esp-pinball-classic"*) export WINEPREFIX="${HOME}/.local/wine/esp-pinball";;
|
|
|
|
"esp-pinball-classic"*) export WINEPREFIX="${HOME}/.local/wine/esp-pinball";;
|
|
|
@ -355,16 +346,6 @@ get_bottle() {
|
|
|
|
"challenge-of-the-horse"*) export WINEPREFIX="${HOME}/.local/wine/tunmi13";;
|
|
|
|
"challenge-of-the-horse"*) export WINEPREFIX="${HOME}/.local/wine/tunmi13";;
|
|
|
|
*) export WINEPREFIX="${HOME}/.local/wine/${game%|*}";;
|
|
|
|
*) export WINEPREFIX="${HOME}/.local/wine/${game%|*}";;
|
|
|
|
esac
|
|
|
|
esac
|
|
|
|
# Wine version for bottles
|
|
|
|
|
|
|
|
if [[ "$game" =~ entombed ]]; then
|
|
|
|
|
|
|
|
install_wine "6.18" "32"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ rs-games ]]; then
|
|
|
|
|
|
|
|
install_wine "7.0" "32"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ shadow-line ]]; then
|
|
|
|
|
|
|
|
install_wine "7.7" "32"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
get_installer() {
|
|
|
|
get_installer() {
|
|
|
@ -437,7 +418,7 @@ echo "Loading documentation, please wait..."
|
|
|
|
local gameDoc="$(find "$gamePath" -type f -iname 'user_manual.html' -or -iname 'user_manual.htm' | head -1)"
|
|
|
|
local gameDoc="$(find "$gamePath" -type f -iname 'user_manual.html' -or -iname 'user_manual.htm' | head -1)"
|
|
|
|
# Game name specific docs, add the name to the for loop.
|
|
|
|
# Game name specific docs, add the name to the for loop.
|
|
|
|
if [[ -z "$gameDoc" ]]; then
|
|
|
|
if [[ -z "$gameDoc" ]]; then
|
|
|
|
for i in "troopanum.txt" "superdeekout.txt" ; do
|
|
|
|
for i in "troopanum.txt" ; do
|
|
|
|
gameDoc="$(find "$gamePath" -type f -iname "$i" -or -iname 'manual.htm' | head -1)"
|
|
|
|
gameDoc="$(find "$gamePath" -type f -iname "$i" -or -iname 'manual.htm' | head -1)"
|
|
|
|
done
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -476,33 +457,6 @@ echo "Loading documentation, please wait..."
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
install_wine() {
|
|
|
|
|
|
|
|
# Requires wine version, e.g. 7.7 and architecture, 32|64
|
|
|
|
|
|
|
|
if [[ $# -ne 2 ]]; then
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Figure out wineInstallationPath
|
|
|
|
|
|
|
|
wineInstallationPath="${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/wine_$2/$1"
|
|
|
|
|
|
|
|
export wine="${wineInstallationPath}/bin/wine"
|
|
|
|
|
|
|
|
# If the path exists, wine should already be installed.
|
|
|
|
|
|
|
|
# Just make sure we didn't wind up with a empty directory for some reason
|
|
|
|
|
|
|
|
rmdir "${wineInstallationPath}" 2> /dev/null
|
|
|
|
|
|
|
|
if [[ -d "${wineInstallationPath}" ]]; then
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
mkdir -p "${wineInstallationPath}" 2> /dev/null
|
|
|
|
|
|
|
|
# This probably does not need to be cached, so download to tmp.
|
|
|
|
|
|
|
|
installationFile="$(mktemp)"
|
|
|
|
|
|
|
|
local v=$2
|
|
|
|
|
|
|
|
v="${v/32/x86}"
|
|
|
|
|
|
|
|
v="${v/64/x64}" # Probably wrong, so just a place holder.
|
|
|
|
|
|
|
|
# If this goes wrong, bail out
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
{ curl -L --output "${installationFile}" "https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-${1}-upstream-linux-${v}.tar.gz"
|
|
|
|
|
|
|
|
tar xf "${installationFile}" -C "${wineInstallationPath}"; } | dialog --progressbox "Installing $2 bit Wine version $1." -1 -1
|
|
|
|
|
|
|
|
set +e
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
winetricks() {
|
|
|
|
winetricks() {
|
|
|
|
# Report used packages to the winetricks maintainer so he knows they are being used.
|
|
|
|
# Report used packages to the winetricks maintainer so he knows they are being used.
|
|
|
|
if ! [[ -e "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage" ]]; then
|
|
|
|
if ! [[ -e "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage" ]]; then
|
|
|
@ -548,19 +502,14 @@ install_rhvoice() {
|
|
|
|
download "${RHVoice[${voiceName}]}"
|
|
|
|
download "${RHVoice[${voiceName}]}"
|
|
|
|
winetricks -q win8
|
|
|
|
winetricks -q win8
|
|
|
|
echo "Installing RHVoice ${voiceName^}..."
|
|
|
|
echo "Installing RHVoice ${voiceName^}..."
|
|
|
|
${wine} "${cache}/${voiceFile}" &
|
|
|
|
wine "${cache}/${voiceFile}" &
|
|
|
|
sleep 20
|
|
|
|
sleep 20
|
|
|
|
${wine}server -k
|
|
|
|
wineserver -k
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
install_wine_bottle() {
|
|
|
|
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.
|
|
|
|
# 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}"
|
|
|
|
export WINEARCH="${WINEARCH:-win32}"
|
|
|
|
# Figure out if we are using a specific version of wine
|
|
|
|
|
|
|
|
export wine="${wine:-$(command -v wine)}"
|
|
|
|
|
|
|
|
# Set the WINE and WINESERVER environmental variables so winetricks will use the right installation.
|
|
|
|
|
|
|
|
export WINE="${wine}"
|
|
|
|
|
|
|
|
export WINESERVER="${wine}server"
|
|
|
|
|
|
|
|
if [[ -z "$bottle" ]]; then
|
|
|
|
if [[ -z "$bottle" ]]; then
|
|
|
|
local bottle="${game,,}"
|
|
|
|
local bottle="${game,,}"
|
|
|
|
bottle="${bottle//[[:space:]]/-}"
|
|
|
|
bottle="${bottle//[[:space:]]/-}"
|
|
|
@ -583,11 +532,9 @@ install_wine_bottle() {
|
|
|
|
geckoPath="${cache}/wine_gecko-2.40-x86.msi"
|
|
|
|
geckoPath="${cache}/wine_gecko-2.40-x86.msi"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
# This is in a brace list to pipe through dialog.
|
|
|
|
# This is in a brace list to pipe through dialog.
|
|
|
|
{ echo -n "Using "
|
|
|
|
{ DISPLAY="" wineboot -u
|
|
|
|
${wine} --version
|
|
|
|
wine msiexec /i z:"$monoPath" /quiet
|
|
|
|
DISPLAY="" ${wine}boot -u
|
|
|
|
wine msiexec /i z:"$geckoPath" /quiet
|
|
|
|
${wine} msiexec /i z:"$monoPath" /quiet
|
|
|
|
|
|
|
|
${wine} msiexec /i z:"$geckoPath" /quiet
|
|
|
|
|
|
|
|
if [[ "${*}" =~ (speechsdk|sapi) ]]; then
|
|
|
|
if [[ "${*}" =~ (speechsdk|sapi) ]]; then
|
|
|
|
install_rhvoice
|
|
|
|
install_rhvoice
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -599,16 +546,11 @@ install_wine_bottle() {
|
|
|
|
chmod +x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd"
|
|
|
|
chmod +x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
winetricks -q isolate_home $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
|
|
|
|
winetricks -q isolate_home $@ ${winVer:-winxp} ${winetricksSettings}; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
|
|
|
|
# make it easy for game scripts to know which version of wine to use.
|
|
|
|
|
|
|
|
echo "WINE=\"${WINE}\"" > "$HOME/.local/wine/${bottle}/agm.conf"
|
|
|
|
|
|
|
|
echo "WINESERVER=\"${WINESERVER}\"" >> "$HOME/.local/wine/${bottle}/agm.conf"
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Install games
|
|
|
|
# Install games
|
|
|
|
game_installer() {
|
|
|
|
game_installer() {
|
|
|
|
export LANG="en_US.UTF-8"
|
|
|
|
|
|
|
|
# Try to deal with systems in other languages
|
|
|
|
|
|
|
|
mapfile -t installedGames < <(sed '/^$/d' "${configFile}" 2> /dev/null | cut -d '|' -f3)
|
|
|
|
mapfile -t installedGames < <(sed '/^$/d' "${configFile}" 2> /dev/null | cut -d '|' -f3)
|
|
|
|
# Create the menu of installed games
|
|
|
|
# Create the menu of installed games
|
|
|
|
declare -a menuList
|
|
|
|
declare -a menuList
|
|
|
@ -772,17 +714,14 @@ game_launcher() {
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
get_bottle "$game"
|
|
|
|
get_bottle "$game"
|
|
|
|
# make sure wine is actually set to something
|
|
|
|
|
|
|
|
export wine="${wine:-wine}"
|
|
|
|
|
|
|
|
echo -n "launching "
|
|
|
|
|
|
|
|
${wine} --version
|
|
|
|
|
|
|
|
local winePath="${game#*|}"
|
|
|
|
local winePath="${game#*|}"
|
|
|
|
winePath="${winePath%\\*.exe}"
|
|
|
|
winePath="${winePath%\\*.exe}"
|
|
|
|
local wineExec="${game#*|}"
|
|
|
|
local wineExec="${game#*|}"
|
|
|
|
wineExec="${wineExec%|*}"
|
|
|
|
wineExec="${wineExec%|*}"
|
|
|
|
wineExec="${wineExec##*\\}"
|
|
|
|
wineExec="${wineExec##*\\}"
|
|
|
|
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
|
|
|
|
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
|
|
|
|
${wine}server -k
|
|
|
|
wineserver -k
|
|
|
|
|
|
|
|
# launch the game
|
|
|
|
# launch the game
|
|
|
|
# launch the game
|
|
|
|
if command -v qjoypad &> /dev/null ; then
|
|
|
|
if command -v qjoypad &> /dev/null ; then
|
|
|
|
mkdir -p ~/.qjoypad3
|
|
|
|
mkdir -p ~/.qjoypad3
|
|
|
@ -813,16 +752,16 @@ game_launcher() {
|
|
|
|
if [[ "$game" =~ light-battles ]]; then
|
|
|
|
if [[ "$game" =~ light-battles ]]; then
|
|
|
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
|
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$game" =~ mist-world ]]; then
|
|
|
|
|
|
|
|
"${0%/*}/speech/speak_window_title.sh" mw.exe &
|
|
|
|
|
|
|
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ ^bokurano-daibouken-2\| ]]; then
|
|
|
|
if [[ "$game" =~ ^bokurano-daibouken-2\| ]]; then
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken2 &
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken2 &
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$game" =~ ^bokurano-daibouken\| ]]; then
|
|
|
|
if [[ "$game" =~ ^bokurano-daibouken\| ]]; then
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken &
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken &
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ shadow-line ]]; then
|
|
|
|
|
|
|
|
find "${WINEPREFIX}/drive_c/" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
|
|
|
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play_sr.exe shadow-line &
|
|
|
|
|
|
|
|
fi
|
|
|
|
if [[ "$game" =~ bokurano-daibouken-3 ]]; then
|
|
|
|
if [[ "$game" =~ bokurano-daibouken-3 ]]; then
|
|
|
|
dictPath="$(winepath "${winePath}")"
|
|
|
|
dictPath="$(winepath "${winePath}")"
|
|
|
|
if [[ -r "${cache}/bk3-dict.dat" ]] && [[ ! -d "${dictPath}/dict" ]]; then
|
|
|
|
if [[ -r "${cache}/bk3-dict.dat" ]] && [[ ! -d "${dictPath}/dict" ]]; then
|
|
|
@ -851,13 +790,6 @@ game_launcher() {
|
|
|
|
if [[ "$game" =~ sequence-storm ]]; then
|
|
|
|
if [[ "$game" =~ sequence-storm ]]; then
|
|
|
|
"${0%/*}/speech/clipboard_reader.sh" SequenceStorm &
|
|
|
|
"${0%/*}/speech/clipboard_reader.sh" SequenceStorm &
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$game" =~ shadow-line ]]; then
|
|
|
|
|
|
|
|
find "${WINEPREFIX}/drive_c/" -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
|
|
|
|
|
|
|
|
"${0%/*}/speech/clipboard_translator.sh" play_sr.exe shadow-line &
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ sketchbook ]]; then
|
|
|
|
|
|
|
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$game" =~ audiodisc ]]; then
|
|
|
|
if [[ "$game" =~ audiodisc ]]; then
|
|
|
|
wine "$winePath\\$wineExec"
|
|
|
|
wine "$winePath\\$wineExec"
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
@ -866,9 +798,9 @@ game_launcher() {
|
|
|
|
wine "$winePath\\$wineExec"
|
|
|
|
wine "$winePath\\$wineExec"
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$game" =~ screaming-strike-2 ]]; then
|
|
|
|
if [[ "$game" =~ rs-games ]] || [[ "$game" =~ screaming-strike-2 ]]; then
|
|
|
|
pushd "$(winepath "$winePath")"
|
|
|
|
pushd "$(winepath "$winePath")"
|
|
|
|
${wine} "$wineExec"
|
|
|
|
wine "$wineExec"
|
|
|
|
popd
|
|
|
|
popd
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -886,10 +818,10 @@ game_launcher() {
|
|
|
|
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 &
|
|
|
|
pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd &
|
|
|
|
# switch to wine64 for 64 bit prefix.
|
|
|
|
wine64 start /realtime /d "${winePath}" "$wineExec"
|
|
|
|
[[ "${wine}" == "wine" ]] && export wine="wine64"
|
|
|
|
else
|
|
|
|
|
|
|
|
wine start /d "${winePath}" "$wineExec" /realtime
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
${wine:-wine} start /d "${winePath}" "$wineExec" /realtime
|
|
|
|
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -957,7 +889,6 @@ export BOX86_NOBANNER=1
|
|
|
|
unset noCache
|
|
|
|
unset noCache
|
|
|
|
# Manual installation is not default, make sure it's unset
|
|
|
|
# Manual installation is not default, make sure it's unset
|
|
|
|
unset manualInstall
|
|
|
|
unset manualInstall
|
|
|
|
unset version
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# The list of games available for installation.
|
|
|
|
# The list of games available for installation.
|
|
|
@ -1082,7 +1013,6 @@ gameList=(
|
|
|
|
"Manamon 2"
|
|
|
|
"Manamon 2"
|
|
|
|
#"Marina Break"
|
|
|
|
#"Marina Break"
|
|
|
|
#"Minecraft"
|
|
|
|
#"Minecraft"
|
|
|
|
"Mist World"
|
|
|
|
|
|
|
|
"Monkey Business"
|
|
|
|
"Monkey Business"
|
|
|
|
"MudSplat French"
|
|
|
|
"MudSplat French"
|
|
|
|
"MudSplat English"
|
|
|
|
"MudSplat English"
|
|
|
@ -1115,21 +1045,19 @@ gameList=(
|
|
|
|
"Sequence Storm"
|
|
|
|
"Sequence Storm"
|
|
|
|
#"Shades of Doom 1.2"
|
|
|
|
#"Shades of Doom 1.2"
|
|
|
|
"Shades of Doom"
|
|
|
|
"Shades of Doom"
|
|
|
|
"Shadow Line"
|
|
|
|
#"Shadow Line"
|
|
|
|
"Shooter"
|
|
|
|
"Shooter"
|
|
|
|
"Silver Dollar"
|
|
|
|
"Silver Dollar"
|
|
|
|
"Slender Lost Vision"
|
|
|
|
"Slender Lost Vision"
|
|
|
|
"Sonic the Hedgehog"
|
|
|
|
"Sonic the Hedgehog"
|
|
|
|
"Sonic Zoom"
|
|
|
|
"Sonic Zoom"
|
|
|
|
#"Space Defender"
|
|
|
|
#"Space Defender"
|
|
|
|
"Super Deekout"
|
|
|
|
|
|
|
|
"Super Dogs Bone Hunt"
|
|
|
|
"Super Dogs Bone Hunt"
|
|
|
|
"Super Egg Hunt"
|
|
|
|
"Super Egg Hunt"
|
|
|
|
"Super Liam"
|
|
|
|
"Super Liam"
|
|
|
|
"Super Mario Bros"
|
|
|
|
"Super Mario Bros"
|
|
|
|
"Survive the Wild"
|
|
|
|
"Survive the Wild"
|
|
|
|
"Swamp"
|
|
|
|
"Swamp"
|
|
|
|
"Tactical Battle"
|
|
|
|
|
|
|
|
"Technoshock"
|
|
|
|
"Technoshock"
|
|
|
|
"Ten Pin Alley"
|
|
|
|
"Ten Pin Alley"
|
|
|
|
"The Blind Swordsman"
|
|
|
|
"The Blind Swordsman"
|
|
|
@ -1279,7 +1207,6 @@ case "${game}" in
|
|
|
|
add_launcher "c:\Program Files\AudioQuake\AudioQuake.exe"
|
|
|
|
add_launcher "c:\Program Files\AudioQuake\AudioQuake.exe"
|
|
|
|
echo
|
|
|
|
echo
|
|
|
|
echo "After you launch the game, press tab then enter and it should begin speaking."
|
|
|
|
echo "After you launch the game, press tab then enter and it should begin speaking."
|
|
|
|
alert
|
|
|
|
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Battle of the Hunter")
|
|
|
|
"Battle of the Hunter")
|
|
|
|
export bottle="tunmi13"
|
|
|
|
export bottle="tunmi13"
|
|
|
@ -1984,25 +1911,23 @@ case "${game}" in
|
|
|
|
add_launcher "c:\Program Files\Endless Runner\runner.exe"
|
|
|
|
add_launcher "c:\Program Files\Endless Runner\runner.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Entombed")
|
|
|
|
"Entombed")
|
|
|
|
export version="6.18"
|
|
|
|
|
|
|
|
install_wine "$version" "32"
|
|
|
|
|
|
|
|
export winVer="win7"
|
|
|
|
export winVer="win7"
|
|
|
|
install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf
|
|
|
|
install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf
|
|
|
|
# Ok, more dotnet.
|
|
|
|
# Ok, more dotnet.
|
|
|
|
LC_ALL=C DISPLAY="" winetricks -q dotnet40 xna40
|
|
|
|
LC_ALL=C DISPLAY="" winetricks -q dotnet40 xna40
|
|
|
|
${wine}server -k # Sigh.
|
|
|
|
wineserver -k # Sigh.
|
|
|
|
download "http://blind-games.com/newentombed/EntombedSetup.exe" "https://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe" "https://stormgames.wolfe.casa/downloads/Entombed.exe.config" "https://stormgames.wolfe.casa/downloads/mfplat.dll"
|
|
|
|
download "http://blind-games.com/newentombed/EntombedSetup.exe" "https://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe" "https://stormgames.wolfe.casa/downloads/Entombed.exe.config" "https://stormgames.wolfe.casa/downloads/mfplat.dll"
|
|
|
|
mkdir -p "${WINEPREFIX}/drive_c/temp"
|
|
|
|
mkdir -p "${WINEPREFIX}/drive_c/temp"
|
|
|
|
pushd "${WINEPREFIX}/drive_c/temp"
|
|
|
|
pushd "${WINEPREFIX}/drive_c/temp"
|
|
|
|
7z x "${cache}/SSCERuntime-ENU.exe"
|
|
|
|
7z x "${cache}/SSCERuntime-ENU.exe"
|
|
|
|
${wine} msiexec /i "${WINEPREFIX}/drive_c/temp/SSCERuntime_x86-ENU.msi" /q
|
|
|
|
wine msiexec /i "${WINEPREFIX}/drive_c/temp/SSCERuntime_x86-ENU.msi" /q
|
|
|
|
rm *
|
|
|
|
rm *
|
|
|
|
popd
|
|
|
|
popd
|
|
|
|
pushd "${WINEPREFIX}/drive_c/Program Files/Microsoft SQL Server Compact Edition/v3.5"
|
|
|
|
pushd "${WINEPREFIX}/drive_c/Program Files/Microsoft SQL Server Compact Edition/v3.5"
|
|
|
|
${wine} regsvr32 sqlceoledb35.dll
|
|
|
|
wine regsvr32 sqlceoledb35.dll
|
|
|
|
${wine} regsvr32 sqlceca35.dll
|
|
|
|
wine regsvr32 sqlceca35.dll
|
|
|
|
popd
|
|
|
|
popd
|
|
|
|
${wine} "${cache}/EntombedSetup.exe" /silent
|
|
|
|
wine "${cache}/EntombedSetup.exe" /silent
|
|
|
|
pushd "${WINEPREFIX}/drive_c/Program Files/Entombed"
|
|
|
|
pushd "${WINEPREFIX}/drive_c/Program Files/Entombed"
|
|
|
|
cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.Entity.dll ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.dll .
|
|
|
|
cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.Entity.dll ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/Private/System.Data.SqlServerCe.dll .
|
|
|
|
cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/sql* .
|
|
|
|
cp ../Microsoft\ SQL\ Server\ Compact\ Edition/v3.5/sql* .
|
|
|
@ -2337,24 +2262,6 @@ EOF
|
|
|
|
done
|
|
|
|
done
|
|
|
|
# And of course, add the launcher.
|
|
|
|
# And of course, add the launcher.
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Mist World")
|
|
|
|
|
|
|
|
export winVer="win7"
|
|
|
|
|
|
|
|
get_installer "Mist World_Setup.exe" "https://drive.google.com/file/d/12YeUqorkkMT46ZSR5pcfWxSY8DHOLxZ-/view?usp=share_link"
|
|
|
|
|
|
|
|
install_wine_bottle
|
|
|
|
|
|
|
|
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
|
|
|
|
|
|
|
|
7z x -o"$WINEPREFIX/drive_c/Program Files/Mist World" "$cache/Mist World_Setup.exe"
|
|
|
|
|
|
|
|
sed -i 's/1024m/768m/g' "$WINEPREFIX/drive_c/Program Files/Mist World/mw.exe.vmoptions"
|
|
|
|
|
|
|
|
cp "$WINEPREFIX/drive_c/Program Files/Mist World/"{mw.exe.vmoptions,update.exe.vmoptions}
|
|
|
|
|
|
|
|
find "$WINEPREFIX/drive_c/Program Files/Mist World" -iname "nvdaControllerClient32.dll" -exec cp "$cache/nvda2speechd32.dll" "{}" \;
|
|
|
|
|
|
|
|
add_launcher 'c:\Program Files\Mist World\mw.exe'
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
|
|
|
echo "If you do not have an account, There is a script in game-scripts to help."
|
|
|
|
|
|
|
|
echo "Launch the game, press enter on create account, then drop into a console so the game window does not lose focus."
|
|
|
|
|
|
|
|
echo "Change to the game-scripts directory and run"
|
|
|
|
|
|
|
|
echo "./mist_world_account_creator.sh and follow the prompts."
|
|
|
|
|
|
|
|
echo "To login, type your email address, press tab, and type your password. Press enter to confirm."
|
|
|
|
|
|
|
|
alert
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
"Monkey Business")
|
|
|
|
"Monkey Business")
|
|
|
|
export winVer="win7"
|
|
|
|
export winVer="win7"
|
|
|
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
|
|
|
install_wine_bottle vb6run dx8vb speechsdk quartz
|
|
|
@ -2539,12 +2446,10 @@ EOF
|
|
|
|
add_launcher "c:\Program Files\RTR Offline\rtr.exe"
|
|
|
|
add_launcher "c:\Program Files\RTR Offline\rtr.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"RS Games")
|
|
|
|
"RS Games")
|
|
|
|
export version="7.0"
|
|
|
|
|
|
|
|
install_wine "$version" "32"
|
|
|
|
|
|
|
|
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://stormgames.wolfe.casa/downloads/nvdaControllerClient32.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}/nvdaControllerClient32.dll" "{}" \;
|
|
|
|
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
|
|
|
|
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
@ -2587,12 +2492,10 @@ EOF
|
|
|
|
"Sketchbook")
|
|
|
|
"Sketchbook")
|
|
|
|
export winVer="win7"
|
|
|
|
export winVer="win7"
|
|
|
|
install_wine_bottle speechsdk
|
|
|
|
install_wine_bottle speechsdk
|
|
|
|
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
|
|
|
download "http://games.ims-productions.com/SBYW/SBYW.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll"
|
|
|
|
mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/scrolling battles" "${cache}/SBYW.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip"
|
|
|
|
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW-sounds.zip"
|
|
|
|
|
|
|
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
|
|
|
find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
|
|
|
|
add_launcher "c:\Program Files\sketchbook\SBYW.exe"
|
|
|
|
add_launcher "c:\Program Files\scrolling battles\SBYW.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Sequence Storm")
|
|
|
|
"Sequence Storm")
|
|
|
|
get_installer "sequence-storm-win64.zip" "https://special-magic-games-llc.itch.io/sequence-storm"
|
|
|
|
get_installer "sequence-storm-win64.zip" "https://special-magic-games-llc.itch.io/sequence-storm"
|
|
|
@ -2618,21 +2521,18 @@ EOF
|
|
|
|
add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe"
|
|
|
|
add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Shadow Line")
|
|
|
|
"Shadow Line")
|
|
|
|
export version="7.7"
|
|
|
|
export winVer="win8" speechsdk
|
|
|
|
install_wine "$version" "32"
|
|
|
|
|
|
|
|
export winVer="win8"
|
|
|
|
|
|
|
|
install_wine_bottle
|
|
|
|
install_wine_bottle
|
|
|
|
download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe"
|
|
|
|
download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe"
|
|
|
|
$wine "${cache}/shadowrine_fullvoice3.171.exe" /sp- &
|
|
|
|
wine "${cache}/shadowrine_fullvoice3.171.exe" /sp-
|
|
|
|
xdotool sleep 30 key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool sleep 30 key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
xdotool key --clearmodifiers --delay=500 Return
|
|
|
|
echo "Running installer, this will take approximately 3 minutes..."
|
|
|
|
xdotool sleep 300 key --clearmodifiers --delay=500 Down
|
|
|
|
xdotool sleep 180 key --clearmodifiers --delay=500 Down
|
|
|
|
|
|
|
|
xdotool key --clearmodifiers --delay=500 space
|
|
|
|
xdotool key --clearmodifiers --delay=500 space
|
|
|
|
xdotool key --clearmodifiers --delay=500 alt+f
|
|
|
|
xdotool key --clearmodifiers --delay=500 alt+i
|
|
|
|
${wine}server -w
|
|
|
|
wineserver -w
|
|
|
|
add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe"
|
|
|
|
add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Silver Dollar")
|
|
|
|
"Silver Dollar")
|
|
|
@ -2684,41 +2584,6 @@ EOF
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.zip"
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/space_defender.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}/nvdaControllerClient64.dll" "{}" \;
|
|
|
|
add_launcher "c:\Program Files\space_defender\sdefender.exe"
|
|
|
|
add_launcher "c:\Program Files\space_defender\sdefender.exe"
|
|
|
|
;;
|
|
|
|
|
|
|
|
"Super Deekout")
|
|
|
|
|
|
|
|
install_wine_bottle vb6run dx8vb
|
|
|
|
|
|
|
|
download "http://www.danielzingaro.com/superdeekout_setup.exe" "http://www.danielzingaro.com/sd_full.exe"
|
|
|
|
|
|
|
|
${wine} "${cache}/superdeekout_setup.exe" &
|
|
|
|
|
|
|
|
xdotool sleep 15 key --delay 100 y 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 3 key --delay 250 alt+n 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 alt+a 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 space 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 alt+n 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 alt+n 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 alt+n 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --delay 250 alt+i 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 15 key --delay 250 alt+f 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 3 key --delay 250 n 2> /dev/null
|
|
|
|
|
|
|
|
${wine}server -k
|
|
|
|
|
|
|
|
7z x -y -o"$WINEPREFIX/drive_c/Program Files/Super Deekout" "${cache}/sd_full.exe"
|
|
|
|
|
|
|
|
echo "Super Deekout needs some information before it will run:"
|
|
|
|
|
|
|
|
alert
|
|
|
|
|
|
|
|
read -erp "Please enter your first name: " fname
|
|
|
|
|
|
|
|
read -erp "Please enter your last name: " lname
|
|
|
|
|
|
|
|
read -erp "Please enter your email address: " email
|
|
|
|
|
|
|
|
${wine} "c:\Program Files\Super Deekout\config.exe" &
|
|
|
|
|
|
|
|
xdotool sleep 5 key --delay 100 Return 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 3 type --clearmodifiers --delay 100 "${fname}"
|
|
|
|
|
|
|
|
xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 1 type --clearmodifiers --delay 100 "${lname}"
|
|
|
|
|
|
|
|
xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 1 type --clearmodifiers --delay 100 "${email}"
|
|
|
|
|
|
|
|
xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 15 key --delay 100 u 2> /dev/null
|
|
|
|
|
|
|
|
xdotool key --clearmodifiers --delay 100 Tab 2> /dev/null
|
|
|
|
|
|
|
|
xdotool sleep 1 key --delay 250 Return 2> /dev/null
|
|
|
|
|
|
|
|
${wine}server -k
|
|
|
|
|
|
|
|
add_launcher "c:\Program Files\Super Deekout\super.exe"
|
|
|
|
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Super Dogs Bone Hunt")
|
|
|
|
"Super Dogs Bone Hunt")
|
|
|
|
install_wine_bottle vb6run dx8vb speechsdk
|
|
|
|
install_wine_bottle vb6run dx8vb speechsdk
|
|
|
@ -2756,8 +2621,6 @@ EOF
|
|
|
|
add_launcher "c:\Program Files\Survive the Wild\stw.exe"
|
|
|
|
add_launcher "c:\Program Files\Survive the Wild\stw.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Swamp")
|
|
|
|
"Swamp")
|
|
|
|
export version="7.7"
|
|
|
|
|
|
|
|
install_wine "${version}" "32"
|
|
|
|
|
|
|
|
export bottle="aprone"
|
|
|
|
export bottle="aprone"
|
|
|
|
export winVer="win7"
|
|
|
|
export winVer="win7"
|
|
|
|
export winetricksSettings="vd=1024x768"
|
|
|
|
export winetricksSettings="vd=1024x768"
|
|
|
@ -2770,22 +2633,14 @@ EOF
|
|
|
|
if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
|
|
|
|
if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
|
|
|
|
unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip"
|
|
|
|
unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
$wine 'c:\Program Files\swamp\checkup.exe' /verysilent
|
|
|
|
wine 'c:\Program Files\swamp\checkup.exe' /verysilent
|
|
|
|
#$wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat'
|
|
|
|
#wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat'
|
|
|
|
# Delete music if requested.
|
|
|
|
# Delete music if requested.
|
|
|
|
if [[ $deleteMusic -eq 0 ]]; then
|
|
|
|
if [[ $deleteMusic -eq 0 ]]; then
|
|
|
|
rm -frv "$WINEPREFIX/drive_c/Program Files/swamp/sounds/Music/"
|
|
|
|
rm -frv "$WINEPREFIX/drive_c/Program Files/swamp/sounds/Music/"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
add_launcher "c:\Program Files\swamp\Swamp.exe"
|
|
|
|
add_launcher "c:\Program Files\swamp\Swamp.exe"
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Tactical Battle")
|
|
|
|
|
|
|
|
install_wine_bottle speechsdk
|
|
|
|
|
|
|
|
LC_ALL=C DISPLAY="" winetricks -q dotnet462
|
|
|
|
|
|
|
|
${wine}server -k
|
|
|
|
|
|
|
|
download "https://blindgamers.com/downloads/Tactical%20Battle%20Dev.zip"
|
|
|
|
|
|
|
|
unzip -d "$WINEPREFIX/drive_c/Program Files/Tactical Battle" "${cache}/Tactical Battle Dev.zip"
|
|
|
|
|
|
|
|
add_launcher "c:\Program Files\Tactical Battle\Tactical Battle.exe"
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
"Technoshock")
|
|
|
|
"Technoshock")
|
|
|
|
install_wine_bottle
|
|
|
|
install_wine_bottle
|
|
|
|
download "http://tiflocomp.ru/download/games/technoshock_140b_en.zip" "http://tiflocomp.ru/download/games/technoshock140b_en_update.zip"
|
|
|
|
download "http://tiflocomp.ru/download/games/technoshock_140b_en.zip" "http://tiflocomp.ru/download/games/technoshock140b_en_update.zip"
|
|
|
@ -2978,7 +2833,6 @@ export norh=false # Must install a voice, and rhvoice works easily with 64 bit.
|
|
|
|
echo "To bypass these dialogs, press alt+o, then press enter until speech starts."
|
|
|
|
echo "To bypass these dialogs, press alt+o, then press enter until speech starts."
|
|
|
|
echo "To be sure that each new dialog has had time to complete, wait a second between each press of enter."
|
|
|
|
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."
|
|
|
|
echo "In each subsequent launch, you will need to hit enter a couple times before it starts speaking."
|
|
|
|
alert
|
|
|
|
|
|
|
|
;;
|
|
|
|
;;
|
|
|
|
"Warsim")
|
|
|
|
"Warsim")
|
|
|
|
get_installer "Warsim Full Game.zip" "https://huw2k8.itch.io/warsim"
|
|
|
|
get_installer "Warsim Full Game.zip" "https://huw2k8.itch.io/warsim"
|
|
|
|