2020-12-20 11:19:44 -05:00
#!/usr/bin/env bash
2020-12-16 17:16:16 -05:00
license( ) {
2022-03-11 12:43:22 -05:00
cat << EOF
2020-12-16 17:16:16 -05:00
■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
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
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
Developer. In addition, Exhibit A has been modified to be consistent with
Exhibit B.
Software distributed under the License is distributed on an ■AS IS■ basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
The Original Code is audiogame manager.
The Original Developer is not the Initial Developer and is . If
left blank, the Original Developer is the Initial Developer.
The Initial Developer of the Original Code is Billy "Storm Dragon" Wolfe. All portions of
2024-02-02 17:10:35 -05:00
the code written by Billy Wolfe are Copyright ( c) 2020, 2024. All Rights
2020-12-16 17:16:16 -05:00
Reserved.
Contributor Michael Taboada.
Attribution Copyright Notice: Audiogame manager copyright 2020 Storm Dragon. All rights reserved.
Attribution Phrase ( not exceeding 10 words) : A Stormux project
Attribution URL: https://stormgames.wolfe.casa
Graphic Image as provided in the Covered Code, if any.
Display of Attribution Information is required in Larger
Works which are defined in the CPAL as a work which combines Covered Code
or portions thereof with code not governed by the terms of the CPAL.
EOF
}
2020-08-27 15:42:24 -04:00
2020-09-29 22:07:26 -04:00
# Dialog accessibility
export DIALOGOPTS = '--no-lines --visit-items'
2021-06-30 22:38:21 -04:00
2023-02-06 05:04:26 -05:00
# 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
}
2021-06-30 22:38:21 -04:00
# Check for latest news
check_news( ) {
2023-12-03 00:57:17 -05:00
# For use by update scripts that want to source functions in this file.
2023-12-03 08:16:55 -05:00
[ [ " $agmNoLaunch " = = "true" ] ] && return
2021-07-01 02:09:12 -04:00
trap return INT
2021-06-30 22:38:21 -04:00
# url for news file
local newsFile = "https://stormgames.wolfe.casa/media/agm.ogg"
local newsPath = " ${ configFile %/*.conf } /.news "
2021-07-01 02:09:12 -04:00
local newsTag = " $( curl --connect-timeout 5 -sI " $newsFile " | grep -i '^etag: "' | cut -d '"' -f2) "
2021-07-04 19:30:57 -04:00
if [ [ -z " ${ newsTag } " ] ] ; then
return
fi
2021-06-30 22:38:21 -04:00
local newsOldTag = " $( cat " $newsPath " 2> /dev/null) "
if [ [ " $newsTag " != " $newsOldTag " ] ] ; then
dialog --yes-label 'Play' \
--no-label 'Later' \
--backtitle 'Audiogame Manager News' \
--yesno 'Audiogame manager news is available. Please use left and right arrows to navigate and enter to confirm.' -1 -1 || return
sox -qV0 " $newsFile " -d & > /dev/null
echo -n " $newsTag " > " $newsPath "
fi
}
2024-11-15 18:27:07 -05:00
# Automatic update function
2020-09-20 17:42:42 -04:00
# Automatic update function
update( ) {
2023-09-02 19:11:39 -04:00
if ! [ [ -d ".git" ] ] ; then
return
fi
2022-05-05 20:01:19 -04:00
local url = " $( git ls-remote --get-url) "
2022-12-23 00:54:43 -05:00
if [ [ " $url " = ~ ^ssh://| git@| gitea@ ] ] || [ [ -z " $url " ] ] ; then
2020-09-20 17:42:42 -04:00
return
fi
2022-05-05 20:01:19 -04:00
git remote update & > /dev/null
local upstream = '@{u}'
local home = " $( git rev-parse @) "
local remote = " $( git rev-parse " $upstream " ) "
if [ [ " $home " = = " $remote " ] ] ; then
return
fi
dialog --backtitle "Audiogame Manager" \
--yesno "Updates are available. Would you like to update now?" -1 -1 --stdout || return
2024-11-15 18:20:01 -05:00
{ git pull
git log '@{1}..' --pretty= format:'%an: %s' ; }
2022-05-05 20:01:19 -04:00
exit $?
2020-09-20 17:42:42 -04:00
}
2020-08-27 15:42:24 -04:00
2020-12-11 21:46:50 -05:00
# Function to open urls across OS.
open_url( ) {
if [ [ " $( uname) " = = "Darwin" ] ] ; then
2021-10-24 09:33:50 -04:00
open " ${ * } " 2> /dev/null
2020-12-11 21:46:50 -05:00
else
2021-10-24 09:33:50 -04:00
xdg-open " ${ * } " 2> /dev/null
2022-03-11 12:43:22 -05:00
fi
2020-12-11 21:46:50 -05:00
}
2022-01-01 16:12:22 -05:00
# Create desktop launcher file
desktop_launcher( ) {
2022-01-01 17:27:52 -05:00
local desktopFile = " ${ HOME } /audiogame-manager.desktop "
2022-01-01 16:12:22 -05:00
if [ [ -e " ${ desktopFile } " ] ] ; then
echo " the file ${ desktopFile } exists. Cannot create the launcher. "
exit 1
fi
local dotDesktop
local terminal
# Try to find an accessible terminal
2022-01-01 18:58:04 -05:00
for i in mate-terminal lxterminal terminator gnome-terminal ; do
2022-01-01 16:12:22 -05:00
if command -v $i & > /dev/null ; then
terminal = " $i "
break
fi
done
dotDesktop = ( '[Desktop Entry]'
'Name=Audiogame manager'
'GenericName=Audiogame Manager'
'Comment=Play audio games'
2022-01-03 02:37:35 -05:00
" Exec= ${ terminal } -t \"Audiogame Manager\" -e \"/usr/bin/bash -c 'nohup $( readlink -e " $0 " ) 2> /dev/null'\" "
2022-01-01 16:12:22 -05:00
'Terminal=false'
'Type=Application'
'StartupNotify=false'
2022-01-01 18:50:00 -05:00
'Keywords=game;'
'Categories=Game;'
2022-03-11 12:43:22 -05:00
'Version=1.0' )
2022-01-01 17:27:52 -05:00
for i in " ${ dotDesktop [@] } " ; do
echo " $i " >> " ${ desktopFile } "
done
desktop-file-install --dir " ${ HOME } /.local/share/applications " -m 755 " ${ desktopFile } "
xdg-desktop-icon install ~/.local/share/applications/audiogame-manager.desktop
2022-01-01 16:12:22 -05:00
rm " ${ desktopFile } "
exit 0
}
2020-11-16 16:57:16 -05:00
2020-08-27 15:42:24 -04:00
# Wine configuration section
2020-08-27 17:35:32 -04:00
checklist( ) {
declare -a errorList
2021-05-10 13:38:30 -04:00
declare -a packageList
if [ [ $# -eq 0 ] ] ; then
echo "Checking your system..."
echo
fi
2020-08-27 17:35:32 -04:00
if command -v wine & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Wine is installed."
2020-08-27 17:35:32 -04:00
else
errorList += ( "Critical: Wine is not installed. You will not be able to play any games." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "wine" )
2021-07-01 03:49:03 -04:00
if command -v curl & > /dev/null ; then
[ [ $# -eq 0 ] ] && echo "Curl is installed."
else
errorList += ( "Critical: Curl is not installed. Critical functionality will not work." )
fi
packageList += ( "curl" )
2020-10-27 10:24:52 -04:00
if command -v dialog & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Dialog is installed."
2020-10-27 10:24:52 -04:00
else
errorList += ( "Critical: Dialog is not installed. You will not be able to install, launch, or remove any games." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "dialog" )
2020-10-07 11:14:34 -04:00
for i in 7z cabextract unzip xz ; do
2020-09-04 18:45:45 -04:00
if command -v $i & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo " ${ i ^ } is installed. "
2020-09-04 18:45:45 -04:00
else
2020-10-07 11:14:34 -04:00
errorList += ( " Critical: ${ i ^ } is not installed. You will not be able to install some games or their components. " )
2020-09-04 18:45:45 -04:00
fi
2021-05-10 13:38:30 -04:00
packageList += ( " $i " )
2020-09-04 18:45:45 -04:00
done
2020-11-26 15:31:34 -05:00
if command -v gawk & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Gawk is installed."
2020-11-26 15:31:34 -05:00
else
errorList += ( "Warning: gawk is not installed. Game removal with -r will not work." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "gawk" )
2020-09-02 22:36:48 -04:00
if command -v ocrdesktop & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Ocrdesktop is installed."
2020-09-02 22:36:48 -04:00
else
errorList += ( "Warning: ocrdesktop is not installed. It can help if the installer gets stuck to figure out what is happening." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "ocrdesktop" )
2021-02-15 12:44:16 -05:00
if command -v qjoypad & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Qjoypad is installed."
2021-02-15 12:44:16 -05:00
else
errorList += ( "Warning: qjoypad is not installed. Qjoypad allows you to play keyboard only games with a gamepad." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "qjoypad" )
2021-06-30 21:58:41 -04:00
if command -v sox & > /dev/null ; then
[ [ $# -eq 0 ] ] && echo "Sox is installed."
else
errorList += ( "Warning: Sox is not installed. Audio will not work." )
fi
packageList += ( "sox" )
2022-11-11 16:09:38 -05:00
if command -v trans & > /dev/null ; then
[ [ $# -eq 0 ] ] && echo "Translate-shell is installed."
else
errorList += ( "Warning: translate-shell is not installed. Games that require translation will not be translated." )
fi
packageList += ( "translate-shell" )
2022-12-06 00:19:02 -05:00
if command -v sqlite3 & > /dev/null ; then
[ [ $# -eq 0 ] ] && echo "Sqlite3 is installed."
else
errorList += ( "Warning: sqlite is not installed. Required for games that need to be translated." )
fi
if command -v perl & > /dev/null ; then
[ [ $# -eq 0 ] ] && echo "Perl is installed."
else
errorList += ( "Warning: perl is not installed. Required for games that need to be translated." )
fi
packageList += ( "perl" )
packageList += ( "sqlite" )
2021-04-27 20:32:08 -04:00
if command -v w3m & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "W3m is installed."
2021-04-27 20:32:08 -04:00
else
errorList += ( "Warning: w3m is not installed. W3m is used to view game documentation." )
fi
2021-05-10 13:38:30 -04:00
packageList += ( "w3m" )
2020-11-16 16:57:16 -05:00
if command -v xclip & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Xclip is installed."
2020-11-16 16:57:16 -05:00
else
2020-11-20 12:37:54 -05:00
errorList += ( "Warning: Xclip is not installed. Some games may not speak or register properly." )
2020-11-16 16:57:16 -05:00
fi
2021-05-10 13:38:30 -04:00
packageList += ( "xclip" )
2020-10-08 10:42:47 -04:00
if command -v xdotool & > /dev/null ; then
2021-05-10 13:38:30 -04:00
[ [ $# -eq 0 ] ] && echo "Xdotool is installed."
2020-10-08 10:42:47 -04:00
else
2021-05-03 22:16:24 -04:00
errorList += ( "Warning: Xdotool is not installed. Some installers may not work or may need manual intervention." )
2020-10-08 10:42:47 -04:00
fi
2021-05-10 13:38:30 -04:00
packageList += ( "xdotool" )
2020-08-27 17:35:32 -04:00
# Show the results
2021-05-10 13:38:30 -04:00
if [ [ $# -ne 0 ] ] ; then
for i in " ${ packageList [@] } " ; do
echo " $i "
done | sort
exit 0
fi
2020-08-27 17:35:32 -04:00
if [ [ ${# errorList [@] } -eq 0 ] ] ; then
echo "No problems found, you are good to go."
exit 0
fi
echo "Errors detected, here is a list along with the severity."
echo "Note that errors marked critical mean that you will not be able to install and play games until they are resolved."
for i in " ${ errorList [@] } " ; do
echo " $i "
done
exit 0
}
2020-12-16 23:28:38 -05:00
clear_cache( ) {
local answer
if [ [ ! -d " ${ cache } " ] ] ; then
echo " No cache found at ${ cache } . "
return
fi
while ! [ [ " ${ answer ,, } " = ~ ^yes$| ^no$ ] ] ; do
echo " This will delete all contents of ${ cache } . Are you sure you want to continue? "
echo "Please type yes or no."
echo
read -r answer
done
if [ [ " $answer " = = "no" ] ] ; then
return
fi
# All safety checks done. Delete the cache.
rm -rfv " ${ cache } "
echo "Cache deleted."
}
2020-09-06 14:38:16 -04:00
download( ) {
local source = ( $@ )
for i in " ${ source [@] } " ; do
local dest = " ${ i ##*/ } "
dest = " ${ dest //%20/ } "
2024-01-19 03:15:19 -05:00
dest = " ${ dest #* \? filename = } "
2022-10-30 14:45:08 -04:00
dest = " ${ dest % \? * } "
2021-05-07 02:40:28 -04:00
# Remove the destination file if it is empty.
test -s " ${ cache } / ${ dest } " || rm -f " ${ cache } / ${ dest } " 2> /dev/null
2021-08-08 15:02:06 -04:00
if [ [ " ${ redownload } " = = "true" ] ] && [ [ -e " ${ cache } / ${ dest } " ] ] ; then
rm -v " ${ cache } / ${ dest } "
fi
2021-01-03 20:14:03 -05:00
# Skip if the item is in cache.
test -e " ${ cache } / ${ dest } " && continue
2023-02-08 16:03:14 -05:00
if ! curl -L4 -C - --retry 10 --output " ${ cache } / ${ dest } " " ${ i } " ; then
2023-06-24 18:36:38 -04:00
local exit_code = " $? "
if [ [ $exit_code -eq 22 ] ] ; then
echo " File not found: \" $i \" (HTTP 404) "
# Remove the empty file.
rm -f " ${ cache } / ${ dest } "
exit 1
fi
fi
if file -b " ${ cache } / ${ dest } " | grep -q "HTML document" ; then
echo " File not found: \" $i \" (HTML document probably 404) "
rm -f " ${ cache } / ${ dest } "
2020-09-06 14:38:16 -04:00
exit 1
fi
done
}
2021-06-14 17:13:25 -04:00
get_bottle( ) {
# Handles games that use the same wine bottle
2022-03-11 12:43:22 -05:00
case " ${ game } " in
2022-01-23 17:45:22 -05:00
# Aprone (Jeremy Kaldobsky) games.
"castaways" *) ; &
"castaways-2" *) ; &
"daytona-and-the-book-of-gold" *) ; &
"dog-who-hates-toast" *) ; &
"lunimals" *) ; &
"paw-prints" *) ; &
2024-02-17 01:33:09 -05:00
"penta-path" *) ; &
2022-01-23 17:45:22 -05:00
"preludeamals" *) ; &
"puzzle-divided" *) ; &
2023-08-11 17:57:25 -04:00
"rettou" *) ; &
2022-01-23 17:45:22 -05:00
"revelation" *) ; &
"swamp" *) ; &
2024-02-17 16:34:33 -05:00
"tarot-assistant" *) ; &
2023-05-12 18:23:42 -04:00
"triple-triad" *)
2023-01-23 20:18:36 -05:00
export WINEPREFIX = " ${ HOME } /.local/wine/aprone " ; ;
2021-06-14 17:13:25 -04:00
"bg-" *) export WINEPREFIX = " ${ HOME } /.local/wine/bg " ; ;
2024-08-28 12:47:36 -04:00
# draconis games
"esp-pinball-classic" *) ; &
"esp-pinball-extreme" *) ; &
"esp-pinball-party-pack" *) ; &
"silver-dollar" *) ; &
"monkey-business" *) ; &
"alien-outback" *) ; &
"dyna-man" *) ; &
"change-reaction" *) ; &
"ten-pin-alley" *) export WINEPREFIX = " ${ HOME } /.local/wine/draconis " ; ;
2022-01-03 18:12:17 -05:00
# l-works games group
"duck-hunt" *) ; &
"judgement-day" *) ; &
"lockpick" *) ; &
"pigeon-panic" *) ; &
"super-egg-hunt" *) ; &
"super-liam" *) ; &
"the-great-toy-robbery" *) export WINEPREFIX = " ${ HOME } /.local/wine/l-works " ; ;
2022-03-23 18:39:12 -04:00
# Nyanchan games group
2022-10-04 17:39:36 -04:00
"bokurano-daibouken" *) ; &
2022-03-23 18:39:12 -04:00
"laser-breakout" *) ; &
"marina-break" *) ; &
"mp5" *) ; &
"screaming-strike-2" *) ; &
"world-of-war" *) export WINEPREFIX = " ${ HOME } /.local/wine/nyanchan " ; ;
2021-06-24 20:40:40 -04:00
# Oriol Gomez games group
"bombercats" *) ; &
"copter-mission" *) ; &
"danger-on-the-wheel" *) ; &
"death-on-the-road" *) ; &
"fuck-that-bird" *) ; &
"hammer-of-glory" *) ; &
"insect-therapy" *) ; &
"rhythm-rage" *) ; &
"run-for-your-life" *) ; &
"thief" *) ; &
"villains-from-beyond" *) export WINEPREFIX = " ${ HOME } /.local/wine/oriol-gomez " ; ;
2022-10-15 13:30:53 -04:00
# pbgames group
"dark-destroyer" *) ; &
"PBGames TMP" ) export WINEPREFIX = " $HOME /.local/wine/pbgames " ; ;
2022-01-23 17:45:22 -05:00
# tunmi13 games group
"battle-of-the-hunter" *) ; &
2023-05-24 10:09:14 -04:00
"clashes-of-the-sky" *) ; &
2022-01-23 17:45:22 -05:00
"challenge-of-the-horse" *) export WINEPREFIX = " ${ HOME } /.local/wine/tunmi13 " ; ;
2023-05-24 10:09:14 -04:00
# tunmi13-64bit games group
"battlefield-2d" *) ; &
2023-09-07 17:21:08 -04:00
"haunted-party" *) ; &
"skateboarder-pro" *) export WINEPREFIX = " ${ HOME } /.local/wine/tunmi13-64bit " ; ;
2023-04-05 19:10:55 -04:00
# Dan Z games group
"lost" *) ; &
"maze-craze" *) ; &
2023-04-05 22:41:50 -04:00
"super-deekout" *)
export norh = "true"
export WINEPREFIX = " $HOME /.local/wine/dan-z "
; ;
2021-06-14 17:13:25 -04:00
*) export WINEPREFIX = " ${ HOME } /.local/wine/ ${ game %|* } " ; ;
esac
2023-01-30 23:56:21 -05:00
# Wine version for bottles
2023-02-07 03:46:15 -05:00
if [ [ " $game " = ~ entombed ] ] ; then
install_wine "6.18" "32"
fi
2023-01-30 23:56:21 -05:00
if [ [ " $game " = ~ rs-games ] ] ; then
install_wine "7.0" "32"
fi
2023-02-02 04:11:54 -05:00
if [ [ " $game " = ~ shadow-line ] ] ; then
install_wine "7.7" "32"
fi
2021-06-14 17:13:25 -04:00
}
2021-06-14 06:54:18 -04:00
get_installer( ) {
2021-07-03 21:21:18 -04:00
trap "exit 0" SIGINT
2021-06-14 06:54:18 -04:00
# If the file is in cache nothing else needs to be done.
if [ [ -f " ${ cache } / $1 " ] ] ; then
return
fi
2021-07-01 21:02:36 -04:00
# Create message for dialog.
local message = " Make sure $1 is available in either your Downloads or Desktop directory and press enter to continue. "
if [ [ -n " $2 " ] ] ; then
message += " \n\nThe last good known URL for $game is: "
message += " \n $2 "
fi
if echo " $2 " | xclip -selection clipboard 2> /dev/null ; then
message += "\n\nThe URL has been copied to the clipboard."
fi
dialog --ok-label "Continue" \
--backtitle "Audiogame Manager" \
--msgbox " $message " -1 -1
2021-06-14 06:54:18 -04:00
# Search the Desktop and Downloads directories for the installation file
for i in ~/Downloads ~/Desktop ; do
find $i -type f -name " $1 " -exec cp -v { } " ${ cache } / " \;
done
# If the file is still not available abort.
if [ [ ! -f " ${ cache } / $1 " ] ] ; then
echo " couldn't find $1 . Please download the file and try again. "
exit 1
fi
}
2023-12-02 15:41:25 -05:00
get_steam( ) {
2023-12-02 15:52:52 -05:00
# Arguments: $1 id of item for download, $2 url for game
trap "exit 0" SIGINT
2024-09-09 01:20:56 -04:00
echo "manual intervention required."
2023-12-02 16:20:20 -05:00
alert
2024-09-09 01:20:56 -04:00
dialog --backtitle "Audiogame Manager" \
--yes-label "Continue with Steam" \
--no-label "Install manually" \
--extra-button \
--extra-label "Exit" \
--yesno " To install the game manually, place files in \" ${ WINEPREFIX } /drive_c/Program Files/ ${ game } \" " -1 -1 --stdout
case $? in
0) echo "The next steps will install through steamcmd." ; ;
1)
mkdir -p " ${ WINEPREFIX } /drive_c/Program Files/ ${ game } "
dialog --backtitle "Audiogame Manager" \
--msgbox " Place game files in \" ${ WINEPREFIX } /drive_c/Program Files/ ${ game } \" and press enter to continue. " -1 -1 --stdout
return
; ;
*) exit 0 ; ;
esac
2023-12-02 15:52:52 -05:00
# Check for steamcmd
if ! command -v steamcmd & > /dev/null ; then
dialog --backtitle "Audiogame Manager" \
--infobox "This installer requires steamcmd. Please install steamcmd and try again." -1 -1
exit 1
fi
# Create message for dialog.
local message = " Make sure ${ game } is available in your Steam library and press enter to continue. The URL for ${ game } is $2 "
if echo " $2 " | xclip -selection clipboard 2> /dev/null ; then
message += "\n\nThe URL has been copied to the clipboard."
fi
dialog --ok-label "Continue" \
--backtitle "Audiogame Manager" \
--msgbox " $message " -1 -1
2023-12-02 16:39:06 -05:00
# Get Steam user name.
steamUser = " $( dialog --ok-label "Continue" \
--backtitle "Audiogame Manager" \
--inputbox "Please enter your Steam user name:" -1 -1 --stdout) "
2023-12-02 15:52:52 -05:00
# Download the game
2023-12-02 16:39:06 -05:00
mkdir -p " ${ WINEPREFIX } /drive_c/Program Files/ ${ game } "
2023-12-02 17:53:26 -05:00
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir " ${ WINEPREFIX } /drive_c/Program Files/ $game " +login " $steamUser " +app_update " $1 " +quit || { dialog --backtitle "Audiogame Manager" \
2023-12-02 15:52:52 -05:00
--infobox "Something went wrong. Please make sure you have a stable internet connection, and if the problem persists, contact audiogame-manager's developers." -1 -1
exit 1; }
2023-12-02 15:41:25 -05:00
}
2020-09-05 00:26:29 -04:00
help( ) {
2020-12-16 17:16:16 -05:00
echo " ${ 0 ##*/ } "
echo "Released under the terms of the Common Public Attribution License Version 1.0"
echo -e "This is a Stormux project: https://stormux.org\n"
2020-09-05 00:26:29 -04:00
echo -e "Usage:\n"
echo "With no arguments, open the game launcher."
for i in " ${ !command[@] } " ; do
2020-12-12 12:10:13 -05:00
echo " - ${ i / : / <parameter> } : ${ command [ ${ i } ] } "
2020-09-05 00:26:29 -04:00
done | sort
2022-03-08 03:05:32 -05:00
echo
echo "Some settings that are often used can be stored in a settings.conf file."
2023-05-01 00:26:22 -04:00
echo "If wanted, place it at the following location:"
echo " ${ configFile %/* } /settings.conf "
2022-03-08 03:05:32 -05:00
echo "The syntax is variable=\"value\""
echo
2024-01-19 11:26:30 -05:00
echo "ipfsGateway=\"https://gateway.pinata.cloud\" # Gateway to be used for ipfs downloads."
2022-03-08 03:05:32 -05:00
echo "noCache=\"true\" # Do not keep downloaded items in the cache."
2022-12-23 01:37:27 -05:00
echo "noqjoypad=\"true\" # Do not launch qjoypad."
2022-03-08 03:05:32 -05:00
echo "norh=\"true\" # Do not install RHVoice."
echo "redownload=\"true\" # Redownload sources, do not use the version stored in cache."
2023-05-01 20:10:40 -04:00
echo "voiceName=\"voicename\" # Select the voice to be installed (default Bdl)."
2023-05-01 00:08:22 -04:00
echo "defaultVoice=\"voicename\" # Select the default voice to use for the bottle, e.g. MSMike or RHVoice."
echo "defaultRate=\"Default voice rate for the bottle, default 7, may not work in all games. Values 1-9 or A."
2022-03-08 03:31:05 -05:00
echo "winedebug=\"flag(s)\" # Set wine debug flags, useful for development."
2020-09-05 00:26:29 -04:00
exit 0
}
2021-04-27 20:32:08 -04:00
documentation( ) {
if [ [ " $2 " = = "Become a Patron" ] ] ; then
return
fi
if [ [ " $2 " = = "Donate" ] ] ; then
return
fi
if ! command -v w3m & > /dev/null ; then
echo "This feature of audiogame-manager requires w3m. Please install it before continuing."
2023-08-10 02:08:06 -04:00
exit 1
2021-04-27 20:32:08 -04:00
fi
2021-06-14 17:13:25 -04:00
get_bottle " $1 "
2021-04-27 20:32:08 -04:00
echo "Loading documentation, please wait..."
# Try to find documentation based on common naming conventions.
local gamePath = " $( winepath -u " $2 " 2> /dev/null) "
gamePath = " ${ gamePath %/* } "
2023-08-10 02:08:06 -04:00
local gameDoc = " $( find " $gamePath " -type f -iname 'user_manual.htm*' -or -iname 'user manual.htm*' -or -iname '*user guide.htm*' | head -1) "
2021-05-17 00:35:37 -04:00
# Game name specific docs, add the name to the for loop.
if [ [ -z " $gameDoc " ] ] ; then
2023-03-28 17:02:20 -04:00
for i in "troopanum.txt" "superdeekout.txt" scw.html ; do
2021-05-17 00:35:37 -04:00
gameDoc = " $( find " $gamePath " -type f -iname " $i " -or -iname 'manual.htm' | head -1) "
done
fi
2021-08-09 23:34:11 -04:00
if [ [ -z " $gameDoc " ] ] ; then
gameDoc = " $( find " $gamePath " -type f -path '*/Manual/index.html' | head -1) "
fi
2021-06-14 07:51:30 -04:00
if [ [ -z " $gameDoc " ] ] ; then
2021-06-14 17:56:47 -04:00
gameDoc = " $( find " $gamePath " -type f -iname '[A-Z]*Help.htm' -or -iname '[A-Z]*Help.html' | head -1) "
2021-06-14 07:51:30 -04:00
fi
2021-04-27 20:32:08 -04:00
if [ [ -z " $gameDoc " ] ] ; then
2021-05-01 00:43:08 -04:00
gameDoc = " $( find " $gamePath " -type f -iname 'manual.html' -or -iname 'manual.htm' | head -1) "
2021-04-27 20:32:08 -04:00
fi
2021-04-28 18:08:15 -04:00
if [ [ -z " $gameDoc " ] ] ; then
2021-05-01 00:43:08 -04:00
gameDoc = " $( find " $gamePath " -type f -iname 'en.html' -or -iname 'en.htm' | head -1) "
2021-04-28 18:08:15 -04:00
fi
2021-04-27 20:32:08 -04:00
if [ [ -z " $gameDoc " ] ] ; then
2021-05-01 00:43:08 -04:00
gameDoc = " $( find " $gamePath " -type f -iname 'readme.html' -or -iname 'readme.htm' | head -1) "
2021-04-27 20:32:08 -04:00
fi
if [ [ -z " $gameDoc " ] ] ; then
2021-04-27 21:39:15 -04:00
gameDoc = " $( find " $gamePath " -type f -iname 'manual.txt' | head -1) "
2021-04-27 20:32:08 -04:00
fi
if [ [ -z " $gameDoc " ] ] ; then
2024-02-28 00:40:30 -05:00
gameDoc = " $( find " $gamePath " -type f -iname 'readme.txt' -or -iname 'help.txt' | head -1) "
2021-04-27 20:32:08 -04:00
fi
2021-04-27 20:55:06 -04:00
if [ [ -z " $gameDoc " ] ] ; then
2021-04-27 21:39:15 -04:00
gameDoc = " $( find " $gamePath " -type f -iname '*.url' -exec grep -i 'url=' { } \; | grep -iv 'score' | head -1) "
2021-04-27 20:55:06 -04:00
gameDoc = " ${ gameDoc #*= } "
gameDoc = " ${ gameDoc //[[ : cntrl : ]]/ } "
fi
2021-04-27 20:32:08 -04:00
# Display documentation if available.
if [ [ -n " $gameDoc " ] ] ; then
w3m " $gameDoc "
else
echo "No documentation found."
fi
exit 0
}
2022-03-11 12:43:22 -05:00
2023-01-23 18:08:56 -05:00
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 "
2023-01-24 16:04:58 -05:00
export wine = " ${ wineInstallationPath } /bin/wine "
2023-01-23 18:08:56 -05:00
# 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
2023-01-23 20:18:36 -05:00
mkdir -p " ${ wineInstallationPath } " 2> /dev/null
2023-01-23 18:08:56 -05:00
# 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
2023-01-26 19:52:00 -05:00
{ 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
2023-01-23 18:08:56 -05:00
set +e
}
2023-06-12 11:21:40 -04:00
unix2dos( ) {
if [ [ $# -eq 0 ] ] ; then
echo "Usage: unix2dos file(s)."
exit 1
fi
for file in " ${ @ } " ; do
sed -i 's/$/\r/' " ${ file } "
done
}
2021-10-09 04:16:35 -04:00
winetricks( ) {
2022-02-08 12:57:27 -05:00
# 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
2022-02-16 19:18:15 -05:00
mkdir -p " ${ XDG_CACHE_HOME :- $HOME /.cache } /winetricks/ "
2022-02-08 12:57:27 -05:00
echo "1" > " ${ XDG_CACHE_HOME :- $HOME /.cache } /winetricks/track_usage "
fi
2021-10-09 04:16:35 -04:00
# Download or update agm's copy of winetricks
2022-03-01 17:56:46 -05:00
if [ [ ! -e " ${ winetricksPath } /winetricks " ] ] ; then
2021-10-09 04:16:35 -04:00
checkWinetricksUpdate = "true"
download "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
2022-03-01 17:56:46 -05:00
mv " ${ cache } /winetricks " " ${ winetricksPath } "
chmod 755 " ${ winetricksPath } /winetricks "
2021-10-09 04:16:35 -04:00
else
if [ [ " $checkWinetricksUpdate " != "true" ] ] ; then
checkWinetricksUpdate = "true"
2022-03-01 17:56:46 -05:00
${ winetricksPath } /winetricks --self-update
2021-10-09 04:16:35 -04:00
fi
fi
# Run the requested winetricks parameters
2022-03-01 17:56:46 -05:00
${ winetricksPath } /winetricks " $@ "
2021-10-09 04:16:35 -04:00
}
2022-01-21 23:08:59 -05:00
install_rhvoice( ) {
if [ [ -d " $HOME /.local/wine/ ${ bottle } /drive_c/Program Files/Olga Yakovleva/ " ] ] ; then
return
fi
if [ [ " $norh " = = "true" ] ] ; then
2023-05-01 00:08:22 -04:00
# Try to prevent the user from breaking speech
# Also useful for games that do not work with RHVoice
if [ [ " ${ defaultVoice } " = = "RHVoice" ] ] ; then
unset defaultVoice
fi
2022-01-21 23:08:59 -05:00
return
fi
2022-08-22 18:42:58 -04:00
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 } ] } "
2022-01-21 23:08:59 -05:00
winetricks -q win8
2022-08-22 18:42:58 -04:00
echo " Installing RHVoice ${ voiceName ^ } ... "
2023-01-30 23:56:21 -05:00
${ wine } " ${ cache } / ${ voiceFile } " &
2022-01-21 23:08:59 -05:00
sleep 20
2023-01-30 23:56:21 -05:00
${ wine } server -k
2022-01-21 23:08:59 -05:00
}
2020-08-27 15:42:24 -04:00
install_wine_bottle( ) {
2020-09-21 06:58:47 -04:00
# 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 } "
2023-01-24 16:04:58 -05:00
# Figure out if we are using a specific version of wine
2023-01-30 23:56:21 -05:00
export wine = " ${ wine :- $( command -v wine) } "
2023-01-24 16:04:58 -05:00
# Set the WINE and WINESERVER environmental variables so winetricks will use the right installation.
2023-01-30 23:56:21 -05:00
export WINE = " ${ wine } "
export WINESERVER = " ${ wine } server "
2021-06-14 17:13:25 -04:00
if [ [ -z " $bottle " ] ] ; then
local bottle = " ${ game ,, } "
bottle = " ${ bottle //[[ : space : ]]/- } "
if [ [ -d " $HOME /.local/wine/ ${ bottle } " ] ] ; then
echo " $HOME /.local/wine/ ${ bottle } exists. Please remove it before running this installer. "
exit 1
fi
2021-02-23 16:14:27 -05:00
fi
2020-08-27 15:42:24 -04:00
export WINEPREFIX = " $HOME /.local/wine/ ${ bottle } "
# Arguments to the function are dependancies to be installed.
2021-02-21 11:53:32 -05:00
# Get location of mono and gecko.
2023-09-02 23:39:39 -04:00
monoPath = " $( find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null) "
geckoPath = " $( find /usr/share/wine/ -maxdepth 1 -type d "gecko" 2> /dev/null) "
2021-02-21 11:53:32 -05:00
if [ [ -z " $monoPath " ] ] ; then
download 'http://dl.winehq.org/wine/wine-mono/6.0.0/wine-mono-6.0.0-x86.msi'
monoPath = " ${ cache } /wine-mono-6.0.0-x86.msi "
fi
if [ [ -z " $geckoPath " ] ] ; then
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
2021-07-04 03:50:01 -04:00
# This is in a brace list to pipe through dialog.
2023-01-26 19:52:00 -05:00
{ echo -n "Using "
${ wine } --version
DISPLAY = "" ${ wine } boot -u
2023-01-30 23:56:21 -05:00
${ wine } msiexec /i z:" $monoPath " /quiet
${ wine } msiexec /i z:" $geckoPath " /quiet
2022-12-22 09:59:42 -05:00
if [ [ " ${ * } " = ~ ( speechsdk| sapi) ] ] ; then
2022-01-21 23:08:59 -05:00
install_rhvoice
2021-07-06 13:53:41 -04:00
fi
2022-08-21 01:39:12 -04:00
if [ [ " ${ WINEARCH } " = = "win64" ] ] ; then
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd"
fi
2022-08-20 23:51:12 -04:00
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 "
2022-08-21 00:10:48 -04:00
chmod +x " ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd "
2022-08-20 23:51:12 -04:00
fi
2023-01-02 20:00:31 -05:00
winetricks -q isolate_home $@ ${ winVer :- winxp } ${ winetricksSettings } ; } | dialog --progressbox "Installing wine bottle, please wait..." -1 -1
2023-02-05 15:37:57 -05:00
# 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 "
2023-05-01 00:08:22 -04:00
# If default voice is set, change it for the bottle
2024-02-15 10:52:59 -05:00
if [ [ ${# defaultVoice } -ge 2 ] ] && [ [ " ${ * } " = ~ ( speechsdk| sapi) ] ] ; then
2023-05-01 00:08:22 -04:00
echo " Setting default voice for bottle \" ${ bottle } \" to \" ${ defaultVoice } \". "
" ${ 0 %/* } /speech/set-voice.sh " -b " ${ bottle } " -r " ${ defaultRate :- 7 } " -v " ${ defaultVoice } "
fi
2020-08-27 15:42:24 -04:00
}
# Install games
game_installer( ) {
2023-02-09 00:14:42 -05:00
export LANG = "en_US.UTF-8"
# Try to deal with systems in other languages
2024-09-12 16:38:35 -04:00
mapfile -t installedGames < <( sed -e '/^$/d' -e '/^[[:space:]]*#/d' " ${ configFile } " 2> /dev/null | cut -d '|' -f3)
2020-08-27 15:42:24 -04:00
# Create the menu of installed games
declare -a menuList
for i in " ${ gameList [@] } " ; do
local menuItem = " $i "
for j in " ${ installedGames [@] } " ; do
if [ [ " $j " = = " $menuItem " ] ] ; then
unset menuItem
fi
done
if [ [ -n " $menuItem " ] ] ; then
menuList += ( " $menuItem " " $menuItem " )
fi
done
if [ [ ${# menuList [@] } -eq 0 ] ] ; then
echo "All games are already installed."
exit 0
fi
2021-02-19 12:58:11 -05:00
menuList += ( "Donate" "Donate" )
2020-09-01 14:39:39 -04:00
menuList += ( "Become a Patron" "Become a Patron" )
2020-08-27 15:42:24 -04:00
game = " $( dialog --backtitle "Audio Game Installer" \
--clear \
2023-03-30 22:26:02 -04:00
--ok-label "Install" \
2020-08-27 15:42:24 -04:00
--no-tags \
--menu "Please select a game to install" 0 0 0 " ${ menuList [@] } " --stdout) "
}
2020-09-04 23:32:26 -04:00
# remove games
game_removal( ) {
2024-09-13 01:28:22 -04:00
mapfile -t lines < <( sed -e '/^$/d' -e '/^[[:space:]]*#/d' " ${ configFile } " 2> /dev/null)
2020-09-04 23:32:26 -04:00
if [ [ ${# lines } -eq 0 ] ] ; then
echo "No games found."
exit 0
fi
# Create the menu of installed games
declare -a menuList
for i in " ${ lines [@] } " ; do
2024-09-13 01:28:22 -04:00
IFS = '|' read -ra gameInfo <<< " $i "
menuList += ( " ${ gameInfo [0] } | ${ gameInfo [1] } " " ${ gameInfo [2] } " )
2020-09-04 23:32:26 -04:00
done
2021-02-19 12:58:11 -05:00
menuList += ( "Donate" "Donate" )
2020-09-04 23:32:26 -04:00
menuList += ( "Become a Patron" "Become a Patron" )
2023-03-30 22:26:02 -04:00
local game
game = " $( dialog --backtitle "Audio Game Removal" \
2020-09-04 23:32:26 -04:00
--clear \
2023-03-30 22:26:02 -04:00
--ok-label "Remove" \
2020-09-04 23:32:26 -04:00
--no-tags \
--menu "Please select a game to delete" 0 0 0 " ${ menuList [@] } " --stdout) "
if [ [ ${# game } -gt 0 ] ] ; then
2021-02-19 12:58:11 -05:00
if [ [ " $game " = = "Donate" ] ] ; then
open_url "https://ko-fi.com/stormux"
2020-09-04 23:32:26 -04:00
exit 0
fi
if [ [ " $game " = = "Become a Patron" ] ] ; then
2021-08-22 18:19:00 -04:00
open_url "https://2mb.games/product/2mb-patron/"
2020-09-04 23:32:26 -04:00
exit 0
fi
local winePath = " ${ game #*| } "
2021-07-01 16:22:57 -04:00
export winePath = " ${ winePath % \\ *.exe } "
2020-09-04 23:32:26 -04:00
local wineExec = " ${ game #*| } "
wineExec = " ${ wineExec %|* } "
wineExec = " ${ wineExec ##* \\ } "
2021-06-15 19:07:07 -04:00
# Confirm removal
2021-06-17 15:32:09 -04:00
get_bottle " ${ game %|* } "
2021-06-23 14:04:35 -04:00
# Make sure the game can be handled by remove
if [ [ " ${ HOME } /.local/wine/ ${ game %|* } " = = " ${ WINEPREFIX } " ] ] ; then
read -rp " To remove the wine bottle \" ${ WINEPREFIX ##*/ } \" and all of its contents press enter. To cancel press control+c. " continue
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
wineserver -k
# remove the game
rm -rf " ${ WINEPREFIX } "
else
2021-07-01 16:22:57 -04:00
read -rp " This bottle \" ${ WINEPREFIX ##*/ } \" contains multiple entries, so only the game will be removed. To continue press enter. To cancel press control+c. " continue
rm -rf " $( winepath " ${ winePath } " ) "
2021-06-23 14:04:35 -04:00
fi
2020-09-04 23:32:26 -04:00
# remove the launcher
2021-06-23 14:04:35 -04:00
gawk -i inplace -vLine= " ${ game // \\ / \\ \\ } " '!index($0,Line)' " $configFile "
echo "The selected item has been deleted."
2020-09-04 23:32:26 -04:00
fi
exit 0
}
2020-12-29 06:28:05 -05:00
# kill games that are stuck
kill_game( ) {
mapfile -t lines < <( sed '/^$/d' " ${ configFile } " 2> /dev/null)
if [ [ ${# lines } -eq 0 ] ] ; then
echo "No games found."
exit 0
fi
# Create the menu of installed games
declare -a menuList
for i in " ${ lines [@] } " ; do
2024-09-12 14:26:46 -04:00
IFS = '|' read -ra gameInfo <<< " $i "
menuList += ( " ${ gameInfo [0] } | ${ gameInfo [1] } " " ${ gameInfo [2] } " )
2020-12-29 06:28:05 -05:00
done
2021-02-19 12:58:11 -05:00
menuList += ( "Donate" "Donate" )
2020-12-29 06:28:05 -05:00
menuList += ( "Become a Patron" "Become a Patron" )
local game = " $( dialog --backtitle "Audio Game Killer" \
--clear \
2023-03-30 22:26:02 -04:00
--ok-label "Kill" \
2020-12-29 06:28:05 -05:00
--no-tags \
--menu "Please select a game to force stop" 0 0 0 " ${ menuList [@] } " --stdout) "
if [ [ ${# game } -gt 0 ] ] ; then
2021-02-19 12:58:11 -05:00
if [ [ " $game " = = "Donate" ] ] ; then
open_url "https://ko-fi.com/stormux"
2020-12-29 06:28:05 -05:00
exit 0
fi
if [ [ " $game " = = "Become a Patron" ] ] ; then
2021-08-22 18:19:00 -04:00
open_url "https://2mb.games/product/2mb-patron/"
2020-12-29 06:28:05 -05:00
exit 0
fi
local winePath = " ${ game #*| } "
winePath = " ${ winePath % \\ *.exe } "
local wineExec = " ${ game #*| } "
wineExec = " ${ wineExec %|* } "
wineExec = " ${ wineExec ##* \\ } "
# kill the wine server.
2021-06-17 15:32:09 -04:00
get_bottle " ${ game %|* } "
wineserver -k
2020-12-29 06:28:05 -05:00
echo "The selected game has been stopped."
fi
exit 0
}
2024-09-12 01:35:58 -04:00
# for games that require custom scripts before launch or custom launch parameters
custom_launch_parameters( ) {
if [ [ " ${ game [0] } " = = "dragon-pong" ] ] ; then
2022-11-15 22:24:23 -05:00
" ${ 0 %/* } /speech/speak_window_title.sh " DragonPong.exe &
pushd " $( winepath " $winePath " ) "
wine " $wineExec "
popd
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "executioner's-rage" ] ] ; then
2024-03-21 03:04:00 -04:00
find " ${ WINEPREFIX } /drive_c/Program Files " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "haunted-party" ] ] ; then
2022-11-04 01:51:36 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "laser-breakout" ] ] ; then
2022-08-21 12:22:13 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
2023-01-22 16:18:30 -05:00
" ${ 0 %/* } /speech/speak_window_title.sh " play.exe &
2022-08-21 12:22:13 -04:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "light-battles" ] ] ; then
2023-01-22 13:55:24 -05:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "mist-world" ] ] ; then
2023-02-04 01:29:22 -05:00
" ${ 0 %/* } /speech/speak_window_title.sh " mw.exe &
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "oh-shit" ] ] ; then
2024-02-15 10:46:43 -05:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "bokurano-daibouken-2" ] ] ; then
2022-12-05 20:07:17 -05:00
" ${ 0 %/* } /speech/clipboard_translator.sh " play.exe bokurano-daibouken2 &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "bokurano-daibouken" ] ] ; then
2022-12-05 20:07:17 -05:00
" ${ 0 %/* } /speech/clipboard_translator.sh " play.exe bokurano-daibouken &
2022-10-04 23:47:23 -04:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = ~ "bokurano-daibouken-3" ] ] ; then
2022-09-26 04:01:33 -04:00
dictPath = " $( winepath " ${ winePath } " ) "
2022-10-06 03:52:02 -04:00
if [ [ -r " ${ cache } /bk3-dict.dat " ] ] && [ [ ! -d " ${ dictPath } /dict " ] ] ; then
2022-09-26 04:01:33 -04:00
cp " ${ cache } /bk3-dict.dat " " ${ dictPath } /dict.dat "
fi
2022-10-06 03:52:02 -04:00
if [ [ -d " ${ dictPath } /dict " ] ] ; then
2022-10-11 13:11:40 -04:00
if [ [ ! -e " ${ dictPath } /data/nvdaControllerClient.dll " ] ] ; then
cp " ${ cache } /nvda2speechd32.dll " " ${ dictPath } /data/nvdaControllerClient.dll "
fi
2022-10-05 18:51:21 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2022-10-26 06:46:19 -04:00
if [ [ ! -d " ${ dictPath } /dict " ] ] && [ [ ! -r " ${ cache } /bk3-dict.dat " ] ] ; then
2022-10-05 18:51:21 -04:00
find " ${ WINEPREFIX } /drive_c/nyanchangame/bk3 " -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
2022-12-06 00:08:07 -05:00
" ${ 0 %/* } /speech/clipboard_translator.sh " play.exe bokurano-daibouken3 &
2022-10-05 18:51:21 -04:00
fi
2022-09-24 15:05:08 -04:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "bop-it-emulator" ] ] ; then
2022-10-30 00:32:39 -04:00
" ${ 0 %/* } /speech/speak_window_title.sh " bop.exe &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "breu2-shadow-hunt" ] ] ; then
2022-11-04 01:51:36 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "road-to-rage" ] ] ; then
2022-10-06 11:54:24 -04:00
" ${ 0 %/* } /speech/speak_window_title.sh " trtr.exe &
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "sequence-storm" ] ] ; then
2022-11-14 08:07:30 -05:00
" ${ 0 %/* } /speech/clipboard_reader.sh " SequenceStorm &
2021-04-26 23:21:26 -04:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "shadow-line" ] ] ; then
2023-01-26 19:52:00 -05:00
find " ${ WINEPREFIX } /drive_c/ " -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
2024-09-02 15:36:07 -04:00
" ${ 0 %/* } /speech/clipboard_translator.sh " play_sr.exe shadow-line &
2023-01-26 19:52:00 -05:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "sketchbook" ] ] ; then
2023-01-27 12:27:17 -05:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "audiodisc" ] ] ; then
2021-04-29 19:00:17 -04:00
wine " $winePath \\ $wineExec "
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "audioquake" ] ] ; then
2021-04-26 23:21:26 -04:00
wine " $winePath \\ $wineExec "
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "screaming-strike-2" ] ] ; then
2021-06-30 01:34:31 -04:00
pushd " $( winepath " $winePath " ) "
2023-01-30 23:56:21 -05:00
${ wine } " $wineExec "
2021-06-30 01:34:31 -04:00
popd
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "warsim" ] ] ; then
2024-09-12 01:49:01 -04:00
pushd " $( winepath " ${ game [1]% \\ * } " ) "
wine " ${ game [1]##* \\ } "
2021-08-08 16:10:16 -04:00
popd
2021-07-23 18:51:44 -04:00
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "interceptor" ] ] ; then
2022-08-17 03:50:45 -04:00
pushd " $( winepath " $winePath " ) "
wine " $wineExec "
popd
exit 0
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "vip-mud" ] ] ; then
2023-06-24 19:04:44 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2020-12-14 09:34:31 -05:00
if [ [ -d " ${ WINEPREFIX } /drive_c/windows/syswow64 " ] ] ; then
2022-08-20 23:51:12 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
2023-02-02 04:42:02 -05:00
# switch to wine64 for 64 bit prefix.
[ [ " ${ wine } " = = "wine" ] ] && export wine = "wine64"
2020-12-14 09:34:31 -05:00
fi
2024-09-12 01:35:58 -04:00
if [ [ " ${ game [0] } " = = "the-great-toy-robbery" ] ] ; then
2023-04-19 17:57:25 -04:00
pgrep -u " $USER " nvda2speechd & > /dev/null || ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd &
fi
2024-09-12 01:35:58 -04:00
}
2024-09-12 14:26:46 -04:00
# Process game launcher flags
process_launcher-flags( ) {
flags = ( " ${ game [@] : 3 } " )
for i in " ${ flags [@] } " ; do
if [ [ " ${ i } " = ~ ^export\ [ a-zA-Z_] [ a-zA-Z0-9_] *= \' ?.*\' ?$ ] ] ; then
eval " ${ i } "
fi
done
}
2024-09-12 01:35:58 -04:00
create_game_array( ) {
# Game array 0 bottle, 1 path, 2 title, 3+ flags
for i in " ${ lines [@] } " ; do
if [ [ " ${ game } " = ~ ^${ i } ] ] ; then
# This is weird. Why do I have to set game to i before making the array?
game = " $i "
IFS = '|' read -ra game <<< " $i "
break
fi
done
}
# launch games that are installed
game_launcher( ) {
# For use by update scripts that want to source functions in this file.
[ [ " $agmNoLaunch " = = "true" ] ] && return
mapfile -t lines < <( sed -e '/^$/d' -e '/^ *#/d' " ${ configFile } " 2> /dev/null)
if [ [ ${# lines } -eq 0 ] ] ; then
echo "Install some games first."
exit 0
fi
if [ [ $# -eq 0 ] ] ; then
# Create the menu of installed games
declare -a menuList
for i in " ${ lines [@] } " ; do
IFS = '|' read -ra gameInfo <<< " $i "
menuList += ( " ${ gameInfo [0] } | ${ gameInfo [1] } " " ${ gameInfo [2] } " )
done
menuList += ( "Donate" "Donate" )
menuList += ( "Become a Patron" "Become a Patron" )
game = " $( dialog --backtitle "Audio Game Launcher" \
--clear \
--extra-button \
--extra-label "Documentation" \
--ok-label "Launch" \
--no-tags \
--menu "Please select a game to play" 0 0 0 " ${ menuList [@] } " --stdout) "
local menuCode = $?
if [ [ $menuCode -eq 1 ] ] ; then
exit 0
elif [ [ $menuCode -eq 3 ] ] ; then
documentation " $game " " $( echo " $game " | cut -d '|' -f2) "
fi
create_game_array
else
create_game_array
if [ [ -z " $game " ] ] ; then
echo " Game $1 not found. "
exit 1
fi
fi
if [ [ ${# game [@] } -gt 0 ] ] ; then
if [ [ " ${ game [0] } " = = "Donate" ] ] ; then
open_url "https://ko-fi.com/stormux"
exit 0
fi
if [ [ " ${ game [0] } " = = "Become a Patron" ] ] ; then
open_url "https://2mb.games/product/2mb-patron/"
exit 0
fi
get_bottle " ${ game [0] } "
# make sure wine is actually set to something
export wine = " ${ wine :- wine } "
echo -n "launching "
${ wine } --version
# kill any previous existing wineservers for this prefix in case they didn't shut down properly.
${ wine } server -k
# launch the game
if command -v qjoypad & > /dev/null ; then
mkdir -p ~/.qjoypad3
touch " ${ HOME } /.qjoypad3/ ${ game [2] } .lyt "
# A | separated list of games that should not start with qjoypad.
noQjoypadGames = "A Hero's Call"
if [ [ " ${ noqjoypad } " != "true" ] ] && ! [ [ " ${ game [2] } " = ~ ${ noQjoypadGames } ] ] ; then
if pgrep qjoypad & > /dev/null ; then
qjoypad -T " ${ game [2] } " 2> /dev/null
else
qjoypad -T " ${ game [2] } " 2> /dev/null &
fi
fi
fi
2024-09-12 14:26:46 -04:00
process_launcher-flags
2024-09-12 01:35:58 -04:00
custom_launch_parameters
${ wine :- wine } start /d " ${ game [1]% \\ * } " " ${ game [1]##* \\ } " /realtime
2020-08-27 15:42:24 -04:00
fi
exit 0
}
# main script
#functions
add_launcher( ) {
local launchSettings = " ${ game ,, } "
launchSettings = " ${ launchSettings //[[ : space : ]]/- } | ${ 1 } | ${ game } "
2024-09-12 14:37:51 -04:00
shift
while [ [ $# -gt 0 ] ] ; do
launchSettings += " | $1 "
shift
done
2020-12-16 00:16:01 -05:00
if ! grep -F -q -x " ${ launchSettings } " " ${ configFile } " 2> /dev/null ; then
2020-09-01 14:39:39 -04:00
echo " ${ launchSettings } " >> " ${ configFile } "
2020-09-03 20:21:08 -04:00
sort -o " ${ configFile } " " ${ configFile } "
2020-09-05 12:37:10 -04:00
# Remove .lnk files because they don't work.
find ~/Desktop -type f -iname '*.lnk' -exec bash -c '
for f ; do
mimeType = " $( file -b " $f " ) "
mimeType = " ${ mimeType %%,* } "
if [ [ " $mimeType " = = "MS Windows shortcut" ] ] ; then
rm -v " $f "
fi
done ' _ { } +
2020-09-06 19:20:14 -04:00
if [ [ " ${ noCache } " = = "true" ] ] ; then
rm -f " ${ cache } / ${ 1 ##* \\ } "
fi
2020-08-27 15:42:24 -04:00
fi
}
2020-09-20 17:42:42 -04:00
# Check for updates
update
2020-09-06 14:38:16 -04:00
# If display isn't set assume we are launching from console and an X environment is running using display :0
if [ [ -z " $DISPLAY " ] ] ; then
export DISPLAY = ":0"
fi
2020-09-01 14:39:39 -04:00
# Settings file
2022-02-28 07:36:07 -05:00
cache = " ${ XDG_CACHE_HOME :- $HOME /.cache } /audiogame-manager "
2020-09-01 14:39:39 -04:00
configFile = " ${ XDG_CONFIG_HOME :- $HOME /.config } /storm-games/audiogame-manager/games.conf "
2020-09-06 19:20:14 -04:00
mkdir -p " ${ cache } "
2020-09-01 14:39:39 -04:00
mkdir -p " ${ configFile %/* } "
2022-08-25 00:28:18 -04:00
# 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 } "
2022-03-08 03:31:05 -05:00
# Load any arguments from settings.conf file
if [ [ -r " ${ configFile %/* } /settings.conf " ] ] ; then
source " ${ configFile %/* } /settings.conf "
fi
2022-02-28 07:36:07 -05:00
# Update the cache for older versions of audiogame-manager
if [ [ -d " ${ configFile %/* } /cache " ] ] ; then
{ mv -v " ${ configFile %/* } /cache/ " * " ${ cache } "
rmdir -v " ${ configFile %/* } /cache/ " ; } | dialog \
--backtitle "Audiogame Manager" --progressbox "Updating cache, please wait..." -1 -1
fi
2021-10-09 04:16:35 -04:00
checkWinetricksUpdate = "false"
2020-08-27 15:42:24 -04:00
# Turn off debug messages
2022-03-08 03:31:05 -05:00
export WINEDEBUG = " ${ winedebug :- -all } "
2021-10-05 23:07:23 -04:00
# Compatibility with box86
export BOX86_NOBANNER = 1
2020-08-27 15:42:24 -04:00
# During installation, you can set winVer to the versions available.
# To set winetricks arguments, such as virtual desktop, set the winetricksSettings variable.
# Example: winetricksSettings="vd=1024x768"
2020-09-06 19:20:14 -04:00
# Files are cached unless -N no cache is set.
unset noCache
2020-09-02 22:36:48 -04:00
# Manual installation is not default, make sure it's unset
unset manualInstall
2023-01-23 20:18:36 -05:00
unset version
2024-01-19 11:26:30 -05:00
# ipfs gateway
export ipfsGateway = " ${ ipfsGateway :- https : //gateway.pinata.cloud } "
2024-04-23 01:20:13 -04:00
export nvdaControllerClientDll = " ${ ipfsGateway } /ipfs/QmWu7YdSbKMk1Qm5DKvEA5hk1YuAK8wVkwhDf2CsmPkmF1?filename=nvdaControllerClient32.dll "
2020-08-27 15:42:24 -04:00
2022-02-16 18:18:16 -05:00
2020-08-27 15:42:24 -04:00
# The list of games available for installation.
# Use menu friendly names.
gameList = (
2020-11-07 13:02:20 -05:00
"A Hero's Call"
2020-09-06 14:38:16 -04:00
"Adrian's Doom"
2020-10-07 11:14:34 -04:00
"Adventurers At C"
2021-08-09 21:12:47 -04:00
"Alien Outback"
2023-04-06 13:39:59 -04:00
"Angel Gift"
2020-10-07 11:14:34 -04:00
"AudioDisc"
2021-04-26 23:21:26 -04:00
"AudioQuake"
2024-09-12 16:38:35 -04:00
"Balatro"
2023-05-24 10:09:14 -04:00
"Battlefield 2D"
2021-01-18 15:13:46 -05:00
"Battle of the Hunter"
2020-08-28 20:11:17 -04:00
"Battle Zone"
2022-02-27 14:35:38 -05:00
#"Beatstar Pro"
2021-07-02 02:23:43 -04:00
"BG 2048"
2021-07-01 03:49:03 -04:00
"BG 15 Puzzle"
2021-07-02 02:23:43 -04:00
"BG Aces Up Solitaire"
2021-07-02 11:13:36 -04:00
"BG Alchemy"
2021-07-01 22:08:02 -04:00
"BG Battleship"
2021-07-01 03:49:03 -04:00
"BG Boggle"
2021-07-02 11:13:36 -04:00
"BG Boxes"
2021-07-01 22:08:02 -04:00
"BG Brainiac"
2021-07-01 21:02:36 -04:00
"BG Chess Challenge"
2021-07-01 22:08:02 -04:00
"BG Code Breaker"
2021-06-17 16:39:06 -04:00
"BG Cribbage"
2021-07-01 23:55:24 -04:00
"BG Cribbage Solitaire"
2021-07-01 22:08:02 -04:00
"BG Crossword Puzzle"
2021-07-02 11:13:36 -04:00
"BG Draw Dominoes"
"BG Fives Dominoes"
2021-07-02 02:23:43 -04:00
"BG Elevens Solitaire"
2021-06-17 21:20:06 -04:00
"BG Free Cell Solitaire"
2021-07-02 11:13:36 -04:00
"BG Golf Solitaire"
"BG Hangman"
2021-06-14 07:51:30 -04:00
"BG Hearts"
2021-06-17 21:27:27 -04:00
"BG Klondike Solitaire"
2021-06-18 15:26:41 -04:00
"BG LAP"
2021-07-01 22:08:02 -04:00
"BG Master Mind"
2021-06-14 17:13:25 -04:00
"BG Mine Sweeper"
2021-07-01 23:55:24 -04:00
"BG Nomination Whist"
2021-06-17 21:57:50 -04:00
"BG Penguin Solitaire"
2021-07-01 23:55:24 -04:00
"BG Poker Solitaire"
"BG Pyramid Solitaire"
2021-06-17 21:57:50 -04:00
"BG Scorpion Solitaire"
2021-07-02 02:23:43 -04:00
"BG Simon"
2021-07-01 23:55:24 -04:00
"BG Spider Solitaire"
2021-07-01 22:08:02 -04:00
"BG Scrabble"
2021-07-01 03:49:03 -04:00
"BG Sudoku"
2021-07-02 11:13:36 -04:00
"BG Tablic Solitaire"
2021-07-02 02:23:43 -04:00
"BG Tri-Peaks Solitaire"
2021-07-02 11:13:36 -04:00
"BG Twenty 20 Cricket"
2021-06-17 16:39:06 -04:00
"BG Uno"
2021-07-02 02:23:43 -04:00
"BG Word Builder"
2021-07-02 11:13:36 -04:00
"BG Word Candy"
2021-07-01 23:55:24 -04:00
"BG Word Jumble"
2021-07-02 11:13:36 -04:00
"BG Word Maze"
2021-07-02 02:23:43 -04:00
"BG Word Solitaire"
2021-07-01 21:02:36 -04:00
"BG Word Target"
2021-07-02 02:23:43 -04:00
"BG Word Yahtzee"
2021-07-01 16:22:57 -04:00
"BG Yahtzee"
2022-08-21 02:10:51 -04:00
"Blind Drive"
2020-08-27 21:27:10 -04:00
"Bloodshed"
2022-10-04 17:39:36 -04:00
"Bokurano Daibouken"
"Bokurano Daibouken 2"
2022-09-24 00:34:29 -04:00
"Bokurano Daibouken 3"
2021-04-25 02:32:07 -04:00
"Bombercats"
2022-10-27 20:17:01 -04:00
"Bop It Emulator"
2023-06-04 13:10:51 -04:00
"Bounce Bounce"
2021-06-11 19:51:48 -04:00
#"Breed Memorial"
2022-11-04 01:51:36 -04:00
"Breu2 Shadow Hunt"
2020-12-18 10:36:21 -05:00
"Castaways"
"Castaways 2"
2022-01-23 17:45:22 -05:00
"Challenge of the Horse"
2024-08-28 12:47:36 -04:00
"Change Reaction"
2022-08-09 22:19:55 -04:00
"Chillingham"
2020-12-01 00:32:00 -05:00
#"Chopper Challenge"
2023-05-26 08:53:51 -04:00
"Christmas Chaos"
2020-11-16 14:40:34 -05:00
"Christmas WhoopAss"
2023-05-24 10:09:14 -04:00
"Clashes of the Sky"
2022-02-16 18:25:17 -05:00
"Code Dungeon"
2022-10-30 14:26:54 -04:00
"Coin Collector"
2023-12-02 16:20:20 -05:00
"Conjury"
2021-06-11 19:51:48 -04:00
#"Constant Battle"
2021-04-26 01:33:26 -04:00
"Copter Mission"
2020-09-20 00:07:50 -04:00
"Crazy Party"
2020-12-13 12:21:33 -05:00
"Crazy Tennis"
2021-09-19 07:09:41 -04:00
"Crime Hunter"
2022-12-04 17:08:38 -05:00
"Danger City"
2021-04-26 01:25:07 -04:00
"Danger on the Wheel"
2022-10-15 13:30:53 -04:00
#"Dark Destroyer"
2022-01-21 22:24:51 -05:00
"Daytona and the Book of Gold"
2020-11-19 18:03:29 -05:00
"Death on the Road"
2021-01-15 18:05:06 -05:00
"Deathmatch"
2022-01-21 22:24:51 -05:00
"Dog Who Hates Toast"
2022-11-15 22:24:23 -05:00
"Dragon Pong"
2024-02-02 16:35:18 -05:00
"Dreamland"
2020-12-30 23:22:28 -05:00
"Duck Hunt"
2021-08-12 22:58:36 -04:00
"DynaMan"
2020-09-06 14:38:16 -04:00
"Easter Quest"
2023-01-22 13:55:24 -05:00
"Endless Runner"
2022-08-17 14:18:56 -04:00
"Entombed"
2021-08-11 08:28:05 -04:00
"ESP Pinball Classic"
"ESP Pinball Extreme"
"ESP Pinball Party Pack"
2022-10-09 17:01:40 -04:00
#"Eurofly"
2024-02-28 00:31:11 -05:00
"Executioner's Rage"
2021-02-15 16:00:37 -05:00
"Extant"
2020-12-01 14:09:35 -05:00
#"Fartman"
2020-10-08 10:42:47 -04:00
"Finger Panic"
2020-10-05 03:51:17 -04:00
"Fuck That Bird"
2024-02-28 12:52:38 -05:00
"Galactic Strike"
2020-11-26 15:31:34 -05:00
"GMA Tank Commander"
2022-08-09 22:19:55 -04:00
"Grizzly Gulch"
2021-04-26 01:06:50 -04:00
"Hammer of Glory"
2022-11-04 01:51:36 -04:00
"haunted Party"
2022-12-25 17:21:49 -05:00
#"Hearthstone"
2020-11-20 12:39:12 -05:00
"Hunter"
2023-12-24 20:13:49 -05:00
"Inquisitor's Heartbeat"
2021-04-25 02:32:07 -04:00
"Insect Therapy"
2022-08-17 03:50:45 -04:00
"Interceptor"
2020-12-01 00:32:00 -05:00
"Judgement Day"
2020-08-27 15:42:24 -04:00
"Kitchensinc Games"
2020-11-16 14:40:34 -05:00
"Kringle Crash"
2023-01-22 15:52:13 -05:00
"Laser Breakout"
2023-01-22 13:55:24 -05:00
"Light Battles"
2020-08-30 22:26:53 -04:00
"Light Cars"
2020-09-04 22:25:00 -04:00
"Lockpick"
2020-11-26 15:31:34 -05:00
"Lone Wolf"
2023-04-05 19:10:55 -04:00
"Lost"
2021-06-06 12:03:53 -04:00
"Lunimals"
2020-10-09 13:33:37 -04:00
"Manamon"
2020-10-09 20:53:45 -04:00
"Manamon 2"
2022-09-24 00:34:29 -04:00
#"Marina Break"
2023-04-05 19:10:55 -04:00
"Maze Craze"
2022-12-25 17:21:49 -05:00
#"Minecraft"
2023-02-04 01:29:22 -05:00
"Mist World"
2021-10-17 14:54:50 -04:00
"Monkey Business"
2021-09-23 14:48:53 -04:00
"MudSplat French"
2020-12-13 19:27:11 -05:00
"MudSplat English"
2021-01-10 12:46:26 -05:00
#"MudSplat Swedish"
2021-09-30 07:36:24 -04:00
"Oh Shit"
2021-12-15 13:45:48 -05:00
"Operation BlackSquare"
2020-12-16 19:18:01 -05:00
"Pacman Talks"
2020-12-01 14:09:35 -05:00
"Palace Punch Up"
2020-10-18 09:20:22 -04:00
"Paladin of the Sky"
2021-01-15 18:38:45 -05:00
"Park Boss"
2022-01-21 22:24:51 -05:00
"Paw Prints"
2024-02-17 01:33:09 -05:00
"Penta Path"
2020-12-01 14:09:35 -05:00
"Perilous Hearts"
2020-10-06 14:59:04 -04:00
"Pontes Kickups!"
2022-01-02 03:09:22 -05:00
"Pigeon Panic"
2023-07-24 19:23:04 -04:00
"Pipe 2 Blast Chamber"
2022-01-21 22:24:51 -05:00
"Preludeamals"
2021-08-29 10:05:05 -04:00
#"Psycho Strike"
2022-01-21 22:24:51 -05:00
"Puzzle Divided"
2020-11-05 11:31:54 -05:00
"Q9"
2023-08-11 17:57:25 -04:00
"Rettou"
2022-01-21 22:24:51 -05:00
"Revelation"
2020-11-20 12:37:54 -05:00
"Rhythm Rage"
2022-10-23 12:32:54 -04:00
"River Raiders"
2022-09-25 03:21:33 -04:00
"Road to Rage"
"Road to Rage Offline"
2020-11-05 19:47:01 -05:00
"RS Games"
2020-10-06 14:59:04 -04:00
"Run For Your Life"
2021-01-10 12:46:26 -05:00
#"Sammy Center"
2023-03-28 15:20:17 -04:00
"Sarah and the Castle of Witchcraft and Wizardry"
2022-03-06 00:20:50 -05:00
"Scramble!"
2021-06-30 01:34:31 -04:00
"Screaming Strike 2"
2024-06-19 23:00:02 -04:00
"Scrolling Battles"
2021-10-28 13:45:05 -04:00
"Sketchbook"
2020-11-16 14:40:34 -05:00
"Sequence Storm"
2021-05-09 10:04:25 -04:00
#"Shades of Doom 1.2"
2020-09-01 14:39:39 -04:00
"Shades of Doom"
2023-01-24 12:17:00 -05:00
"Shadow Line"
2022-08-24 01:33:15 -04:00
"Shooter"
2024-12-08 20:03:09 -05:00
"Side Party"
2021-08-08 12:53:08 -04:00
"Silver Dollar"
2024-07-06 14:36:33 -04:00
"Simple Fighter"
2023-09-09 11:14:31 -04:00
"Skateboarder Pro"
2021-01-10 12:46:26 -05:00
"Slender Lost Vision"
2022-02-16 20:27:49 -05:00
"Sonic the Hedgehog"
2021-02-17 10:50:11 -05:00
"Sonic Zoom"
2021-07-10 13:32:53 -04:00
#"Space Defender"
2024-06-10 12:02:49 -04:00
#"Star Treck Final Conflict"
2023-02-07 14:10:40 -05:00
"Super Deekout"
2021-08-13 06:47:12 -04:00
"Super Dogs Bone Hunt"
2020-08-27 15:42:24 -04:00
"Super Egg Hunt"
2020-08-31 15:51:29 -04:00
"Super Liam"
2022-02-16 19:35:15 -05:00
"Super Mario Bros"
2023-05-13 20:31:14 -04:00
"Survive the Wild"
2020-09-05 15:02:33 -04:00
"Swamp"
2023-02-07 03:46:15 -05:00
"Tactical Battle"
2020-12-04 17:38:43 -05:00
"Technoshock"
2021-08-09 21:52:23 -04:00
"Ten Pin Alley"
2020-08-27 15:42:24 -04:00
"The Blind Swordsman"
2022-01-13 13:08:05 -05:00
#"The Gate"
2020-11-11 12:43:19 -05:00
"The Great Toy Robbery"
2022-02-05 21:38:13 -05:00
"The Vale"
2023-10-02 08:26:52 -04:00
"They'll Come from the Moon"
2021-04-26 01:13:50 -04:00
"Thief"
2021-07-08 11:53:24 -04:00
"Traders of Known Space"
2022-12-22 09:59:42 -05:00
"Three D velocity"
2022-08-08 19:08:49 -04:00
"Tomb Hunter"
2021-04-28 00:34:40 -04:00
"Top Speed 2"
2020-08-27 15:42:24 -04:00
"Top Speed 3"
2024-02-17 16:34:33 -05:00
"Tarot Assistant"
2020-12-14 09:34:31 -05:00
"Triple Triad"
2021-05-16 23:34:33 -04:00
"Troopanum2"
2021-01-15 18:05:06 -05:00
"Tube Sim"
2023-04-03 13:21:49 -04:00
"Ultimate SounDoku"
2020-11-05 11:31:54 -05:00
"Undead Assault"
2021-04-24 13:44:50 -04:00
"Villains From Beyond"
2021-01-04 08:36:24 -05:00
"VIP Mud"
2021-07-23 18:51:44 -04:00
"Warsim"
2023-04-16 20:23:30 -04:00
#"Wave of the Undead"
2022-08-24 01:33:15 -04:00
#"Wolf Games Launcher"
2022-10-02 15:04:16 -04:00
"World of War"
2020-08-27 15:42:24 -04:00
)
2023-01-21 01:14:45 -05:00
# Make sure the minimum of curl, sox, wine, and winetricks are installed
for i in curl sox wine winetricks ; do
2021-07-01 03:49:03 -04:00
if ! command -v $i & > /dev/null ; then
echo " Please install $i before continuing. "
exit 1
fi
done
2021-06-30 22:38:21 -04:00
# Get latest news if available
2024-04-15 14:33:33 -04:00
check_news
2020-08-27 15:42:24 -04:00
# With no arguments, open the game launcher.
if [ [ $# -eq 0 ] ] ; then
game_launcher
fi
# Array of command line arguments
2020-09-05 00:26:29 -04:00
declare -A command = (
[ c] = "Check your system for necessary components."
2020-12-16 23:28:38 -05:00
[ C] = "Clear the cache. All game installers will be deleted."
2022-01-01 16:12:22 -05:00
[ D] = "Create desktop shortcut. You can launch audiogame-manager from the desktop or applications menu."
2022-03-11 13:08:45 -05:00
[ d] = "Debug mode, wine will be much more verbose when games are installed with this flag."
2020-09-05 00:26:29 -04:00
[ h] = "This help screen."
[ i] = "Install games."
2021-02-23 16:14:27 -05:00
[ I:] = "Noninteractive game installation."
2020-12-29 06:28:05 -05:00
[ k] = "Kill a running game that is stuck."
2020-12-16 17:16:16 -05:00
[ L] = "Display license information."
[ l:] = "Launch given game without interactive audiogame-manager menu specified by its wine bottle."
2020-09-06 19:20:14 -04:00
[ N] = "No cache, delete the installer after it has been extracted."
2022-01-21 23:08:59 -05:00
[ n] = "No RHVoice, do not install RHVoice when the game is installed."
2021-05-10 13:38:30 -04:00
[ P] = "Print a list of packages required by audiogame-manager."
2022-12-23 01:37:27 -05:00
[ q] = "No qjoypad. Does not launch qjoypad if it is detected."
2021-08-08 15:02:06 -04:00
[ R] = "Redownload. Removes old versions of packages from cache before installing."
2020-09-05 00:26:29 -04:00
[ r] = "Remove a game. This will delete all game data."
2023-05-01 00:08:22 -04:00
[ S:] = "Speech rate. Requires -V voice name, the default is 7. Values 0-9 or A."
2022-03-27 03:14:04 -04:00
[ t] = "Total games. Show how many games are currently available."
2023-05-01 20:10:40 -04:00
[ v:] = "Select the voice to be installed, default is Bdl. Options are alan, bdl, clb, or slt."
2023-05-01 00:08:22 -04:00
[ V:] = "Select the default voice for a bottle."
2020-08-27 15:42:24 -04:00
)
2020-09-05 00:26:29 -04:00
# Convert the keys of the associative array to a format usable by getopts
args = " ${ !command[*] } "
args = " ${ args //[[ : space : ]]/ } "
while getopts " ${ args } " i ; do
2020-08-27 15:42:24 -04:00
case " $i " in
2020-08-27 17:35:32 -04:00
c) checklist; ;
2020-12-16 23:28:38 -05:00
C) clear_cache; ;
2022-01-01 16:12:22 -05:00
D) desktop_launcher; ;
2020-12-12 16:14:48 -05:00
d)
unset WINEDEBUG
2022-03-11 13:08:45 -05:00
game_installer
2020-12-12 16:14:48 -05:00
; ;
2020-09-05 00:26:29 -04:00
h) help; ;
2020-08-27 17:35:32 -04:00
i) game_installer; ;
2021-02-23 16:14:27 -05:00
I)
game = " ${ OPTARG } "
break; ;
2020-12-29 06:28:05 -05:00
k) kill_game; ;
2020-12-16 17:16:16 -05:00
L) license; ;
2020-12-12 01:11:43 -05:00
l) game_launcher " ${ OPTARG } " ; ;
2020-09-06 19:26:48 -04:00
N) noCache = "true" ; ;
2022-01-21 23:08:59 -05:00
n) norh = "true" ; ;
2021-05-10 13:38:30 -04:00
P) checklist quiet; ;
2022-12-23 01:37:27 -05:00
q)
noqjoypad = "true"
game_launcher; ;
2021-08-08 15:02:06 -04:00
R) redownload = "true" ; ;
2020-09-04 23:32:26 -04:00
r) game_removal; ;
2023-05-01 00:08:22 -04:00
S) defaultRate = " ${ OPTARG } " ; ;
2022-03-27 03:14:04 -04:00
t)
2022-03-27 13:39:52 -04:00
dialog --backtitle "Audiogame Manager" \
2022-03-27 03:14:04 -04:00
--infobox " There are currently ${# gameList [@] } games available. " -1 -1
exit 0
; ;
2022-08-22 18:42:58 -04:00
v) voiceName = " ${ OPTARG } " ; ;
2023-05-01 00:08:22 -04:00
V) defaultVoice = " ${ OPTARG } " ; ;
2020-08-27 15:42:24 -04:00
esac
done
# Install game based on the selection above.
case " ${ game } " in
2020-11-07 13:02:20 -05:00
"A Hero's Call" )
2024-04-23 01:20:13 -04:00
download "https://blindgamers.com/downloads/a-heros-call-freeware.zip" " ${ nvdaControllerClientDll } "
2020-11-07 13:02:20 -05:00
export winVer = "win7"
2022-03-08 08:25:08 -05:00
export winetricksSettings = "vd=1024x768"
2022-03-06 04:44:27 -05:00
install_wine_bottle speechsdk corefonts
2021-08-08 13:29:06 -04:00
# Dotnet is evil. That is all.
2022-03-06 04:44:27 -05:00
LC_ALL = C DISPLAY = "" winetricks -q dotnet462 xna40
2022-02-16 18:26:16 -05:00
wineserver -k # Really!
2023-08-07 20:43:12 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /a-heros-call-freeware.zip "
2020-11-07 13:02:20 -05:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
add_launcher "c:\Program Files\a-heros-call\A Hero's Call.exe"
; ;
2020-09-06 14:38:16 -04:00
"Adrian's Doom" )
download "https://agarchive.net/games/mt/adrian's%20doom.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-09-06 19:20:14 -04:00
wine " ${ cache } /adrian's doom.exe " /silent
2020-09-06 14:38:16 -04:00
add_launcher "c:\Program Files\Two Caring Citizens\Adrian's Doom!\adrian.exe"
; ;
2020-10-25 12:55:26 -04:00
"Adventurers At C" )
download "http://www.vgstorm.com/aac/aac.zip" "https://www.agarchive.net/games/vg/adventure%20at%20c%20stages.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-10-25 12:55:26 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/aac " " ${ cache } /aac.zip "
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/aac/stages " " ${ cache } /adventure at c stages.7z "
2020-10-25 12:55:26 -04:00
add_launcher "c:\Program Files\aac\aac.exe"
; ;
2021-08-09 21:12:47 -04:00
"Alien Outback" )
2023-06-25 21:47:37 -04:00
download "http://download.dracoent.com/Windows/classic/AOSetup.exe"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-09 21:52:23 -04:00
export winVer = "win7"
2021-08-09 21:12:47 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /AOSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/AOSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/AOSetup.exe "
2021-08-09 21:12:47 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\Alien Outback\ao.exe"
; ;
2023-04-06 13:39:59 -04:00
"Angel Gift" )
download "https://erion.cf/files/ag_103.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-04-06 13:39:59 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/Angel Gift " " $cache /ag_103.zip "
add_launcher 'c:\Program Files\Angel Gift\ag.exe'
; ;
2020-10-25 12:55:26 -04:00
"AudioDisc" )
download "https://agarchive.net/games/other/audiodisc.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-10-25 12:55:26 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /audiodisc.zip "
add_launcher "c:\Program Files\audiodisc\disco.exe"
; ;
2021-04-26 23:21:26 -04:00
"AudioQuake" )
2023-06-25 21:47:37 -04:00
download "https://github.com/matatk/agrip/releases/download/2020.0-beta1/AudioQuake+LDL_2020.0-beta1_Windows.zip" "https://stormgames.wolfe.casa/downloads/quake.zip"
2021-04-26 23:21:26 -04:00
export winVer = "win7"
install_wine_bottle speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /AudioQuake+LDL_2020.0-beta1_Windows.zip "
unzip -d " $WINEPREFIX /drive_c/Program Files/AudioQuake/id1 " " ${ cache } /quake.zip "
add_launcher "c:\Program Files\AudioQuake\AudioQuake.exe"
echo
echo "After you launch the game, press tab then enter and it should begin speaking."
2023-02-06 05:04:26 -05:00
alert
2021-04-26 23:21:26 -04:00
; ;
2024-09-12 16:38:35 -04:00
"Balatro" )
2024-09-13 14:17:04 -04:00
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll" "https://stormgames.wolfe.casa/downloads/Tolk.dll" "https://github.com/Aurelius7309/BlackHole/releases/download/0.3.1/BlackHole-Release.zip"
2024-09-12 16:38:35 -04:00
export WINEARCH = win64
export winVer = "win10"
install_wine_bottle
get_steam "2379780" "https://store.steampowered.com/app/2379780/Balatro/"
2024-09-13 14:17:04 -04:00
mkdir -p " $WINEPREFIX /drive_c/users/ $USER /AppData/Roaming/Balatro/Mods "
unzip -d " $WINEPREFIX /drive_c/users/ $USER /AppData/Roaming/Balatro " " $cache /BlackHole-Release.zip "
pushd " $WINEPREFIX /drive_c/users/ $USER /AppData/Roaming/Balatro/Mods "
( cat mod_urls.txt ; echo ) | while read -r x ; do
git clone " $x "
done
cp -v BlackHole/bin/*.dll " $WINEPREFIX /drive_c/Program Files/Balatro "
cp -v " $cache /Tolk.dll " " $WINEPREFIX /drive_c/Program Files/Balatro/tolk.dll "
cp -v " $cache /Tolk.dll " BlackHole/bin/tolk.dll
cp -v " $cache /nvda2speechd64.dll " " $WINEPREFIX /drive_c/Program Files/Balatro/nvdaControllerClient64.dll "
cp -v " $cache /nvda2speechd64.dll " BlackHole/bin/nvdaControllerClient64.dll
cp -v ../version.dll " $WINEPREFIX /drive_c/Program Files/Balatro "
2024-09-12 16:38:35 -04:00
add_launcher 'c:\Program Files\Balatro\Balatro.exe' 'export WINEDLLOVERRIDES=version=n,b'
; ;
2023-05-24 10:09:14 -04:00
"Battlefield 2D" )
get_installer "bf.zip" "https://tunmi13.itch.io/battlefield-2d"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
export WINEARCH = win64
export winVer = "win8"
export bottle = tunmi13-64bit
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /bf.zip "
find " ${ WINEPREFIX } /drive_c/Program Files/bf " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\bf\bf.exe"
; ;
2021-01-18 15:13:46 -05:00
"Battle of the Hunter" )
2023-06-25 21:47:37 -04:00
download "http://tunmi13.ddns.net/projects/bth.zip"
2022-01-23 17:45:22 -05:00
export bottle = "tunmi13"
2021-01-18 15:13:46 -05:00
export winVer = "win7"
install_wine_bottle speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files/ $game " " ${ cache } /bth.zip "
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2021-07-02 11:13:36 -04:00
add_launcher " c:\Program Files\\ ${ game } \bth.exe "
2021-01-18 15:13:46 -05:00
; ;
2020-08-28 20:11:17 -04:00
"Battle Zone" )
2023-06-25 21:47:37 -04:00
download "https://www.agarchive.net/games/gameMadnessInteractive/battle%20zone%2013.5%20setup.exe"
2020-08-28 20:11:17 -04:00
export winVer = "win7"
install_wine_bottle speechsdk
2020-09-06 19:20:14 -04:00
wine " ${ cache } /battle zone 13.5 setup.exe " /silent
2021-04-27 02:35:36 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2020-08-28 20:11:17 -04:00
add_launcher "c:\Program Files\Battle Zone\ss.exe"
; ;
2021-04-20 02:01:05 -04:00
"Beatstar Pro" )
2023-06-25 21:47:37 -04:00
download "https://oriolgomez.com/games/beat_windows.zip"
2022-08-21 02:10:51 -04:00
# Sapi is broken on win64 for now, and this game doesn't support nvda it seems.
2022-02-27 14:35:38 -05:00
export WINEARCH = win64
2021-04-20 02:01:05 -04:00
export winVer = "win7"
2022-08-21 02:10:51 -04:00
install_wine_bottle mf
2021-04-20 02:01:05 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/Beatstar Pro " " ${ cache } /beat_windows.zip "
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Beatstar Pro\beatstar.exe"
2021-04-20 02:01:05 -04:00
; ;
2021-07-02 02:23:43 -04:00
"BG 2048" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmPNt3c78UBgEMrTH3eJ5eD2mCMdth6jwes1iDKGW24Uj5?filename=BG204832Setup10a.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BG204832Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\BG2048B\BG2048.exe"
2021-07-02 02:23:43 -04:00
; ;
2021-07-01 03:49:03 -04:00
"BG 15 Puzzle" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmQiocMpMXoxejDftKKvmrR5xxpj1qcWcgkhBBwTcyijXg?filename=FPB32Setup10a.exe "
2021-07-01 03:49:03 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /FPB32Setup10a.exe " /silent
2021-07-01 03:49:03 -04:00
add_launcher "c:\Program Files\Games\FifteenB\FifteenB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Aces Up Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmTshtHBEV9dh7wFtaQpNUEYHZ3fBpuhSRZqc7k8HwmtPM?filename=ASB32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /ASB32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\AcesUpB\AcesUpB.exe"
; ;
"BG Alchemy" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/Qma76HXBhmKgMDeHH1XLePsaWzzzLsBS2HRL3c7MVwDokg?filename=BAC32Setup10.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BAC32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\AlchemyB\AlchemyB.exe"
2021-07-02 02:23:43 -04:00
; ;
2021-07-01 22:08:02 -04:00
"BG Battleship" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/Qmaq9P9fxdLTEFMGg4mhHrRuUbPg6HgU3eYVJNqZUimHjo?filename=BGB32Setup10.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGB32Setup10.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\BattleshipB\BGBattleship.exe"
; ;
2021-07-01 03:49:03 -04:00
"BG Boggle" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmQwWiJw9hDiPdfwDyL4XepeoD66ztVRi3HwbSjFFP4CNg?filename=BGB32Setup10a.exe "
2021-07-01 03:49:03 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGB32Setup10a.exe " /silent
2021-07-01 03:49:03 -04:00
add_launcher "c:\Program Files\Games\BoggleB\BoggleB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Boxes" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmRn21tREXxXVSaDe9i54zEPzPSespjJAFBqu4DWocuagD?filename=BXB32Setup10.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BXB32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\BoxesB\BoxesB.exe"
; ;
2021-07-01 22:08:02 -04:00
"BG Brainiac" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmWEdmTkQsjSqBgWUgnDajMf8QvQBbEF4Nxo6mhkXYzBtQ?filename=BRN32Setup10a.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BRN32Setup10a.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\BrainiacB\BrainiacB.exe"
; ;
2021-07-01 21:02:36 -04:00
"BG Chess Challenge" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmT2yBpU5Jqna18FxYtyWzi4xMGAY9PyJWStAskxCHqBDw?filename=BGC32Setup10d.exe "
2021-07-01 21:02:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGC32Setup10d.exe " /silent
2021-07-01 21:02:36 -04:00
add_launcher "c:\Program Files\Games\ChessB\BGChess.exe"
; ;
2021-07-01 22:08:02 -04:00
"BG Code Breaker" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmU486SssAdM7kPKwDyAKDLQs3Z92bG6wFjaLhzqDZCxAF?filename=BCB32Setup10.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BCB32Setup10.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\CodeBreakerB\BGCodeBreaker.exe"
; ;
2021-06-17 16:39:06 -04:00
"BG Cribbage" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmeFud3EPHy7wQe8UENgvh96HdAazEkwqA2AutCNkYvB3t?filename=BGC32Setup12e.exe "
2021-06-17 16:39:06 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGC32Setup12e.exe " /silent
2021-06-17 16:39:06 -04:00
add_launcher "c:\Program Files\Games\CribbageB\CribbageB.exe"
; ;
2021-07-01 23:55:24 -04:00
"BG Cribbage Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmbRUiknnNcibWD3NwK4DFZGNHWswBgsFidUzU1TFGJ5Ra?filename=BCS32Setup10.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BCS32Setup10.exe " /silent
2021-07-01 23:55:24 -04:00
add_launcher "c:\Program Files\Games\CribSolB\CribSolB.exe"
; ;
2021-07-01 22:08:02 -04:00
"BG Crossword Puzzle" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BGX32Setup10h.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGX32Setup10h.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\CrosswordB\CrosswordB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Draw Dominoes" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmZQGY9CeATEiWrSqsKBz4AN6jPgQuvbBZSpQoLiMjoDr2?filename=BDD32Setup.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BDD32Setup.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\DrawDominoesB\DrawDominoesB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Elevens Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmWWZByYL5CsDSi6gQLGcMyBL7zqD5hWXbPXJr3shRt5AQ?filename=ESB32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /ESB32Setup10.exe " /silent
2021-07-02 02:23:43 -04:00
add_launcher "c:\Program Files\Games\ElevensB\ElevensB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Fives Dominoes" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmSZt6dz7WQkNrFBmYq9n4WdYrrZyQAebTBPo46uHqCuNi?filename=BFD32Setup10.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BFD32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\FivesDominoesB\FivesDominoesB.exe"
; ;
2021-06-17 21:20:06 -04:00
"BG Free Cell Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmVfQMMnqTD9Zm8Xwv7rGrUTdS9FXToq7Fv6wtQQVgbQGR?filename=BGF32Setup20.exe "
2021-06-17 21:20:06 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGF32Setup20.exe " /silent
2021-06-17 21:20:06 -04:00
add_launcher "c:\Program Files\Games\FreecellB\FreecellB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Golf Solitaire" )
2021-06-17 21:27:27 -04:00
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmfAp9EYou1pndLwYSdpYdUCHBv2DR94oFccQh1ii9JVLD?filename=GSB32Setup10a.exe "
2021-06-17 21:27:27 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /GSB32Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\GolfSolitaireB\GolfSolitaireB.exe"
; ;
"BG Hangman" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXTPMmvw7JE2eLuPBLGSpkZqUn12TX7QEQZbX8qtp7GBx?filename=HMB32Setup10.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /HMB32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\HangmanB\HangmanB.exe"
2021-06-17 21:27:27 -04:00
; ;
2021-06-14 07:51:30 -04:00
"BG Hearts" )
2021-06-14 17:13:25 -04:00
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmdU5ag1PRjvG28wNX7aNuJqZSVxaqEEKjgG6GoRoDT8k4?filename=BGH32Setup10b.exe "
2021-06-14 07:51:30 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } / ${ BGH32Setup10b .exe } " /silent
2021-06-14 07:51:30 -04:00
add_launcher "c:\Program Files\Games\HeartsB\HeartsB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Klondike Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmctBDvhQWwER94LvgauR7sMDxv9D1mS9cToV47orTCdzU?filename=BGK32Setup10b.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGK32Setup10b.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\KlondikeB\KlondikeB.exe"
; ;
2021-06-18 15:26:41 -04:00
"BG LAP" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/Qma5WeCC9B2P5abRGX9nGYV8Zi9F8vfCCr4ehejP2bgmNm?filename=LAP32Setup10.exe "
2021-06-18 15:26:41 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /LAP32Setup10.exe " /silent
2021-06-18 15:26:41 -04:00
add_launcher "c:\Program Files\Games\LAP\LAP.exe"
; ;
2021-07-01 22:08:02 -04:00
"BG Master Mind" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmP6cwMbirbBqAaG9JLfNRnD2dvJfh6nq74kfwxs5hN2RQ?filename=BMM32Setup10.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BMM32Setup10.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\MastermindB\BGMasterMind.exe"
; ;
2021-06-14 17:13:25 -04:00
"BG Mine Sweeper" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmRa54HroWjwxHYfKr6hdmP34sHW5G3ecuzcjMA5UBBVKa?filename=MSB32Setup10.exe "
2021-06-14 17:13:25 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /MSB32Setup10.exe " /silent
2021-06-14 17:13:25 -04:00
add_launcher "c:\Program Files\Games\MinesweeperB\MinesweeperB.exe"
; ;
2021-07-01 23:55:24 -04:00
"BG Nomination Whist" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/Qmb7eGTMDgiaDC9muMW9n8bHoistGcNm1VgHc6sr7dRyHU?filename=BNW32Setup10a.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BNW32Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\NomWhistB\NomWhistB.exe"
2021-07-01 23:55:24 -04:00
; ;
2021-06-17 21:57:50 -04:00
"BG Penguin Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXKvQ6WNNSnDiSyYmvAhZXVdALnuhUGK7dSMQVkQNReJr?filename=BPS32Setup10c.exe "
2021-06-17 21:57:50 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BPS32Setup10c.exe " /silent
2021-06-17 21:57:50 -04:00
add_launcher "c:\Program Files\Games\PenguinB\PenguinB.exe"
; ;
2021-07-01 23:55:24 -04:00
"BG Poker Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmPLv74LiDgVGuiGhu9HuPhx3uoMm9QyCYk6jgeFUHjj3S?filename=BPS32Setup10.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BPS32Setup10.exe " /silent
2021-07-01 23:55:24 -04:00
add_launcher "c:\Program Files\Games\PokerSolB\PokerSolB.exe"
; ;
"BG Pyramid Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmaqXaBKD3xY2smhU2LcejXRTPnWZHqaTW9se8yRepLsHu?filename=PSB32Setup10a.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /PSB32Setup10a.exe " /silent
2021-07-01 23:55:24 -04:00
add_launcher "c:\Program Files\Games\PyramidB\PyramidB.exe"
; ;
2021-06-17 21:57:50 -04:00
"BG Scorpion Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmSxJs2MiLQ61Fgx6vCpSD7GmQziLiCEU3sZ3mgWc7RsJ8?filename=BSS32Setup10.exe "
2021-06-17 21:57:50 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BSS32Setup10.exe " /silent
2021-06-17 21:57:50 -04:00
add_launcher "c:\Program Files\Games\ScorpionB\ScorpionB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Simon" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXtBCqB6VCFPaDYuLaFNP1BDtJSLCJdJZzgm61zMtrsQt?filename=BGS32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGS32Setup10.exe " /silent
2021-07-02 02:23:43 -04:00
add_launcher "c:\Program Files\Games\SimonB\SimonB.exe"
; ;
2021-07-01 23:55:24 -04:00
"BG Spider Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmdWBaDnLVbKCJSpiqF675ew6nJ6KHUVXA5FEH3t3E7UAu?filename=SPB32Setup10b.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /SPB32Setup10b.exe " /silent
2021-07-01 23:55:24 -04:00
add_launcher "c:\Program Files\Games\SpiderB\SpiderB.exe"
; ;
2021-07-01 22:08:02 -04:00
"BG Scrabble" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmVrwyPdJBnmc4wLW7oT2hexxXnXxs8bA7gfiqbnJsWJ16?filename=BGS32Setup20.exe "
2021-07-01 22:08:02 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGS32Setup20.exe " /silent
2021-07-01 22:08:02 -04:00
add_launcher "c:\Program Files\Games\ScrabbleB\ScrabbleB.exe"
; ;
2021-07-01 03:49:03 -04:00
"BG Sudoku" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXCAHEVRGZBc8t45Jgn2vkxicwF9Aox6yz9XrQBdkv7WY?filename=SDB32Setup10a.exe "
2021-07-01 03:49:03 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /SDB32Setup10a.exe " /silent
2021-07-01 03:49:03 -04:00
add_launcher "c:\Program Files\Games\SudokuB\SudokuB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Tablic Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmYoiFQ6JuSXfZfZXT3SQDsYzMWLBu9rW9yivi1xiPjqZx?filename=SDB32Setup10a.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /SDB32Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\TabSolB\BGTabSol.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Tri-Peaks Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmWJGvSR6iaQfMHM3XuGCkWxx285jkzSDdNSvvk3bSCH8S?filename=TPB32Setup10a.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /TPB32Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\TriPeaksB\TriPeaksB.exe"
; ;
"BG Twenty 20 Cricket" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmWAk2TMHMvW6Kjc1sZBEPsxmCNHfY3nF1K723PCqaTa57?filename=TPB32Setup10a.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /T20B32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\T20CricketB\CricketB.exe"
2021-07-02 02:23:43 -04:00
; ;
2021-06-17 16:39:06 -04:00
"BG Uno" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmVsfPkebSoTDwYSXF1n7y4P9eGJTgTcGXdrEjpcV8A3Dv?filename=BGU32Setup11a.exe "
2021-06-17 16:39:06 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGU32Setup11a.exe " /silent
2021-06-17 16:39:06 -04:00
add_launcher "c:\Program Files\Games\UnoB\UnoB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Word Builder" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXtR49EZShyj15Tc9CXQpBYVmKNfZpp4515Epm16bviuH?filename=BWB32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BWB32Setup10.exe " /silent
2021-07-02 02:23:43 -04:00
add_launcher "c:\Program Files\Games\WordBuilderB\WordBuilderB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Word Candy" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmfTgfRzd4JMRqKSfDiz76iMorkaG19BqH1K7nRCCDwo4H?filename=WCB32Setup10a.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /WCB32Setup10a.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\WordCandyB\WordCandyB.exe"
; ;
2021-07-01 23:55:24 -04:00
"BG Word Jumble" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmYQWZZifzKJSuVRCC1SabwRmEDz95GdFvbzRvsBMmTt6e?filename=BWJ32Setup10.exe "
2021-07-01 23:55:24 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BWJ32Setup10.wineExec " /silent
2021-07-01 23:55:24 -04:00
add_launcher "c:\Program Files\Games\WordJumbleB\WordJumbleB.exe"
; ;
2021-07-02 11:13:36 -04:00
"BG Word Maze" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmXPtj5PkVZjXpU3m6FAfm8MwVL6bQCvhEDoR385u6FGTL?filename=BWM32Setup10.exe "
2021-07-02 11:13:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BWM32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\WordMazeB\WordMazeB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Word Solitaire" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmZp73ARDPqgnCz7zxfKeBHjNoHrgZSgg2NdQZR2sMyZGD?filename=WSB32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /WSB32Setup10.exe " /silent
2021-07-02 02:23:43 -04:00
add_launcher "c:\Program Files\Games\WordSolitaireB\WordSolitaireB.exe"
; ;
2021-07-01 21:02:36 -04:00
"BG Word Target" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmWWZFXVHNtmNkH55oermWWtrMcQ8qVqL687B7kGFyeezq?filename=WTB32Setup10a.exe "
2021-07-01 21:02:36 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /WTB32Setup10a.exe " /silent
2021-07-01 21:02:36 -04:00
add_launcher "c:\Program Files\Games\WordTargetB\WordTargetB.exe"
; ;
2021-07-02 02:23:43 -04:00
"BG Word Yahtzee" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmdicAVDegDktY3euVAC2PPn4YBGz96KedxYXNe4WDQaoq?filename=BWY32Setup10.exe "
2021-07-02 02:23:43 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BWY32Setup10.exe " /silent
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\Games\WordYahtzeeB\BGWordYahtzee.exe"
2021-07-02 02:23:43 -04:00
; ;
2021-07-01 16:22:57 -04:00
"BG Yahtzee" )
export bottle = "bg"
2024-01-25 23:57:36 -05:00
download " ${ ipfsGateway } /ipfs/QmZebvkKgFAADnb1cgW6Bz7wTYdUh82X61QdtW66KcvmpF?filename=BGY32Setup10a.exe "
2021-07-01 16:22:57 -04:00
install_wine_bottle speechsdk
2024-01-25 23:57:36 -05:00
wine " ${ cache } /BGY32Setup10a.exe " /silent
2021-07-01 16:22:57 -04:00
add_launcher "c:\Program Files\Games\yahtzeeB\BGYahtzee.exe"
; ;
2022-04-17 12:32:13 -04:00
"Blind Drive" )
get_installer "Blind Drive 1.1.112.00i-win64.zip" "https://lofipeople.itch.io/blind-drive"
2022-08-21 02:10:51 -04:00
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2022-04-17 12:32:13 -04:00
export WINEARCH = win64
export winVer = "win8"
2022-08-21 02:10:51 -04:00
install_wine_bottle
2022-04-17 12:32:13 -04:00
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.
winetricks -q usetakefocus = y
winetricks -q usetakefocus = n
2022-08-21 02:10:51 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2022-04-17 12:32:13 -04:00
add_launcher "c:\Program Files\blind-drive\Blind Drive.exe"
; ;
2020-08-27 21:27:10 -04:00
"Bloodshed" )
2024-01-19 11:26:30 -05:00
download " ${ ipfsGateway } /ipfs/QmcTCTMep4zp5zTw8ZaXYpjtu9inNPn8bNzwhW6cX97egw?filename=bloodshed.exe "
2021-07-06 04:42:31 -04:00
export winVer = "win7"
install_wine_bottle speechsdk
2020-09-06 19:20:14 -04:00
cp " ${ cache } /bloodshed.exe " " $WINEPREFIX /drive_c/Program Files/ "
2020-10-07 16:48:46 -04:00
add_launcher "c:\Program Files\bloodshed.exe"
2020-08-27 21:27:10 -04:00
; ;
2022-10-04 17:39:36 -04:00
"Bokurano Daibouken" )
2023-06-25 21:47:37 -04:00
download "https://www.nyanchangames.com/softs/nn_setup.exe"
2022-10-04 17:39:36 -04:00
export bottle = "nyanchan"
export winVer = "win7"
install_wine_bottle
7z x -o" $WINEPREFIX /drive_c/nyanchangame/bk " " ${ cache } /nn_setup.exe "
2022-10-04 18:04:59 -04:00
find " ${ WINEPREFIX } /drive_c/nyanchangame/bk/ " -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
2022-10-04 17:39:36 -04:00
add_launcher "c:\nyanchangame\bk\play.exe"
; ;
"Bokurano Daibouken 2" )
2023-06-25 21:47:37 -04:00
download "https://www.nyanchangames.com/softs/nn2_setup.exe"
2022-10-04 17:39:36 -04:00
export bottle = "nyanchan"
export winVer = "win7"
install_wine_bottle
7z x -o" $WINEPREFIX /drive_c/nyanchangame/bk2 " " ${ cache } /nn2_setup.exe "
2022-10-04 18:04:59 -04:00
find " ${ WINEPREFIX } /drive_c/nyanchangame/bk2/ " -type f -name 'nvdaControllerClient.dll' -exec rm -v "{}" \;
2022-10-04 17:39:36 -04:00
add_launcher "c:\nyanchangame\bk2\play.exe"
; ;
2022-09-24 00:34:29 -04:00
"Bokurano Daibouken 3" )
2022-10-02 13:06:15 -04:00
if [ [ ! -r " ${ cache } /bk3-dict.dat " ] ] ; then
echo "http://www.nyanchangames.com/order/bk3translate.html" | xclip -selection clipboard 2> /dev/null
dialog --backtitle "Audiogame manager" --msgbox "If you would like English translations, the file is available at http://www.nyanchangames.com/order/bk3translate.html. Save the dict.dat file to your Downloads or Desktop directory. For convenience the url has been copied to your clipboard. Press enter when you are ready to continue." -1 -1 --stdout
fi
2022-09-26 04:01:33 -04:00
dictFile = ""
for i in " ${ HOME } /Downloads/dict.dat " " ${ HOME } /Desktop/dict.dat " ; do
if [ [ -r " $i " ] ] ; then
dictFile = " $i "
fi
done
2022-10-05 18:51:21 -04:00
if [ [ " ${# dictFile } " -ge 3 ] ] && [ [ ! -r " ${ cache } /bk3-dict.dat " ] ] ; then
2022-09-26 04:01:33 -04:00
dialog --backtitle "Audiogame manager" --yesno " Possible English translation file found at $dictFile . Would you like to use it for BK3? " -1 -1 --stdout && cp -v " $dictFile " " ${ cache } /bk3-dict.dat "
fi
2023-06-25 21:47:37 -04:00
download "https://www.nyanchangames.com/softs/nn3_setup.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2022-09-24 00:34:29 -04:00
export bottle = "nyanchan"
export winVer = "win7"
install_wine_bottle
2022-11-29 09:09:48 -05:00
cp " ${ cache } /nvda2speechd " " ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd "
chmod +x " ${ XDG_DATA_HOME :- $HOME /.local/share } /audiogame-manager/nvda2speechd "
2022-10-06 15:30:09 -04:00
7z x -o" $WINEPREFIX /drive_c/nyanchangame/bk3 " " ${ cache } /nn3_setup.exe "
2022-09-24 00:34:29 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
add_launcher "c:\nyanchangame\bk3\play.exe"
; ;
2022-10-27 20:17:01 -04:00
"Bop It Emulator" )
2023-06-25 21:47:37 -04:00
download "http://www.masonasons.me/softs/BopItEmulator3.1PasswordIsBopIt.7z"
2022-10-27 20:17:01 -04:00
export winVer = "win7"
install_wine_bottle
7z x -o" $WINEPREFIX /drive_c/Program Files/Bop It " " ${ cache } /BopItEmulator3.1PasswordIsBopIt.7z " -pBopIt
add_launcher "c:\Program Files\Bop It\bop.exe"
; ;
2023-06-04 13:10:51 -04:00
"Bounce Bounce" )
get_installer "bounce_bounce.rar" "https://kavyapriya.itch.io/bounce-bounce"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2023-06-25 21:47:37 -04:00
export winVer = "win7"
export WINEARCH = win64
2023-06-04 13:10:51 -04:00
install_wine_bottle
unrar x " ${ cache } /bounce_bounce.rar " -op" $WINEPREFIX /drive_c/Program Files "
find " ${ WINEPREFIX } /drive_c/Program Files/bounce_bounce " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\bounce_bounce\bounce.exe"
; ;
2022-11-04 01:51:36 -04:00
"Breu2 Shadow Hunt" )
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2023-06-25 21:47:37 -04:00
get_installer "breu2.zip" "https://breu.itch.io/shadowhunt"
2022-11-04 01:51:36 -04:00
export WINEARCH = win64
export winVer = "win8"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /breu2.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\breu2\breu2.exe"
; ;
2021-04-25 02:32:07 -04:00
"Bombercats" )
2023-06-25 21:47:37 -04:00
download "http://oriolgomez.com/games/bombercats_en.zip"
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-25 02:32:07 -04:00
export winVer = "win7"
2021-04-27 02:42:08 -04:00
install_wine_bottle
2021-04-25 02:32:07 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/bomvercats " " ${ cache } /bombercats_en.zip "
2021-04-27 02:35:36 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2021-04-25 02:32:07 -04:00
add_launcher "c:\Program Files\bomvercats\game.exe"
; ;
2021-05-12 18:55:08 -04:00
"Breed Memorial" )
2024-04-23 01:20:13 -04:00
download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" " ${ nvdaControllerClientDll } "
2021-05-12 18:55:08 -04:00
export winVer = "win7"
2021-06-30 21:58:41 -04:00
install_wine_bottle cjkfonts speechsdk
2021-05-12 18:55:08 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /breed_memorial.zip "
2021-05-15 19:15:18 -04:00
#find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \;
2021-05-12 18:55:08 -04:00
add_launcher "c:\Program Files\Breed memorial\Breed memorial\breed memorial.exe"
; ;
2020-12-18 10:36:21 -05:00
"Castaways" )
2023-06-25 21:47:37 -04:00
download "https://www.kaldobsky.com/audiogames/castaways.zip"
2022-01-21 22:24:51 -05:00
export bottle = "aprone"
2020-12-18 10:36:21 -05:00
export winVer = "win7"
install_wine_bottle vb6run dx8vb speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files/castaways " " ${ cache } /castaways.zip "
wine "c:\Program Files\castaways\Checkup.exe" /verysilent
add_launcher "c:\Program Files\castaways\Castaways.exe"
; ;
"Castaways 2" )
2023-06-25 21:47:37 -04:00
download "http://www.kaldobsky.com/audiogames/castaways2beta.zip"
2022-01-21 22:24:51 -05:00
export bottle = "aprone"
2020-12-18 10:36:21 -05:00
export winVer = "win7"
install_wine_bottle vb6run dx8vb speechsdk
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/castaways2 " " ${ cache } /castaways2beta.zip "
wine "c:\Program Files\castaways2\Checkup.exe" /verysilent
add_launcher "c:\Program Files\castaways2\Castaways2.exe"
2020-12-18 10:36:21 -05:00
; ;
2022-01-23 17:45:22 -05:00
"Challenge of the Horse" )
2023-06-25 21:47:37 -04:00
download "http://tunmi13.ddns.net/projects/coth.zip"
2022-01-23 17:45:22 -05:00
export bottle = "tunmi13"
export winVer = "win7"
install_wine_bottle speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files/ $game " " ${ cache } /coth.zip "
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
add_launcher " c:\Program Files\\ ${ game } \game.exe "
; ;
2024-08-28 12:47:36 -04:00
"Change Reaction" )
download "https://download.dracoent.com/Windows/ChangeReactionSetup.exe"
export bottle = "draconis"
export winVer = "win7"
install_wine_bottle vb6run dx8vb speechsdk quartz
cp -v " ${ cache } /ChangeReactionSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/ChangeReactionSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/ChangeReactionSetup.exe "
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\Change Reaction\ChangeReactionGui.exe"
; ;
2022-08-09 22:19:55 -04:00
"Chillingham" )
2022-08-10 11:50:31 -04:00
download "https://stormgames.wolfe.casa/downloads/chillingham.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run mfc42
2022-08-09 22:19:55 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " $cache /chillingham.zip "
add_launcher "c:\Program Files\chillingham\Chillingham.exe"
; ;
2020-12-01 00:32:00 -05:00
"Chopper Challenge" )
# Freezes at menu
download "https://www.agarchive.net/games/XSight/chopper%20challenge%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-12-16 14:45:14 -05:00
wine " ${ cache } /chopper challenge setup.exe " /silent &
xdotool sleep 5 key y 2> /dev/null
wineserver -w
2020-12-01 00:32:00 -05:00
echo " $USER |n/a " >> " $WINEPREFIX /drive_c/Program Files/x-sight interactive/chopper challenge/config.dat "
add_launcher "c:\Program Files\x-sight interactive\chopper challenge\Chopper.exe"
; ;
2022-10-30 14:26:54 -04:00
"Coin Collector" )
export WINEARCH = win64
export winVer = "win7"
2022-10-30 14:45:08 -04:00
download "https://www.dropbox.com/s/v55q7t9n84otmcd/coin%20collector.rar?dl=1" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2022-10-30 14:26:54 -04:00
install_wine_bottle
unrar x " $cache /coin collector.rar " -op" $WINEPREFIX /drive_c/Program Files "
find " $WINEPREFIX /drive_c/Program Files/coin collector " -type f -name "nvdaControllerClient64.dll" -exec cp -v " $cache /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\coin collector\game.exe"
; ;
2023-12-02 16:20:20 -05:00
"Conjury" )
2023-12-03 09:27:54 -05:00
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2023-12-02 16:20:20 -05:00
export WINEARCH = win64
export winVer = "win8"
install_wine_bottle
get_steam 2684520 "https://store.steampowered.com/app/2684520/Conjury/"
2023-12-03 09:27:54 -05:00
find " $WINEPREFIX /drive_c/Program Files/Conjury " -type f -path '*/x86_64/nvdaControllerClient.dll' -exec cp -v " $cache /nvda2speechd64.dll " "{}" \;
find " $WINEPREFIX /drive_c/Program Files/Conjury " -type f -path '*/x86/nvdaControllerClient.dll' -exec cp -v " $cache /nvda2speechd32.dll " "{}" \;
2023-12-02 16:39:06 -05:00
add_launcher 'c:\Program Files\Conjury\release\Conjury.exe'
2023-12-02 16:20:20 -05:00
; ;
2021-05-15 19:15:18 -04:00
"Constant Battle" )
export winVer = "win7"
download "https://renovagames.com/bc/BC-Setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle cjkfonts speechsdk
2021-05-15 19:15:18 -04:00
wine " ${ cache } /BC-Setup.exe " /silent
#add_launcher "c:\Program Files\"
; ;
2022-12-27 17:37:09 -05:00
"Christmas Chaos" )
export WINEARCH = win64
export winVer = "win7"
2024-01-19 11:26:30 -05:00
download " ${ ipfsGateway } /ipfs/QmYx11vsMDBgjPd1coZPGHxMXf2qtf4icqmB3Q9iUazyQv?filename=ChristmasChaos.zip " "https://stormgames.wolfe.casa/downloads/Tolk.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2022-12-27 17:37:09 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /ChristmasChaos.zip "
2023-05-26 08:53:51 -04:00
find " ${ WINEPREFIX } " -type f -name 'Tolk.dll' -exec cp -v " ${ cache } /Tolk.dll " "{}" \;
2022-12-27 17:37:09 -05:00
add_launcher "c:\Program Files\ChristmasChaos\ChristmasChaos.exe"
; ;
2020-11-16 14:40:34 -05:00
"Christmas WhoopAss" )
download "https://www.agarchive.net/games/draconis/christmas%20whoopass%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2020-12-17 12:36:26 -05:00
wine " ${ cache } /christmas whoopass setup.exe " /sp- /silent
2020-11-16 14:40:34 -05:00
add_launcher "c:\Program Files\Draconis Entertainment\Christmas Whoop Ass\wa.exe"
; ;
2023-05-24 10:09:14 -04:00
"Clashes of the Sky" )
get_installer "clashes_of_the_sky.zip" "https://tunmi13.itch.io/clashes-of-the-sky"
export bottle = "tunmi13"
export winVer = "win7"
install_wine_bottle speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /clashes_of_the_sky.zip "
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
add_launcher 'c:\Program Files\clashes_of_the_sky\clash.exe'
; ;
2022-02-16 18:25:17 -05:00
"Code Dungeon" )
get_installer "codedungeon-win-64.zip" "https://stealcase.itch.io/codedungeon"
2022-08-20 23:51:12 -04:00
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2022-02-16 18:25:17 -05:00
export WINEARCH = win64
export winVer = "win8"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/code-dungeon " " ${ cache } /codedungeon-win-64.zip "
# Weird work around to get keyboard working.
winetricks -q usetakefocus = y
winetricks -q usetakefocus = n
2022-08-21 00:32:41 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2022-02-16 18:25:17 -05:00
add_launcher "c:\Program Files\code-dungeon\Code Dungeon.exe"
; ;
2021-04-26 01:33:26 -04:00
"Copter Mission" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-26 01:33:26 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/copter_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-04-26 01:33:26 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/copter mission " " ${ cache } /copter_en.zip "
add_launcher "c:\Program Files\copter mission\game.exe"
; ;
2020-09-20 00:07:50 -04:00
"Crazy Party" )
2024-09-07 18:13:03 -04:00
export WINEARCH = win64
export winVer = "win8"
2024-11-06 05:09:31 -05:00
download "http://pragmapragma.free.fr/crazy-party/Crazy-Party-beta82.zip" "https://stormgames.wolfe.casa/downloads/Tolk.dll" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2024-09-07 18:13:03 -04:00
install_wine_bottle
2024-11-06 05:09:31 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /Crazy-Party-beta82.zip "
2024-09-07 18:13:03 -04:00
find " ${ WINEPREFIX } " -type f -name 'Tolk.dll' -exec cp -v " ${ cache } /Tolk.dll " "{}" \;
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2024-11-06 05:09:31 -05:00
add_launcher "c:\Program Files\Crazy-Party-beta82\Crazy Party.exe"
2020-09-20 00:07:50 -04:00
; ;
2020-12-13 12:21:33 -05:00
"Crazy Tennis" )
download "https://www.agarchive.net/games/VIP/crazy%20tennis%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-12-17 12:36:26 -05:00
wine " ${ cache } /crazy tennis setup.exe " /sp- /silent
2020-12-13 12:21:33 -05:00
add_launcher "c:\Program Files\Crazytennis\crazytennis.exe"
; ;
2021-09-19 07:09:41 -04:00
"Crime Hunter" )
export WINEARCH = win64
export winVer = "win7"
2022-08-21 02:10:51 -04:00
download "http://masonasons.me/softs/CH2.0Win.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-09-19 07:09:41 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/crime-hunter " " ${ cache } /CH2.0Win.zip "
2022-08-21 02:10:51 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2021-09-19 07:09:41 -04:00
add_launcher "c:\Program Files\crime-hunter\ch.exe"
; ;
2022-12-04 17:08:38 -05:00
"Danger City" )
download "https://www.agarchive.net/games/xl/DangerCityBeta2.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2022-12-04 17:08:38 -05:00
wine " $cache /DangerCityBeta2.exe " /silent &
xdotool sleep 15 key --clearmodifiers --delay 200 Return 2> /dev/null
xdotool sleep 5 key --clearmodifiers --delay 200 Return 2> /dev/null
xdotool sleep 5key --clearmodifiers --delay 200 Return 2> /dev/null
xdotool sleep 10 --clearmodifiers --delay 200 Return 2> /dev/null
wineserver -w
add_launcher 'c:\Program Files\Danger City\dc.exe'
; ;
2021-04-26 01:25:07 -04:00
"Danger on the Wheel" )
2023-06-25 21:47:37 -04:00
download "http://oriolgomez.com/games/wheel_en.zip"
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-26 01:25:07 -04:00
export winVer = "win7"
2021-04-27 02:18:17 -04:00
install_wine_bottle speechsdk
2021-04-26 01:25:07 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/danger on the wheel " " ${ cache } /wheel_en.zip "
2021-04-27 02:18:17 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2021-04-26 01:25:07 -04:00
add_launcher "c:\Program Files\danger on the wheel\game.exe"
; ;
2022-10-15 13:30:53 -04:00
"Dark Destroyer" )
export bottle = pbgames
download "https://www.agarchive.net/games/pb/Dark-Destroyer-Setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk ie6
2022-10-15 13:30:53 -04:00
wine " $cache /Dark-Destroyer-Setup.exe " /silent
add_launcher 'c:\Pbgames\Dark_destroyer\darkdestroyer.exe'
; ;
2022-01-21 22:24:51 -05:00
"Daytona and the Book of Gold" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://kaldobsky.com/audiogames/Daytona.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/daytona " " ${ cache } /Daytona.zip "
wine 'c:\Program Files\daytona\checkup.exe' /verysilent
add_launcher "c:\Program Files\daytona\Daytona.exe"
; ;
"Death on the Road" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2020-11-19 18:03:29 -05:00
export winVer = "win7"
download "http://oriolgomez.com/games/road_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-11-19 18:03:29 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/death on the road " " ${ cache } /road_en.zip "
2021-04-24 13:44:50 -04:00
add_launcher "c:\Program Files\death on the road\game.exe"
2020-11-19 18:03:29 -05:00
; ;
2021-01-15 18:05:06 -05:00
"Deathmatch" )
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.agarchive.net/games/realitySoftware/death%20match%20project%20alpha%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle quartz speechsdk
2021-01-15 18:05:06 -05:00
wine " ${ cache } /death match project alpha setup.exe " /silent
add_launcher "c:\Program Files\reality software\death match project alpha\dm1.exe"
; ;
2022-01-21 22:24:51 -05:00
"Dog Who Hates Toast" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.kaldobsky.com/audiogames/dogwhohatestoast.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/dogwhohatestoast " " ${ cache } /dogwhohatestoast.zip "
wine 'c:\Program Files\dogwhohatestoast\checkup.exe' /verysilent
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
; ;
2022-08-23 00:20:12 -04:00
"Dragon Pong" )
2022-11-15 22:24:23 -05:00
export winVer = "win7"
install_wine_bottle
2022-08-23 00:20:12 -04:00
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"
; ;
2024-02-02 16:35:18 -05:00
"Dreamland" )
2024-02-02 17:10:35 -05:00
download https://scwl-1251129685.cos.ap-shanghai.myqcloud.com/dreamland/Win/DreamLandSetup.exe
2024-02-02 18:10:50 -05:00
install_wine_bottle speechsdk ole32
$wine " ${ cache } /DreamLandSetup.exe " /silent
2024-02-02 17:10:35 -05:00
; ;
2020-12-30 23:22:28 -05:00
"Duck Hunt" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2020-12-30 23:22:28 -05:00
download "http://files.l-works.net/dhsetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-12-30 23:22:28 -05:00
wine " ${ cache } /dhsetup.exe " /silent
add_launcher "c:\Program Files\Lworks\Duck Hunt\duckhunt.exe"
; ;
2021-08-12 22:58:36 -04:00
"DynaMan" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-12 22:58:36 -04:00
download "http://download.dracoent.com/Windows/classic/DMSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /DMSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/DMSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/DMSetup.exe "
2021-08-12 22:58:36 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\DynaMan\dm.exe"
; ;
2020-09-06 14:38:16 -04:00
"Easter Quest" )
download "https://agarchive.net/games/mt/easter%20quest%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-09-06 19:20:14 -04:00
wine " ${ cache } /easter quest setup.exe " /silent
2020-09-06 14:38:16 -04:00
add_launcher "c:\Program Files\MTGames\Easter Quest\easter.exe"
; ;
2022-08-27 23:45:22 -04:00
"Endless Runner" )
download "http://www.masonasons.me/softs/EndlessRunner.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-01-22 13:25:29 -05:00
7z x -y -o" $WINEPREFIX /drive_c/Program Files/Endless Runner " " ${ cache } /EndlessRunner.7z " -prunner
2022-08-27 23:45:22 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2022-08-28 02:44:21 -04:00
add_launcher "c:\Program Files\Endless Runner\runner.exe"
2022-08-27 23:45:22 -04:00
; ;
2020-10-06 14:59:04 -04:00
"Entombed" )
2023-02-07 03:46:15 -05:00
export version = "6.18"
2023-06-25 21:47:37 -04:00
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"
2023-01-26 19:52:00 -05:00
install_wine " $version " "32"
2020-10-18 20:33:10 -04:00
export winVer = "win7"
2022-08-17 03:50:45 -04:00
install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf
2021-08-08 13:29:06 -04:00
# Ok, more dotnet.
2022-08-17 03:50:45 -04:00
LC_ALL = C DISPLAY = "" winetricks -q dotnet40 xna40
2023-01-26 19:52:00 -05:00
${ wine } server -k # Sigh.
2022-03-06 07:51:38 -05:00
mkdir -p " ${ WINEPREFIX } /drive_c/temp "
pushd " ${ WINEPREFIX } /drive_c/temp "
2023-01-22 13:25:29 -05:00
7z x " ${ cache } /SSCERuntime-ENU.exe "
2023-01-26 19:52:00 -05:00
${ wine } msiexec /i " ${ WINEPREFIX } /drive_c/temp/SSCERuntime_x86-ENU.msi " /q
2022-03-06 07:51:38 -05:00
rm *
popd
2022-03-09 12:26:32 -05:00
pushd " ${ WINEPREFIX } /drive_c/Program Files/Microsoft SQL Server Compact Edition/v3.5 "
2023-01-26 19:52:00 -05:00
${ wine } regsvr32 sqlceoledb35.dll
${ wine } regsvr32 sqlceca35.dll
2022-03-09 12:26:32 -05:00
popd
2023-01-26 19:52:00 -05:00
${ wine } " ${ cache } /EntombedSetup.exe " /silent
2022-03-09 12:26:32 -05:00
pushd " ${ WINEPREFIX } /drive_c/Program Files/Entombed "
2022-08-17 03:50:45 -04:00
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 " ${ cache } /Entombed.exe.config " .
2022-03-09 12:26:32 -05:00
popd
2022-08-17 03:50:45 -04:00
if [ ! -f " ${ WINEPREFIX } /drive_c/windows/system32/mfplat.dll " ] ; then
cp " ${ cache } /mfplat.dll " " ${ WINEPREFIX } /drive_c/windows/system32/ "
fi
2020-12-04 21:09:53 -05:00
add_launcher "c:\Program Files\Entombed\Entombed.exe"
2020-10-06 14:59:04 -04:00
; ;
2021-08-11 08:28:05 -04:00
"ESP Pinball Classic" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-11 08:28:05 -04:00
download "http://download.dracoent.com/Windows/classic/PBCSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /PBCSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/PBCSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/PBCSetup.exe "
2021-08-11 08:28:05 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\ESP Pinball Classic\pbc.exe"
; ;
"ESP Pinball Extreme" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-11 08:28:05 -04:00
download "http://download.dracoent.com/Windows/classic/PBXSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /PBXSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/PBXSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/PBXSetup.exe "
2021-08-11 08:28:05 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe"
; ;
"ESP Pinball Party Pack" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
export WINEPREFIX = " $HOME /.local/wine/draconis "
2021-08-11 08:28:05 -04:00
# Only works in conjunction with esp pinball extreme.
if ! [ -f " $HOME /.local/wine/ $bottle /drive_c/Program Files/Draconis Entertainment/ESP Pinball Xtreme/pbx.exe " ] ; then
echo "Error: You need to install ESP Pinball Extreme first to use this game. Please do so before continuing." >& 2
exit 1
fi
download "http://download.dracoent.com/Windows/classic/PP1Setup.exe"
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /PP1Setup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/PP1Setup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/PP1Setup.exe "
2021-08-11 08:28:05 -04:00
add_launcher "c:\Program Files\Draconis Entertainment\ESP Pinball Xtreme\pbx.exe"
; ;
2021-01-03 20:14:03 -05:00
"Eurofly" )
export winVer = "win7"
2021-01-03 21:15:13 -05:00
export winetricksSettings = "vd=1024x768"
2022-10-09 16:02:26 -04:00
download "https://www.stefankiss.sk/files/eurofly2/Launcher_1.2.zip" "https://www.stefankiss.sk/files/eurofly2/Eurofly_2_ful_setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk comctl32
2021-01-03 20:14:03 -05:00
wine " ${ cache } /Eurofly_2_ful_setup.exe " /silent
2022-10-09 16:02:26 -04:00
unzip -o -d " $WINEPREFIX /drive_c/Eurofly " " ${ cache } /Launcher_1.2.zip "
2021-01-03 21:15:13 -05:00
add_launcher "c:\Eurofly\launcher.exe"
2022-10-09 16:02:26 -04:00
echo "Note: On first and sometimes later launch, Eurofly may take a very long time to download required files, please be patient..."
2021-01-03 20:14:03 -05:00
; ;
2024-02-28 00:31:11 -05:00
"Executioner's Rage" )
2024-04-04 10:59:37 -04:00
download "https://dl.tweesecake.app/rage/rage1.5.0.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2024-02-28 00:31:11 -05:00
export WINEARCH = win64
export winVer = "win10"
install_wine_bottle
2024-04-04 10:59:37 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /rage1.5.0.zip "
2024-02-28 00:31:11 -05:00
find " ${ WINEPREFIX } /drive_c/Program Files " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\rage\rage.exe"
url = "https://techcake.games/games/executioners-rage/"
echo "Before you can login, you need to create an account at:"
echo " $url "
if echo " $url " | xclip -selection clipboard 2> /dev/null ; then
message += "\n\nThe URL has been copied to the clipboard."
fi
alert
; ;
2021-02-15 16:00:37 -05:00
"Extant" )
download "https://agarchive.net/games/other/extant.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-02-15 16:00:37 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/extant " " ${ cache } /extant.zip "
add_launcher "c:\Program Files\extant\Extant.exe"
; ;
2020-11-30 16:01:28 -05:00
"Fartman" )
download "http://www.agarchive.net/games/bpc/fartman.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle dx8vb vb6run
2020-11-30 16:01:28 -05:00
wine " ${ cache } /fartman.exe " /silent
2020-12-17 12:36:26 -05:00
#add_launcher "c:\Program Files\"
2020-11-30 16:01:28 -05:00
; ;
2020-10-08 10:42:47 -04:00
"Finger Panic" )
download "http://www.agarchive.net/games/bsc/FingerPanicSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle dx8vb vb6run
2020-12-17 12:36:26 -05:00
wine " ${ cache } /FingerPanicSetup.exe " /sp- /silent
2020-10-08 10:42:47 -04:00
add_launcher "c:\Program Files\Finger Panic 1.0\FingerPanic.exe"
; ;
2020-10-05 03:51:17 -04:00
"Fuck That Bird" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2020-10-05 03:51:17 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/bird_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-10-05 03:51:17 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/fuck that bird " " ${ cache } /bird_en.zip "
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\fuck that bird\game.exe"
2020-10-05 03:51:17 -04:00
; ;
2024-02-19 02:43:15 -05:00
"Galactic Strike" )
2024-02-22 15:48:43 -05:00
get_installer "Galactic Strike 1.2.zip" "https://fusion-forged-games.itch.io/galactic-strike"
export winVer = "win10"
install_wine_bottle speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files/Galactic Strike " " ${ cache } /Galactic Strike 1.2.zip "
2024-02-19 02:43:15 -05:00
add_launcher "c:\Program Files\Galactic Strike\Galactic Strike.exe"
2024-02-28 12:52:38 -05:00
echo "Use controls wasd to movi and navigate the menu."
echo "Use m to fire and select items from the menu."
alert
2024-02-19 02:43:15 -05:00
; ;
2020-11-26 15:31:34 -05:00
"GMA Tank Commander" )
download "http://www.gmagames.com/gtc120.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-11-26 15:31:34 -05:00
wine " ${ cache } /gtc120.exe " /silent &
xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null
xdotool sleep 15 type --clearmodifiers --delay 100 " ${ USER ^ } " 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool sleep 10 type --clearmodifiers --delay 100 " ${ HOSTNAME ^ } " 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool sleep 10 type --clearmodifiers --delay 100 "na@na.na" 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool sleep 10 type --clearmodifiers --delay 100 "uuuuuuu" 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool key --clearmodifiers Return 2> /dev/null
xdotool sleep 10 key --clearmodifiers Return 2> /dev/null
wineserver -w
echo "To accurately set your information, edit the file:"
echo " ${ WINEPREFIX } /drive_c/Program\ Files/GMA\ Tank\ Commander/config.dat "
echo "The default country is US. The fields are:"
echo -e "\"Firstname Lastname\"\n\"Email address\"\n\"Country code\""
add_launcher "c:\Program Files\GMA Tank Commander\gtc.exe"
; ;
2022-08-09 22:19:55 -04:00
"Grizzly Gulch" )
2022-08-10 11:50:31 -04:00
download "https://stormgames.wolfe.casa/downloads/grizzly-gulch.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run mfc42
2022-08-09 22:19:55 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " $cache /grizzly-gulch.zip "
add_launcher "c:\Program Files\grizzly-gulch\Grizzly Gulch.exe"
2023-11-01 06:54:02 -04:00
echo "If the combat sequences happen too slow for your tastes, while in the town square, you can use f12 to turn up the combat speed and f11 to lower it."
alert
2022-08-09 22:19:55 -04:00
; ;
2021-04-26 01:06:50 -04:00
"Hammer of Glory" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-26 01:06:50 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/hammer_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-04-26 01:06:50 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/hammer of glory " " ${ cache } /hammer_en.zip "
2021-04-27 02:35:36 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2021-04-26 01:06:50 -04:00
add_launcher "c:\Program Files\hammer of glory\game.exe"
; ;
2022-11-04 01:51:36 -04:00
"haunted Party" )
get_installer "hp.zip" "https://tunmi13.itch.io/haunted-party"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
export WINEARCH = win64
export winVer = "win8"
2023-05-24 10:09:14 -04:00
export bottle = tunmi13-64bit
2022-11-04 01:51:36 -04:00
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /hp.zip "
2023-05-24 10:09:14 -04:00
find " ${ WINEPREFIX } /drive_c/Program Files/hp " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2022-11-04 01:51:36 -04:00
add_launcher "c:\Program Files\hp\hp.exe"
; ;
2021-10-25 07:24:42 -04:00
"Hearthstone" )
2022-05-13 13:24:55 -04:00
export winVer = "win10"
install_wine_bottle ie8 vcrun2015 speechsdk
2021-10-25 07:24:42 -04:00
# This download url breaks the download function, so grab it manually.
2023-01-21 02:27:24 -05:00
curl -L --output " ${ cache } /Hearthstone.exe " "https://us.battle.net/download/getInstaller?os=win&installer=Hearthstone-Setup.exe"
curl -L --output " ${ cache } /Hearthstone_patch.zip " "https://github.com/HearthstoneAccess/HearthstoneAccess/releases/latest/download/patch.zip"
2021-10-25 07:24:42 -04:00
wine " ${ cache } /Hearthstone.exe " /silent
unzip -o " ${ cache } /Hearthstone_patch.zip " -d " ${ WINEPREFIX } /drive_c/Program Files/Hearthstone "
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
#add_launcher "c:\Program Files\"
; ;
2020-11-20 12:39:12 -05:00
"Hunter" )
2023-06-25 21:47:37 -04:00
download "http://www.agarchive.net/games/bsc/HunterSetup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z"
2020-11-20 12:39:12 -05:00
install_wine_bottle vb6run dx8vb
# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang.
2023-12-24 20:13:49 -05:00
winetricks -q dotnet35sp1
2020-11-20 12:39:12 -05:00
wineserver -k # Damn you, dotnet.
2020-11-20 19:04:27 -05:00
wine " ${ cache } /HunterSetup.exe " /silent &
2020-11-20 19:48:08 -05:00
xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null
2021-05-16 23:34:33 -04:00
sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w.
2020-11-20 12:39:12 -05:00
mkdir -p " $WINEPREFIX /drive_c/Program Files/bsc-key-generator "
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/bsc-key-generator " " ${ cache } /BSC unlock code generator.7z "
2020-11-20 12:39:12 -05:00
echo " $USER " $'\n' " $( hostname) " $'\n' "none" $'\n' "US" > " $WINEPREFIX /drive_c/Program Files/Hunter/config.dat "
2023-06-12 11:21:40 -04:00
unix2dos " $WINEPREFIX /drive_c/Program Files/Hunter/config.dat "
2020-11-20 12:39:12 -05:00
if command -v xclip & > /dev/null && command -v xdotool & > /dev/null ; then
wine "c:\Program Files\Hunter\HunterRegistration.exe" &
xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n
sleep 1
regcode = " $( xclip -selection clipboard -o) "
xdotool sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" &
2021-05-16 23:34:33 -04:00
xdotool sleep 10 key Return sleep 2 type h
2020-11-20 12:39:12 -05:00
xdotool sleep 1 key Tab sleep 1 type $regcode
xdotool sleep 1 key Tab sleep 1 key Return
sleep 2
regcode = " $( xclip -selection clipboard -o) " # Might as well reuse the variable.
# FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program.
sleep 5
wineserver -k
wine "c:\Program Files\Hunter\HunterRegistration.exe" &
echo " $regcode " | xclip -selection clipboard
xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
else
echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff."
fi
add_launcher "c:\Program Files\Hunter\HunterRun.exe"
; ;
2023-12-24 20:13:49 -05:00
"Inquisitor's Heartbeat" )
get_installer "Inquisitor_windows_ENG.zip" "https://www.audiogame.store/en/products/inquisitors-heartbeat--windows/ios-only"
export WINEARCH = win64
export winVer = "win8"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /Inquisitor_windows_ENG.zip "
# Weird work around to get keyboard working.
winetricks -q usetakefocus = y
winetricks -q usetakefocus = n
add_launcher "c:\Program Files\Inquisitor_windows_ENG\Inquisitor's Heartbeat.exe"
; ;
2021-04-25 02:32:07 -04:00
"Insect Therapy" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-25 02:32:07 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/insect_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-04-25 02:32:07 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/insect therapy " " ${ cache } /insect_en.zip "
add_launcher "c:\Program Files\insect therapy\game.exe"
2020-11-16 14:40:34 -05:00
; ;
2022-08-17 03:50:45 -04:00
"Interceptor" )
download "http://www.valiantgalaxy.com/interceptor/Interceptor0.0.2.0Installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2022-08-17 03:50:45 -04:00
wine " ${ cache } /Interceptor0.0.2.0Installer.exe " /silent
add_launcher "c:\Program Files\VGA\interceptor\launch_interceptor.exe"
; ;
2020-12-01 00:32:00 -05:00
"Judgement Day" )
2022-09-21 23:30:06 -04:00
export bottle = "l-works"
2020-12-01 00:32:00 -05:00
download "http://files.l-works.net/judgmentdayfullsetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz
2020-12-01 00:32:00 -05:00
wine " ${ cache } /judgmentdayfullsetup.exe " /silent
cat << EOF > /tmp/judgementday.reg
Windows Registry Editor Version 5.00
2022-03-11 12:43:22 -05:00
2020-12-01 00:32:00 -05:00
[ HKEY_CURRENT_USER\S oftware\V B and VBA Program Settings\j udgmentday\c onfig]
"name" = " $USER "
EOF
wine regedit /s /tmp/judgementday.reg
rm /tmp/judgementday.reg
add_launcher "c:\Program Files\Lworks\Judgment Day\judgmentday.exe"
; ;
2020-08-27 15:42:24 -04:00
"Kitchensinc Games" )
2024-01-19 11:26:30 -05:00
download " ${ ipfsGateway } /ipfs/QmdkLPig6Kp3AZTwKAhjrhhsEuvhFCFhm6SHLUQVeNNYCb?filename=kitchen.tar.xz "
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run speechsdk dx8vb
2020-09-04 18:45:45 -04:00
echo "Extracting files..."
2020-09-06 19:20:14 -04:00
tar xf " ${ cache } /kitchen.tar.xz " -C " $WINEPREFIX /drive_c/Program Files/ "
2020-08-27 15:42:24 -04:00
add_launcher "c:\Program Files\Kitchen's Sink\gamemenu.exe"
; ;
2021-04-25 02:32:07 -04:00
"Kringle Crash" )
download "https://www.agarchive.net/games/blastbay/kringle%20crash%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-04-25 02:32:07 -04:00
wine " ${ cache } /kringle crash setup.exe " /silent
add_launcher "c:\Program Files\Kringle Crash\kringlecrash.exe"
2021-04-25 01:19:31 -04:00
; ;
2022-03-24 19:04:06 -04:00
"Laser Breakout" )
2022-09-24 00:34:29 -04:00
# Currently only speaks in japanese, looking to see if we can find an english version.
2022-03-24 19:04:06 -04:00
export bottle = "nyanchan"
export winVer = "win7"
2023-01-22 15:52:13 -05:00
download "https://www.agarchive.net/games/nyanchan/laser%20breakout.7z" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll" "https://stormgames.wolfe.casa/downloads/laser-breakout-options.dat"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2023-01-22 13:55:24 -05:00
7z x -o" $WINEPREFIX /drive_c/nyanchangame/ " " $cache /laser breakout.7z "
2022-08-21 12:22:13 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
2023-01-22 15:52:13 -05:00
cp -v " $cache /laser-breakout-options.dat " " $WINEPREFIX /drive_c/nyanchangame/laser breakout/options.dat "
2022-03-24 19:04:06 -04:00
add_launcher "c:\nyanchangame\laser breakout\play.exe"
; ;
2020-12-31 09:53:13 -05:00
"Light Battles" )
export winVer = "win7"
2023-01-22 13:55:24 -05:00
download "https://prometheus-enterprises.com/games/CoL.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/Light Battles " " ${ cache } /CoL.exe "
2023-01-22 13:55:24 -05:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient.dll" -exec cp -v " $cache /nvda2speechd32.dll " "{}" \;
2020-12-31 09:53:13 -05:00
add_launcher "c:\Program Files\Light Battles\battles.exe"
; ;
2020-08-30 22:26:53 -04:00
"Light Cars" )
2020-09-06 14:38:16 -04:00
download "https://www.agarchive.net/games/lighttech/light%20cars%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle dx8vb vb6run
2020-12-31 09:53:13 -05:00
wine " ${ cache } /light cars setup.exe " &
2020-12-31 12:54:01 -05:00
xdotool sleep 10 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+a key --clearmodifiers space sleep 1 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+n sleep 1 key --clearmodifiers alt+i sleep 30 key --clearmodifiers Tab sleep 1 key --clearmodifiers Return 2> /dev/null
2020-12-31 09:53:13 -05:00
wineserver -w
2020-09-02 22:36:48 -04:00
echo -e " ${ USER } ${ HOST } \nna@na.na\nUS " > ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat
unix2dos ~/.local/wine/light-cars/drive_c/Program\ Files/Lighttech\ Interactive/Light\ Cars/config.dat
2020-08-30 22:26:53 -04:00
add_launcher "c:\Program Files\Lighttech Interactive\Light Cars\lightCars.exe"
; ;
2020-09-04 22:25:00 -04:00
"Lockpick" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2020-09-06 19:20:14 -04:00
download "http://files.l-works.net/lockpicksetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2020-09-06 19:20:14 -04:00
wine " ${ cache } /lockpicksetup.exe " /silent
2020-09-04 22:25:00 -04:00
add_launcher "c:\Program Files\lWorks\Lockpick\lockpick.exe"
; ;
2020-11-26 15:31:34 -05:00
"Lone Wolf" )
download "http://www.gmagames.com/lw350.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-11-26 15:31:34 -05:00
wine " ${ cache } /lw350.exe " /silent &
xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null
xdotool sleep 10 type --clearmodifiers --delay 100 " $USER " 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool type --clearmodifiers --delay 100 " $HOSTNAME " 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool type --clearmodifiers --delay 100 "na@na.na" 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool type --clearmodifiers --delay 100 "uuuuuu" 2> /dev/null
xdotool key --clearmodifiers Tab 2> /dev/null
xdotool key --clearmodifiers Return 2> /dev/null
wineserver -w
add_launcher "c:\Program Files\Lone Wolf\lw.exe"
2023-04-05 19:10:55 -04:00
; ;
"Lost" )
export bottle = dan-z
download "https://agarchive.net/games/danZ/lost.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-04-05 19:10:55 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/lost " " $cache /lost.zip "
find " $WINEPREFIX /drive_c/Program Files/lost " -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
add_launcher 'c:\Program Files\lost\lost.exe'
2020-11-26 15:31:34 -05:00
; ;
2021-06-06 12:03:53 -04:00
"Lunimals" )
2022-01-21 22:24:51 -05:00
export bottle = "aprone"
2021-06-06 12:03:53 -04:00
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://kaldobsky.com/audiogames/lunimals.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
2021-06-06 12:03:53 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/lunimals " " ${ cache } /lunimals.zip "
2022-01-21 22:24:51 -05:00
wine 'c:\Program Files\lunimals\checkup.exe' /verysilent
2021-06-06 12:03:53 -04:00
add_launcher "c:\Program Files\lunimals\Lunimals.exe"
echo "Note: Lunimals installed. Once you start the game, you must press tab until you hear sapi on to get speech." >& 2
2023-09-02 23:39:39 -04:00
alert
2021-06-06 12:03:53 -04:00
; ;
2020-10-09 13:33:37 -04:00
"Manamon" )
export winVer = "win7"
download "https://www.vgstorm.com/manamon/manamon_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-10-09 13:33:37 -04:00
wine " ${ cache } /manamon_installer.exe " /silent
add_launcher "c:\Program Files\VGStorm.com\Manamon\rpg.exe"
; ;
2020-10-09 20:53:45 -04:00
"Manamon 2" )
export winVer = "win7"
download "http://www.vgstorm.com/manamon2/manamon2_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-10-09 20:53:45 -04:00
wine " ${ cache } /manamon2_installer.exe " /silent
add_launcher "c:\Program Files\VGStorm.com\Manamon 2\rpg.exe"
; ;
2022-03-23 21:17:28 -04:00
"Marina Break" )
export bottle = "nyanchan"
export winVer = "win7"
2023-01-22 13:55:24 -05:00
download "https://www.nyanchangames.com/softs/MbSetupE.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2022-03-23 21:17:28 -04:00
wine " ${ cache } /MbSetupE.exe " &
xdotool sleep 10 key Return
wineserver -w
2022-09-24 00:34:29 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient.dll" -exec cp -v " $cache /nvda2speechd32.dll " "{}" \;
2022-03-23 21:17:28 -04:00
add_launcher "c:\nyanchangame\MarinaBreak\marinabreak.exe"
; ;
2023-04-05 19:10:55 -04:00
"Maze Craze" )
export bottle = dan-z
download "http://www.danielzingaro.com/maze_craze_setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2023-04-05 19:10:55 -04:00
${ wine } " ${ cache } /maze_craze_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
add_launcher "c:\Program Files\Maze Craze 1.4\mazecraze.exe"
; ;
2022-10-15 13:30:53 -04:00
"Minecraft" )
export WINEARCH = win64
export winVer = "win7"
get_installer "accessibility-plus-extended-1.18-curseforge-v1.9.0.jar" "https://www.curseforge.com/minecraft/mc-mods/accessibility-plus-extended/download"
get_installer "Mambience-5.2.0+1.19.jar" "https://www.curseforge.com/minecraft/mc-mods/mambience/download"
get_installer "easy-life-1.18-v1.5.1.jar" "https://www.curseforge.com/minecraft/mc-mods/easy-life/download"
get_installer "numpad-camera-controls-1.18-v1.5.1.jar" "https://www.curseforge.com/minecraft/mc-mods/numpad-keypad-camera-controls/download"
download "https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2022-10-15 13:30:53 -04:00
wine " $cache /python-3.7.9-amd64.exe " /silent
wine 'c:\windows\py.exe' -m pip install portablemc portablemc-fabric
# Now just need to install latest fabric, portablemc start --dry fabric
wine 'c:\users\' " $USER " '\AppData\Local\Programs\Python\Python37\Scripts\portablemc.exe' start --dry fabric:
# Also need to copy all mods into right place.
mkdir " $WINEPREFIX /drive_c/users/ $USER /AppData/Roaming/.minecraft/mods "
for x in "accessibility-plus-extended-1.18-curseforge-v1.9.0.jar" "Mambience-5.2.0+1.19.jar" "easy-life-1.18-v1.5.1.jar" "numpad-camera-controls-1.18-v1.5.1.jar" ; do
cp " $cache / $x " " $WINEPREFIX /drive_c/users/ $USER /AppData/Roaming/.minecraft/mods "
done
# And of course, add the launcher.
; ;
2023-02-04 01:29:22 -05:00
"Mist World" )
export winVer = "win7"
2023-02-06 05:04:26 -05:00
get_installer "Mist World_Setup.exe" "https://drive.google.com/file/d/12YeUqorkkMT46ZSR5pcfWxSY8DHOLxZ-/view?usp=share_link"
2023-02-04 01:29:22 -05:00
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2024-01-31 19:31:35 -05:00
install_wine_bottle ole32
2023-02-04 01:29:22 -05:00
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 "
2023-02-05 01:36:23 -05:00
cp " $WINEPREFIX /drive_c/Program Files/Mist World/ " { mw.exe.vmoptions,update.exe.vmoptions}
2023-02-04 01:29:22 -05:00
find " $WINEPREFIX /drive_c/Program Files/Mist World " -iname "nvdaControllerClient32.dll" -exec cp " $cache /nvda2speechd32.dll " "{}" \;
2023-03-16 16:43:27 -04:00
mkdir " $WINEPREFIX /drive_c/Program Files/Mist World/ " { user,users}
2023-02-04 01:29:22 -05:00
add_launcher 'c:\Program Files\Mist World\mw.exe'
2023-02-04 16:58:55 -05:00
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"
2023-02-05 13:20:35 -05:00
echo "./mist_world_account_creator.sh and follow the prompts."
2023-03-16 16:51:36 -04:00
echo
echo "To login, type your email address, press tab, and type your password."
echo "If you want to enable automatic login, press tab two times followed by space, then tab and enter."
echo "If you do not want to auto login, you can just press enter after typing your password."
2023-02-06 05:04:26 -05:00
alert
2023-02-04 01:29:22 -05:00
; ;
2021-10-17 14:54:50 -04:00
"Monkey Business" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-10-17 14:54:50 -04:00
download "http://download.dracoent.com/Windows/classic/MBSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /MBSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/MBSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/MBSetup.exe "
2021-10-17 14:54:50 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\Monkey Business\mb.exe"
; ;
2020-12-13 19:27:11 -05:00
"MudSplat English" )
a = "a"
f = "f"
i = "i"
n = "n"
; &
"MudSplat French" )
# Variables may be already set for English installation, so make sure not to overwrite them.
2021-09-23 14:48:53 -04:00
a = " ${ a :- j } "
2020-12-15 13:46:41 -05:00
f = " ${ f :- t } "
2020-12-13 19:27:11 -05:00
i = " ${ i :- i } "
2020-12-15 13:46:41 -05:00
n = " ${ n :- s } "
2020-12-13 19:27:11 -05:00
; &
"MudSplat Swedish" )
# Variables may be already set for French installation, so make sure not to overwrite them.
a = " ${ a :- a } "
f = " ${ f :- f } "
i = " ${ i :- i } "
n = " ${ n :- n } "
download "https://www.agarchive.net/games/other/Mudsplat-install.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-12-13 19:27:11 -05:00
wine " ${ cache } /Mudsplat-install.exe " &
# Select the language.
xdotool sleep 10 type --clearmodifiers ${ game : 9 : 1 } 2> /dev/null
xdotool sleep 1 key --clearmodifiers Return sleep 1 key alt+${ n } sleep 1 key alt+${ a } sleep 1 key alt+${ n } sleep 1 key space sleep 1 key alt+${ n } sleep 1 key alt+${ n } sleep 1 key alt+${ i } sleep 10 key space sleep 1 key alt+${ f } 2> /dev/null
wineserver -w
mudsplatLauncher = " $( find " $WINEPREFIX /drive_c/Program Files/TiM/MudSplat " -name 'mudsplat-*.exe' ) "
mudsplatLauncher = " ${ mudsplatLauncher ##*/ } "
add_launcher " c:\Program Files\TiM\MudSplat\\ ${ mudsplatLauncher } "
; ;
2021-09-30 07:36:24 -04:00
"Oh Shit" )
2020-11-05 10:38:49 -05:00
export winVer = "win7"
2024-02-15 10:46:43 -05:00
export norh = "true" # Requires sapi even though uses nvda
2024-11-17 22:21:01 -05:00
download " ${ ipfsGateway } /ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip " "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2024-02-15 10:46:43 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /OhShit.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
2020-11-05 10:38:49 -05:00
add_launcher "c:\Program Files\oh_shit\OhShit.exe"
; ;
2021-12-15 13:45:48 -05:00
"Operation BlackSquare" )
export winVer = "win7"
download "https://www.iamtalon.me/games/blacksquare.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-12-15 13:45:48 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /blacksquare.zip "
add_launcher "c:\Program Files\blacksquare\OperationBlackSquare.exe"
; ;
2020-12-16 19:18:01 -05:00
"Pacman Talks" )
download "http://www.gmagames.com/pmt101.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-08-13 06:47:12 -04:00
wine " ${ cache } /pmt101.exe " /sp- /silent
2020-12-16 19:18:01 -05:00
add_launcher "c:\Program Files\Pacman Talks\pmt.exe"
; ;
2020-12-01 14:09:35 -05:00
"Palace Punch Up" )
download "https://www.agarchive.net/games/blastbay/palace%20punch-up%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-12-01 14:09:35 -05:00
wine " ${ cache } /palace punch-up setup.exe " /silent
add_launcher "c:\Program Files\Palace Punch-up\palace.exe"
; ;
2020-10-18 09:20:22 -04:00
"Paladin of the Sky" )
export winVer = "win7"
download "http://www.vgstorm.com/cod/pots/paladin_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-10-18 09:20:22 -04:00
wine " ${ cache } /paladin_installer.exe " /silent
add_launcher "c:\Program Files\VGStorm.com\Paladin of the Sky\game.exe"
; ;
2021-01-15 18:38:45 -05:00
"Park Boss" )
export winVer = "win7"
download "http://www.ndadamson.com/downloads/Park%20Boss%201.01%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-01-15 18:38:45 -05:00
wine " ${ cache } /Park Boss 1.01 setup.exe " /silent &
xdotool sleep 10 key --clearmodifiers Return sleep 1 key alt+n sleep 1 key alt+a sleep 1 key alt+i sleep 10 key alt+f 2> /dev/null
wineserver -w
add_launcher "c:\Program Files\NASoft\ParkBoss\pbMain.exe"
; ;
2022-01-21 22:24:51 -05:00
"Paw Prints" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.kaldobsky.com/audiogames/pawprints.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/pawprints " " ${ cache } /pawprints.zip "
wine 'c:\Program Files\pawprints\checkup.exe' /verysilent
add_launcher "c:\Program Files\pawprints\PawPrints.exe"
; ;
2024-02-17 01:33:09 -05:00
"Penta Path" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "http://www.kaldobsky.com/audiogames/pentapath.zip"
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
unzip -d " $WINEPREFIX /drive_c/Program Files/pentapath " " ${ cache } /pentapath.zip "
wine 'c:\Program Files\pentapath\checkup.exe' /verysilent
add_launcher "c:\Program Files\pentapath\PentaPath.exe"
; ;
2020-12-01 14:09:35 -05:00
"Perilous Hearts" )
download "https://www.agarchive.net/games/blastbay/perilous%20hearts%20concept%20demo.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-12-01 14:09:35 -05:00
wine " ${ cache } /perilous hearts concept demo.exe " /silent
add_launcher "c:\Program Files\Perilous Hearts Concept Demo\perilous_hearts.exe"
; ;
2022-01-02 03:09:22 -05:00
"Pigeon Panic" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2022-01-02 03:09:22 -05:00
download "http://agarchive.net/games/lworks/pigeon%20panic%20setup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2022-01-02 03:09:22 -05:00
wine " ${ cache } /pigeon panic setup.exe " /silent
add_launcher "c:\Program Files\Lworks\Pigeon Panic\pigeonPanic.exe"
; ;
2023-07-24 19:23:04 -04:00
"Pipe 2 Blast Chamber" )
install_wine_bottle vb6run dx8vb
# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang.
2023-12-24 20:13:49 -05:00
winetricks -q dotnet35sp1
2023-07-24 19:23:04 -04:00
wineserver -k # Damn you, dotnet.
download "http://www.agarchive.net/games/bsc/BlastChamberSetup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z"
wine " ${ cache } /BlastChamberSetup.exe " /silent &
xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null
sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w.
mkdir -p " $WINEPREFIX /drive_c/Program Files/bsc-key-generator "
7z x -o" $WINEPREFIX /drive_c/Program Files/bsc-key-generator " " ${ cache } /BSC unlock code generator.7z "
echo " $USER " $'\n' " $( hostname) " $'\n' "none" $'\n' "US" > " $WINEPREFIX /drive_c/Program Files/Blast Chamber/config.dat "
unix2dos " $WINEPREFIX /drive_c/Program Files/Blast Chamber/config.dat "
if command -v xclip & > /dev/null && command -v xdotool & > /dev/null ; then
wine "c:\Program Files\Blast Chamber\register.exe" &
xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n
sleep 1
regcode = " $( xclip -selection clipboard -o) "
xdotool sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" &
xdotool sleep 10 key Return sleep 2 type b
xdotool sleep 1 key Tab sleep 1 type $regcode
xdotool sleep 1 key Tab sleep 1 key Return
sleep 2
regcode = " $( xclip -selection clipboard -o) " # Might as well reuse the variable.
# FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program.
sleep 5
wineserver -k
wine "c:\Program Files\Blast Chamber\register.exe" &
echo " $regcode " | xclip -selection clipboard
xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
else
echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff."
fi
add_launcher "c:\Program Files\Blast Chamber\pipe.exe"
; ;
2022-01-21 22:24:51 -05:00
"Preludeamals" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.kaldobsky.com/audiogames/Preludeamals.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/preludeamals " " ${ cache } /Preludeamals.zip "
wine 'c:\Program Files\preludeamals\checkup.exe' /verysilent
add_launcher "c:\Program Files\preludeamals\Preludeamals.exe"
; ;
2021-08-29 10:05:05 -04:00
"Psycho Strike" )
download "http://www.vgstorm.com/psycho_strike_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-08-29 10:05:05 -04:00
wine " ${ cache } /psycho_strike_installer.exe " /silent
add_launcher "c:\Program Files\VGStorm.com\Psycho Strike\strike.exe"
; ;
2022-01-21 22:24:51 -05:00
"Puzzle Divided" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.kaldobsky.com/audiogames/puzzledivided.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/puzzledivided " " ${ cache } /puzzledivided.zip "
add_launcher "c:\Program Files\puzzledivided\PuzzleDivided.exe"
; ;
2020-10-26 19:04:21 -04:00
"Q9" )
download "http://www.blastbay.com/q9_english_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-10-26 19:04:21 -04:00
wine " ${ cache } /q9_english_installer.exe " /silent
add_launcher "c:\Program Files\Q9 Action Game\q9.exe"
; ;
2023-08-11 17:57:25 -04:00
"Rettou" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "http://www.kaldobsky.com/audiogames/rettou.zip"
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
unzip -d " $WINEPREFIX /drive_c/Program Files/rettou " " ${ cache } /rettou.zip "
add_launcher "c:\Program Files\rettou\Rettou.exe"
; ;
2022-01-21 22:24:51 -05:00
"Revelation" )
export bottle = "aprone"
export winVer = "win7"
export winetricksSettings = "vd=1024x768"
download "https://www.kaldobsky.com/audiogames/revelation.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb quartz speechsdk corefonts
2022-01-21 22:24:51 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/revelation " " ${ cache } /revelation.zip "
add_launcher "c:\Program Files\revelation\Revelation.exe"
; ;
2020-11-20 12:37:54 -05:00
"Rhythm Rage" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2020-11-20 12:37:54 -05:00
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "http://oriolgomez.com/games/rr_en.zip" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-11-20 12:37:54 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/rhythm rage " " ${ cache } /rr_en.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
2021-07-02 11:13:36 -04:00
add_launcher "c:\Program Files\rhythm rage\game.exe"
2020-11-20 12:37:54 -05:00
; ;
2020-12-16 14:45:14 -05:00
"River Raiders" )
2022-10-23 12:32:54 -04:00
# No more choppy sound under water, woot!
2020-12-16 14:45:14 -05:00
download "https://www.agarchive.net/games/XSight/River%20Raiders%201.3.5.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle dsound directmusic
2022-03-27 03:14:04 -04:00
wine " $cache /River Raiders 1.3.5.exe " &
2022-10-23 13:47:59 -04:00
xdotool sleep 10 type y 2> /dev/null
xdotool sleep 2 type y 2> /dev/null
xdotool sleep 2 key --clearmodifiers alt+n sleep 2 key alt+n sleep 2 key alt+n sleep 2 key alt+i sleep 10 key alt+f 2> /dev/null
2022-03-27 03:14:04 -04:00
wineserver -w
2020-12-16 14:45:14 -05:00
add_launcher "c:\Program Files\River Raiders\raid.exe"
; ;
2022-09-24 15:05:08 -04:00
"Road to Rage" )
export WINEARCH = win64
export winVer = "win7"
2022-09-25 03:21:33 -04:00
download "https://iamtalon.me/games/rtr_ultimate.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2022-09-24 15:05:08 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /rtr_ultimate.zip "
add_launcher "c:\Program Files\rtr_Ultimate\trtr.exe"
2022-09-25 03:21:33 -04:00
; ;
"Road to Rage Offline" )
export winVer = "win7"
download "https://agarchive.net/games/talon/the%20road%20to%20rage%20offline.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2022-09-25 03:21:33 -04:00
7z x -o" $WINEPREFIX /drive_c/Program Files " " ${ cache } /the road to rage offline.7z "
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient.dll" -exec rm -fv "{}" \;
add_launcher "c:\Program Files\RTR Offline\rtr.exe"
2022-09-24 15:05:08 -04:00
; ;
2020-11-05 19:47:01 -05:00
"RS Games" )
2023-01-30 23:56:21 -05:00
export version = "7.0"
2024-04-23 01:20:13 -04:00
download "http://rsgames.org/rsdownloads/rsgclient/rsgames-client-setup-2.01.exe" " ${ nvdaControllerClientDll } "
2023-01-30 21:54:06 -05:00
install_wine " $version " "32"
2020-11-05 19:47:01 -05:00
export winVer = "win7"
install_wine_bottle speechsdk
2023-01-30 23:56:21 -05:00
${ wine } " ${ cache } /rsgames-client-setup-2.01.exe " /silent
2022-11-10 18:16:10 -05:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
2020-11-05 19:47:01 -05:00
add_launcher "c:\Program Files\RS Games Client\rsg.exe"
; ;
2020-10-06 14:59:04 -04:00
"Run For Your Life" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2020-10-06 14:59:04 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/rfyl_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-10-06 14:59:04 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/run for your life " " ${ cache } /rfyl_en.zip "
2020-10-25 12:55:26 -04:00
add_launcher "c:\Program Files\run for your life\game.exe"
2020-10-06 14:59:04 -04:00
; ;
2021-01-10 12:46:26 -05:00
"Sammy Center" )
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "http://www.samtupy.com/games/SCSetup.exe" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-01-10 12:46:26 -05:00
wine " ${ cache } /SCSetup.exe " /silent
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
add_launcher "c:\Program Files\Sam Tupy\SammyCenter\SammyCenter.exe"
; ;
2023-03-28 15:20:17 -04:00
"Sarah and the Castle of Witchcraft and Wizardry" )
download "http://www.pcs-games.net/Sarah10.exe" "http://www.pcs-games.net/Sarah-Patch4.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2023-03-28 15:20:17 -04:00
wine " ${ cache } /Sarah10.exe " /sp- /verysilent
wine " ${ cache } /Sarah-Patch4.exe " /sp- /verysilent
add_launcher "c:\Program Files\Sarah and the Castle of Witchcraft and Wizardry 10\scw.exe"
; ;
2022-03-05 21:44:56 -05:00
"Scramble!" )
2022-03-06 01:41:23 -05:00
winetricksSettings = "vd=1024x768"
2022-03-05 21:44:56 -05:00
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "https://stevend.net/downloads/scramble_win32.zip" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2022-03-05 21:44:56 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /scramble_win32.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
add_launcher "c:\Program Files\scramble_win32\scramble.exe"
; ;
2021-06-30 01:34:31 -04:00
"Screaming Strike 2" )
2022-03-23 18:39:12 -04:00
export bottle = "nyanchan"
2021-06-30 01:34:31 -04:00
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "https://www.nyanchangames.com/softs/screamingStrike2.exe" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle fakejapanese speechsdk
2021-06-30 01:34:31 -04:00
wine " ${ cache } /screamingStrike2.exe " &
xdotool sleep 10 key Return
wineserver -w
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
add_launcher "c:\nyanchangame\Screaming Strike 2\play.exe"
; ;
2024-06-19 23:00:02 -04:00
"Scrolling Battles" )
export WINEARCH = win64
export winVer = "win7"
get_installer "sbrw-win.zip" "https://masonasons.itch.io/sbrw"
download "https://stormgames.wolfe.casa/downloads/Tolk.dll"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/sbrw " " ${ cache } /sbrw-win.zip "
find " ${ WINEPREFIX } " -type f -name 'Tolk.dll' -exec cp -v " ${ cache } /Tolk.dll " "{}" \;
add_launcher "c:\Program Files\sbrw\sb.exe"
; ;
2021-10-28 13:45:05 -04:00
"Sketchbook" )
2021-05-11 01:28:24 -04:00
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-01-27 13:38:08 -05:00
mv -v " ${ cache } /sounds.zip " " ${ cache } /SBYW-sounds.zip "
2023-01-27 11:50:46 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/sketchbook " " ${ cache } /SBYW.zip "
2023-01-27 13:38:08 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/sketchbook " " ${ cache } /SBYW-sounds.zip "
2021-05-11 01:28:24 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
2023-01-27 11:50:46 -05:00
add_launcher "c:\Program Files\sketchbook\SBYW.exe"
2021-05-11 01:28:24 -04:00
; ;
2020-11-16 14:40:34 -05:00
"Sequence Storm" )
2021-07-01 21:02:36 -04:00
get_installer "sequence-storm-win64.zip" "https://special-magic-games-llc.itch.io/sequence-storm"
2020-11-16 14:40:34 -05:00
export WINEARCH = win64
export winVer = "win10"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/sequence-storm " " ${ cache } /sequence-storm-win64.zip "
2020-11-16 16:57:16 -05:00
write_sequence_storm_reader
2023-01-21 02:27:24 -05:00
curl -L --output " $WINEPREFIX /drive_c/Program Files/sequence-storm/settings.json " "https://stormgames.wolfe.casa/downloads/sequencestorm-settings.json"
2020-11-16 14:40:34 -05:00
add_launcher "c:\Program Files\sequence-storm\SequenceStorm.exe"
; ;
2021-05-09 10:04:25 -04:00
"Shades of Doom 1.2" )
download "http://gmagames.com/sod1208.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2021-05-09 10:04:25 -04:00
wine " ${ cache } /sod1208.exe " /sp- /verysilent
add_launcher "c:\Program Files\Shades of Doom 1.2\sod.exe"
; ;
2020-09-01 14:39:39 -04:00
"Shades of Doom" )
2020-11-10 18:01:51 -05:00
export winVer = "win7"
2020-09-06 14:38:16 -04:00
download "http://www.gmagames.com/sod20022.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-09-06 19:20:14 -04:00
wine " ${ cache } /sod20022.exe " /silent
2020-09-01 14:39:39 -04:00
add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe"
; ;
2022-10-05 03:48:16 -04:00
"Shadow Line" )
2023-01-24 12:17:00 -05:00
export version = "7.7"
2024-09-02 04:23:41 -04:00
download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe" "https://raw.githubusercontent.com/LordLuceus/sr-english-localization/master/language_en.dat"
2023-01-24 16:04:58 -05:00
install_wine " $version " "32"
2023-01-24 12:17:00 -05:00
export winVer = "win8"
2022-10-05 03:48:16 -04:00
install_wine_bottle
2023-01-24 16:04:58 -05:00
$wine " ${ cache } /shadowrine_fullvoice3.171.exe " /sp- &
2023-01-23 16:19:13 -05:00
xdotool sleep 30 key --clearmodifiers --delay= 500 Return
2022-10-05 04:41:40 -04:00
xdotool key --clearmodifiers --delay= 500 Return
xdotool key --clearmodifiers --delay= 500 Return
xdotool key --clearmodifiers --delay= 500 Return
2023-01-24 12:17:00 -05:00
echo "Running installer, this will take approximately 3 minutes..."
xdotool sleep 180 key --clearmodifiers --delay= 500 Down
2022-10-05 04:41:40 -04:00
xdotool key --clearmodifiers --delay= 500 space
2023-01-24 12:17:00 -05:00
xdotool key --clearmodifiers --delay= 500 alt+f
2023-01-24 16:04:58 -05:00
${ wine } server -w
2024-09-02 04:23:41 -04:00
mv -v " ${ cache } /language_en.dat " " ${ WINEPREFIX } /drive_c/Program Files/GalaxyLaboratory/ShadowRine_FullVoice/SystemData/language_en.dat "
2022-10-05 03:48:16 -04:00
add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe"
2024-09-02 04:23:41 -04:00
echo "Please set the language to English when the game opens."
echo "Go to options and press enter."
echo "Press down arrow 5 times and press enter."
echo "Press down arrow 1 time and press enter."
echo "Press up arrow 2 times and press enter."
echo "If everything worked as expected you should be back on the game menu and speech should work."
alert
2022-10-05 03:48:16 -04:00
; ;
2024-12-08 20:03:09 -05:00
"Side Party" )
export WINEARCH = win64
export winVer = "win7"
get_installer "sideparty-win.zip" "https://masonasons.itch.io/sideparty"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/Side Party " " ${ cache } /sideparty-win.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\Side Party\SideParty.exe"
; ;
2020-12-29 06:04:19 -05:00
"Silver Dollar" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-08 13:56:03 -04:00
download "http://download.dracoent.com/Windows/SilverDollarSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /SilverDollarSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/SilverDollarSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/SilverDollarSetup.exe "
2021-08-08 13:56:03 -04:00
# warning warning warning: Do not change location, or installer will not function.
2021-08-08 13:13:06 -04:00
# FIXME: Hacky, but it works. Install dotnet40 by itself so it actually doesn't hang.
2021-08-08 13:23:22 -04:00
DISPLAY = "" winetricks -q dotnet40
2021-08-08 13:13:06 -04:00
wineserver -k # Damn you, dotnet.
2020-12-29 06:04:19 -05:00
add_launcher "c:\Program Files\Draconis Entertainment\Silver Dollar\SilverDollarGui.exe"
; ;
2024-07-06 14:36:33 -04:00
"Simple Fighter" )
export WINEARCH = win64
export winVer = "win7"
get_installer "simple fighter.exe" "https://tsatria03.itch.io/simple-fighter"
if [ [ ! -r " ${ cache } /simple-fighter-sounds.7z " ] ] && [ [ ! -r " ${ cache } /sounds.7z " ] ] ; then
get_installer "sounds.7z" "https://tsatria03.itch.io/simple-fighter"
mv " ${ cache } /sounds.7z " " ${ cache } /simple-fighter-sounds.7z "
fi
install_wine_bottle
7z x -o" $WINEPREFIX /drive_c/Program Files/simple fighter " " ${ cache } /simple fighter.exe "
7z x -o" $WINEPREFIX /drive_c/Program Files/simple fighter/sounds " " ${ cache } /simple-fighter-sounds.7z "
find " ${ WINEPREFIX } /drive_c/Program Files/bf " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\simple fighter\game.exe"
; ;
2020-12-16 14:09:39 -05:00
"Slender Lost Vision" )
export winVer = "win7"
download "https://www.iamtalon.me/games/slender.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-12-16 14:09:39 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /slender.zip "
add_launcher "c:\Program Files\slender\slender.exe"
2021-02-17 10:50:11 -05:00
; ;
2021-10-17 14:41:20 -04:00
"Shooter" )
export WINEARCH = win64
export winVer = "win7"
2024-03-28 04:30:37 -04:00
get_installer "shooter-win.zip" "https://brynify.itch.io/shooter"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2024-03-28 04:30:37 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/shooter " " ${ cache } /shooter-win.zip "
2022-08-21 01:01:16 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2021-10-17 14:41:20 -04:00
add_launcher "c:\Program Files\shooter\shooter.exe"
; ;
2023-09-07 17:21:08 -04:00
"Skateboarder Pro" )
download "https://tunmi13.com/projects/sb_pro_rw.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
export WINEARCH = win64
export winVer = "win8"
export bottle = tunmi13-64bit
install_wine_bottle sapi
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /sb_pro_rw.zip "
2023-09-09 11:14:31 -04:00
find " ${ WINEPREFIX } /drive_c/Program Files/sb_pro_rw " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\sb_pro_rw\sb_pro.exe"
2023-09-07 17:21:08 -04:00
; ;
2022-02-16 20:27:49 -05:00
"Sonic the Hedgehog" )
export winVer = "win7"
download "https://www.agarchive.net/games/jeqoconGames/sonic%20the%20hedgehog.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/Sonic the Hedgehog " " ${ cache } /sonic the hedgehog.7z "
2022-02-16 20:27:49 -05:00
add_launcher "c:\Program Files\Sonic the Hedgehog\sth.exe"
; ;
2021-02-17 10:50:11 -05:00
"Sonic Zoom" )
export winVer = "win7"
download "http://wwwx.cs.unc.edu/Research/assist/et/projects/SonicZoom/soniczoom11.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-02-17 10:50:11 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /soniczoom11.zip "
add_launcher "c:\Program Files\Sonic Zoom\SonicZoom.exe"
2021-07-10 13:32:53 -04:00
; ;
"Space Defender" )
export WINEARCH = "win64"
export winVer = "win7"
2021-07-23 18:51:44 -04:00
download "http://tunmi13.ddns.net/projects/space_defender.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient64.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-07-10 13:32:53 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/ " " ${ cache } /space_defender.zip "
2021-07-23 18:51:44 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvdaControllerClient64.dll " "{}" \;
2021-07-10 13:32:53 -04:00
add_launcher "c:\Program Files\space_defender\sdefender.exe"
2020-12-16 14:09:39 -05:00
; ;
2024-06-10 12:02:49 -04:00
"Star Treck Final Conflict" )
download "https://agarchive.net/games/USA/star%20trek%20final%20conflict%20Setup.exe"
install_wine_bottle speechsdk
wine " ${ cache } /star trek final conflict Setup.exe " /silent
add_launcher "c:\Program Files\USA Games\Final Conflict\stfc.exe"
; ;
2023-02-07 14:10:40 -05:00
"Super Deekout" )
2023-04-05 19:10:55 -04:00
export bottle = dan-z
2023-02-07 14:10:40 -05:00
download "http://www.danielzingaro.com/superdeekout_setup.exe" "http://www.danielzingaro.com/sd_full.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2023-02-07 14:10:40 -05:00
${ wine } " ${ cache } /superdeekout_setup.exe " &
2023-02-07 15:40:25 -05:00
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
2023-02-07 14:10:40 -05:00
${ wine } server -k
2023-02-07 22:28:46 -05:00
7z x -y -o" $WINEPREFIX /drive_c/Program Files/Super Deekout " " ${ cache } /sd_full.exe "
2023-02-07 15:40:25 -05:00
echo "Super Deekout needs some information before it will run:"
alert
2023-02-07 18:35:20 -05:00
read -erp "Please enter your first name: " fname
read -erp "Please enter your last name: " lname
2023-02-07 15:40:25 -05:00
read -erp "Please enter your email address: " email
2023-02-07 18:35:20 -05:00
${ 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"
2023-02-07 14:10:40 -05:00
; ;
2021-08-13 06:47:12 -04:00
"Super Dogs Bone Hunt" )
download "http://www.pcs-games.net/SBH11.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2021-08-13 06:47:12 -04:00
wine " ${ cache } /SBH11.exe " /sp- /silent
add_launcher "c:\Program Files\SuperDog's Bone Hunt\sbh.exe"
; ;
2020-08-27 15:42:24 -04:00
"Super Egg Hunt" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2020-09-06 14:38:16 -04:00
download "http://files.l-works.net/superegghuntsetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-09-06 19:20:14 -04:00
wine " ${ cache } /superegghuntsetup.exe " /silent
2020-08-27 15:42:24 -04:00
add_launcher "c:\Program Files\Lworks\super egg hunt\superegghunt.exe"
; ;
2020-08-31 15:51:29 -04:00
"Super Liam" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2020-09-06 14:38:16 -04:00
download "http://files.l-works.net/superliamsetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb
2020-09-06 19:20:14 -04:00
wine " ${ cache } /superliamsetup.exe " /silent
2020-08-31 15:51:29 -04:00
add_launcher "c:\Program Files\lWorks\Super Liam\sl.exe"
; ;
2020-12-25 16:16:55 -05:00
"Super Mario Bros" )
export winVer = "win7"
download "https://www.agarchive.net/games/jeqoconGames/super%20mario%20bros.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/Super Mario Bros " " ${ cache } /super mario bros.7z "
2020-12-25 16:16:55 -05:00
add_launcher "c:\Program Files\Super Mario Bros\Mario.exe"
; ;
2020-12-04 17:38:43 -05:00
"Survive the Wild" )
2023-05-12 18:16:13 -04:00
export WINEARCH = win64
2023-05-13 20:31:14 -04:00
export winVer = "win8"
2023-05-26 08:53:51 -04:00
download "https://stw.samtupy.com/files/stw.zip" "https://stormgames.wolfe.casa/downloads/Tolk.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-01-15 22:11:02 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/Survive the Wild " " ${ cache } /stw.zip "
2023-05-26 08:53:51 -04:00
find " ${ WINEPREFIX } " -type f -name 'Tolk.dll' -exec cp -v " ${ cache } /Tolk.dll " "{}" \;
2021-11-17 11:39:40 -05:00
add_launcher "c:\Program Files\Survive the Wild\stw.exe"
2023-05-13 20:31:14 -04:00
echo "When the game first launches, press enter to select English."
echo "Press alt+a to accept the license agreement."
echo "Press alt+a to accept the game rules."
echo "Press enter repeatedly until you hear the game logo."
alert
2020-12-04 17:38:43 -05:00
; ;
2020-09-05 15:02:33 -04:00
"Swamp" )
2022-01-21 22:24:51 -05:00
export bottle = "aprone"
2020-11-05 10:38:49 -05:00
export winVer = "win7"
2021-01-03 21:15:13 -05:00
export winetricksSettings = "vd=1024x768"
2022-01-24 01:41:45 -05:00
dialog --backtitle "Audiogame manager" --yesno "If you do not have a full 32 bit gstreamer installation, the Swamp music can cause stuttering and crashes. Would you like to remove the music directory after installation?" -1 -1 --stdout
deleteMusic = $?
2022-01-15 05:17:38 -05:00
download "https://www.kaldobsky.com/audiogames/Swamp.zip"
2024-01-31 19:31:35 -05:00
install_wine_bottle dx8vb quartz corefonts vb6run speechsdk ole32
2022-01-15 05:17:38 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/swamp " " ${ cache } /Swamp.zip "
2020-09-05 15:02:33 -04:00
# make sure the latest version is installed.
2023-01-21 02:27:24 -05:00
if curl -L --output " ${ cache } /SwampPatch.zip " "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
2022-11-25 11:21:11 -05:00
unzip -o -d " $WINEPREFIX /drive_c/Program Files/swamp " " ${ cache } /SwampPatch.zip "
fi
2023-01-24 16:09:13 -05:00
$wine 'c:\Program Files\swamp\checkup.exe' /verysilent
#$wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat'
2022-01-24 01:41:45 -05:00
# Delete music if requested.
if [ [ $deleteMusic -eq 0 ] ] ; then
rm -frv " $WINEPREFIX /drive_c/Program Files/swamp/sounds/Music/ "
fi
2023-09-02 23:39:39 -04:00
rm -fv " $WINEPREFIX /drive_c/Program Files/swamp/maps/sub2 "
2020-09-05 15:02:33 -04:00
add_launcher "c:\Program Files\swamp\Swamp.exe"
; ;
2023-02-07 03:46:15 -05:00
"Tactical Battle" )
2023-06-25 21:47:37 -04:00
download "https://blindgamers.com/downloads/Tactical%20Battle%20Dev.zip"
2023-02-07 03:46:15 -05:00
install_wine_bottle speechsdk
LC_ALL = C DISPLAY = "" winetricks -q dotnet462
${ wine } server -k
unzip -d " $WINEPREFIX /drive_c/Program Files/Tactical Battle " " ${ cache } /Tactical Battle Dev.zip "
add_launcher "c:\Program Files\Tactical Battle\Tactical Battle.exe"
; ;
2020-12-04 17:38:43 -05:00
"Technoshock" )
download "http://tiflocomp.ru/download/games/technoshock_140b_en.zip" "http://tiflocomp.ru/download/games/technoshock140b_en_update.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-12-04 17:38:43 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /technoshock_140b_en.zip "
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /technoshock_140b_en_update.zip "
wine " $WINEPREFIX /drive_c/Program Files/setup_eng.exe " /silent
wineserver -w
wine " $WINEPREFIX /drive_c/Program Files/setup_eng_update_pack.exe " /silent
add_launcher "c:\Program Files\Tiflocomp Games\Technoshock\ts.exe"
; ;
2021-08-09 20:56:49 -04:00
"Ten Pin Alley" )
2021-08-09 21:52:23 -04:00
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2021-08-09 21:52:23 -04:00
download "http://download.dracoent.com/Windows/classic/TPAXPSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /TPAXPSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/TPAXPSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/TPAXPSetup.exe "
2021-08-09 21:52:23 -04:00
#winetricks -q msdxmocx # I think having this installed first breaks things.
2021-08-09 20:56:49 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
2021-08-09 21:52:23 -04:00
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
2021-08-09 20:56:49 -04:00
add_launcher "c:\Program Files\Draconis Entertainment\Ten Pin Alley\tpa.exe"
; ;
2020-08-27 15:42:24 -04:00
"The Blind Swordsman" )
2020-12-16 11:46:46 -05:00
download "https://www.agarchive.net/games/other/the%20blind%20swordsmanPC.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-12-16 11:46:46 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /the blind swordsmanPC.zip "
2020-08-27 15:42:24 -04:00
add_launcher "c:\Program Files\TheBlindSwordsman.exe"
; ;
2020-12-16 19:54:45 -05:00
"The Gate" )
export winVer = "win7"
download "http://www.vgstorm.com/the_gate_installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2020-12-16 19:54:45 -05:00
wine " ${ cache } /the_gate_installer.exe " /silent
add_launcher "c:\Program Files\VGStorm.com\The Gate\gate.exe"
; ;
2020-11-11 12:43:19 -05:00
"The Great Toy Robbery" )
2022-01-03 18:12:17 -05:00
export bottle = "l-works"
2020-11-11 12:43:19 -05:00
export winVer = "win7"
2023-04-19 17:57:25 -04:00
download "http://files.l-works.net/tgtrsetup_2.04.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2023-06-25 21:47:37 -04:00
install_wine_bottle dsound directmusic
2020-11-11 12:43:19 -05:00
wine " ${ cache } /tgtrsetup_2.04.exe " /silent
2023-04-19 17:57:25 -04:00
find " ${ WINEPREFIX } /drive_c/Program Files/Lworks/The Great Toy Robbery " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
2020-11-11 12:43:19 -05:00
add_launcher "c:\Program Files\Lworks\The Great Toy Robbery\tgtr.exe"
; ;
2022-02-05 21:38:13 -05:00
"The Vale" )
get_installer "the-vale-win.zip" "https://falling-squirrel.itch.io/the-vale"
export WINEARCH = win64
2022-02-06 02:05:43 -05:00
export winVer = "win8"
2022-02-05 21:38:13 -05:00
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/the-vale " " ${ cache } /the-vale-win.zip "
2022-02-06 02:05:43 -05:00
# Weird work around to get keyboard working.
winetricks -q usetakefocus = y
winetricks -q usetakefocus = n
2022-02-05 21:38:13 -05:00
add_launcher "c:\Program Files\the-vale\TheVale.exe"
; ;
2023-10-02 08:26:52 -04:00
"They'll Come from the Moon" )
get_installer "theyll-come-from-the-moon-windows.zip" "https://soundrascal.itch.io/theyll-come-from-the-moon"
download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
export WINEARCH = win64
export winVer = "win8"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/tcftm " " ${ cache } /theyll-come-from-the-moon-windows.zip "
# Weird work around to get keyboard working.
winetricks -q usetakefocus = y
winetricks -q usetakefocus = n
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\tcftm\They'll Come from the Moon!.exe"
echo "When the game launches, press the enter key to load the game which will begin to speak."
alert
; ;
2021-04-26 01:13:50 -04:00
"Thief" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-26 01:13:50 -04:00
export winVer = "win7"
download "http://oriolgomez.com/games/thief_en.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-04-26 01:13:50 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/thief " " ${ cache } /thief_en.zip "
add_launcher "c:\Program Files\thief\game.exe"
; ;
2021-04-28 00:34:40 -04:00
"Top Speed 2" )
download "http://users.pandora.be/playinginthedark/downloads/Tspeed_2.00.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-04-28 00:34:40 -04:00
wine " ${ cache } /Tspeed_2.00.exe " /silent
add_launcher "c:\Program Files\Playing in the dark\Top Speed 2\TopSpeed.exe"
; ;
2022-08-08 19:08:49 -04:00
"Tomb Hunter" )
download "http://masonasons.me/softs/th_freeware_password_is_tombhunter.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/Tomb Hunter " " ${ cache } /th_freeware_password_is_tombhunter.7z " -ptombhunter
2022-08-08 19:08:49 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
add_launcher "c:\Program Files\Tomb Hunter\th.exe"
; ;
2020-08-27 15:42:24 -04:00
"Top Speed 3" )
2020-09-06 14:38:16 -04:00
download "https://github.com/PlayingintheDark/TopSpeed/releases/download/h/Tspeed_3.0.3.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle directplay
2020-09-06 19:20:14 -04:00
wine " ${ cache } /Tspeed_3.0.3.exe " /silent
2020-08-27 15:42:24 -04:00
add_launcher "c:\Program Files\Playing in the dark\Top Speed 3\TopSpeed.exe"
; ;
2021-07-08 11:53:24 -04:00
"Traders of Known Space" )
download "http://www.valiantgalaxy.com/tks/tradersOfKnownSpace0.0.0.5Installer.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2021-07-08 11:53:24 -04:00
wine " ${ cache } /tradersOfKnownSpace0.0.0.5Installer.exe " /silent
add_launcher "c:\Program Files\VGA\TKS\tradersOfKnownSpace.exe"
; ;
"Three D velocity" )
export winVer = "win10"
2022-12-22 09:59:42 -05:00
export WINEARCH = win64
export norh = false # Must install a voice, and rhvoice works easily with 64 bit.
2023-06-25 21:47:37 -04:00
download "https://github.com/munawarb/Three-D-Velocity-Binaries/archive/master.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2022-12-22 09:59:42 -05:00
install_wine_bottle sapi vcrun2008 gdiplus xact dotnet48 xna40
2022-02-27 04:09:34 -05:00
# Dotnet is evil. That is all.
2022-12-22 09:59:42 -05:00
# LC_ALL=C winetricks -q dotnet48
# wineserver -k # Ha ha ha.
2021-07-08 11:53:24 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /master.zip "
2022-12-22 09:59:42 -05:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2021-07-08 11:53:24 -04:00
add_launcher "c:\Program Files\Three-D-Velocity-Binaries-master\tdv.exe"
; ;
2024-02-17 16:34:33 -05:00
"Tarot Assistant" )
export bottle = "aprone"
export winVer = "win7"
download "https://www.kaldobsky.com/audiogames/tarot.zip"
install_wine_bottle vb6run dx8vb speechsdk
unzip -d " $WINEPREFIX /drive_c/Program Files/Tarot Assistant " " ${ cache } /tarot.zip "
wine "c:\Program Files\Tarot Assistant\Checkup.exe" /verysilent
add_launcher "c:\Program Files\Tarot Assistant\TarotAssistant.exe"
; ;
2020-12-14 09:34:31 -05:00
"Triple Triad" )
2022-01-21 22:24:51 -05:00
export bottle = "aprone"
2020-12-14 09:34:31 -05:00
export winVer = "win7"
download "https://www.kaldobsky.com/audiogames/tripletriad.zip"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2020-12-14 09:34:31 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/Triple Triad " " ${ cache } /tripletriad.zip "
2020-12-17 08:07:07 -05:00
wine "c:\Program Files\Triple Triad\Checkup.exe" /verysilent
2020-12-14 09:34:31 -05:00
add_launcher "c:\Program Files\Triple Triad\TripleTriad.exe"
; ;
2021-05-16 23:34:33 -04:00
"Troopanum2" )
2023-06-25 21:47:37 -04:00
download "https://www.agarchive.net/games/bsc/Troopanum2Setup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z"
2021-05-16 23:34:33 -04:00
install_wine_bottle vb6run dx8vb
# FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang.
2023-12-24 20:13:49 -05:00
winetricks -q dotnet35sp1
2021-05-16 23:34:33 -04:00
wineserver -k # Damn you, dotnet.
wine " ${ cache } /Troopanum2Setup.exe " /silent &
xdotool sleep 10 key --clearmodifiers alt+y 2> /dev/null
sleep 30 && wineserver -k # Sometimes the installer finishes but the wineserver has more processes that don't exit, so we can't depend on wineserver -w.
mkdir -p " $WINEPREFIX /drive_c/Program Files/bsc-key-generator "
2023-01-22 13:25:29 -05:00
7z x -o" $WINEPREFIX /drive_c/Program Files/bsc-key-generator " " ${ cache } /BSC unlock code generator.7z "
2021-05-16 23:34:33 -04:00
echo " $USER " $'\n' " $( hostname) " $'\n' "none" $'\n' "US" > " $WINEPREFIX /drive_c/Program Files/Troopanum 2.0/config.dat "
2023-06-12 11:21:40 -04:00
unix2dos " $WINEPREFIX /drive_c/Program Files/Troopanum 2.0/config.dat "
2021-05-16 23:34:33 -04:00
if command -v xclip & > /dev/null && command -v xdotool & > /dev/null ; then
wine "c:\Program Files\Troopanum 2.0\register.exe" &
xdotool sleep 10 key Return sleep 2 key Return sleep 2 key Alt+n
sleep 1
regcode = " $( xclip -selection clipboard -o) "
xdotool sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
wine "c:\Program Files\bsc-key-generator\BlindsoftwareUnlockCodeGenerator.exe" &
xdotool sleep 10 key Return sleep 2 type t
xdotool sleep 1 type t
xdotool sleep 1 key Tab sleep 1 type $regcode
xdotool sleep 1 key Tab sleep 1 key Return
sleep 2
regcode = " $( xclip -selection clipboard -o) " # Might as well reuse the variable.
# FIXME: Kind of hacky, but let's make sure it actually exitted since I can't find a good way to exit this program.
sleep 5
wineserver -k
wine "c:\Program Files\Troopanum 2.0\register.exe" &
echo " $regcode " | xclip -selection clipboard
xdotool sleep 10 key Return sleep 2 key Shift+Tab sleep 1 key Shift+Tab sleep 1 key Return
# FIXME: Kind of hacky, but let's make sure it actually exitted.
sleep 5
wineserver -k
else
echo "Warning: You need xclip and xdotool for this installer to finish the registration process, however, you don't have them. Either remove the program, install the stated tools, and reinstall it, or go on your own. Caveat Emptor, go to jail, do not pass go, do not collect audiogame rewards and all that stuff."
fi
add_launcher "c:\Program Files\Troopanum 2.0\troop.exe"
; ;
2021-01-15 18:05:06 -05:00
"Tube Sim" )
export winVer = "win7"
download "http://www.ndadamson.com/downloads/TubeSim1_1_Install.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-01-15 18:05:06 -05:00
wine " ${ cache } /TubeSim1_1_Install.exe " /silent &
xdotool sleep 10 key --clearmodifiers Return sleep 1 key alt+n sleep 1 key alt+a sleep 1 key alt+i sleep 10 key alt+f 2> /dev/null
wineserver -w
add_launcher "c:\Program Files\NASoft\TubeSim\tsMain.exe"
; ;
2023-04-03 13:21:49 -04:00
"Ultimate SounDoku" )
export winVer = "win7"
2024-08-28 12:47:36 -04:00
export bottle = "draconis"
2023-04-03 13:21:49 -04:00
download "http://download.dracoent.com/Windows/classic/USSetup.exe"
2023-06-25 21:47:37 -04:00
install_wine_bottle vb6run dx8vb speechsdk quartz
2024-08-28 12:47:36 -04:00
cp -v " ${ cache } /USSetup.exe " " $WINEPREFIX /drive_c/windows/temp/ "
wine "c:/windows/temp/USSetup.exe" /sp- /silent
rm -fv " $WINEPREFIX /drive_c/windows/temp/USSetup.exe "
2023-04-03 13:21:49 -04:00
# warning warning warning: Do not change location, or installer will not function.
# FIXME: Hacky, but it works. Install dotnet20 by itself so it actually doesn't hang.
winetricks -q dotnet20
wineserver -k # Damn you, dotnet.
add_launcher "c:\Program Files\Draconis Entertainment\Ultimate Soundoku\soundoku.exe"
; ;
2020-11-05 11:31:54 -05:00
"Undead Assault" )
export winVer = "win7"
2024-04-23 01:20:13 -04:00
download "http://undead-assault.com/static/files/public/undead_assault.zip" " ${ nvdaControllerClientDll } "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2020-11-05 11:31:54 -05:00
unzip -d " $WINEPREFIX /drive_c/Program Files/undead_assault " " ${ cache } /undead_assault.zip "
2020-11-08 20:19:04 -05:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvdaControllerClient32.dll " "{}" \;
2020-11-05 11:31:54 -05:00
add_launcher "c:\Program Files\undead_assault\Undead Assault.exe"
; ;
2021-04-24 13:44:50 -04:00
"Villains From Beyond" )
2021-06-24 20:40:40 -04:00
export bottle = "oriol-gomez"
2021-04-24 13:44:50 -04:00
export winVer = "win7"
2024-01-26 04:11:26 -05:00
download " ${ ipfsGateway } /ipfs/QmWx271xuk3Mv9XTBoVu5BDJvXFZdasawC2nhtV21WAaUU?filename=villains_en.zip "
2023-06-25 21:47:37 -04:00
install_wine_bottle speechsdk
2021-04-24 13:44:50 -04:00
unzip -d " $WINEPREFIX /drive_c/Program Files/villains from beyond " " ${ cache } /villains_en.zip "
2021-04-25 22:45:24 -04:00
find " ${ WINEPREFIX } " -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \;
2021-04-24 13:44:50 -04:00
add_launcher "c:\Program Files\villains from beyond\game.exe"
; ;
2021-01-04 08:36:24 -05:00
"VIP Mud" )
2023-06-24 19:04:44 -04:00
download "http://gmagames.com/vipmud20016.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll"
2021-01-04 08:36:24 -05:00
export winVer = "win7"
2022-10-23 12:34:34 -04:00
install_wine_bottle vb6run dx8vb speechsdk
2021-01-04 08:36:24 -05:00
wine " ${ cache } /vipmud20016.exe " /silent
mkdir -p " ${ HOME } /.local/wine/vip-mud/drive_c/users/ ${ USER } /Documents/VIP Mud "
2023-06-24 19:04:44 -04:00
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient32.dll' -exec cp -v " ${ cache } /nvda2speechd32.dll " "{}" \;
2021-01-04 08:36:24 -05:00
add_launcher "c:\Program Files\VIPMud 2.0\vipmud2.exe"
echo
echo "When you first launch VIP Mud You will be presented with several inaccessible dialogs."
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."
2021-01-04 12:31:18 -05:00
echo "In each subsequent launch, you will need to hit enter a couple times before it starts speaking."
2023-02-08 20:26:51 -05:00
alert
2021-01-04 08:36:24 -05:00
; ;
2021-07-23 18:51:44 -04:00
"Warsim" )
get_installer "Warsim Full Game.zip" "https://huw2k8.itch.io/warsim"
2023-12-24 20:13:49 -05:00
export WINEARCH = win64
2021-07-23 18:51:44 -04:00
export winVer = "win7"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files/Warsim/ " " ${ cache } /Warsim Full Game.zip "
add_launcher "c:\Program Files\Warsim\Warsim.exe"
; ;
2023-04-16 20:23:30 -04:00
"Wave of the Undead" )
2023-04-16 23:42:05 -04:00
export WINEARCH = win64
2023-04-16 20:23:30 -04:00
export winVer = "win7"
2023-08-27 18:55:08 -04:00
download "https://dl.dropbox.com/scl/fi/ukvou0y4gwg21nhhdpj40/Wave-of-the-Undead-Setup.exe?rlkey=4xnuwicpmbkx6w2jo2i56mijg" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
2023-04-16 20:23:30 -04:00
install_wine_bottle
2023-08-27 18:55:08 -04:00
wine " ${ cache } /Wave-of-the-Undead-Setup.exe " &
2023-04-16 23:42:05 -04:00
xdotool sleep 20 key Alt+n sleep 2 key Alt+n sleep 2 key Alt+n
xdotool sleep 2 key Alt+i
xdotool sleep 20 key Alt+n
xdotool sleep 2 key space
xdotool sleep 2 key Alt+f
wineserver -w
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
2023-08-27 18:55:08 -04:00
add_launcher "c:\Program Files (x86)\Wave Of The Undead\wave_of_the_undead.exe"
2023-04-16 20:23:30 -04:00
; ;
2022-08-24 01:33:15 -04:00
"Wolf Games Launcher" )
download "https://sightlesswolf.com/wg-release.zip" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll"
export WINEARCH = win64
export winVer = "win7"
install_wine_bottle
unzip -d " $WINEPREFIX /drive_c/Program Files " " ${ cache } /wg-release.zip "
find " ${ WINEPREFIX } " -type f -name 'nvdaControllerClient64.dll' -exec cp -v " ${ cache } /nvda2speechd64.dll " "{}" \;
add_launcher "c:\Program Files\wg-release\WolfGames.exe"
; ;
2020-12-25 16:16:55 -05:00
"World of War" )
2022-10-02 15:04:16 -04:00
export bottle = "nyanchan"
2020-12-25 16:16:55 -05:00
export winVer = "win7"
download "https://www.agarchive.net/games/nyanchan/world%20of%20war%20English.7z"
2023-06-25 21:47:37 -04:00
install_wine_bottle
2022-10-02 15:04:16 -04:00
7z x -o" $WINEPREFIX /drive_c/nyanchangame " " ${ cache } /world of war English.7z "
add_launcher "c:\nyanchangame\world of war English\world of war.exe"
2020-12-25 16:16:55 -05:00
; ;
2021-02-19 12:58:11 -05:00
"Donate" )
open_url "https://ko-fi.com/stormux"
2020-09-01 14:39:39 -04:00
; ;
2020-09-01 18:29:07 -04:00
"Become a Patron" )
2021-08-22 18:19:00 -04:00
open_url "https://2mb.games/product/2mb-patron/"
2020-09-01 14:39:39 -04:00
; ;
2020-08-27 15:42:24 -04:00
*)
2023-12-03 08:16:55 -05:00
[ [ " $agmNoLaunch " != "true" ] ] && [ [ -n " ${ game } " ] ] && echo " Game \" ${ game } \" not found. "
[ [ " $agmNoLaunch " != "true" ] ] && exit 1
2020-08-27 15:42:24 -04:00
; ;
esac
2023-12-03 08:16:55 -05:00
[ [ " $agmNoLaunch " != "true" ] ] && winetricks sandbox
2020-08-27 15:42:24 -04:00
2023-12-03 08:16:55 -05:00
[ [ " $agmNoLaunch " != "true" ] ] && exit 0