diff --git a/wine-1.1.47_1.2rc4.tar.bz2 b/wine-1.1.47_1.2rc4.tar.bz2 deleted file mode 100644 index 4cff7a9..0000000 --- a/wine-1.1.47_1.2rc4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6b322619710f0f4af693db7cdec222dcd08e6a27dc1857c6822dcf38d73ff88 -size 17617080 diff --git a/wine-1.1.48_1.2rc5.tar.bz2 b/wine-1.1.48_1.2rc5.tar.bz2 new file mode 100644 index 0000000..bfc10f8 --- /dev/null +++ b/wine-1.1.48_1.2rc5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3e4ce01c1d9de96bbe556b0fd812bfbcaf241448150096964c56ed95e6e6c2f +size 17678041 diff --git a/wine.changes b/wine.changes index 3379f43..0321331 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Jun 25 22:31:16 CEST 2010 - meissner@suse.de + +- updated to 1.2 rc5 + - Many translation updates. + - A lot of bug fixes. +- updated winetricks to current state (minor bugfixes) +- updated wisotools to current state + ------------------------------------------------------------------- Tue Jun 22 11:06:18 CEST 2010 - meissner@suse.de diff --git a/wine.spec b/wine.spec index 4b20003..25c4d54 100644 --- a/wine.spec +++ b/wine.spec @@ -1,5 +1,5 @@ # -# spec file for package wine (Version 1.1.47_1.2rc4) +# spec file for package wine (Version 1.1.48_1.2rc5) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,8 +22,8 @@ BuildRequires: alsa-devel bison capi4linux-devel cups-devel desktop-file-utils License: LGPLv2.1+ Group: System/Emulators/PC AutoReqProv: on -Version: 1.1.47_1.2rc4 -Release: 2 +Version: 1.1.48_1.2rc5 +Release: 1 Summary: An MS Windows Emulator Url: http://www.winehq.com Source0: wine-%version.tar.bz2 @@ -188,6 +188,9 @@ rm -rf $RPM_BUILD_ROOT /usr/share/applications/*.desktop %dir /usr/share/desktop-directories/ /usr/share/desktop-directories/*.directory +%dir /usr/share/icons/hicolor +%dir /usr/share/icons/hicolor/scalable +%dir /usr/share/icons/hicolor/scalable/apps /usr/share/icons/hicolor/scalable/apps/*.svg %ifarch %ix86 diff --git a/winetricks b/winetricks index 317275a..851f2ea 100644 --- a/winetricks +++ b/winetricks @@ -20,7 +20,7 @@ #---- Constants ------------------------------------------------- # Name of this version of winetricks (YYYYMMDD) -VERSION=20100526 +VERSION=20100618 early_wine() { @@ -205,6 +205,7 @@ usage() { echo " dotnet20sp2 MS .NET 2.0 sp2 (requires Windows license, but does not check for one)" echo " dotnet30 MS .NET 3.0 (requires Windows license, but does not check for one, might not work yet)" echo " droid Droid fonts (on LCD, looks better with fontsmooth-rgb)" + echo " dxsdk_nov2006 DirectX Software Development Kit, November 2006 version" echo " ffdshow ffdshow video codecs" echo " firefox Firefox web browser" echo " flash Adobe Flash Player ActiveX and firefox plugins" @@ -284,6 +285,7 @@ usage() { echo " vjrun20 MS Visual J# 2.0 SE libraries (requires dotnet20)" echo " vlc VLC media player" echo " wenquanyi WenQuanYi CJK font (on LCD looks better with fontsmooth-rgb)" + echo " windowscodecs MS Windows Imaging Component" echo " wininet MS wininet.dll (requires Windows license, but does not check for one)" echo " wme9 MS Windows Media Encoder 9 (requires Windows license, but does not check for one)" echo " wmp10 MS Windows Media Player 10 (requires Windows license, but does not check for one)" @@ -1324,6 +1326,7 @@ load_directx9() { override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci + override_dlls native dxdiag.exe override_dlls builtin d3d8 d3d9 dinput dinput8 dsound # Should be below, but fails on Wine when used silently. @@ -1353,8 +1356,9 @@ load_divx() { # 7.0.? 786aef0f421df5e7358d2d740d9911f9afd055de as of 24 June 2009 as http://download.divx.com/divx/DivXInstaller.exe # 7.0.? ad420bf8bf72e924e658c9c6ad6bba76b848fb79 as of 23 Sep 2009 as http://download.divx.com/divx/DivXInstaller.exe # 7.0.? 3385aa8f6ba64ae32e06f651bbbea247bcc1a44d as of 12 Dec 2009 as http://download.divx.com/divx/DivXInstaller.exe + # d59422969a72790e92b6795e24e332f91ffacf94 as of 26 May 2010 as http://download.divx.com/divx/DivXInstaller.exe - download divx-7 http://download.divx.com/divx/DivXInstaller.exe 3385aa8f6ba64ae32e06f651bbbea247bcc1a44d + download divx-7 http://download.divx.com/divx/DivXInstaller.exe d59422969a72790e92b6795e24e332f91ffacf94 try $WINE "$WINETRICKS_CACHE"/divx-7/DivXInstaller } @@ -1574,6 +1578,15 @@ load_droid() { #---------------------------------------------------------------- +load_dxsdk_nov2006() { + download . http://download.microsoft.com/download/9/e/5/9e5bfc66-a621-4e0d-8bfe-6688058c3f00/dxsdk_aug2006.exe + load_vcrun6 # for mfc42u + echo "Be patient, the 'installing new services' step at the end takes about five minutes" + try $WINE "$WINETRICKS_CACHE"/dxsdk_aug2006.exe +} + +#---------------------------------------------------------------- + load_dsoundbug9612() { echo "Enabling DirectSound workaround for bug #9612" cat > "$WINETRICKS_TMP"/dsoundmaxshadow.reg <<_EOF_ @@ -2602,21 +2615,21 @@ load_ole2() { load_openwatcom() { # http://www.openwatcom.org - download . "http://ftp.openwatcom.org/ftp/open-watcom-c-win32-1.8.exe" 44afd1fabfdf0374f614f054824e60ac560f9dc0 + download . "http://ftp.openwatcom.org/ftp/open-watcom-c-win32-1.9.exe" 236ac33ebd463006be4ecd83d7ebea1c026eb55a if [ $WINETRICKS_QUIET ] then # Options documented at http://bugzilla.openwatcom.org/show_bug.cgi?id=898 # But they don't seem to work on wine, so jam them into setup.inf # Pick smallest installation that supports 16 bit C and C++ cd "$WINETRICKS_TMP" - cp "$WINETRICKS_CACHE"/open-watcom-c-win32-1.8.exe . - try_unzip open-watcom-c-win32-1.8.exe setup.inf + cp "$WINETRICKS_CACHE"/open-watcom-c-win32-1.9.exe . + try_unzip open-watcom-c-win32-1.9.exe setup.inf sed -i 's/tools16=.*/tools16=true/' setup.inf - try zip -f open-watcom-c-win32-1.8.exe - try $WINE open-watcom-c-win32-1.8.exe -s + try zip -f open-watcom-c-win32-1.9.exe + try $WINE open-watcom-c-win32-1.9.exe -s cd "$olddir" else - try $WINE "$WINETRICKS_CACHE"/open-watcom-c-win32-1.8.exe + try $WINE "$WINETRICKS_CACHE"/open-watcom-c-win32-1.9.exe fi if test ! -f "$DRIVE_C"/WATCOM/binnt/wcc.exe then @@ -3151,7 +3164,7 @@ load_vjrun20() { then try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe /q /C:"install /QNT" else - try $WINE vjrun20/vjredist.exe + try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe fi } @@ -3574,6 +3587,21 @@ load_vlc() { #---------------------------------------------------------------- +load_windowscodecs() { + download . http://download.microsoft.com/download/f/f/1/ff178bb1-da91-48ed-89e5-478a99387d4f/wic_x86_enu.exe 53c18652ac2f8a51303deb48a1b7abbdb1db427f + + # Avoid a file existence check. + rm -f "$WINDIR"/system32/windowscodecs.dll + override_dlls native,builtin windowscodecs + + # Always run the WIC installer in passive mode. + # See http://bugs.winehq.org/show_bug.cgi?id=16876 and + # http://bugs.winehq.org/show_bug.cgi?id=23232 + try $WINE "$WINETRICKS_CACHE"/wic_x86_enu.exe /passive +} + +#---------------------------------------------------------------- + load_wininet() { # This is an updated wininet from IE 5.0.1. # (Good enough for Active Worlds browser. Also helps "Avatar - Legends of the Arena" get to login screen.) @@ -3826,6 +3854,7 @@ then else winefontsdir="$WINDIR"/Fonts fi +mkdir -p "${winefontsdir}" # Mac folks tend to not have sha1sum, but we can make do with openssl if [ -x "`which sha1sum 2>/dev/null`" ] @@ -3885,6 +3914,7 @@ do dotnet3|dotnet30) load_dotnet30; load_fontfix;; dotnet35) load_dotnet35; load_fontfix;; droid) load_droid;; + dxsdk_nov2006) load_dxsdk_nov2006;; ffdshow) load_ffdshow;; firefox|firefox3) load_firefox;; flash) load_flash;; @@ -3969,6 +3999,7 @@ do vjrun20) load_vjrun20;; vlc) load_vlc;; wenquanyi) load_wenquanyi;; + windowscodecs|wic) load_windowscodecs;; wininet) load_wininet;; wme9) load_wme9;; wmp9) load_wmp9;; diff --git a/wisotool b/wisotool index 2d034a4..c526ea6 100644 --- a/wisotool +++ b/wisotool @@ -12,7 +12,7 @@ #---- Constants ------------------------------------------------- # Name of this version of wisotool (YYYYMMDD) -VERSION=20100530 +VERSION=20100618 early_wine() { @@ -82,6 +82,7 @@ USERNAME=${USERNAME:-$LOGNAME} # Overridden for windows ISO_MOUNT_ROOT=/mnt/wisotool +ISO_MOUNT_LETTER=i WINDIR="$DRIVE_C/windows" @@ -478,22 +479,11 @@ load_vcdmount() else die "can't find Virtual CloneDrive?" fi - # FIXME: Use WMI to locate the drive named # "ELBY CLONEDRIVE..." using WMI as described in # http://delphihaven.wordpress.com/2009/07/05/using-wmi-to-get-a-drive-friendly-name/ - # For now, you just have to hardcode it for your system :-( - warn "You probably need to edit the script to tell it which drive VirtualCloneDrive picked" - for ISO_MOUNT_LETTER in e f g h - do - ISO_MOUNT_ROOT=/cygdrive/$ISO_MOUNT_LETTER - test -d $ISO_MOUNT_ROOT || break - done - test -d $ISO_MOUNT_ROOT && die "cannot find the VirtualCloneDrive" } -ISO_MOUNT_LETTER=i - iso_mount() { my_img="$1" @@ -506,9 +496,20 @@ iso_mount() cd "$VCD_DIR" try vcdmount.exe /l=$letter "$my_img_win" cd "$olddir" - while ! test -d "$ISO_MOUNT_ROOT" + + tries=0 + while test $tries -lt 20 do - echo "Waiting for mount to finish" + for ISO_MOUNT_LETTER in e f g h i j k + do + ISO_MOUNT_ROOT=/cygdrive/$ISO_MOUNT_LETTER + if find $ISO_MOUNT_ROOT -iname 'setup*' -o -iname '*.exe' -o -iname '*.msi' + then + break 2 + fi + done + tries=`expr $tries + 1` + echo "Waiting for mount to finish mounting" sleep 1 done else @@ -582,7 +583,7 @@ mds_mount() cdemu load 0 $my_img - sleep 5s + sleep 60 # FIXME: This is messy, but AFAICT, there's no way in advance to know where the drive will be mounted, # since it depends on the cd/dvd title from the origial media, which is embedded in the mdf/mds file. @@ -594,7 +595,7 @@ mds_mount() echo "Mounting as drive ${ISO_MOUNT_LETTER}:" # Gotta provide a symlink to the raw disc, else installers that check volume names will fail # FIXME: one of these gives a warning frequently, possibly on second run - ln -sf "$my_img" "$WINEPREFIX/dosdevices/${ISO_MOUNT_LETTER}::" + ln -sf "$device_name" "$WINEPREFIX/dosdevices/${ISO_MOUNT_LETTER}::" ln -sf "$ISO_MOUNT_ROOT" "$WINEPREFIX/dosdevices/${ISO_MOUNT_LETTER}:" fi } @@ -624,6 +625,7 @@ mds_umount() 0) echo "cdemud is already running" ;; 1) echo "cdemud is not running, let's start one" ; ( cdemud -b session & ) ; + sleep 60 # FIXME: grep for "cdemu0: Daemon: error while performing ioctl" and die if it shows up ; ;; *) die "unknown error in cdemud_run" ;; @@ -640,7 +642,7 @@ mds_umount() ISO_MOUNT_ROOT=`mount -l | grep $device_name | awk '{print $3}'` # FIXME: Does this need sudo? eject $ISO_MOUNT_ROOT - sleep 10s # Give devices time to settle + sleep 60 # Give devices time to settle fi rm -f "$WINEPREFIX"/dosdevices/${ISO_MOUNT_LETTER}: @@ -734,7 +736,7 @@ load_iso() { # and then write the rest of the verb. migrate_files - eject + eject $dev || true # punt if eject not found (as on cygwin) } #---------------------------------------------------------------- @@ -771,7 +773,7 @@ verblist_finish() menu_add() { verbname=$1 description="$2" - printf " %-16s %s\n" $verbname "$description" >> "$WISOTOOL_TMP"/menutext + printf " %-24s %s\n" $verbname "$description" >> "$WISOTOOL_TMP"/menutext } # Add a new verb @@ -1083,6 +1085,35 @@ __EOF__ #---------------------------------------------------------------- +verblist_add msaoe_demo "Age of Empires Demo (Microsoft, 1997) [download]" MSAoE.exe + +load_msaoe_demo() { + load_autohotkey + download $PACKAGE http://download.microsoft.com/download/aoe/Trial/1.0/WIN98/EN-US/MSAoE.exe 23630a65ce4133038107f3175f8fc54a914bc2f3 + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + run, MSAoE.exe + SetTitleMatchMode, 2 + winwait, Microsoft Age of Empires Trial Version + ControlClick, Button1 + winwait, End User License Agreement + ControlClick, Button1 + winwait, Microsoft Age of Empires Trial Version, Setup will install + ControlClick Button2 + winwait, Microsoft Age of Empires Trial Version, Setup has successfully + ControlClick Button1 + " + cd "$olddir" + + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Microsoft Games\Age of Empires Trial" +empires +__EOF__ +} + +#---------------------------------------------------------------- + verblist_add assassinscreed "Assassins Creed (Ubisoft, 2008)" a62112860423b32bf3ea77df6f5fe0b60c772de2.iso load_assassinscreed() { @@ -1128,6 +1159,58 @@ __EOF__ #---------------------------------------------------------------- +verblist_add avatar_demo "James Camerons Avatar The Game Demo (Ubisoft, 2009) [download]" Avatar_The_Game_Demo.exe + +load_avatar_demo() +{ + load_autohotkey + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/Avatar_The_Game_Demo.exe" + then + mkdir -p "$WISOTOOL_CACHE/$PACKAGE" + die "You must first download the demo from http://www.bigdownload.com/games/james-camerons-avatar-the-game/pc/james-camerons-avatar-the-game-demo/ and place the exe in $WISOTOOL_CACHE/$PACKAGE" + fi + + if workaround_wine_bug 23094 + then + try sh winetricks -q vcrun2005 + fi + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, Avatar_The_Game_Demo.exe + winwait, WinRAR, Install + controlclick, Button2 + winwaitclose, WinRAR + sleep 1000 + run, setup.exe + winwait, Language + controlclick, Button1 + winwait, AVATAR, Welcome + controlclick, Button1 + winwait, AVATAR, License + controlclick, Button5 + controlclick, Button2 + winwait, AVATAR, setup type + controlclick, Button2 + ;Strange CRC error workaround. Will check this out. Stay tuned. + sleep 1000 + ifwinactive, CRC Error + { + controlclick, Button5 + } + winwait, AVATAR, Complete + controlclick, Button4 + " + cd "$olddir" + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Ubisoft\Demo\James Cameron's AVATAR - THE GAME (Demo)\bin" +"AvatarDemo.exe" +__EOF__ +} + +#---------------------------------------------------------------- + # http://appdb.winehq.org/objectManager.php?sClass=version&iId=408 verblist_add baldursgate2 "Baldurs Gate 2 - Shadows of Amn (Bioware, 2000)" \ cc9359dce1a7be6c64bb6f8e6dea6d14d4a5f716.iso \ @@ -1145,16 +1228,16 @@ load_baldursgate2() { then try mkdir -p "$WISOTOOL_TMP"/$PACKAGE/tempcd iso_mount "$WISOTOOL_CACHE"/$PACKAGE/cc9359dce1a7be6c64bb6f8e6dea6d14d4a5f716.iso - sleep 5s + sleep 5 try cp -r "$ISO_MOUNT_ROOT"/* "$WISOTOOL_TMP"/$PACKAGE/tempcd iso_mount "$WISOTOOL_CACHE"/$PACKAGE/429872605dad10433c3c581a1c11eba4d0988c46.iso - sleep 5s + sleep 5 try cp -r "$ISO_MOUNT_ROOT"/* "$WISOTOOL_TMP"/$PACKAGE/tempcd iso_mount "$WISOTOOL_CACHE"/$PACKAGE/a6d18fcd7d16ddafbda7aa028b117566b1e09d2a.iso - sleep 5s + sleep 5 try cp -r "$ISO_MOUNT_ROOT"/* "$WISOTOOL_TMP"/$PACKAGE/tempcd iso_mount "$WISOTOOL_CACHE"/$PACKAGE/94ed41768949c89a1a6479305f00a9cee1d2dcd5.iso - sleep 5s + sleep 5 try cp -r "$ISO_MOUNT_ROOT"/* "$WISOTOOL_TMP"/$PACKAGE/tempcd fi @@ -1231,7 +1314,7 @@ load_baldursgate2() { warn "Enabling 3d acceleration in BGConfig.exe will improve performance." fi - if workaround_wine_bug 22511 + if test ! "$WINE" = "" then warn "Until wine bug 22511 is fixed, you should use a virtual desktop, or baldur's gate will only take up part of your screen in full screen mode." fi @@ -1303,6 +1386,11 @@ load_bfbc2() { fi fi cd "$olddir" + + if workaround_wine_bug 22961 + then + warn "If you get a Securom 'No CD/DVD error', check your mount settings. See http://bugs.winehq.org/show_bug.cgi?id=22961 for more info." + fi } #---------------------------------------------------------------- @@ -1357,7 +1445,18 @@ load_bioshock() { ControlClick, Button2, BioShock - InstallShield Wizard, Select the setup type to install winwait, BioShock - InstallShield Wizard, Click Install to begin the installation ControlClick, Button1, BioShock - InstallShield Wizard, Click Install to begin the installation - winwait, BioShock - InstallShield Wizard, The InstallShield Wizard has successfully installed BioShock + Loop + { + ; Detect if Securom likes the mounted ISO or not. If so, continue the install. If not, exit since the install will fail. + SetTitleMatchMode, Slow + IfWinExist, BioShock - InstallShield Wizard, The InstallShield Wizard has successfully installed BioShock + break + IfWinExist, Bioshock, Please insert the original disc instead of a backup (1000) + { + exit 1 + } + sleep 10000 + } sleep 1000 ControlClick, Button6, BioShock - InstallShield Wizard, The InstallShield Wizard has successfully installed BioShock sleep 1000 @@ -1374,7 +1473,8 @@ load_bioshock() { winwait, Activation Successful Sleep 1000 Controlclick, Button3, Activation Successful - " + " || ( wineserver -k ; warn "Bioshock failed to install properly, likely the Securom check failed" ) + # According to the AppDB, 1.1 may have problems with Wine. For now, don't run it. # FIXME: Test and if there's a Wine bug, file one/put this in an if workaround_wine_bug(). # @@ -1406,6 +1506,203 @@ load_bioshock() { #---------------------------------------------------------------- +verblist_add bioshock_demo "Bioshock Demo (2K Games, 2007)" \ + nzd_BioShockPC.zip + +load_bioshock_demo() { + load_autohotkey + download $PACKAGE http://us.download.nvidia.com/downloads/nZone/demos/nzd_BioShockPC.zip 7a19186602cec5210e4505b58965e8c04945b3cf + cd "$DRIVE_C" + rm -rf bioshock-temp + mkdir bioshock-temp + cd bioshock-temp + try unzip -q "$WISOTOOL_CACHE/$PACKAGE"/nzd_BioShockPC.zip + try cd "BioShock PC Demo" + ahk_do " + SetTitleMatchMode, 2 + run setup.exe + winwait, BioShock Demo - InstallShield Wizard, Choose Setup Language + sleep 2000 + ControlClick, Button3 + ControlClick, Button3 + winwait, BioShock Demo - InstallShield Wizard, Welcome + sleep 1000 + ControlClick, Button1 + winwait, BioShock Demo - InstallShield Wizard, Please read + sleep 1000 + ControlClick, Button5 + sleep 1000 + ControlClick, Button2 + winwait, BioShock Demo - InstallShield Wizard, Select the setup type + sleep 1000 + ControlClick, Button2 + winwait, BioShock Demo - InstallShield Wizard, Click Install to begin + ControlClick, Button1 + winwait, BioShock Demo - InstallShield Wizard, The InstallShield Wizard has successfully installed BioShock + sleep 1000 + ControlClick, Button2 ; don't launch + ControlClick, Button6 ; don't show readme + send {Enter} ; finish + " + cd .. + rm -rf bioshock-temp + cd "$olddir" +} + +#---------------------------------------------------------------- + +verblist_add blur "Blur (Activision, 2010)" \ + 30fdaf3aad82be846f26b7908c703598d5c3443d.iso + +load_blur() { + load_autohotkey + iso_mount "$WISOTOOL_CACHE"/$PACKAGE/30fdaf3aad82be846f26b7908c703598d5c3443d.iso + + ahk_do " + Run, ${ISO_MOUNT_LETTER}:Setup.exe + SetTitleMatchMode, 2 + winwait, Activision, Select the language + sleep 1000 + send {Enter} + winwait, Blur, install Blur + sleep 1000 + send {Enter} + winwait, Blur, License + sleep 1000 + ControlClick Button5 + send {Enter} + winwait, Blur, Minimum System + sleep 1000 + send {Enter} + winwait, Blur, Setup Type + sleep 1000 + send {Enter} + " + # Installer seems to crash at end on Win7 and Wine + # Wait for last file to be created(Blur.exe?), then kill wineserver + # and do the d3dx physx install by using winetricks. + while [ ! -f "$programfilesdir_x86_unix"/Activision/Blur*/Blur.exe ] + do + sleep 5 + done + # Sleep for 30 seconds to ensure that all files have been created + # before killing the wineserver. + sleep 30 + wineserver -k + + # We killed the wineserver before(or during) the d3dx9 and physx install + # so use winetricks to install them. The game runs without the physx trick + # but frame rate improves with physx. + try sh "$WINETRICKS" -q d3dx9 physx + iso_umount + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Activision\Blur*" +"Blur.exe" +__EOF__ +} + +#---------------------------------------------------------------- + +verblist_add braid_demo "Braid Demo (Number None, 2009) [download]" braid_windows_r3.exe + +load_braid_demo() +{ + load_autohotkey + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/braid_windows_r3.exe" + then + download $PACKAGE "http://www.playgreenhouse.com/php/public/tracking/downloads.php?sku=NNONE-000001-01&platform=win" 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c + fi + cd "$WISOTOOL_CACHE/$PACKAGE" + mv downloads.php* braid_windows_r3.exe 2>/dev/null + ahk_do " + SetTitleMatchMode, 2 + run, braid_windows_r3.exe + winwait, Braid, install + controlclick, TButton1 + winwait, Braid, Destination + controlclick, TButton3 + winwait, Braid, Ready to Install + controlclick, TButton3 + winwait, Setup, Finishing installation + sleep 5000 + ; Workaround_winebug 21761 + ifwinactive, Setup, ShellExecuteEx failed + { + controlclick, Button1 + } + winwait, Braid, finished + controlclick, TButton3 + " + cd "$olddir" + + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Braid" +braid.exe +__EOF__ +} + +#---------------------------------------------------------------- + +verblist_add braid "Braid (Number None, 2009) [download]" braid_windows_r3.exe + +load_braid() +{ + load_autohotkey + + BRAID_KEY=`cat "$WISOTOOL_CACHE"/$PACKAGE/braid-key.txt` + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/braid_windows_r3.exe" + then + download $PACKAGE "http://www.playgreenhouse.com/php/public/tracking/downloads.php?sku=NNONE-000001-01&platform=win" 7ea08ddbf5f2fb2f38057d930389b5af7d737e2c + fi + cd "$WISOTOOL_CACHE/$PACKAGE" + mv downloads.php* braid_windows_r3.exe 2>/dev/null + ahk_do " + SetTitleMatchMode, 2 + run, braid_windows_r3.exe + winwait, Braid, install + controlclick, TButton1 + winwait, Braid, Destination + controlclick, TButton3 + winwait, Braid, Ready to Install + controlclick, TButton3 + winwait, Setup, Finishing installation + sleep 5000 + ; Workaround_winebug 21761 + ifwinactive, Setup, ShellExecuteEx failed + { + controlclick, Button1 + } + winwait, Braid, finished + controlclick, TButton3 + " + + # Enter the key + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Braid\" +"braid.exe" +__EOF__ + + cd "$DRIVE_C" + ls + ahk_do " + SetTitleMatchMode, 2 + run, run-$PACKAGE.bat + winwait, Braid, Enter Registration + controlclick, Button4 + winwait, Enter Registration + send {RAW}$BRAID_KEY + controlclick, Button1 + " + sleep 5 + # FIXME: use right wineserver + wineserver -k + cd "$olddir" +} + +#---------------------------------------------------------------- + verblist_add codmw2 "Call of Duty Modern Warfare 2 (Activision, 2009) [broken]" \ 6f572261ed954733806daf5b42edf92b3127cd14.iso \ 3c6e63504d41df4bdb2d4c57f4c5fc7b810d7df8.iso @@ -1440,7 +1737,7 @@ load_codmw2() winwait, Install sendEvent {Enter} - ; wait for "create start menu and install" question + ; wait for [create start menu and install] question sleep 5000 sendEvent {Enter} winwait, Insert @@ -1451,10 +1748,10 @@ load_codmw2() Send {Enter} ; Need to wait for install to finish. This isn't the way to do it. Ideally we could watch some log file. ; The last file created seems to be - ; "Program Files/Steam/steamapps/call of duty modern warfare 2 content.ncf" + ; Program Files/Steam/steamapps/call of duty modern warfare 2 content.ncf ; so wait for that and then another 20 seconds, say. winwait, ahk_class USurface_, Install - ; Now that install has finished, say "don't start app" and "finish". + ; Now that install has finished, say [don't start app] and [finish]. Send {Space} Send {Enter} ; Now wait for the main steam interface to pop up, and close it @@ -1474,6 +1771,59 @@ load_codmw2() #---------------------------------------------------------------- +verblist_add darknesswithin2_demo "Darkness Within 2 Demo (Zoetrope Interactive, 2010) [download]" DarknessWithin2Demo.exe + +load_darknesswithin2_demo() +{ + load_autohotkey + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/DarknessWithin2Demo.exe" + then + mkdir -p "$WISOTOOL_CACHE/$PACKAGE" + die "Please download $WISOTOOL_CACHE/$PACKAGE/DarknessWithin2Demo.exe from http://www.bigdownload.com/games/darkness-within-2-the-dark-lineage/pc/darkness-within-2-the-dark-lineage-demo" + fi + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, DarknessWithin2Demo.exe + winwait, Darkness Within, will install + ControlClick, TNewButton1 + winwait, Darkness, License + ControlClick, TNewRadioButton1 + ControlClick, TNewButton2 + winwait, Darkness, Location + ControlClick, TNewButton3 + winwait, Darkness, shortcuts + ControlClick, TNewButton4 + winwait, Darkness, additional + ControlClick, TNewButton4 + winwait, Darkness, Ready to Install + ControlClick, TNewButton4 + winwait, PhysX, License + ControlClick, Button3 + ControlClick, Button4 + winwait, PhysX, successfully + ControlClick, Button1 + winwait, Darkness + ControlClick, TNewListBoxButton1 + ControlClick, TNewButton4 + " + cd "$olddir" + + if workaround_wine_bug 23041 + then + sh "$WINETRICKS" -q d3dx9_36 + fi + + # you have to cd to the directory containing DarkLineage.exe before running it + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Iceberg Interactive\Darkness Within 2 Demo" +"DarkLineage.exe" +__EOF__ +} + +#---------------------------------------------------------------- + verblist_add diablo2 "Diablo II (Blizzard, 2000)" \ e20efb1ea60e58b4a25275a00571aabfe3ab4511.iso \ 51e2c630d5dd017e6168a8cf3ee24e39010316d9.iso \ @@ -1554,7 +1904,6 @@ __EOF__ verblist_add dragonage "Dragon Age: Origins (Bioware, 2009)" 705a6b06d0dd807bf62b4391d278649d728ebda4.iso load_dragonage() { - warn "You must have already done 'wisotool load=YOURKEY' on the install disc." load_autohotkey # Get user's key @@ -1730,6 +2079,89 @@ load_half_life_goty() { #---------------------------------------------------------------- +hbpdemoexe=Release_HBP_demo_PC_DD_DEMO_FINAL_348428.exe +verblist_add hphbp_demo "Harry Potter & The Half Blood Prince Demo (EA, 2009) [download]" $hbpdemoexe + +load_hphbp_demo() +{ + load_autohotkey + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/$hbpdemoexe" + then + download $PACKAGE http://largedownloads.ea.com/pub/demos/HarryPotter/Release_HBP_demo_PC_DD_DEMO_Final_348428.exe dadc1366c3b5e641454aa337ad82bc8c5082bad2 + fi + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, $hbpdemoexe + winwait, Harry Potter, Install + controlclick, Button1, Harry Potter + winwait, Setup, License + controlclick, Button1 + controlclick, Button3 + winwait, Setup, License + controlclick, Button1 + controlclick, Button3 + winwait, Setup, Destination + controlclick, Button1 + winwait, Setup, begin + controlclick, Button1 + winwait, Setup, Finish + controlclick, Button1 + " + cd "$olddir" + + # Not sure I trust putting \U2122 in a batch file, so use a wild card to cd to the right dir. + # Have to "cd pc" as next command, or the wildcard expansion fails on wine? + # Have to be in the pc directory for the app to find its files. + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Electronic Arts\Harry Potter and the Half-Blood Prince* Demo" +cd pc +hp6_demo.exe +__EOF__ +} + +#---------------------------------------------------------------- + +verblist_add hegemonypom_demo "Hegemony: Philip of Macedon Demo (Longbow Games, 2010) [download]" Hegemony_Philip_of_Macedon_Installer.exe + +load_hegemonypom_demo() +{ + load_autohotkey + + mkdir -p "$WISOTOOL_CACHE/$PACKAGE" + cd "$WISOTOOL_CACHE/$PACKAGE" + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/Hegemony_Philip_of_Macedon_Installer.exe" + then + download $PACKAGE http://www.longbowgames.com/downloads/Hegemony%20Philip%20of%20Macedon%20Installer.exe d3d2aa020d38b594d112360ae40871662d35dea4 + # Get rid of spaces in exe name, since download leaves them as %20's, and ahk_do might not make it easy to use quotes + mv Hegemony* Hegemony_Philip_of_Macedon_Installer.exe + fi + + ahk_do " + SetTitleMatchMode, 2 + run, Hegemony_Philip_of_Macedon_Installer.exe + winwait, Hegemony, installation + controlclick, Button2 + winwait, Hegemony, License + controlclick, Button2 + winwait, Hegemony, Components + controlclick, Button2 + winwait, Hegemony, Install Location + controlclick, Button2 + winwait, Hegemony, shortcuts + controlclick, Button2 + winwait, Hegemony, has been installed + controlclick, Button4 + controlclick, Button2 + " + cd "$olddir" +} + +#---------------------------------------------------------------- + verblist_add help "How to use this tool" load_help() { @@ -1851,6 +2283,19 @@ load_masseffect2() { #try sh "$WINETRICKS" -q nocrashdialog fi + if workaround_wine_bug 23126 + then + try sh "$WINETRICKS" -q vcrun2005 + fi + if workaround_wine_bug 23125 + then + try sh "$WINETRICKS" d3dx10 + fi + if workaround_wine_bug 22919 + then + try sh "$WINETRICKS" -q physx + fi + ahk_do " SetTitleMatchMode, 2 run, ${ISO_MOUNT_LETTER}:Setup.exe @@ -1872,8 +2317,9 @@ load_masseffect2() { iso_mount "$WISOTOOL_CACHE"/$PACKAGE/49d1f9b85203049d52a8e34b92cd7d4b96e0c8be.iso ahk_do " ControlClick, Button4, Insert Disc - ; Some installs may not get to this point due to an installer hang/crash (bug 22091) + ; Some installs may not get to this point due to an installer hang/crash (bug 22919) ; The hang/crash happens after the Physx install but does not seem to affect gameplay + ; TODO: work around this by waiting in some other way for install to finish winwait, Mass Effect, Finish winkill, Mass Effect " @@ -1881,6 +2327,11 @@ load_masseffect2() { then echo "See http://appdb.winehq.org/objectManager.php?sClass=version&iId=19125 for info on how to patch wine to work around bug 6971" fi + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Mass Effect 2\Binaries" +MassEffect2.EXE +__EOF__ + } #---------------------------------------------------------------- @@ -1946,6 +2397,52 @@ load_morrowind() { cd "$olddir" } +#---------------------------------------------------------------- + +verblist_add nfsps_demo "Need For Speed: Pro Street Demo (EA, 2007)" nfsps_pcdemo.exe + +load_nfsps_demo() +{ + load_autohotkey + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/ps_pcdemo.exe" + then + download $PACKAGE http://largedownloads.ea.com/pub/demos/NFS/prostreet/nfsps_pcdemo.exe 9cf74563d28c29a40920e0c0644c2da6e8e2a888 + fi + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, nfsps_pcdemo.exe + winwait, ProStreet, folder + controlclick, Button2 + winwait, ProStreet, View the readme + controlclick, Button1 + winwait, ProStreet, License + controlclick, Button1 + controlclick, Button3 + winwait, ProStreet, License + controlclick, Button1 + controlclick, Button3 + winwait, ProStreet, Destination + controlclick, Button1 + winwait, ProStreet, Ready + controlclick, Button1 + winwait, ProStreet, Finish + controlclick, Button1 + winwait, ProStreet, completed, + controlclick, Button7 + controlclick, Button4 + " + cd "$olddir" + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Electronic Arts\Need for Speed ProStreet Demo" +nfsdemo.exe +__EOF__ +} + +#---------------------------------------------------------------- + verblist_add orangebox "Orange Box (Valve, 2007) " \ 976f67eec4b84331de8f6695272bc9192466da6a.iso \ b86c9297cc4c56e98f8c3f3e489091ffa4b4a11d.iso @@ -2142,6 +2639,159 @@ load_passmark7() { #---------------------------------------------------------------- +verblist_add pscs5 "Photoshop CS5 Demo (Adobe, 2010)" \ + Photoshop_12_LS1.7z \ + Photoshop_12_LS1.exe + + +load_pscs5() { + load_autohotkey + try cd "$WISOTOOL_CACHE/$PACKAGE/" + if [ ! -f "$WISOTOOL_CACHE/$PACKAGE/Photoshop_12_LS1.7z" ] + then + die "You must download Photoshop CS5 trial files and put them in $WISOTOOL_CACHE/$PACKAGE" + else + verify_sha1sum 0d8fac96f32963194add553b8ca072c40ca4b912 Photoshop_12_LS1.7z + fi + if [ ! -f "$WISOTOOL_CACHE/$PACKAGE/Photoshop_12_LS1.exe" ] + then + die "You must download Photoshop CS5 trial files and put them in $WISOTOOL_CACHE/$PACKAGE" + else + verify_sha1sum abbfeeef9348c79b6cdde5f8762f5c3f96d32f6e Photoshop_12_LS1.exe + fi + + try Photoshop_12_LS1.exe /s /x /d . + try cd "Adobe CS5" + + if workaround_wine_bug 22679 + then + try sh "$WINETRICKS" -q msxml3 + fi + + warn "Try not to have anything else running, cs5 will complain if firefox is running, and the mouse clicks here are sensitive" + + # Doesn't have clickable buttons, resorting to window positions. May break on non standard dpi settings. + # Not sure how to detect when the window changes. They all have the same title, and no text is visible to AHK. + # As a dirty workaround, may try detecting the color on the left side which shows the menu. The current step is darker + # than the rest. + ahk_do " + SetTitleMatchMode, 2 + run Set-up.exe + winwait, Adobe Photoshop CS5 + sleep 2000 + ControlClick, X750 Y550, Adobe Photoshop CS5 + sleep 2000 + winwait, Adobe Photoshop CS5 + sleep 2000 + ControlClick, X300 Y350, Adobe Photoshop CS5 + sleep 2000 + ControlClick, X700 Y340, Adobe Photoshop CS5 + Send, {Down}{Down}{Enter} ; Choose US English + sleep 2000 + ControlClick, X750 Y550, Adobe Photoshop CS5 + sleep 2000 + winwait, Adobe Photoshop CS5 + sleep 2000 + ControlClick, X750 Y550, Adobe Photoshop CS5 + ; Installs in about 5 minutes here, but that's not a reliable number. + ; The final window is indistinguishable from the previous, except that it has a button that the former does not. + ; Exploit that to close the installer gracefully. + Loop + { + ; Loop every 30 seconds while the installer window is present, and try to click the 'Done' button. + ; If the window doesn't exist, installer is finally done. + IfWinExist, Adobe Photoshop CS5 + { + ControlClick, X750 Y550, Adobe Photoshop CS5 + Sleep 30000 + } + else break + } + " + try cd .. + # Remove installer temp files: + try cd "$WISOTOOL_CACHE/$PACKAGE/" + try rm -rf "Photoshop CS5 Read Me.pdf" "Adobe CS5" + try cd "$olddir" +} + +verblist_add pscs5_pickle "Photoshop CS5 Demo (Adobe, 2010)" + +load_pscs5_pickle() { + warn "This will tar up Photoshop CS5's files from a Windows install, along with needed registry entries, for use in wine with load_pscs5_unpickle()" + + if [ ! -d "$programfilesdir_x86_win/Adobe/Adobe Photoshop CS5/" ] + then + load_pscs5 + fi + + try cd "$WISOTOOL_TMP" + + # Setup a skeleton file structure: + try rm -rf cs5_temp + try mkdir -p cs5_temp/"Common Files" + try mkdir -p cs5_temp/"Program Files" + try mkdir -p cs5_temp/"userhome" + + try cd cs5_temp + + try sleep 1 # Potential race condition, caught me a couple times + + # First, the registry entries: + try reg.exe export HKLM\\Software\\Adobe adobe_cs5.reg + + # Then the files: + userprofile_unix="`cygpath $USERPROFILE`" + system32_unix="`cygpath $WINDIR/system32`" + + try cd "Common Files" + try cp -r "$programfilesdir_x86_unix/Common Files/Adobe" . + try cd ../"Program Files" + try cp -r "$programfilesdir_x86_unix/Adobe" . + try cd ../userhome + try cp -r "$userprofile_unix/Application Data/Adobe" . + try cd .. + try cp "$system32_unix/odbc32.dll" . + try cp "$system32_unix/odbcint.dll" . + + try cd "$WISOTOOL_TMP"/cs5_temp + try tar -c -f "$olddir/adobe_cs5.tar" * + try cd .. + try rm -rf cs5_temp + try cd "$olddir" + +} + +verblist_add pscs5_unpickle "Photoshop CS5 Demo (Adobe, 2010)" \ + adobe_cs5.tar + +load_pscs5_unpickle() { + warn "This will install Photoshop CS5's files from a Windows install made with pscs5_pickle()" + + # Install dependencies: + try sh "$WINETRICKS" -q gdiplus ie6 msxml3 vcrun2005sp1 vcrun2008 + + try cd "$WISOTOOL_TMP" + try tar xf "$WISOTOOL_CACHE/$PACKAGE/adobe_cs5.tar" + try $WINE regedit adobe_cs5.reg + try cd "$programfilesdir_x86_unix" + try mv "$WISOTOOL_TMP/Program Files/Adobe" . + try cd "Common Files" + try mv "$WISOTOOL_TMP/Common Files/Adobe" . + try cd "$DRIVE_C/users/$USER/Application Data/" + try mv "$WISOTOOL_TMP/userhome"/* . + try cd "$WINDIR/system32" + try mv "$WISOTOOL_TMP/odbc32.dll" . + try mv "$WISOTOOL_TMP/odbcint.dll" . + try $WINE regsvr32 odbc32.dll + try $WINE regsvr32 odbcint.dll + + warn "Do not report bugs to wine with an installation done this way. Wait until the installer bugs are fixed or have patches to workaround them!" + warn "On the first run, it will tell you your trial has 0 days left. On the second run and after, it will say 30 days." +} + +#---------------------------------------------------------------- + verblist_add plantsvszombies "Plants vs. Zombies (PopCap Games, 2009) [download]" PlantsVsZombiesSetup.exe load_plantsvszombies() { @@ -2172,6 +2822,44 @@ __EOF__ #---------------------------------------------------------------- +verblist_add popsot "Prince of Persia Sands of Time (Ubisoft, 2003)" \ +a55dc7459b0e8b40b49c16e62761932c90b6ede2.iso + +load_popsot() +{ + load_autohotkey + iso_mount "$WISOTOOL_CACHE/$PACKAGE/a55dc7459b0e8b40b49c16e62761932c90b6ede2.iso" + ahk_do " + SetTitleMatchMode, 2 + run, ${ISO_MOUNT_LETTER}:Setup.exe + winwait, Prince of Persia, Language + ControlClick, Button3 + winwait, Prince of Persia, Welcome + ControlClick, Button1 + winwait, Prince of Persia, License + ControlClick, Button3 + ControlClick, Button1 + winwait, Prince of Persia, Destination + ControlClick, Button1 + winwait, Question, Proceed + ControlClick, Button6 + winwait, Prince of Persia, Acrobat Reader + ControlClick, Button2 + ControlClick, Button11 + winwait, Prince of Persia, Complete + ControlClick, Button1 + ControlClick, Button4 + sleep 6000 + IfWinExist, register + { + ControlClick, OK, register + } + " + iso_umount +} + +#---------------------------------------------------------------- + verblist_add popsot_demo "Prince of Persia Sands of Time Demo (Ubisoft, 2003)" \ POP_Demo_Eng.exe @@ -2265,6 +2953,131 @@ load_procycling08_demo() #---------------------------------------------------------------- +verblist_add proevolution2010_demo "Pro Evolution Soccer 2010 Demo (Konami, 2009) [download]" PES2010_PC_DEMO_Setup.exe + +load_proevolution2010_demo() +{ + # http://appdb.winehq.org/objectManager.php?sClass=version&iId=18148 + load_autohotkey + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/PES2010_PC_DEMO_Setup.exe" + then + download $PACKAGE http://gamedaily.newaol.com/pub/PES2010_PC_DEMO_Setup.exe a1c913c367f121adf5f6e4104c76ab48f8d9457e + fi + + cd $WISOTOOL_CACHE/$PACKAGE + ahk_do " + SetTitleMatchMode, 2 + run, PES2010_PC_DEMO_Setup.exe + winwait, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, WARNING: This program is protected + sleep 1000 + ControlClick, Button1, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, WARNING: This program is protected ; Next + winwait, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, Please read the following + sleep 1000 + ControlClick, Button3, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, Please read the ; Accept license + sleep 1000 + ControlClick, Button5, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, Please read the following license ; Next + winwait, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, Click Next to install to this folder + sleep 1000 + ControlClick, Button1, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, Click Next to install to this folder ; Next + winwait, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, The wizard is ready to begin installation + sleep 1000 + ControlClick, Button1, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, The wizard is ready to begin installation. ; Install + winwait, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, InstallShield Wizard Completed + sleep 1000 + ControlClick, Button1, Pro Evolution Soccer 2010 DEMO - InstallShield Wizard, InstallShield Wizard Completed ; Finished + " + cd "$olddir" + + if workaround_wine_bug 23104 + then + try sh "$WINETRICKS" -q d3dx9 + fi +} + + + +#---------------------------------------------------------------- + +verblist_add rom "Runes of Magic (Frogster Interactive, 2009) [download]" \ + Runes_of_Magic_3.0.1.2153.part1.exe \ + Runes_of_Magic_3.0.1.2153.part2.rar + +load_rom() +{ + load_autohotkey + + if ! test -f "$WISOTOOL_CACHE/$PACKAGE/Runes_of_Magic_3.0.1.2153.part1.exe" || ! test -f "$WISOTOOL_CACHE/$PACKAGE/Runes_of_Magic_3.0.1.2153.part2.rar" + then + download $PACKAGE http://frogster.vo.llnwd.net/o9/FOG/rom/Runes_of_Magic_3.0.1.2153_two.exe/Runes_of_Magic_3.0.1.2153.part1.exe 3263660262c6411f179e80c5ef0906c783d7bb08 + download $PACKAGE http://frogster.vo.llnwd.net/o9/FOG/rom/Runes_of_Magic_3.0.1.2153_two.exe/Runes_of_Magic_3.0.1.2153.part2.rar 569dee9c375fa50394958daa9f8d8a1b02bb9b11 + fi + # manual updates from http://forum.runesofmagic.com/showthread.php?t=79267 + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2153.en_3.0.1.2172.en.exe 817391606fd1c05ad6194a06b21f6a5632cacf4f + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2172.en_3.0.1.2175.en.exe ed120bc8140f8c3b2481a78f504a7a9e76c8642f + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2175.en_3.0.1.2178.en.exe 012e679402f2165effbf2aaaffe41a5d9405d319 + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2178.en_3.0.1.2181.en.exe c449510566108dfc29882e6229cf716f232102df + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2181.en_3.0.1.2192.en.exe d5afc10ff1126c3dabafa02b4681f411aa689c57 + download $PACKAGE http://frogster.vo.llnwd.net/o9/patch/en/patch_3.0.1.2192.en_3.0.1.2199.en.exe 542ac3b4d0fc4434aadfb784a46868f1815351da + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, Runes_of_Magic_3.0.1.2153.part1.exe + winwait, Runes of Magic, This will install + ControlClick, TNewButton1 + winwait, Runes of Magic, License + ControlClick, TNewRadioButton1 + ControlClick, TNewButton2 + winwait, Runes of Magic, Destination + ControlClick, TNewButton3 + winwait, Runes of Magic, shortcuts + ControlClick, TNewButton4 + winwait, Runes of Magic, Additional Tasks + ControlClick, TNewButton4 + winwait, Runes of Magic, Ready + ControlClick, TNewButton4 + winwait, Runes of Magic, finished + ControlClick, TNewCheckListBox1 + ControlClick, TNewButton4 + winwait, Territory + send {Esc} + ; Don't let it autoupdate + winkill + " + # FIXME: use right wineserver and/or find nicer way to finish + wineserver -k + + cd "$WISOTOOL_CACHE"/$PACKAGE + for patch in patch_* + do + ahk_do " + run $patch + SetTitleMatchMode, 2 + winwait, RomUpdate + winwaitclose, RomUpdate + " + done + + if workaround_wine_bug 23217 + then + try sh "$WINETRICKS" -q vcrun2005 + fi + + if workaround_wine_bug 22002 + then + try sh "$WINETRICKS" -q ie6 + fi + + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Runes of Magic" +"Runes of Magic.exe" +__EOF__ + + cd "$olddir" +} + +#---------------------------------------------------------------- + verblist_add re5bench "Resident Evil 5 Benchmark (Capcom, 2009) [download]" nzd_ResidentEvil5_Benchmark.exe load_re5bench() { @@ -2340,6 +3153,49 @@ load_quake3() { #---------------------------------------------------------------- +verblist_add 7million "7Million (Deep Silver, 2009) [download] [broken on wine]" 7Million_0_17_0-full.exe + +load_7million() { + load_autohotkey + download $PACKAGE http://content.deepsilver.com/kochmedia/downloads/7million/de-uk/7Million_0_17_0-full.exe 99d496817367216180c4b3a59180361c23348e1e + + cd "$WISOTOOL_CACHE/$PACKAGE" + ahk_do " + SetTitleMatchMode, 2 + run, 7Million_0_17_0-full.exe + winwait, Choose Setup Language + ControlClick, Button1 + SetTitleMatchMode, Slow + winwait, 7Million - InstallShield Wizard + sleep 2000 + winactivate, 7Million - InstallShield Wizard + Send {Enter} + sleep 4000 + winactivate, 7Million - InstallShield Wizard + Send !a + Send !n + winwait, Age verification + winactivate, Age verification + Send !y + sleep 1000 + winactivate, 7Million - InstallShield Wizard + Send !i + winwait, 7Million - InstallShield Wizard, InstallShield Wizard Complete + Send {Enter} + " + cd "$olddir" + cat > "$DRIVE_C/run-$PACKAGE.bat" << __EOF__ +cd "users\\$LOGNAME\Local Settings\Application Data\7Million" +7million +__EOF__ + if workaround_wine_bug 23248 + then + warn "This game doesn't work on wine yet" + fi +} + +#---------------------------------------------------------------- + verblist_add sims3 "The Sims 3 (EA, 2009)" 8a82a067f3bb8f68d034a06954e9a16ea381958a.iso load_sims3() { @@ -2406,8 +3262,8 @@ load_sims3() { # FIXME: apply next patch, too cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ -cd "$programfilesdir_x86_win\CAPCOM\RESIDENT EVIL 5 Benchmark Version" -RE5DX9.EXE +cd "$programfilesdir_x86_win\Electronic Arts\The Sims 3\Game\Bin" +TS3.EXE __EOF__ } @@ -2511,7 +3367,49 @@ load_splitsecond() ControlClick, Button1, Split ControlClick, Button4, Split " - cd "$olddir" + iso_umount +} + +#---------------------------------------------------------------- + +verblist_add spore "Spore (EA, 2008)" d08d1985d3161661d4f0ded30a0d11e705f2fcc2.iso + +load_spore() +{ + load_autohotkey + iso_mount "$WISOTOOL_CACHE"/$PACKAGE/d08d1985d3161661d4f0ded30a0d11e705f2fcc2.iso + SPORE_KEY=`cat "$WISOTOOL_CACHE"/$PACKAGE/d08d1985d3161661d4f0ded30a0d11e705f2fcc2.txt | tr -d -` + ahk_do " + SetTitleMatchMode, 2 + run, ${ISO_MOUNT_LETTER}:SPORESetup.exe + winwait, Language + controlclick, Button1 + winwait, SPORE, Welcome + controlclick, Button1 + winwait, SPORE, License + controlclick, Button3 + controlclick, Button1 + winwait, SPORE, Registration Code + send {RAW}$SPORE_KEY + controlclick, Button2 + winwait, SPORE, Setup Type + controlclick, Button6 + winwait, SPORE, Shortcut + controlclick, Button6 + winwait, SPORE, begin + controlclick, Button1 + winwait, Question + controlclick, Button7 + winwait, SPORE, complete + controlclick, Button1 + controlclick, Button2 + controlclick, Button4 + " + iso_umount + cat > "$DRIVE_C/run-$PACKAGE.bat" <<__EOF__ +cd "$programfilesdir_x86_win\Electronic Arts\SPORE\Sporebin" +SporeApp.exe +__EOF__ } #---------------------------------------------------------------- @@ -2871,7 +3769,7 @@ load_wowbc() { then try mkdir -p "$WISOTOOL_CACHE"/$PACKAGE/tempcd iso_mount "$WISOTOOL_CACHE"/$PACKAGE/c874f5bc676eef8e60d3d232fe6db185c4632fb3.iso - sleep 5s + sleep 5 try cp -r "$ISO_MOUNT_ROOT"/* "$WISOTOOL_CACHE"/$PACKAGE/tempcd fi @@ -3425,6 +4323,32 @@ load_tex_murphy_1_and_2_gog() _load_gog "tex_murphy_1_and_2" "Tex Murphy 1 and 2" "" "TsCheckBox5" "" "tex_murphy_1_2" "" "29082356,7aaaa686fdf424fd403bc972cbc94464a2693ce3" } +verblist_add beneath_a_steel_sky_gog "Beneath a Steel Sky (GOG.com, free)" setup_beneath_a_steel_sky.exe + +load_beneath_a_steel_sky_gog() +{ + _load_gog "beneath_a_steel_sky" "Beneath a Steel Sky" "" "TsCheckBox4" "ScummVM\\scummvm.exe -c \"C:\\Program Files\\GOG.com\\Beneath a Steel Sky\\beneath.ini\" beneath" "" "" "75176395,1f99e12643529baa91fecfb206139a8921d9589c" +} + +# Brief HOWTO for adding a GOG game: +# - "beneath_a_steel_sky" is the installer exe name, minus "setup_" and ".exe" +# - "Beneath a Steel Sky" is installer window title, minus "Setup - " +# - There are no other files for this game, so this parameter is empty. +# Otherwise it should be of the following form: +# file_name[,length[,sha1sum]] [...] +# - "TsCheckBox4" is the control name for the checkbox deciding whether it will +# install some reader (Foxit in this case, could be acrobat reader). That +# installation is enabled by default, and would just bloat the generic +# AutoHotKey script, so it gets disabled. +# - "ScummVM\\[...]" is the command line to run the game, as fetched from the +# shortcut/launcher installer/wine creates, which will be used in BAT scripts +# created by wisotool +# - The part in the url which is specific to this game is identical to its "id" +# (first parameter), so this parameter is left out. +# - The install directory is the same as installer window title (second +# parameter), so this parameter is left out. +# - Main installer size and sha1sum, separated by a comma. + #---------------------------------------------------------------- print_version() { @@ -3478,6 +4402,8 @@ case "$OS" in # Prevent running with wrong user id. # It's bad to create files as the wrong user! die_if_user_not_dirowner "$WINEPREFIX" + # Wine misbehaves strangely if user doesn't own the parent of $WINEPREFIX. + die_if_user_not_dirowner "$WINEPREFIX/.." if [ ! -x "`which "$WINE" 2>/dev/null`" ] then @@ -3507,6 +4433,9 @@ fi # The folder-name is localized! programfilesdir_win="`unset WINEDEBUG; WINEDLLOVERRIDES=mshtml= $WINE cmd.exe /c echo "%ProgramFiles%" | tr -d '\015'`" test x"$programfilesdir_win" != x || die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string" +case "$programfilesdir_win" in +%*) die "$WINE cmd.exe /c echo '%ProgramFiles%' returned unexpanded string... do you own the parent of $WINEPREFIX ?" +esac programfilesdir_unix="`unset WINEDEBUG; $XXXPATH -u "$programfilesdir_win" | tr -d '\015' `" test x"$programfilesdir_unix" != x || die "winepath -u $programfilesdir_win returned empty string" wisotool_tmp_win="`$XXXPATH -w "$WISOTOOL_TMP"`" @@ -3551,7 +4480,13 @@ fi while test "$1" != "" do PACKAGE=$1 - case $1 in + # Kludge: shorthand synonyms. Find some more elegant way of doing this. + case $PACKAGE in + dao) PACKAGE=dragonage ;; + sc2) PACKAGE=starcraft2 ;; + esac + + case $PACKAGE in -q) WISOTOOL_QUIET="/q" WINEDEBUG=${WINEDEBUG:-"fixme-all"} export WINEDEBUG @@ -3560,23 +4495,23 @@ do ls) list_available_verbs;; load) load_iso dd;; load_harder) load_iso ddrescue;; - load=*) key="`echo $1 | sed 's/load=//'`"; load_iso dd "$key";; + load=*) key="`echo $PACKAGE | sed 's/load=//'`"; load_iso dd "$key";; migrate) migrate_files;; version) print_version;; - *) if verblist_is_legal_verb $1 + *) if verblist_is_legal_verb $PACKAGE then - load_$1 + load_$PACKAGE else - echo Unknown arg $1; usage ; exit 1; + echo Unknown arg $PACKAGE; usage ; exit 1; fi ;; esac # Provide a bit of feedback - test "$WISOTOOL_QUIET" = "" && case $1 in + test "$WISOTOOL_QUIET" = "" && case $PACKAGE in -q) echo Setting quiet mode;; -v) echo Setting verbose mode;; - *) #echo "$1 done" ;; + *) #echo "$PACKAGE done" ;; esac shift