Initial attempt to get a working wine32. This should hopefully work for a while once correctly set up.
This commit is contained in:
@@ -67,9 +67,9 @@ install_rhvoice() {
|
|||||||
download "${RHVoice[${voiceName}]}"
|
download "${RHVoice[${voiceName}]}"
|
||||||
winetricks -q win8 | agm_progressbox "RHVoice Setup" "Preparing Windows environment for RHVoice..."
|
winetricks -q win8 | agm_progressbox "RHVoice Setup" "Preparing Windows environment for RHVoice..."
|
||||||
echo "Installing RHVoice ${voiceName^}..."
|
echo "Installing RHVoice ${voiceName^}..."
|
||||||
wine "${cache}/${voiceFile}" &
|
"${WINE:-wine}" "${cache}/${voiceFile}" &
|
||||||
sleep 20 | agm_progressbox "RHVoice Setup" "Installing RHVoice ${voiceName^} voice..."
|
sleep 20 | agm_progressbox "RHVoice Setup" "Installing RHVoice ${voiceName^} voice..."
|
||||||
wineserver -k
|
"${WINESERVER:-wineserver}" -k
|
||||||
}
|
}
|
||||||
|
|
||||||
install_wine_bottle() {
|
install_wine_bottle() {
|
||||||
@@ -92,9 +92,16 @@ install_wine_bottle() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export WINEPREFIX="$HOME/.local/wine${architecture}"
|
export WINEPREFIX="$HOME/.local/wine${architecture}"
|
||||||
# Modern wine is unified - no separate wine32/wine64 executables
|
|
||||||
export WINE="wine"
|
# Use managed wine32 for SAPI compatibility, system wine for everything else
|
||||||
export WINESERVER="wineserver"
|
if [[ "$WINEARCH" == "win32" ]] && [[ -n "$wine32" ]]; then
|
||||||
|
export WINE="$wine32"
|
||||||
|
export WINESERVER="$wine32server"
|
||||||
|
echo "Using managed Wine32 for SAPI compatibility"
|
||||||
|
else
|
||||||
|
export WINE="wine"
|
||||||
|
export WINESERVER="wineserver"
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if bottle already exists and is properly initialized
|
# Check if bottle already exists and is properly initialized
|
||||||
local bottleExists=false
|
local bottleExists=false
|
||||||
@@ -106,8 +113,8 @@ install_wine_bottle() {
|
|||||||
# Only do basic setup if bottle doesn't exist
|
# Only do basic setup if bottle doesn't exist
|
||||||
if [[ "$bottleExists" == false ]]; then
|
if [[ "$bottleExists" == false ]]; then
|
||||||
echo -n "Creating new wine${architecture} bottle - Using "
|
echo -n "Creating new wine${architecture} bottle - Using "
|
||||||
wine --version
|
"$WINE" --version
|
||||||
DISPLAY="" wineboot -u | agm_progressbox "Wine Setup" "Initializing wine bottle..."
|
DISPLAY="" "$WINE" wineboot -u | agm_progressbox "Wine Setup" "Initializing wine bottle..."
|
||||||
|
|
||||||
# Install mono and gecko only for new bottles
|
# Install mono and gecko only for new bottles
|
||||||
monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)"
|
monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)"
|
||||||
@@ -120,8 +127,8 @@ install_wine_bottle() {
|
|||||||
download 'http://dl.winehq.org/wine/wine-gecko/2.40/wine_gecko-2.40-x86.msi'
|
download 'http://dl.winehq.org/wine/wine-gecko/2.40/wine_gecko-2.40-x86.msi'
|
||||||
geckoPath="${cache}/wine_gecko-2.40-x86.msi"
|
geckoPath="${cache}/wine_gecko-2.40-x86.msi"
|
||||||
fi
|
fi
|
||||||
wine msiexec /i z:"$monoPath" /quiet | agm_progressbox "Wine Setup" "Installing .NET Framework..."
|
"$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..."
|
"$WINE" msiexec /i z:"$geckoPath" /quiet | agm_progressbox "Wine Setup" "Installing Web Browser support..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install RHVoice only if needed and not already installed
|
# Install RHVoice only if needed and not already installed
|
||||||
|
@@ -1,20 +1,16 @@
|
|||||||
# Source dialog interface wrapper
|
export WINEARCH="win32"
|
||||||
source "${0%/*}/../.includes/dialog-interface.sh"
|
|
||||||
|
|
||||||
# Uses standard wine path based on architecture (win32/win64)
|
|
||||||
export winVer="win7"
|
|
||||||
export winetricksSettings="vd=1024x768"
|
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?"
|
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=$?
|
deleteMusic=$?
|
||||||
download "https://www.kaldobsky.com/audiogames/Swamp.zip"
|
download "https://www.kaldobsky.com/audiogames/Swamp.zip"
|
||||||
install_wine_bottle dx8vb quartz corefonts vb6run sapi
|
install_wine_bottle dx8vb speechsdk quartz corefonts vb6run
|
||||||
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/Swamp.zip"
|
install_with_progress unzip "Extracting game files..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/Swamp.zip"
|
||||||
# make sure the latest version is installed.
|
# make sure the latest version is installed.
|
||||||
if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
|
if curl -L --output "${cache}/SwampPatch.zip" "https://www.kaldobsky.com/audiogames/SwampPatch.zip" ; then
|
||||||
install_with_progress unzip "Installing Swamp patch..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip"
|
install_with_progress unzip "Installing Swamp patch..." -d "$WINEPREFIX/drive_c/Program Files/swamp" "${cache}/SwampPatch.zip"
|
||||||
fi
|
fi
|
||||||
$wine 'c:\Program Files\swamp\checkup.exe' /verysilent
|
"$WINE" 'c:\Program Files\swamp\checkup.exe' /verysilent
|
||||||
#$wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows32bit.bat'
|
#wine cmd.exe /c 'cd /d c:\Program Files\swamp && Windows64bit.bat'
|
||||||
# Delete music if requested.
|
# Delete music if requested.
|
||||||
if [[ $deleteMusic -eq 0 ]]; then
|
if [[ $deleteMusic -eq 0 ]]; then
|
||||||
rm -frv "$WINEPREFIX/drive_c/Program Files/swamp/sounds/Music/"
|
rm -frv "$WINEPREFIX/drive_c/Program Files/swamp/sounds/Music/"
|
||||||
|
@@ -3,6 +3,49 @@
|
|||||||
# Dialog accessibility
|
# Dialog accessibility
|
||||||
export DIALOGOPTS='--no-lines --visit-items'
|
export DIALOGOPTS='--no-lines --visit-items'
|
||||||
|
|
||||||
|
# Wine32 version for SAPI compatibility
|
||||||
|
wineThirtyTwoVersion="9.0"
|
||||||
|
|
||||||
|
# Check and manage wine32 installation
|
||||||
|
check_wine32() {
|
||||||
|
local wine32Dir="${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/wine32"
|
||||||
|
local versionFile="$wine32Dir/VERSION"
|
||||||
|
local currentVersion=""
|
||||||
|
|
||||||
|
# Check current installed version
|
||||||
|
[[ -f "$versionFile" ]] && currentVersion=$(cat "$versionFile")
|
||||||
|
|
||||||
|
# If version mismatch or missing, install/update
|
||||||
|
if [[ "$currentVersion" != "$wineThirtyTwoVersion" ]]; then
|
||||||
|
echo "Setting up Wine32 version $wineThirtyTwoVersion for SAPI compatibility..."
|
||||||
|
|
||||||
|
# Remove old installation
|
||||||
|
rm -rf "$wine32Dir" 2>/dev/null
|
||||||
|
mkdir -p "$wine32Dir"
|
||||||
|
|
||||||
|
# Download and install wine32
|
||||||
|
local installFile="$(mktemp)"
|
||||||
|
if curl -L --output "$installFile" "https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-${wineThirtyTwoVersion}-upstream-linux-x86.tar.gz"; then
|
||||||
|
if tar xf "$installFile" -C "$wine32Dir" --strip-components=1; then
|
||||||
|
echo "$wineThirtyTwoVersion" > "$versionFile"
|
||||||
|
echo "Wine32 version $wineThirtyTwoVersion installed successfully."
|
||||||
|
else
|
||||||
|
echo "Failed to extract wine32. SAPI games may not work properly."
|
||||||
|
rm -rf "$wine32Dir"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Failed to download wine32. SAPI games may not work properly."
|
||||||
|
fi
|
||||||
|
rm -f "$installFile"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Export wine32 path for bottle.sh
|
||||||
|
if [[ -f "$wine32Dir/bin/wine" ]]; then
|
||||||
|
export wine32="$wine32Dir/bin/wine"
|
||||||
|
export wine32server="$wine32Dir/bin/wineserver"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Install games
|
# Install games
|
||||||
game_installer() {
|
game_installer() {
|
||||||
export LANG="en_US.UTF-8"
|
export LANG="en_US.UTF-8"
|
||||||
@@ -476,6 +519,8 @@ source .includes/update.sh
|
|||||||
|
|
||||||
# Check minimum requirements
|
# Check minimum requirements
|
||||||
check_requirements || exit 1
|
check_requirements || exit 1
|
||||||
|
# Set up wine32 for SAPI games
|
||||||
|
check_wine32
|
||||||
# Check for updates
|
# Check for updates
|
||||||
update
|
update
|
||||||
# Get latest news if available
|
# Get latest news if available
|
||||||
|
Reference in New Issue
Block a user