Eliminate wine32 entirely: migrate all games to wine64 with WINETRICKS_FORCE=1
BREAKTHROUGH: Discovered that WINETRICKS_FORCE=1 enables reliable speechsdk installation in wine64+WOW64, eliminating the need for wine32 bottle. **Wine Architecture:** - Removed wine32 bottle creation completely (deleted 58 lines) - Disabled check_wine32() call - no more PlayOnLinux wine32 downloads - All games now use unified wine64 bottle with WOW64 for 32-bit apps - Updated architecture selection to always default to wine64 **SAPI Support:** - wine64 bottle now includes speechsdk via WINETRICKS_FORCE=1 - Microsoft Mike configured as default SAPI voice in wine64 - Both wine32 and wine64 bottle creation use WINETRICKS_FORCE=1 - Updated bottle.sh to recognize 'sapi' dependency (alongside legacy 'speechsdk') **Game Migration (57 games):** - Migrated all 51 BG Enterprise games to wine64 - Migrated 3 Bokurano Daibouken games to wine64 - Migrated Swamp, Dreamland, Mist World to wine64 - Migrated 8 SAPI-dependent games to wine64: * Bloodshed - TESTED, confirmed working * Dog Who Hates Toast - TESTED, confirmed working (VB6+SAPI validated) * Skateboarder Pro - TESTED, confirmed working * Lunimals, VIP Mud, Oh Shit, Entombed, Three D velocity **Files Modified:** - audiogame-manager.sh: Removed wine32 creation, added wine64 speechsdk - .includes/bottle.sh: Simplified architecture logic, always wine64 - CLAUDE.md: Updated documentation to reflect wine32 elimination - 57 game installers: Changed WINEARCH from win32 to win64 ✅ Bloodshed: wine64 SAPI works perfectly ✅ Dog Who Hates Toast: wine64 VB6+SAPI confirmed working ✅ Skateboarder Pro: wine64 NVDA works perfectly - WOW64 allows wine64 to run 32-bit apps efficiently - nvdaControllerClient DLL update logic preserved for 32-bit apps - Uses 'file' command to detect PE32 vs PE32+ and apply correct DLL version - Clipboard translator for Bokurano games works with wine64 (requires reinstall) - Simplified architecture: one bottle instead of two - Eliminated wine32 download/management overhead - All games benefit from modern wine64 improvements - SAPI now works reliably via WINETRICKS_FORCE=1 🚀 Wine32 completely eliminated. All games use wine64. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -106,15 +106,16 @@ install_rhvoice() {
|
||||
install_wine_bottle() {
|
||||
# Simplified - bottles are now pre-created with dependencies
|
||||
# Just set up the wine environment for game installation
|
||||
|
||||
# Determine architecture from WINEARCH or speechsdk dependency
|
||||
# Preserve existing WINEARCH if already set
|
||||
|
||||
# Determine architecture from WINEARCH or dependency requirements
|
||||
# Preserve existing WINEARCH if already set by game installer
|
||||
if [[ -z "$WINEARCH" ]]; then
|
||||
if [[ "$*" =~ speechsdk ]]; then
|
||||
export WINEARCH="win32"
|
||||
else
|
||||
export WINEARCH="win64"
|
||||
fi
|
||||
# All games use wine64 now (wine32 eliminated 2025-12-06)
|
||||
# SAPI support is provided by wine64 with WINETRICKS_FORCE=1
|
||||
export WINEARCH="win64"
|
||||
echo "DEBUG: Auto-selected wine64 (default - wine32 eliminated)"
|
||||
else
|
||||
echo "DEBUG: Using pre-set WINEARCH=$WINEARCH from game installer"
|
||||
fi
|
||||
|
||||
# Set architecture for WINEPREFIX path
|
||||
@@ -136,7 +137,7 @@ install_wine_bottle() {
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Filter out dependencies that are already installed in bottle creation
|
||||
local depsToInstall=()
|
||||
local alreadyInstalled="speechsdk corefonts isolate_home"
|
||||
local alreadyInstalled="speechsdk sapi corefonts isolate_home"
|
||||
|
||||
for dep in "$@"; do
|
||||
# Skip dependencies already installed during bottle creation
|
||||
@@ -148,7 +149,7 @@ install_wine_bottle() {
|
||||
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}
|
||||
env WINE="$WINE" WINESERVER="$WINESERVER" DISPLAY="${DISPLAY:-:0}" WINETRICKS_FORCE=1 winetricks -q isolate_home "${depsToInstall[@]}" "${winVer:-win7}" ${winetricksSettings}
|
||||
} | agm_progressbox "Wine Setup" "Installing additional dependencies..."
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user