diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 676277d..c40f698 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -152,12 +152,6 @@ checklist() { errorList+=("Critical: Curl is not installed. Critical functionality will not work.") fi packageList+=("curl") - if command -v wget &> /dev/null ; then - [[ $# -eq 0 ]] && echo "Wget is installed." - else - errorList+=("Critical: Wget is not installed. You will not be able to install any games.") - fi - packageList+=("wget") if command -v dialog &> /dev/null ; then [[ $# -eq 0 ]] && echo "Dialog is installed." else @@ -290,7 +284,7 @@ download() { fi # Skip if the item is in cache. test -e "${cache}/${dest}" && continue - if ! wget -4 -O "${cache}/${dest}" "${i}" ; then + if ! curl -L4 --output "${cache}/${dest}" "${i}" ; then echo "Could not download \"$i\"..." exit 1 fi @@ -753,6 +747,10 @@ game_launcher() { fi if [[ "$game" =~ laser-breakout ]]; then pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd & + "${0%/*}/speech/speak_window_title.sh" play.exe & + fi + if [[ "$game" =~ light-battles ]]; then + pgrep -u "$USER" nvda2speechd &> /dev/null || ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd & fi if [[ "$game" =~ ^bokurano-daibouken-2\| ]]; then "${0%/*}/speech/clipboard_translator.sh" play.exe bokurano-daibouken2 & @@ -984,7 +982,7 @@ gameList=( "Duck Hunt" "DynaMan" "Easter Quest" - #"Endless Runner" + "Endless Runner" "Entombed" "ESP Pinball Classic" "ESP Pinball Extreme" @@ -1005,8 +1003,8 @@ gameList=( "Judgement Day" "Kitchensinc Games" "Kringle Crash" - #"Laser Breakout" - #"Light Battles" + "Laser Breakout" + "Light Battles" "Light Cars" "Lockpick" "Lone Wolf" @@ -1047,7 +1045,7 @@ gameList=( "Sequence Storm" #"Shades of Doom 1.2" "Shades of Doom" - "Shadow Line" + #"Shadow Line" "Shooter" "Silver Dollar" "Slender Lost Vision" @@ -1083,8 +1081,8 @@ gameList=( "World of War" ) -# Make sure the minimum of curl, sox, wget, wine, and winetricks are installed -for i in curl sox wget wine winetricks ; do +# Make sure the minimum of curl, sox, wine, and winetricks are installed +for i in curl sox wine winetricks ; do if ! command -v $i &> /dev/null ; then echo "Please install $i before continuing." exit 1 @@ -1180,7 +1178,7 @@ case "${game}" in install_wine_bottle speechsdk download "http://www.vgstorm.com/aac/aac.zip" "https://www.agarchive.net/games/vg/adventure%20at%20c%20stages.7z" unzip -d "$WINEPREFIX/drive_c/Program Files/aac" "${cache}/aac.zip" - 7z e -o"$WINEPREFIX/drive_c/Program Files/aac/stages" "${cache}/adventure at c stages.7z" + 7z x -o"$WINEPREFIX/drive_c/Program Files/aac/stages" "${cache}/adventure at c stages.7z" add_launcher "c:\Program Files\aac\aac.exe" ;; "Alien Outback") @@ -1908,7 +1906,7 @@ case "${game}" in "Endless Runner") install_wine_bottle speechsdk download "http://www.masonasons.me/softs/EndlessRunner.7z" - 7z e -y -o"$WINEPREFIX/drive_c/Program Files/Endless Runner" "${cache}/EndlessRunner.7z" -prunner + 7z x -y -o"$WINEPREFIX/drive_c/Program Files/Endless Runner" "${cache}/EndlessRunner.7z" -prunner find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \; add_launcher "c:\Program Files\Endless Runner\runner.exe" ;; @@ -1921,7 +1919,7 @@ case "${game}" in download "http://blind-games.com/newentombed/EntombedSetup.exe" "https://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe" "https://stormgames.wolfe.casa/downloads/Entombed.exe.config" "https://stormgames.wolfe.casa/downloads/mfplat.dll" mkdir -p "${WINEPREFIX}/drive_c/temp" pushd "${WINEPREFIX}/drive_c/temp" - 7z e "${cache}/SSCERuntime-ENU.exe" + 7z x "${cache}/SSCERuntime-ENU.exe" wine msiexec /i "${WINEPREFIX}/drive_c/temp/SSCERuntime_x86-ENU.msi" /q rm * popd @@ -2064,8 +2062,8 @@ case "${game}" in export winVer="win10" install_wine_bottle ie8 vcrun2015 speechsdk # This download url breaks the download function, so grab it manually. - wget -O "${cache}/Hearthstone.exe" "https://us.battle.net/download/getInstaller?os=win&installer=Hearthstone-Setup.exe" - wget -O "${cache}/Hearthstone_patch.zip" "https://github.com/HearthstoneAccess/HearthstoneAccess/releases/latest/download/patch.zip" + 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" 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 "{}" \; @@ -2081,7 +2079,7 @@ case "${game}" in 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 e -o"$WINEPREFIX/drive_c/Program Files/bsc-key-generator" "${cache}/BSC unlock code generator.7z" + 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/Hunter/config.dat" command -v unix2dos &> /dev/null && unix2dos "$WINEPREFIX/drive_c/Program Files/Hunter/config.dat" || echo "Warning! You do not have unix2dos or dos2unix installed, Hunter may not work!" if command -v xclip &> /dev/null && command -v xdotool &> /dev/null ; then @@ -2160,17 +2158,18 @@ EOF export bottle="nyanchan" export winVer="win7" install_wine_bottle - download "https://www.agarchive.net/games/nyanchan/laser%20breakout.7z" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll" - 7z e -o"$WINEPREFIX/drive_c/nyanchangame/laser breakout" "$cache/laser breakout.7z" + 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" + 7z x -o"$WINEPREFIX/drive_c/nyanchangame/" "$cache/laser breakout.7z" find "${WINEPREFIX}" -type f -name 'nvdaControllerClient.dll' -exec cp -v "${cache}/nvda2speechd32.dll" "{}" \; + cp -v "$cache/laser-breakout-options.dat" "$WINEPREFIX/drive_c/nyanchangame/laser breakout/options.dat" add_launcher "c:\nyanchangame\laser breakout\play.exe" ;; "Light Battles") export winVer="win7" - install_wine_bottle speechsdk - download "https://prometheus-enterprises.com/games/CoL.exe" - 7z e -o"$WINEPREFIX/drive_c/Program Files/Light Battles" "${cache}/CoL.exe" - rm -fv "${WINEPREFIX}/drive_c/Program Files/Light Battles/nvdaControllerClient.dll" + install_wine_bottle + download "https://prometheus-enterprises.com/games/CoL.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll" + 7z x -o"$WINEPREFIX/drive_c/Program Files/Light Battles" "${cache}/CoL.exe" + find "${WINEPREFIX}" -type f -name "nvdaControllerClient.dll" -exec cp -v "$cache/nvda2speechd32.dll" "{}" \; add_launcher "c:\Program Files\Light Battles\battles.exe" ;; "Light Cars") @@ -2236,7 +2235,7 @@ EOF export bottle="nyanchan" export winVer="win7" install_wine_bottle speechsdk - download "https://www.nyanchangames.com/softs/MbSetupE.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd64.dll" + download "https://www.nyanchangames.com/softs/MbSetupE.exe" "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd32.dll" wine "${cache}/MbSetupE.exe" & xdotool sleep 10 key Return wineserver -w @@ -2505,7 +2504,7 @@ EOF install_wine_bottle unzip -d "$WINEPREFIX/drive_c/Program Files/sequence-storm" "${cache}/sequence-storm-win64.zip" write_sequence_storm_reader - wget -O "$WINEPREFIX/drive_c/Program Files/sequence-storm/settings.json" "https://stormgames.wolfe.casa/downloads/sequencestorm-settings.json" + curl -L --output "$WINEPREFIX/drive_c/Program Files/sequence-storm/settings.json" "https://stormgames.wolfe.casa/downloads/sequencestorm-settings.json" add_launcher "c:\Program Files\sequence-storm\SequenceStorm.exe" ;; "Shades of Doom 1.2") @@ -2522,17 +2521,17 @@ EOF add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe" ;; "Shadow Line") - export winVer="win7" + export winVer="win8" speechsdk install_wine_bottle download "https://www.mm-galabo.com/sr/Download_files_srfv/shadowrine_fullvoice3.171.exe" - wine "${cache}/shadowrine_fullvoice3.171.exe" /sp- & - xdotool sleep 30 key --clearmodifiers --delay=75 Return + wine "${cache}/shadowrine_fullvoice3.171.exe" /sp- + xdotool sleep 30 key --clearmodifiers --delay=500 Return xdotool key --clearmodifiers --delay=500 Return xdotool key --clearmodifiers --delay=500 Return xdotool key --clearmodifiers --delay=500 Return xdotool sleep 300 key --clearmodifiers --delay=500 Down xdotool key --clearmodifiers --delay=500 space - xdotool key --clearmodifiers --delay=500 alt+f + xdotool key --clearmodifiers --delay=500 alt+i wineserver -w add_launcher "c:\Program Files\GalaxyLaboratory\ShadowRine_FullVoice\play_sr.exe" ;; @@ -2567,10 +2566,7 @@ EOF export winVer="win7" install_wine_bottle speechsdk download "https://www.agarchive.net/games/jeqoconGames/sonic%20the%20hedgehog.7z" - 7z e -o"$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog" "${cache}/sonic the hedgehog.7z" - cp -v "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.wav "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.ogg "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.mp3 "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/sfx/ - cp -v "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.wav "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.ogg "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.mp3 "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/music/ - cp -v "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.wav "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.ogg "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/*.mp3 "$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog"/angles/ + 7z x -o"$WINEPREFIX/drive_c/Program Files/Sonic the Hedgehog" "${cache}/sonic the hedgehog.7z" add_launcher "c:\Program Files\Sonic the Hedgehog\sth.exe" ;; "Sonic Zoom") @@ -2613,8 +2609,7 @@ EOF export winVer="win7" install_wine_bottle speechsdk download "https://www.agarchive.net/games/jeqoconGames/super%20mario%20bros.7z" - 7z e -o"$WINEPREFIX/drive_c/Program Files/Super Mario Bros" "${cache}/super mario bros.7z" - cp -v "$WINEPREFIX/drive_c/Program Files/Super Mario Bros"/*.wav "$WINEPREFIX/drive_c/Program Files/Super Mario Bros"/*.ogg "$WINEPREFIX/drive_c/Program Files/Super Mario Bros"/mario/ + 7z x -o"$WINEPREFIX/drive_c/Program Files/Super Mario Bros" "${cache}/super mario bros.7z" add_launcher "c:\Program Files\Super Mario Bros\Mario.exe" ;; "Survive the Wild") @@ -2635,7 +2630,7 @@ EOF download "https://www.kaldobsky.com/audiogames/Swamp.zip" unzip -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/Swamp.zip" # make sure the latest version is installed. - if wget -O "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then + if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then unzip -o -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip" fi wine 'c:\Program Files\swamp\checkup.exe' /verysilent @@ -2718,7 +2713,7 @@ EOF "Tomb Hunter") install_wine_bottle speechsdk download "http://masonasons.me/softs/th_freeware_password_is_tombhunter.7z" - 7z e -o"$WINEPREFIX/drive_c/Program Files/Tomb Hunter" "${cache}/th_freeware_password_is_tombhunter.7z" -ptombhunter + 7z x -o"$WINEPREFIX/drive_c/Program Files/Tomb Hunter" "${cache}/th_freeware_password_is_tombhunter.7z" -ptombhunter find "${WINEPREFIX}" -type f -name "nvdaControllerClient32.dll" -exec rm -fv "{}" \; add_launcher "c:\Program Files\Tomb Hunter\th.exe" ;; @@ -2767,7 +2762,7 @@ export norh=false # Must install a voice, and rhvoice works easily with 64 bit. 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 e -o"$WINEPREFIX/drive_c/Program Files/bsc-key-generator" "${cache}/BSC unlock code generator.7z" + 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/Troopanum 2.0/config.dat" command -v unix2dos &> /dev/null && unix2dos "$WINEPREFIX/drive_c/Program Files/Troopanum 2.0/config.dat" || echo "Warning! You do not have unix2dos or dos2unix installed, Troopanum 2.0 may not work!" if command -v xclip &> /dev/null && command -v xdotool &> /dev/null ; then