diff --git a/audiogame-manager.sh b/audiogame-manager.sh index ed4747e..e956f87 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -307,6 +307,9 @@ download() { dest="${dest//%20/ }" # Remove the destination file if it is empty. test -s "${cache}/${dest}" || rm -f "${cache}/${dest}" 2> /dev/null + if [[ "${redownload}" == "true" ]] && [[ -e "${cache}/${dest}" ]]; then + rm -v "${cache}/${dest}" + fi # Skip if the item is in cache. test -e "${cache}/${dest}" && continue if ! wget -4 -O "${cache}/${dest}" "${i}" ; then @@ -696,7 +699,9 @@ game_launcher() { exit 0 fi if [[ "$game" =~ warsim ]]; then - wine "$winePath\\$wineExec" + pushd "$(winepath "$winePath")" + wine "$wineExec" + popd exit 0 fi if [[ -d "${WINEPREFIX}/drive_c/windows/syswow64" ]]; then @@ -871,7 +876,7 @@ gameList=( "Sequence Storm" #"Shades of Doom 1.2" "Shades of Doom" - #"Silver Dollar" + "Silver Dollar" "Slender Lost Vision" "Sonic Zoom" #"Space Defender" @@ -927,6 +932,7 @@ declare -A command=( [l:]="Launch given game without interactive audiogame-manager menu specified by its wine bottle." [N]="No cache, delete the installer after it has been extracted." [P]="Print a list of packages required by audiogame-manager." + [R]="Redownload. Removes old versions of packages from cache before installing." [r]="Remove a game. This will delete all game data." ) @@ -951,6 +957,7 @@ while getopts "${args}" i ; do l) game_launcher "${OPTARG}";; N) noCache="true";; P) checklist quiet;; + R) redownload="true";; r) game_removal;; esac done @@ -959,7 +966,10 @@ done case "${game}" in "A Hero's Call") export winVer="win7" - install_wine_bottle dotnet40 xna31 speechsdk corefonts + install_wine_bottle xna31 speechsdk corefonts + # Dotnet is evil. That is all. + DISPLAY="" winetricks -q dotnet40 + winetricks -k # Really! download "http://files.OutOfSightGames.com/files/a-heros-call.zip" "https://stormgames.wolfe.casa/downloads/nvdaControllerClient32.dll" unzip -d "$WINEPREFIX/drive_c/Program Files" "${cache}/a-heros-call.zip" find "${WINEPREFIX}" -type f -name 'nvdaControllerClient32.dll' -exec cp -v "${cache}/nvdaControllerClient32.dll" "{}" \; @@ -1430,7 +1440,7 @@ case "${game}" in ;; "Constant Battle") export winVer="win7" - install_wine_bottle speechsdk + install_wine_bottle cjkfonts speechsdk download "https://renovagames.com/bc/BC-Setup.exe" wine "${cache}/BC-Setup.exe" /silent #add_launcher "c:\Program Files\" @@ -1503,7 +1513,10 @@ case "${game}" in "Entombed") export winVer="win7" #install_wine_bottle dotnet35 msvcrt40 speechsdk - install_wine_bottle speechsdk msvcrt40 dotnet48 xna40 + install_wine_bottle speechsdk msvcrt40 + # Ok, more dotnet. + DISPLAY="" winetricks -q dotnet48 xna40 + winetricks -k # Sigh. download "http://blind-games.com/newentombed/EntombedSetup.exe" wine "${cache}/EntombedSetup.exe" /silent add_launcher "c:\Program Files\Entombed\Entombed.exe" @@ -1592,7 +1605,7 @@ case "${game}" in "Hunter") install_wine_bottle vb6run dx8vb # FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang. - winetricks -q dotnet35 + DISPLAY="" winetricks -q dotnet35 wineserver -k # Damn you, dotnet. download "http://www.agarchive.net/games/bsc/HunterSetup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z" wine "${cache}/HunterSetup.exe" /silent & @@ -1906,6 +1919,10 @@ EOF install_wine_bottle speechsdk download "http://download.dracoent.com/Windows/SilverDollarSetup.exe" wine "${cache}/SilverDollarSetup.exe" /silent + # warning warning warning: Do not change location, or installer will not function. + # FIXME: Hacky, but it works. Install dotnet40 by itself so it actually doesn't hang. + DISPLAY="" winetricks -q dotnet40 + wineserver -k # Damn you, dotnet. add_launcher "c:\Program Files\Draconis Entertainment\Silver Dollar\SilverDollarGui.exe" ;; "Slender Lost Vision") @@ -2048,7 +2065,7 @@ EOF "Troopanum2") install_wine_bottle vb6run dx8vb # FIXME: Hacky, but it works. Install dotnet35 by itself so it actually doesn't hang. - winetricks -q dotnet35 + DISPLAY="" winetricks -q dotnet35 wineserver -k # Damn you, dotnet. download "https://www.agarchive.net/games/bsc/Troopanum2Setup.exe" "https://www.agarchive.net/games/bsc/BSC%20unlock%20code%20generator.7z" wine "${cache}/Troopanum2Setup.exe" /silent &