From 9515c25ea3e7c927026ab876a1462218725b26cf Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 7 Aug 2025 20:18:11 -0400 Subject: [PATCH] A ton of updates. We now have working 32 bit wine, Swamp installs and works, many other 32 bit games should as well. Improvements to the user interface both GUI and CLI. Tons of bug fixes. Not quite yet ready for mainstream testing, but getting closer. --- .includes/bottle.sh | 112 +++++++++-------- .includes/dialog-interface.sh | 13 +- .install/A Hero's Call.sh | 2 +- .install/Adrian's Doom.sh | 2 +- .install/Adventurers At C.sh | 2 +- .install/Alien Outback.sh | 2 +- .install/Angel Gift.sh | 2 +- .install/BG 15 Puzzle.sh | 2 +- .install/BG 2048.sh | 2 +- .install/BG Aces Up Solitaire.sh | 2 +- .install/BG Alchemy.sh | 2 +- .install/BG Battleship.sh | 2 +- .install/BG Boggle.sh | 2 +- .install/BG Boxes.sh | 2 +- .install/BG Brainiac.sh | 2 +- .install/BG Chess Challenge.sh | 2 +- .install/BG Code Breaker.sh | 2 +- .install/BG Cribbage Solitaire.sh | 2 +- .install/BG Cribbage.sh | 2 +- .install/BG Crossword Puzzle.sh | 2 +- .install/BG Draw Dominoes.sh | 2 +- .install/BG Elevens Solitaire.sh | 2 +- .install/BG Fives Dominoes.sh | 2 +- .install/BG Free Cell Solitaire.sh | 2 +- .install/BG Golf Solitaire.sh | 2 +- .install/BG Hangman.sh | 2 +- .install/BG Hearts.sh | 2 +- .install/BG Klondike Solitaire.sh | 2 +- .install/BG LAP.sh | 2 +- .install/BG Master Mind.sh | 2 +- .install/BG Mine Sweeper.sh | 2 +- .install/BG Nomination Whist.sh | 2 +- .install/BG Penguin Solitaire.sh | 2 +- .install/BG Poker Solitaire.sh | 2 +- .install/BG Pyramid Solitaire.sh | 2 +- .install/BG Scorpion Solitaire.sh | 2 +- .install/BG Scrabble.sh | 2 +- .install/BG Simon.sh | 2 +- .install/BG Spider Solitaire.sh | 2 +- .install/BG Sudoku.sh | 2 +- .install/BG Tablic Solitaire.sh | 2 +- .install/BG Tri-Peaks Solitaire.sh | 2 +- .install/BG Twenty 20 Cricket.sh | 2 +- .install/BG Uno.sh | 2 +- .install/BG Word Builder.sh | 2 +- .install/BG Word Candy.sh | 2 +- .install/BG Word Jumble.sh | 2 +- .install/BG Word Maze.sh | 2 +- .install/BG Word Solitaire.sh | 2 +- .install/BG Word Target.sh | 2 +- .install/BG Word Yahtzee.sh | 2 +- .install/BG Yahtzee.sh | 2 +- .install/Battle Zone.sh | 2 +- .install/Battle of the Hunter.sh | 2 +- .install/Bloodshed.sh | 2 +- .install/Bokurano Daibouken 3.sh | 2 +- .install/Breed Memorial.sh | 2 +- .install/Castaways 2.sh | 2 +- .install/Castaways.sh | 2 +- .install/Change Reaction.sh | 2 +- .install/Chopper Challenge.sh | 2 +- .install/Clashes of the Sky.sh | 2 +- .install/Constant Battle.sh | 2 +- .install/Crazy Tennis.sh | 2 +- .install/Danger on the Wheel.sh | 2 +- .install/Dark Destroyer.sh | 2 +- .install/Daytona and the Book of Gold.sh | 2 +- .install/Deathmatch.sh | 2 +- .install/Dog Who Hates Toast.sh | 2 +- .install/Dreamland.sh | 2 +- .install/Duck Hunt.sh | 2 +- .install/DynaMan.sh | 2 +- .install/ESP Pinball Classic.sh | 2 +- .install/ESP Pinball Extreme.sh | 2 +- .install/Endless Runner.sh | 2 +- .install/Entombed.sh | 4 +- .install/Eurofly.sh | 4 +- .install/Extant.sh | 2 +- .install/GMA Tank Commander.sh | 2 +- .install/Galactic Strike.sh | 2 +- .install/Hammer of Glory.sh | 2 +- .install/Kitchensinc Games.sh | 2 +- .install/Lone Wolf.sh | 2 +- .install/Lost.sh | 2 +- .install/Lunimals.sh | 2 +- .install/Manamon 2.sh | 2 +- .install/Manamon.sh | 2 +- .install/Marina Break.sh | 2 +- .install/Monkey Business.sh | 2 +- .install/Oh Shit.sh | 2 +- .install/Palace Punch Up.sh | 2 +- .install/Paladin of the Sky.sh | 2 +- .install/Park Boss.sh | 2 +- .install/Paw Prints.sh | 2 +- .install/Penta Path.sh | 2 +- .install/Perilous Hearts.sh | 2 +- .install/Preludeamals.sh | 2 +- .install/Psycho Strike.sh | 2 +- .install/Puzzle Divided.sh | 2 +- .install/Rettou.sh | 2 +- .install/Revelation.sh | 2 +- .install/Rhythm Rage.sh | 2 +- .install/Road to Rage Offline.sh | 2 +- .install/Sammy Center.sh | 2 +- ...d the Castle of Witchcraft and Wizardry.sh | 2 +- .install/Scramble!.sh | 2 +- .install/Screaming Strike 2.sh | 2 +- .install/Shades of Doom 1.2.sh | 2 +- .install/Shades of Doom.sh | 2 +- .install/Silver Dollar.sh | 2 +- .install/Sketchbook.sh | 2 +- .install/Smashathon.sh | 2 +- .install/Sonic Zoom.sh | 2 +- .install/Sonic the Hedgehog.sh | 2 +- .install/Star Trek Final Conflict.sh | 2 +- .install/Super Dogs Bone Hunt.sh | 2 +- .install/Super Mario Bros.sh | 2 +- .install/Swamp.sh | 4 +- .install/Tactical Battle.sh | 2 +- .install/Tarot Assistant.sh | 2 +- .install/Ten Pin Alley.sh | 2 +- .install/Three D velocity.sh | 4 +- .install/Tomb Hunter.sh | 2 +- .install/Triple Triad.sh | 2 +- .install/Tube Sim.sh | 2 +- .install/Ultimate SounDoku.sh | 2 +- .install/Undead Assault.sh | 2 +- .install/VIP Mud.sh | 2 +- .install/Villains From Beyond.sh | 2 +- audiogame-manager.sh | 118 +++++++++++++++++- 130 files changed, 309 insertions(+), 196 deletions(-) diff --git a/.includes/bottle.sh b/.includes/bottle.sh index 224491e..9bce43b 100644 --- a/.includes/bottle.sh +++ b/.includes/bottle.sh @@ -6,12 +6,35 @@ get_bottle() { architecture="${architecture/win/}" export WINEPREFIX="$HOME/.local/wine${architecture}" - # Set wine executables based on architecture + # Set wine executables based on architecture - FOR LAUNCHER if [[ "$architecture" == "32" ]] && [[ -n "$wine32" ]]; then + # Set environment variables for winetricks compatibility export WINE="$wine32" export WINESERVER="$wine32server" + # Also prepend to PATH for regular wine calls + export PATH="${wine32%/*}:$PATH" + # Unset WINEARCH to avoid conflicts with system wine + unset WINEARCH + echo "DEBUG: Using managed wine32 for LAUNCHER (WINE=$WINE, PATH updated, WINEARCH unset)" else - unset WINE WINESERVER # Use system defaults + # Clear wine variables for system wine + unset WINE WINESERVER WINEARCH + echo "DEBUG: Using system wine for LAUNCHER (architecture $architecture)" + fi +} + +# Set wine environment for installation (called from install_wine_bottle) +set_wine_env() { + local architecture="$1" + if [[ "$architecture" == "32" ]] && [[ -n "$wine32" ]]; then + export WINE="$wine32" + export WINESERVER="$wine32server" + export PATH="${wine32%/*}:$PATH" + unset WINEARCH + echo "DEBUG: Set wine32 environment for INSTALLATION (WINE=$WINE)" + else + unset WINE WINESERVER WINEARCH + echo "DEBUG: Set system wine environment for INSTALLATION" fi } @@ -81,13 +104,15 @@ install_rhvoice() { } install_wine_bottle() { - # Respect explicit WINEARCH settings, otherwise default to wine64 + # Simplified - bottles are now pre-created with dependencies + # Just set up the wine environment for game installation + + # Determine architecture from WINEARCH or speechsdk dependency if [[ -z "$WINEARCH" ]]; then - # Default behavior: wine32 only for legacy speechsdk, wine64 for everything else if [[ "$*" =~ speechsdk ]]; then export WINEARCH="win32" else - export WINEARCH="win64" + export WINEARCH="win64" fi fi @@ -101,63 +126,40 @@ install_wine_bottle() { export WINEPREFIX="$HOME/.local/wine${architecture}" - # Check if bottle already exists and is properly initialized - local bottleExists=false - if [[ -d "$WINEPREFIX" ]] && [[ -f "$WINEPREFIX/system.reg" ]] && [[ -f "$WINEPREFIX/user.reg" ]]; then - bottleExists=true - echo "Using existing wine${architecture} bottle at $WINEPREFIX" - fi + # Set wine environment + set_wine_env "$architecture" - # Only do basic setup if bottle doesn't exist - if [[ "$bottleExists" == false ]]; then - echo -n "Creating new wine${architecture} bottle - Using " - wine --version - DISPLAY="" wine wineboot -u | agm_progressbox "Wine Setup" "Initializing wine bottle..." + echo "Using pre-configured wine${architecture} bottle at $WINEPREFIX" + + # Install any additional game-specific dependencies if specified + if [[ $# -gt 0 ]]; then + # Filter out dependencies that are already installed in bottle creation + local depsToInstall=() + local alreadyInstalled="speechsdk corefonts isolate_home" - # Install mono and gecko only for new bottles - monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)" - geckoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name "gecko" 2> /dev/null)" - 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" + for dep in "$@"; do + # Skip dependencies already installed during bottle creation + if [[ ! " $alreadyInstalled " =~ " $dep " ]] && [[ ! "$dep" =~ ^win(7|8|10)$ ]]; then + depsToInstall+=("$dep") + fi + done + + if [[ ${#depsToInstall[@]} -gt 0 ]]; then + echo "Installing additional dependencies: ${depsToInstall[*]}" + { + env WINE="$WINE" WINESERVER="$WINESERVER" DISPLAY="${DISPLAY:-:0}" winetricks -q isolate_home "${depsToInstall[@]}" "${winVer:-win7}" ${winetricksSettings} + } | agm_progressbox "Wine Setup" "Installing additional dependencies..." 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 - wine msiexec /i z:"$monoPath" /quiet | agm_progressbox "Wine Setup" "Installing .NET Framework..." - wine msiexec /i z:"$geckoPath" /quiet | agm_progressbox "Wine Setup" "Installing Web Browser support..." - fi - - # Install RHVoice only if needed and not already installed - if [[ "${*}" =~ (speechsdk|sapi) ]]; then - install_rhvoice - fi - - # Setup nvda2speechd for wine64 bottles (only once) - if [[ "${WINEARCH}" == "win64" ]]; then - download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd" - if [[ ! -f "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" ]]; then - cp "${cache}/nvda2speechd" "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" - chmod +x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" - fi - fi - - # Install winetricks dependencies - this is more complex to optimize - # For now, let winetricks handle checking if packages are already installed - if [[ $# -gt 0 ]] || [[ -n "${winVer}" ]] || [[ -n "${winetricksSettings}" ]]; then - winetricks -q isolate_home "$@" "${winVer:-win7}" ${winetricksSettings} | agm_progressbox "Wine Setup" "Installing wine dependencies..." - fi - - # Set default voice for speech-enabled games (only if not already set) - if [[ ${#defaultVoice} -ge 2 ]] && [[ "$*" =~ (speechsdk|sapi) ]]; then - echo "Setting default voice for wine${architecture}." - "${0%/*}/speech/set-voice.sh" -b "wine${architecture}" -r "${defaultRate:-7}" -v "${defaultVoice}" fi } add_launcher() { - local launchSettings="${WINEARCH:-win64}|${1}|${game}" + # Determine architecture from WINEPREFIX path instead of WINEARCH variable + local architecture="win64" # default + if [[ "$WINEPREFIX" =~ wine32 ]]; then + architecture="win32" + fi + local launchSettings="${architecture}|${1}|${game}" shift while [[ $# -gt 0 ]]; do launchSettings+="|$1" diff --git a/.includes/dialog-interface.sh b/.includes/dialog-interface.sh index 5a61196..c096c71 100644 --- a/.includes/dialog-interface.sh +++ b/.includes/dialog-interface.sh @@ -250,23 +250,18 @@ agm_progressbox() { beepPid=$! fi - # Start visual progress dialog with auto-close + # Start visual progress dialog with auto-close, redirect stdin to prevent conflicts yad --progress \ --title="$title" \ --text="$text" \ --auto-close \ --pulsate \ --width=400 \ - --height=100 & + --height=100 /dev/null - agm_msgbox "Bokurano Daibouken 3" "Bokurano Daibouken 3" "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." + agm_msgbox "Bokurano Daibouken 3" "Bokurano Daibouken 3" "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." fi dictFile="" for i in "${HOME}/Downloads/dict.dat" "${HOME}/Desktop/dict.dat" ; do diff --git a/.install/Breed Memorial.sh b/.install/Breed Memorial.sh index 5459864..bdd5661 100644 --- a/.install/Breed Memorial.sh +++ b/.install/Breed Memorial.sh @@ -1,6 +1,6 @@ # download "https://hirotaka2014.sakura.ne.jp/mh0406/game/breed_memorial.zip" "${nvdaControllerClientDll}" export winVer="win7" -install_wine_bottle cjkfonts speechsdk +install_wine_bottle cjkfonts install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/breed_memorial.zip" add_launcher "c:\Program Files\Breed memorial\Breed memorial\breed memorial.exe" diff --git a/.install/Castaways 2.sh b/.install/Castaways 2.sh index 7e67396..7689a53 100644 --- a/.install/Castaways 2.sh +++ b/.install/Castaways 2.sh @@ -1,7 +1,7 @@ download "http://www.kaldobsky.com/audiogames/castaways2beta.zip" # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Castaways.sh b/.install/Castaways.sh index 16de149..51fb608 100644 --- a/.install/Castaways.sh +++ b/.install/Castaways.sh @@ -1,7 +1,7 @@ download "https://www.kaldobsky.com/audiogames/castaways.zip" # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Change Reaction.sh b/.install/Change Reaction.sh index 3969292..e4638cc 100644 --- a/.install/Change Reaction.sh +++ b/.install/Change Reaction.sh @@ -1,7 +1,7 @@ download "https://download.dracoent.com/Windows/ChangeReactionSetup.exe" # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/Chopper Challenge.sh b/.install/Chopper Challenge.sh index debe468..dad9ecf 100644 --- a/.install/Chopper Challenge.sh +++ b/.install/Chopper Challenge.sh @@ -1,7 +1,7 @@ # # Freezes at menu download "https://www.agarchive.net/games/XSight/chopper%20challenge%20setup.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/chopper challenge setup.exe" /silent & xdotool sleep 5 key y 2> /dev/null wineserver -w diff --git a/.install/Clashes of the Sky.sh b/.install/Clashes of the Sky.sh index 8875de7..865304f 100644 --- a/.install/Clashes of the Sky.sh +++ b/.install/Clashes of the Sky.sh @@ -1,6 +1,6 @@ get_installer "clashes_of_the_sky.zip" "https://tunmi13.itch.io/clashes-of-the-sky" # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/clashes_of_the_sky.zip" add_launcher 'c:\Program Files\clashes_of_the_sky\clash.exe' diff --git a/.install/Constant Battle.sh b/.install/Constant Battle.sh index 7bafb60..014b895 100644 --- a/.install/Constant Battle.sh +++ b/.install/Constant Battle.sh @@ -1,6 +1,6 @@ # export winVer="win7" download "https://renovagames.com/bc/BC-Setup.exe" -install_wine_bottle cjkfonts speechsdk +install_wine_bottle cjkfonts wine "${cache}/BC-Setup.exe" /silent #add_launcher "c:\Program Files\" diff --git a/.install/Crazy Tennis.sh b/.install/Crazy Tennis.sh index 24b3188..592e06b 100644 --- a/.install/Crazy Tennis.sh +++ b/.install/Crazy Tennis.sh @@ -1,4 +1,4 @@ download "https://www.agarchive.net/games/VIP/crazy%20tennis%20setup.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/crazy tennis setup.exe" /sp- /silent add_launcher "c:\Program Files\Crazytennis\crazytennis.exe" diff --git a/.install/Danger on the Wheel.sh b/.install/Danger on the Wheel.sh index b013391..6cc3fd7 100644 --- a/.install/Danger on the Wheel.sh +++ b/.install/Danger on the Wheel.sh @@ -1,6 +1,6 @@ download "http://oriolgomez.com/games/wheel_en.zip" # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/danger on the wheel" "${cache}/wheel_en.zip" add_launcher "c:\Program Files\danger on the wheel\game.exe" diff --git a/.install/Dark Destroyer.sh b/.install/Dark Destroyer.sh index 1286575..ee372c1 100644 --- a/.install/Dark Destroyer.sh +++ b/.install/Dark Destroyer.sh @@ -1,6 +1,6 @@ # # No custom bottle needed - use standard wine path based on architecture download "https://www.agarchive.net/games/pb/Dark-Destroyer-Setup.exe" -install_wine_bottle speechsdk ie6 +install_wine_bottle ie6 wine "$cache/Dark-Destroyer-Setup.exe" /silent add_launcher 'c:\Pbgames\Dark_destroyer\darkdestroyer.exe' diff --git a/.install/Daytona and the Book of Gold.sh b/.install/Daytona and the Book of Gold.sh index f9bb131..7cc6e0f 100644 --- a/.install/Daytona and the Book of Gold.sh +++ b/.install/Daytona and the Book of Gold.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://kaldobsky.com/audiogames/Daytona.zip" -install_wine_bottle vb6run dx8vb quartz corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Deathmatch.sh b/.install/Deathmatch.sh index 4cb0cb2..dc636c9 100644 --- a/.install/Deathmatch.sh +++ b/.install/Deathmatch.sh @@ -1,6 +1,6 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.agarchive.net/games/realitySoftware/death%20match%20project%20alpha%20setup.exe" -install_wine_bottle quartz speechsdk +install_wine_bottle quartz wine "${cache}/death match project alpha setup.exe" /silent add_launcher "c:\Program Files\reality software\death match project alpha\dm1.exe" diff --git a/.install/Dog Who Hates Toast.sh b/.install/Dog Who Hates Toast.sh index dd53b72..040fd92 100644 --- a/.install/Dog Who Hates Toast.sh +++ b/.install/Dog Who Hates Toast.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.kaldobsky.com/audiogames/dogwhohatestoast.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Dreamland.sh b/.install/Dreamland.sh index d8cde22..287b2af 100644 --- a/.install/Dreamland.sh +++ b/.install/Dreamland.sh @@ -1,4 +1,4 @@ download https://scwl-1251129685.cos.ap-shanghai.myqcloud.com/dreamland/Win/DreamLandSetup.exe -install_wine_bottle speechsdk ole32 +install_wine_bottle ole32 wine "${cache}/DreamLandSetup.exe" /silent add_launcher "c:\Program Files\DreamLand\DreamLand.exe" \ No newline at end of file diff --git a/.install/Duck Hunt.sh b/.install/Duck Hunt.sh index 1d3c55a..c9f2511 100644 --- a/.install/Duck Hunt.sh +++ b/.install/Duck Hunt.sh @@ -1,5 +1,5 @@ # Uses standard wine path based on architecture (win32/win64) download "http://files.l-works.net/dhsetup.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/dhsetup.exe" /silent add_launcher "c:\Program Files\Lworks\Duck Hunt\duckhunt.exe" \ No newline at end of file diff --git a/.install/DynaMan.sh b/.install/DynaMan.sh index b1e807f..750a199 100644 --- a/.install/DynaMan.sh +++ b/.install/DynaMan.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/DMSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/ESP Pinball Classic.sh b/.install/ESP Pinball Classic.sh index bd2a213..04c5187 100644 --- a/.install/ESP Pinball Classic.sh +++ b/.install/ESP Pinball Classic.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/PBCSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/ESP Pinball Extreme.sh b/.install/ESP Pinball Extreme.sh index dbb6bc8..49e3f56 100644 --- a/.install/ESP Pinball Extreme.sh +++ b/.install/ESP Pinball Extreme.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/PBXSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/Endless Runner.sh b/.install/Endless Runner.sh index 5dcc745..b1426f8 100644 --- a/.install/Endless Runner.sh +++ b/.install/Endless Runner.sh @@ -1,4 +1,4 @@ download "http://www.masonasons.me/softs/EndlessRunner.7z" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress 7z "Extracting game files..." x -y -o"$WINEPREFIX/drive_c/Program Files/Endless Runner" "${cache}/EndlessRunner.7z" -prunner add_launcher "c:\Program Files\Endless Runner\runner.exe" diff --git a/.install/Entombed.sh b/.install/Entombed.sh index 38cc2f2..492857e 100644 --- a/.install/Entombed.sh +++ b/.install/Entombed.sh @@ -1,7 +1,7 @@ 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" -# Uses wine32 due to speechsdk dependency +# Uses wine32 due to dependency export winVer="win7" -install_wine_bottle speechsdk msvcrt40 gdiplus ie7 wmp11 mf +install_wine_bottle msvcrt40 gdiplus ie7 wmp11 mf # Ok, more dotnet. LC_ALL=C DISPLAY="" winetricks -q dotnet40 xna40 wineserver -k # Sigh. diff --git a/.install/Eurofly.sh b/.install/Eurofly.sh index 418328c..94b08e7 100644 --- a/.install/Eurofly.sh +++ b/.install/Eurofly.sh @@ -1,8 +1,8 @@ # export winVer="win7" export winetricksSettings="vd=1024x768" -download "https://www.stefankiss.sk/files/eurofly2/Launcher_1.2.zip" "https://www.stefankiss.sk/files/eurofly2/Eurofly_2_ful_setup.exe" -install_wine_bottle speechsdk comctl32 +download "https://www.stefankiss.sk/files/eurofly2/Launcher_1.2.zip" "https://www.stefankiss.sk/files/eurofly2/Eurofly_2_ful_setup.exe" +install_wine_bottle comctl32 wine "${cache}/Eurofly_2_ful_setup.exe" /silent install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Eurofly" "${cache}/Launcher_1.2.zip" add_launcher "c:\Eurofly\launcher.exe" diff --git a/.install/Extant.sh b/.install/Extant.sh index ac5a4a7..bc36403 100644 --- a/.install/Extant.sh +++ b/.install/Extant.sh @@ -1,4 +1,4 @@ download "https://agarchive.net/games/other/extant.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/extant" "${cache}/extant.zip" add_launcher "c:\Program Files\extant\Extant.exe" diff --git a/.install/GMA Tank Commander.sh b/.install/GMA Tank Commander.sh index 56cebb8..44982db 100644 --- a/.install/GMA Tank Commander.sh +++ b/.install/GMA Tank Commander.sh @@ -1,5 +1,5 @@ download "http://www.gmagames.com/gtc120.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb 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 diff --git a/.install/Galactic Strike.sh b/.install/Galactic Strike.sh index 98426cb..5716389 100644 --- a/.install/Galactic Strike.sh +++ b/.install/Galactic Strike.sh @@ -1,6 +1,6 @@ get_installer "Galactic Strike 1.2.zip" "https://fusion-forged-games.itch.io/galactic-strike" export winVer="win10" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Galactic Strike" "${cache}/Galactic Strike 1.2.zip" add_launcher "c:\Program Files\Galactic Strike\Galactic Strike.exe" echo "Use controls wasd to movi and navigate the menu." diff --git a/.install/Hammer of Glory.sh b/.install/Hammer of Glory.sh index f0bd826..9c6e0a1 100644 --- a/.install/Hammer of Glory.sh +++ b/.install/Hammer of Glory.sh @@ -1,6 +1,6 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "http://oriolgomez.com/games/hammer_en.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/hammer of glory" "${cache}/hammer_en.zip" add_launcher "c:\Program Files\hammer of glory\game.exe" diff --git a/.install/Kitchensinc Games.sh b/.install/Kitchensinc Games.sh index 987389e..d267ec6 100644 --- a/.install/Kitchensinc Games.sh +++ b/.install/Kitchensinc Games.sh @@ -1,5 +1,5 @@ download "${ipfsGateway}/ipfs/QmdkLPig6Kp3AZTwKAhjrhhsEuvhFCFhm6SHLUQVeNNYCb?filename=kitchen.tar.xz" -install_wine_bottle vb6run speechsdk dx8vb +install_wine_bottle vb6run dx8vb echo "Extracting files..." tar xf "${cache}/kitchen.tar.xz" -C "$WINEPREFIX/drive_c/Program Files/" add_launcher "c:\Program Files\Kitchen's Sink\gamemenu.exe" diff --git a/.install/Lone Wolf.sh b/.install/Lone Wolf.sh index dc84c46..2775f44 100644 --- a/.install/Lone Wolf.sh +++ b/.install/Lone Wolf.sh @@ -1,5 +1,5 @@ download "http://www.gmagames.com/lw350.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb 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 diff --git a/.install/Lost.sh b/.install/Lost.sh index 1f54ccc..d282288 100644 --- a/.install/Lost.sh +++ b/.install/Lost.sh @@ -1,5 +1,5 @@ # Uses standard wine path based on architecture (win32/win64) download "https://agarchive.net/games/danZ/lost.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lost" "$cache/lost.zip" add_launcher 'c:\Program Files\lost\lost.exe' diff --git a/.install/Lunimals.sh b/.install/Lunimals.sh index 1aabfd9..97afd96 100644 --- a/.install/Lunimals.sh +++ b/.install/Lunimals.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://kaldobsky.com/audiogames/lunimals.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/lunimals" "${cache}/lunimals.zip" wine 'c:\Program Files\lunimals\checkup.exe' /verysilent add_launcher "c:\Program Files\lunimals\Lunimals.exe" diff --git a/.install/Manamon 2.sh b/.install/Manamon 2.sh index 8f0ed39..e0b02d3 100644 --- a/.install/Manamon 2.sh +++ b/.install/Manamon 2.sh @@ -1,5 +1,5 @@ export winVer="win7" download "http://www.vgstorm.com/manamon2/manamon2_installer.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/manamon2_installer.exe" /silent add_launcher "c:\Program Files\VGStorm.com\Manamon 2\rpg.exe" diff --git a/.install/Manamon.sh b/.install/Manamon.sh index 47fe1ed..8eb4f5c 100644 --- a/.install/Manamon.sh +++ b/.install/Manamon.sh @@ -1,5 +1,5 @@ export winVer="win7" download "https://www.vgstorm.com/manamon/manamon_installer.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/manamon_installer.exe" /silent add_launcher "c:\Program Files\VGStorm.com\Manamon\rpg.exe" diff --git a/.install/Marina Break.sh b/.install/Marina Break.sh index 7c82996..6d06459 100644 --- a/.install/Marina Break.sh +++ b/.install/Marina Break.sh @@ -1,7 +1,7 @@ # # Uses standard wine path based on architecture (win32/win64) export winVer="win7" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/MbSetupE.exe" & xdotool sleep 10 key Return wineserver -w diff --git a/.install/Monkey Business.sh b/.install/Monkey Business.sh index d715afa..fc6422e 100644 --- a/.install/Monkey Business.sh +++ b/.install/Monkey Business.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/MBSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/Oh Shit.sh b/.install/Oh Shit.sh index 62aa2d5..1158b9c 100644 --- a/.install/Oh Shit.sh +++ b/.install/Oh Shit.sh @@ -1,6 +1,6 @@ export winVer="win7" export norh="true" # Requires sapi even though uses nvda download "${ipfsGateway}/ipfs/QmQnAJJrt5uABFziQc7enXYrJ74J9GKQSMi8Ry8ebsxfPV?filename=OhShit.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/OhShit.zip" add_launcher "c:\Program Files\oh_shit\OhShit.exe" diff --git a/.install/Palace Punch Up.sh b/.install/Palace Punch Up.sh index 9ca20eb..af5afc1 100644 --- a/.install/Palace Punch Up.sh +++ b/.install/Palace Punch Up.sh @@ -1,4 +1,4 @@ download "https://www.agarchive.net/games/blastbay/palace%20punch-up%20setup.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/palace punch-up setup.exe" /silent add_launcher "c:\Program Files\Palace Punch-up\palace.exe" diff --git a/.install/Paladin of the Sky.sh b/.install/Paladin of the Sky.sh index 6d68821..89220b4 100644 --- a/.install/Paladin of the Sky.sh +++ b/.install/Paladin of the Sky.sh @@ -1,5 +1,5 @@ export winVer="win7" download "http://www.vgstorm.com/cod/pots/paladin_installer.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/paladin_installer.exe" /silent add_launcher "c:\Program Files\VGStorm.com\Paladin of the Sky\game.exe" diff --git a/.install/Park Boss.sh b/.install/Park Boss.sh index ced59d2..4fbbfc9 100644 --- a/.install/Park Boss.sh +++ b/.install/Park Boss.sh @@ -1,6 +1,6 @@ export winVer="win7" download "http://www.ndadamson.com/downloads/Park%20Boss%201.01%20setup.exe" -install_wine_bottle speechsdk +install_wine_bottle 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 diff --git a/.install/Paw Prints.sh b/.install/Paw Prints.sh index 6378568..9396bd3 100644 --- a/.install/Paw Prints.sh +++ b/.install/Paw Prints.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.kaldobsky.com/audiogames/pawprints.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Penta Path.sh b/.install/Penta Path.sh index ad7a782..f0c6385 100644 --- a/.install/Penta Path.sh +++ b/.install/Penta Path.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "http://www.kaldobsky.com/audiogames/pentapath.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Perilous Hearts.sh b/.install/Perilous Hearts.sh index 77f3766..189d21f 100644 --- a/.install/Perilous Hearts.sh +++ b/.install/Perilous Hearts.sh @@ -1,4 +1,4 @@ download "https://www.agarchive.net/games/blastbay/perilous%20hearts%20concept%20demo.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/perilous hearts concept demo.exe" /silent add_launcher "c:\Program Files\Perilous Hearts Concept Demo\perilous_hearts.exe" diff --git a/.install/Preludeamals.sh b/.install/Preludeamals.sh index e50042b..3dd33f1 100644 --- a/.install/Preludeamals.sh +++ b/.install/Preludeamals.sh @@ -2,7 +2,7 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.kaldobsky.com/audiogames/Preludeamals.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Psycho Strike.sh b/.install/Psycho Strike.sh index c16d5c2..6e6b6c2 100644 --- a/.install/Psycho Strike.sh +++ b/.install/Psycho Strike.sh @@ -1,5 +1,5 @@ # download "http://www.vgstorm.com/psycho_strike_installer.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/psycho_strike_installer.exe" /silent add_launcher "c:\Program Files\VGStorm.com\Psycho Strike\strike.exe" diff --git a/.install/Puzzle Divided.sh b/.install/Puzzle Divided.sh index 785c7ea..83f57b8 100644 --- a/.install/Puzzle Divided.sh +++ b/.install/Puzzle Divided.sh @@ -2,6 +2,6 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.kaldobsky.com/audiogames/puzzledivided.zip" -install_wine_bottle vb6run dx8vb quartz corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/puzzledivided" "${cache}/puzzledivided.zip" add_launcher "c:\Program Files\puzzledivided\PuzzleDivided.exe" diff --git a/.install/Rettou.sh b/.install/Rettou.sh index a2ff952..4bf23e9 100644 --- a/.install/Rettou.sh +++ b/.install/Rettou.sh @@ -2,6 +2,6 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "http://www.kaldobsky.com/audiogames/rettou.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rettou" "${cache}/rettou.zip" add_launcher "c:\Program Files\rettou\Rettou.exe" diff --git a/.install/Revelation.sh b/.install/Revelation.sh index a68ac25..279f06e 100644 --- a/.install/Revelation.sh +++ b/.install/Revelation.sh @@ -2,6 +2,6 @@ export winVer="win7" export winetricksSettings="vd=1024x768" download "https://www.kaldobsky.com/audiogames/revelation.zip" -install_wine_bottle vb6run dx8vb quartz speechsdk corefonts +install_wine_bottle vb6run dx8vb quartz install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/revelation" "${cache}/revelation.zip" add_launcher "c:\Program Files\revelation\Revelation.exe" diff --git a/.install/Rhythm Rage.sh b/.install/Rhythm Rage.sh index eba00cb..b909c33 100644 --- a/.install/Rhythm Rage.sh +++ b/.install/Rhythm Rage.sh @@ -1,6 +1,6 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "http://oriolgomez.com/games/rr_en.zip" "${nvdaControllerClientDll}" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/rhythm rage" "${cache}/rr_en.zip" add_launcher "c:\Program Files\rhythm rage\game.exe" diff --git a/.install/Road to Rage Offline.sh b/.install/Road to Rage Offline.sh index ac06de5..f79b132 100644 --- a/.install/Road to Rage Offline.sh +++ b/.install/Road to Rage Offline.sh @@ -1,5 +1,5 @@ export winVer="win7" download "https://agarchive.net/games/talon/the%20road%20to%20rage%20offline.7z" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files" "${cache}/the road to rage offline.7z" add_launcher "c:\Program Files\RTR Offline\rtr.exe" diff --git a/.install/Sammy Center.sh b/.install/Sammy Center.sh index 72024dd..a21a311 100644 --- a/.install/Sammy Center.sh +++ b/.install/Sammy Center.sh @@ -1,6 +1,6 @@ # export winVer="win7" download "http://www.samtupy.com/games/SCSetup.exe" "${nvdaControllerClientDll}" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/SCSetup.exe" /silent add_launcher "c:\Program Files\Sam Tupy\SammyCenter\SammyCenter.exe" diff --git a/.install/Sarah and the Castle of Witchcraft and Wizardry.sh b/.install/Sarah and the Castle of Witchcraft and Wizardry.sh index 6155c74..c46a62a 100644 --- a/.install/Sarah and the Castle of Witchcraft and Wizardry.sh +++ b/.install/Sarah and the Castle of Witchcraft and Wizardry.sh @@ -1,5 +1,5 @@ download "http://www.pcs-games.net/Sarah10.exe" "http://www.pcs-games.net/Sarah-Patch4.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb 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" diff --git a/.install/Scramble!.sh b/.install/Scramble!.sh index f5cfdf2..0cf863d 100644 --- a/.install/Scramble!.sh +++ b/.install/Scramble!.sh @@ -1,7 +1,7 @@ winetricksSettings="vd=1024x768" export winVer="win7" download "https://stevend.net/downloads/scramble_win32.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/scramble_win32.zip" echo "Note: When you first start the game, it will say that tts initialization failed. Please answer that you do not want to attempt initialization of tts when the game starts to allow easy speech through speech dispatcher." alert diff --git a/.install/Screaming Strike 2.sh b/.install/Screaming Strike 2.sh index aa4ad86..736038d 100644 --- a/.install/Screaming Strike 2.sh +++ b/.install/Screaming Strike 2.sh @@ -1,7 +1,7 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "https://www.nyanchangames.com/softs/screamingStrike2.exe" "${nvdaControllerClientDll}" -install_wine_bottle fakejapanese speechsdk +install_wine_bottle fakejapanese wine "${cache}/screamingStrike2.exe" & xdotool sleep 10 key Return wineserver -w diff --git a/.install/Shades of Doom 1.2.sh b/.install/Shades of Doom 1.2.sh index 057d231..1b89f4e 100644 --- a/.install/Shades of Doom 1.2.sh +++ b/.install/Shades of Doom 1.2.sh @@ -1,4 +1,4 @@ download "http://gmagames.com/sod1208.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/sod1208.exe" /sp- /verysilent add_launcher "c:\Program Files\Shades of Doom 1.2\sod.exe" diff --git a/.install/Shades of Doom.sh b/.install/Shades of Doom.sh index 249b15e..b22c803 100644 --- a/.install/Shades of Doom.sh +++ b/.install/Shades of Doom.sh @@ -1,5 +1,5 @@ export winVer="win7" download "http://www.gmagames.com/sod20024.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/sod20024.exe" /silent add_launcher "c:\Program Files\Shades of Doom 2.0\sod.exe" diff --git a/.install/Silver Dollar.sh b/.install/Silver Dollar.sh index f01cff0..3b625b3 100644 --- a/.install/Silver Dollar.sh +++ b/.install/Silver Dollar.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/SilverDollarSetup.exe" -install_wine_bottle speechsdk +install_wine_bottle cp -fv "${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" diff --git a/.install/Sketchbook.sh b/.install/Sketchbook.sh index 8d7b7cd..a7b50e6 100644 --- a/.install/Sketchbook.sh +++ b/.install/Sketchbook.sh @@ -1,6 +1,6 @@ export winVer="win7" download "http://sbyw.games/SBYW/SBYW.zip" "http://sbyw.games/SBYW/sounds.zip" "${nvdaControllerClientDll}" -install_wine_bottle speechsdk +install_wine_bottle mv -v "${cache}/sounds.zip" "${cache}/SBYW-sounds.zip" install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW.zip" install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/sketchbook" "${cache}/SBYW-sounds.zip" diff --git a/.install/Smashathon.sh b/.install/Smashathon.sh index fa97345..31dc0c8 100644 --- a/.install/Smashathon.sh +++ b/.install/Smashathon.sh @@ -1,5 +1,5 @@ # Uses standard wine path based on architecture (win32/win64) download "https://agarchive.net/games/lworks/Smashathon0.02.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "$cache/Smashathon0.02.zip" add_launcher 'c:\Program Files\Smashathon0.02\smashathon.exe' diff --git a/.install/Sonic Zoom.sh b/.install/Sonic Zoom.sh index c88d4dd..02a29eb 100644 --- a/.install/Sonic Zoom.sh +++ b/.install/Sonic Zoom.sh @@ -1,5 +1,5 @@ export winVer="win7" download "http://wwwx.cs.unc.edu/Research/assist/et/projects/SonicZoom/soniczoom11.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/" "${cache}/soniczoom11.zip" add_launcher "c:\Program Files\Sonic Zoom\SonicZoom.exe" \ No newline at end of file diff --git a/.install/Sonic the Hedgehog.sh b/.install/Sonic the Hedgehog.sh index 3beb8c8..63d4fa8 100644 --- a/.install/Sonic the Hedgehog.sh +++ b/.install/Sonic the Hedgehog.sh @@ -1,5 +1,5 @@ export winVer="win7" download "https://www.agarchive.net/games/jeqoconGames/sonic%20the%20hedgehog.7z" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress 7z "Extracting game files..." 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" diff --git a/.install/Star Trek Final Conflict.sh b/.install/Star Trek Final Conflict.sh index 9a57d57..82038cf 100644 --- a/.install/Star Trek Final Conflict.sh +++ b/.install/Star Trek Final Conflict.sh @@ -1,4 +1,4 @@ download "https://agarchive.net/games/USA/star%20trek%20final%20conflict%20Setup.exe" -install_wine_bottle speechsdk +install_wine_bottle wine "${cache}/star trek final conflict Setup.exe" /silent add_launcher "c:\Program Files\USA Games\Final Conflict\stfc.exe" \ No newline at end of file diff --git a/.install/Super Dogs Bone Hunt.sh b/.install/Super Dogs Bone Hunt.sh index 0ff58a1..87e51a1 100644 --- a/.install/Super Dogs Bone Hunt.sh +++ b/.install/Super Dogs Bone Hunt.sh @@ -1,4 +1,4 @@ download "http://www.pcs-games.net/SBH11.exe" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/SBH11.exe" /sp- /silent add_launcher "c:\Program Files\SuperDog's Bone Hunt\sbh.exe" diff --git a/.install/Super Mario Bros.sh b/.install/Super Mario Bros.sh index 413a275..77339b1 100644 --- a/.install/Super Mario Bros.sh +++ b/.install/Super Mario Bros.sh @@ -1,5 +1,5 @@ export winVer="win7" download "https://www.agarchive.net/games/jeqoconGames/super%20mario%20bros.7z" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress 7z "Extracting game files..." 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" diff --git a/.install/Swamp.sh b/.install/Swamp.sh index f1fca13..26c0b54 100644 --- a/.install/Swamp.sh +++ b/.install/Swamp.sh @@ -3,13 +3,13 @@ export winetricksSettings="vd=1024x768" agm_yesno "Swamp Installation" "Swamp Installation" "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?" deleteMusic=$? download "https://www.kaldobsky.com/audiogames/Swamp.zip" -install_wine_bottle dx8vb speechsdk quartz corefonts vb6run +install_wine_bottle dx8vb quartz vb6run install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/Swamp.zip" # make sure the latest version is installed. if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then install_with_progress unzip "Installing Swamp patch..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip" fi -wine 'c:\Program Files\swamp\checkup.exe' /verysilent +wine 'c:\Program Files\swamp\Checkup.exe' /verysilent #wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows64bit.bat' # Delete music if requested. if [[ $deleteMusic -eq 0 ]]; then diff --git a/.install/Tactical Battle.sh b/.install/Tactical Battle.sh index ec50cac..8fe3e51 100644 --- a/.install/Tactical Battle.sh +++ b/.install/Tactical Battle.sh @@ -1,5 +1,5 @@ download "https://blindgamers.com/downloads/Tactical%20Battle%20Dev.zip" -install_wine_bottle speechsdk +install_wine_bottle LC_ALL=C DISPLAY="" winetricks -q dotnet462 wineserver -k install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Tactical Battle" "${cache}/Tactical Battle Dev.zip" diff --git a/.install/Tarot Assistant.sh b/.install/Tarot Assistant.sh index e19a5f4..0bc63cc 100644 --- a/.install/Tarot Assistant.sh +++ b/.install/Tarot Assistant.sh @@ -1,7 +1,7 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "https://www.kaldobsky.com/audiogames/tarot.zip" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb install_with_progress unzip "Extracting game files..." -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" diff --git a/.install/Ten Pin Alley.sh b/.install/Ten Pin Alley.sh index 0268a4b..898d97c 100644 --- a/.install/Ten Pin Alley.sh +++ b/.install/Ten Pin Alley.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/TPAXPSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/Three D velocity.sh b/.install/Three D velocity.sh index db76af5..e086067 100644 --- a/.install/Three D velocity.sh +++ b/.install/Three D velocity.sh @@ -2,9 +2,9 @@ export winVer="win10" export WINEARCH=win64 export norh=false # Must install a voice, and rhvoice works easily with 64 bit. download "https://github.com/munawarb/Three-D-Velocity-Binaries/archive/master.zip" -install_wine_bottle sapi vcrun2008 gdiplus xact dotnet48 xna40 +install_wine_bottle sapi vcrun2008 gdiplus xact dotnet48 xna40 # Dotnet is evil. That is all. -# LC_ALL=C winetricks -q dotnet48 +# LC_ALL=C winetricks -q dotnet48 # wineserver -k # Ha ha ha. install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files" "${cache}/master.zip" add_launcher "c:\Program Files\Three-D-Velocity-Binaries-master\tdv.exe" diff --git a/.install/Tomb Hunter.sh b/.install/Tomb Hunter.sh index 4826c5d..3e14666 100644 --- a/.install/Tomb Hunter.sh +++ b/.install/Tomb Hunter.sh @@ -1,4 +1,4 @@ download "http://masonasons.me/softs/th_freeware_password_is_tombhunter.7z" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress 7z "Extracting game files..." x -o"$WINEPREFIX/drive_c/Program Files/Tomb Hunter" "${cache}/th_freeware_password_is_tombhunter.7z" -ptombhunter add_launcher "c:\Program Files\Tomb Hunter\th.exe" diff --git a/.install/Triple Triad.sh b/.install/Triple Triad.sh index 9fc3a6a..cad8175 100644 --- a/.install/Triple Triad.sh +++ b/.install/Triple Triad.sh @@ -1,7 +1,7 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "https://www.kaldobsky.com/audiogames/tripletriad.zip" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/Triple Triad" "${cache}/tripletriad.zip" wine "c:\Program Files\Triple Triad\Checkup.exe" /verysilent add_launcher "c:\Program Files\Triple Triad\TripleTriad.exe" diff --git a/.install/Tube Sim.sh b/.install/Tube Sim.sh index 2d5fd88..8f396b2 100644 --- a/.install/Tube Sim.sh +++ b/.install/Tube Sim.sh @@ -1,6 +1,6 @@ export winVer="win7" download "http://www.ndadamson.com/downloads/TubeSim1_1_Install.exe" -install_wine_bottle speechsdk +install_wine_bottle 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 diff --git a/.install/Ultimate SounDoku.sh b/.install/Ultimate SounDoku.sh index d6e0d49..19fdcb9 100644 --- a/.install/Ultimate SounDoku.sh +++ b/.install/Ultimate SounDoku.sh @@ -1,7 +1,7 @@ export winVer="win7" # Uses standard wine path based on architecture (win32/win64) download "http://download.dracoent.com/Windows/classic/USSetup.exe" -install_wine_bottle vb6run dx8vb speechsdk quartz +install_wine_bottle vb6run dx8vb quartz cp -fv "${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" diff --git a/.install/Undead Assault.sh b/.install/Undead Assault.sh index 3025d50..3b99723 100644 --- a/.install/Undead Assault.sh +++ b/.install/Undead Assault.sh @@ -1,5 +1,5 @@ export winVer="win7" download "http://undead-assault.com/static/files/public/undead_assault.zip" "${nvdaControllerClientDll}" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/undead_assault" "${cache}/undead_assault.zip" add_launcher "c:\Program Files\undead_assault\Undead Assault.exe" diff --git a/.install/VIP Mud.sh b/.install/VIP Mud.sh index 27385c9..7ddb9c1 100644 --- a/.install/VIP Mud.sh +++ b/.install/VIP Mud.sh @@ -1,5 +1,5 @@ export winVer="win7" -install_wine_bottle vb6run dx8vb speechsdk +install_wine_bottle vb6run dx8vb wine "${cache}/vipmud20016.exe" /silent mkdir -p "${HOME}/.local/wine/vip-mud/drive_c/users/${USER}/Documents/VIP Mud" add_launcher "c:\Program Files\VIPMud 2.0\vipmud2.exe" diff --git a/.install/Villains From Beyond.sh b/.install/Villains From Beyond.sh index 2cdc4c7..2fc3a33 100644 --- a/.install/Villains From Beyond.sh +++ b/.install/Villains From Beyond.sh @@ -1,6 +1,6 @@ # Uses standard wine path based on architecture (win32/win64) export winVer="win7" download "${ipfsGateway}/ipfs/QmWx271xuk3Mv9XTBoVu5BDJvXFZdasawC2nhtV21WAaUU?filename=villains_en.zip" -install_wine_bottle speechsdk +install_wine_bottle install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/villains from beyond" "${cache}/villains_en.zip" add_launcher "c:\Program Files\villains from beyond\game.exe" diff --git a/audiogame-manager.sh b/audiogame-manager.sh index 182cc58..1e6958b 100755 --- a/audiogame-manager.sh +++ b/audiogame-manager.sh @@ -41,13 +41,127 @@ check_wine32() { } | agm_progressbox "Wine32 Setup" "Extracting Wine32 for SAPI compatibility..." fi - # Export wine32 path for function overrides + # Export wine32 path for bottle creation if [[ -f "$wine32Dir/bin/wine" ]]; then export wine32="$wine32Dir/bin/wine" export wine32server="$wine32Dir/bin/wineserver" fi } +# Ensure wine bottles exist with proper dependencies +ensure_wine_bottles() { + local wine32Bottle="$HOME/.local/wine32" + local wine64Bottle="$HOME/.local/wine64" + + # Create wine32 bottle for SAPI games if missing + if [[ ! -d "$wine32Bottle" ]] || [[ ! -f "$wine32Bottle/system.reg" ]]; then + { + echo "# Creating wine32 bottle for SAPI compatibility..." + echo "# This may take several minutes on first run..." + + # Set up environment for wine32 + export WINEPREFIX="$wine32Bottle" + export WINE="$wine32" + export WINESERVER="$wine32server" + export PATH="${wine32%/*}:$PATH" + unset WINEARCH + + # Initialize wine32 bottle + echo "# Initializing wine32 environment..." + DISPLAY="" "$WINE" wineboot -u + + # Install mono and gecko + echo "# Installing .NET Framework..." + monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)" + 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 + "$WINE" msiexec /i z:"$monoPath" /quiet + + echo "# Installing web browser support..." + geckoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name "gecko" 2> /dev/null)" + 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 + "$WINE" msiexec /i z:"$geckoPath" /quiet + + # Install SAPI dependencies + echo "# Installing Speech SDK and SAPI dependencies..." + env WINE="$WINE" WINESERVER="$WINESERVER" DISPLAY="${DISPLAY:-:0}" winetricks -q isolate_home speechsdk corefonts winxp + + # Set Microsoft Mike as default voice (better than Mary/Sam) + echo "# Setting Microsoft Mike as default voice..." + + # Initialize SAPI to create registry entries + mkdir -p "${WINEPREFIX}/drive_c/windows/temp" + cat << "EOF" > "${WINEPREFIX}/drive_c/windows/temp/init_sapi.vbs" +dim speechobject +set speechobject=createobject("sapi.spvoice") +speechobject.speak "" +EOF + "$WINE" cscript "c:\\windows\\temp\\init_sapi.vbs" + + # Set Microsoft Mike as default voice + "$WINE" reg add "HKCU\\SOFTWARE\\Microsoft\\Speech\\Voices" /v "DefaultTokenId" /t REG_SZ /d "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\MSMike" /f + # Set speech rate to 7 (normal speed) + "$WINE" reg add "HKCU\\SOFTWARE\\Microsoft\\Speech\\Voices" /v "DefaultTTSRate" /t REG_DWORD /d "7" /f + echo "Set Microsoft Mike as default voice" + + echo "# Wine32 bottle creation complete." + } | agm_progressbox "Wine Bottle Setup" "Creating wine32 bottle for SAPI games (this may take several minutes)..." + fi + + # Create wine64 bottle for modern games if missing + if [[ ! -d "$wine64Bottle" ]] || [[ ! -f "$wine64Bottle/system.reg" ]]; then + { + echo "# Creating wine64 bottle for modern games..." + + # Set up environment for wine64 + export WINEPREFIX="$wine64Bottle" + export WINE="wine" + export WINESERVER="wineserver" + unset WINEARCH + + # Initialize wine64 bottle + echo "# Initializing wine64 environment..." + DISPLAY="" wine wineboot -u + + # Install mono and gecko + echo "# Installing .NET Framework..." + monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)" + 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 + wine msiexec /i z:"$monoPath" /quiet + + echo "# Installing web browser support..." + geckoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name "gecko" 2> /dev/null)" + 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 + wine msiexec /i z:"$geckoPath" /quiet + + # Install common dependencies for modern games + echo "# Installing common dependencies..." + winetricks -q isolate_home corefonts vcrun2019 win10 + + # Setup nvda2speechd for accessibility + echo "# Setting up accessibility support..." + download "https://github.com/RastislavKish/nvda2speechd/releases/download/v0.1/nvda2speechd" + if [[ ! -f "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" ]]; then + cp "${cache}/nvda2speechd" "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" + chmod +x "${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/nvda2speechd" + fi + + echo "# Wine64 bottle creation complete." + } | agm_progressbox "Wine Bottle Setup" "Creating wine64 bottle for modern games..." + fi +} + # Install games game_installer() { @@ -524,6 +638,8 @@ source .includes/update.sh check_requirements || exit 1 # Set up wine32 for SAPI games check_wine32 +# Ensure wine bottles exist with dependencies +ensure_wine_bottles # Check for updates update # Get latest news if available